ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
erf_cloud_chamber::Config Struct Reference

Configuration parameters for cloud chamber initialization. More...

#include <ERF_CloudChamber.H>

Collaboration diagram for erf_cloud_chamber::Config:

Public Member Functions

erf_wall_thermodynamics::Boundary wall_boundary () const noexcept
 Collect thermodynamic boundary conditions for all chamber walls. More...
 
bool has_bulk_scalar_wall () const noexcept
 
bool has_wall_rate_channel () const noexcept
 

Public Attributes

bool active = false
 
bool has_moisture = false
 
bool physical_initialization = false
 
amrex::Real initial_temperature_bottom = amrex::Real(0.0)
 
amrex::Real initial_temperature_top = amrex::Real(0.0)
 
amrex::Real initial_relative_humidity = amrex::Real(0.0)
 
amrex::Real temperature_perturbation_amplitude = amrex::Real(0.0)
 
amrex::Real theta_bottom = amrex::Real(0.0)
 
amrex::Real theta_top = amrex::Real(0.0)
 
amrex::Real theta_perturbation_amplitude = amrex::Real(0.0)
 
amrex::Real qv_bottom = amrex::Real(0.0)
 
amrex::Real qv_top = amrex::Real(0.0)
 
amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > prob_lo = {}
 
amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > prob_hi = {}
 
amrex::GpuArray< WallSpec, 2 *AMREX_SPACEDIM > walls = {}
 

Detailed Description

Configuration parameters for cloud chamber initialization.

Member Function Documentation

◆ has_bulk_scalar_wall()

bool erf_cloud_chamber::Config::has_bulk_scalar_wall ( ) const
inlinenoexcept
72  {
73  for (const auto& wall : walls) {
74  if (wall.wall.heat.model == erf_wall_thermodynamics::ScalarModel::BulkAero ||
75  (wall.wall.vapor.model == erf_wall_thermodynamics::ScalarModel::BulkAero &&
76  wall.wall.moisture ==
78  return true;
79  }
80  }
81  return false;
82  }
amrex::GpuArray< WallSpec, 2 *AMREX_SPACEDIM > walls
Definition: ERF_CloudChamber.H:56

◆ has_wall_rate_channel()

bool erf_cloud_chamber::Config::has_wall_rate_channel ( ) const
inlinenoexcept
85  {
86  for (const auto& wall : walls) {
87  if (wall.wall.momentum.model ==
89  wall.wall.momentum.model ==
91  wall.wall.heat.model ==
93  wall.wall.heat.model ==
95  (wall.wall.vapor.model ==
97  wall.wall.moisture ==
99  (wall.wall.vapor.model ==
101  wall.wall.moisture ==
103  return true;
104  }
105  }
106  return false;
107  }

◆ wall_boundary()

erf_wall_thermodynamics::Boundary erf_cloud_chamber::Config::wall_boundary ( ) const
inlinenoexcept

Collect thermodynamic boundary conditions for all chamber walls.

Returns
Boundary array containing thermodynamics for each face.
63  {
65  for (int n = 0; n < 2 * AMREX_SPACEDIM; ++n) {
66  boundary[n] = walls[n].wall;
67  }
68  return boundary;
69  }
amrex::GpuArray< FaceWall, 2 *AMREX_SPACEDIM > Boundary
Definition: ERF_WallThermodynamics.H:70

Referenced by ERF::ERF_shared(), erf_slow_rhs_post(), and erf_slow_rhs_pre().

Here is the caller graph for this function:

Member Data Documentation

◆ active

bool erf_cloud_chamber::Config::active = false

Referenced by ERF::ERF_shared().

◆ has_moisture

bool erf_cloud_chamber::Config::has_moisture = false

◆ initial_relative_humidity

amrex::Real erf_cloud_chamber::Config::initial_relative_humidity = amrex::Real(0.0)

◆ initial_temperature_bottom

amrex::Real erf_cloud_chamber::Config::initial_temperature_bottom = amrex::Real(0.0)

◆ initial_temperature_top

amrex::Real erf_cloud_chamber::Config::initial_temperature_top = amrex::Real(0.0)

◆ physical_initialization

bool erf_cloud_chamber::Config::physical_initialization = false

◆ prob_hi

amrex::GpuArray<amrex::Real, AMREX_SPACEDIM> erf_cloud_chamber::Config::prob_hi = {}

◆ prob_lo

amrex::GpuArray<amrex::Real, AMREX_SPACEDIM> erf_cloud_chamber::Config::prob_lo = {}

◆ qv_bottom

amrex::Real erf_cloud_chamber::Config::qv_bottom = amrex::Real(0.0)

◆ qv_top

amrex::Real erf_cloud_chamber::Config::qv_top = amrex::Real(0.0)

◆ temperature_perturbation_amplitude

amrex::Real erf_cloud_chamber::Config::temperature_perturbation_amplitude = amrex::Real(0.0)

◆ theta_bottom

amrex::Real erf_cloud_chamber::Config::theta_bottom = amrex::Real(0.0)

◆ theta_perturbation_amplitude

amrex::Real erf_cloud_chamber::Config::theta_perturbation_amplitude = amrex::Real(0.0)

◆ theta_top

amrex::Real erf_cloud_chamber::Config::theta_top = amrex::Real(0.0)

◆ walls

amrex::GpuArray<WallSpec, 2 * AMREX_SPACEDIM> erf_cloud_chamber::Config::walls = {}

The documentation for this struct was generated from the following file: