|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include <AMReX_Array.H>#include <AMReX_ParmParse.H>#include <AMReX_REAL.H>#include "ERF_Constants.H"#include "ERF_EOS.H"#include "ERF_MicrophysicsUtils.H"#include "BoundaryConditions/ERF_WallThermodynamics.H"#include <cmath>#include <limits>#include <string>#include <vector>

Go to the source code of this file.
Classes | |
| struct | erf_cloud_chamber::WallSpec |
| Metadata describing a chamber wall. More... | |
| struct | erf_cloud_chamber::Config |
| Configuration parameters for cloud chamber initialization. More... | |
| struct | erf_cloud_chamber::InitializationContract |
| Contract used to validate initialization parameter consistency. More... | |
| struct | erf_cloud_chamber::WallTransferContract |
Namespaces | |
| erf_cloud_chamber | |
Enumerations | |
| enum class | erf_cloud_chamber::WallFace : unsigned char { erf_cloud_chamber::XLo , erf_cloud_chamber::XHi , erf_cloud_chamber::YLo , erf_cloud_chamber::YHi , erf_cloud_chamber::ZLo , erf_cloud_chamber::ZHi } |
| enum class | erf_cloud_chamber::InitializationMode : unsigned char { erf_cloud_chamber::PhysicalTemperatureRH , erf_cloud_chamber::LegacyThetaQv } |
Functions | |
| std::string | erf_cloud_chamber::initialization_contract_error (const InitializationContract &contract) |
| Validate the initialization contract and return an error message if violated. More... | |
| AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE amrex::Real | erf_cloud_chamber::linear_profile (amrex::Real bottom, amrex::Real top, amrex::Real coordinate, amrex::Real lower, amrex::Real length) noexcept |
| Compute a linear profile between two values. More... | |
| AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE amrex::Real | erf_cloud_chamber::deterministic_perturbation (amrex::Real x, amrex::Real y, amrex::Real z, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &lo, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &length, amrex::Real amplitude) noexcept |
| Compute a deterministic 3D sine perturbation. More... | |
| AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE amrex::Real | erf_cloud_chamber::staggered_velocity_v_scale (amrex::Real lx, amrex::Real ly, amrex::Real dx, amrex::Real dy, int nx, int ny) noexcept |
| Discrete derivative ratio for the staggered initial velocity field. More... | |
| AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE amrex::Real | erf_cloud_chamber::initial_u_velocity_perturbation (amrex::Real x, amrex::Real y, amrex::Real z, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &lo, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &length, amrex::Real U_0, int nx, int ny) noexcept |
| Evaluate the x-face component of the Cloud Chamber initial velocity. More... | |
| AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE amrex::Real | erf_cloud_chamber::initial_v_velocity_perturbation (amrex::Real x, amrex::Real y, amrex::Real z, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &lo, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &length, amrex::Real U_0, amrex::Real v_scale, int nx, int ny) noexcept |
| Evaluate the y-face component of the Cloud Chamber initial velocity. More... | |
| AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE amrex::Real | erf_cloud_chamber::initial_w_velocity_perturbation () noexcept |
| The Cloud Chamber initial vertical velocity perturbation. More... | |
| AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE amrex::Real | erf_cloud_chamber::theta_at (const Config &config, amrex::Real x, amrex::Real y, amrex::Real z) noexcept |
| Compute the potential temperature at a given location. More... | |
| AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE amrex::Real | erf_cloud_chamber::qv_at (const Config &config, amrex::Real z) noexcept |
| Compute the water vapor mixing ratio at a given height. More... | |
| AMREX_FORCE_INLINE AMREX_GPU_HOST_DEVICE amrex::Real | erf_cloud_chamber::vapor_mixing_ratio_from_relative_humidity (amrex::Real temperature_K, amrex::Real pressure_Pa, amrex::Real relative_humidity) noexcept |
| Convert relative humidity to water vapor mixing ratio. More... | |
| bool | erf_cloud_chamber::finite (amrex::Real value) noexcept |
| void | erf_cloud_chamber::require_finite (const std::string &key, amrex::Real value) |
| std::string | erf_cloud_chamber::face_name (WallFace face) |
| std::string | erf_cloud_chamber::wall_transfer_contract_error (const WallTransferContract &contract, const std::string &face) |
| std::string | erf_cloud_chamber::wall_coupled_most_roughness_error (const WallTransferContract &contract, const std::string &face, bool wet_wall) |
| void | erf_cloud_chamber::require_zero_periodicity () |
| void | erf_cloud_chamber::require_no_unsupported_geometry () |
| void | erf_cloud_chamber::reject_unsupported_face_keys (amrex::ParmParse &pp, const std::string &face) |
| std::string | erf_cloud_chamber::wall_roughness_geometry_error (const erf_wall_thermodynamics::Boundary &walls, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dx) |
| void | erf_cloud_chamber::validate_wall_roughness_geometry (const erf_wall_thermodynamics::Boundary &walls, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &dx) |
| Config | erf_cloud_chamber::parse_config (const amrex::Real *problo, const amrex::Real *probhi) |