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 cloudy = 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
71  {
72  for (const auto& wall : walls) {
73  if (wall.wall.heat.model == erf_wall_thermodynamics::ScalarModel::BulkAero ||
74  (wall.wall.vapor.model == erf_wall_thermodynamics::ScalarModel::BulkAero &&
75  wall.wall.moisture ==
77  return true;
78  }
79  }
80  return false;
81  }
amrex::GpuArray< WallSpec, 2 *AMREX_SPACEDIM > walls
Definition: ERF_CloudChamber.H:55

◆ has_wall_rate_channel()

bool erf_cloud_chamber::Config::has_wall_rate_channel ( ) const
inlinenoexcept
84  {
85  for (const auto& wall : walls) {
86  if (wall.wall.momentum.model ==
88  wall.wall.momentum.model ==
90  wall.wall.heat.model ==
92  wall.wall.heat.model ==
94  (wall.wall.vapor.model ==
96  wall.wall.moisture ==
98  (wall.wall.vapor.model ==
100  wall.wall.moisture ==
102  return true;
103  }
104  }
105  return false;
106  }

◆ 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.
62  {
64  for (int n = 0; n < 2 * AMREX_SPACEDIM; ++n) {
65  boundary[n] = walls[n].wall;
66  }
67  return boundary;
68  }
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().

◆ cloudy

bool erf_cloud_chamber::Config::cloudy = 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: