|
ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include <ERF_MaterialProperties.H>

Public Member Functions | |
| AMREX_GPU_HOST_DEVICE | MaterialProperties (const Species::Name &a_name) |
| Constructor. More... | |
| AMREX_GPU_HOST_DEVICE | MaterialProperties (const MaterialProperties &a_matprop) |
| Copy constructor. More... | |
| AMREX_GPU_HOST_DEVICE | ~MaterialProperties ()=default |
| Default destructor. More... | |
| AMREX_GPU_HOST void | print () const |
| Print parameters. More... | |
| AMREX_GPU_HOST_DEVICE void | setProperties_H2O () |
| Set this material to H20. More... | |
| AMREX_GPU_HOST_DEVICE void | setProperties_water () |
| Set this material to water. More... | |
| AMREX_GPU_HOST_DEVICE void | setProperties_agua () |
| Set this material to agua. More... | |
| AMREX_GPU_HOST_DEVICE void | setProperties_NaCl () |
| Set this material to NaCl. More... | |
| AMREX_GPU_HOST_DEVICE void | setProperties_NH42SO4 () |
| Set this material to ammonium sulfate. More... | |
| AMREX_GPU_HOST_DEVICE void | setProperties_NH4HSO4 () |
| Set this material to ammonium bisulfate. More... | |
| AMREX_GPU_HOST_DEVICE void | setProperties_soil () |
| Set this material to soil. More... | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | molarHeatCapacity (const amrex::Real a_T) const |
| Return the molar heat capacity. More... | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | surfaceTension (const amrex::Real a_T) const |
| Compute the surface tension coeff given temperature. More... | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | coeffCurv (const amrex::Real a_T) const |
| Return the coeff of curvature given the temperature. More... | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | coeffVPSolute () const |
| Return the vapour pressure coefficient. More... | |
| AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE amrex::Real | coeffMolecularDiffusion (const amrex::Real a_T, const amrex::Real a_P) const |
| Return the molecular diffusion coefficient given temperature and pressure. More... | |
| AMREX_GPU_HOST AMREX_FORCE_INLINE void | computeSaturationPressure (amrex::MultiFab &a_e, const amrex::MultiFab &a_T) const |
| Compute saturation pressure. More... | |
| AMREX_GPU_HOST AMREX_FORCE_INLINE void | computeSaturationVapFrac (amrex::MultiFab &a_S, const amrex::MultiFab &a_T, const amrex::MultiFab &a_p) const |
| Compute saturation vapour fraction. More... | |
Public Attributes | |
| Species::Name | m_name = Species::Name::none |
| amrex::Real | m_density = DBL_MAX |
| amrex::Real | m_ionization = DBL_MAX |
| amrex::Real | m_mol_weight = DBL_MAX |
| amrex::Real | m_lat_vap = DBL_MAX |
| amrex::Real | m_Rv = DBL_MAX |
| amrex::Real | m_Tc = DBL_MAX |
| amrex::Real | m_Tb = DBL_MAX |
| amrex::Real | m_Nav_by_molweight = DBL_MAX |
| amrex::Real | m_mol_Cp_coeffs [7] |
| bool | m_is_soluble = false |
| bool | m_is_water = false |
| decltype(saturation_funcs::compute_saturation_pressure_null) * | m_saturation_pressure_func = nullptr |
| decltype(saturation_funcs::compute_saturation_vapfrac_null) * | m_saturation_vapfrac_func = nullptr |
Static Public Attributes | |
| static constexpr amrex::Real | s_N_av = 6.02214076e23 |
| static constexpr amrex::Real | s_kb = 1.380649e-23 |
| static constexpr amrex::Real | s_mol_weight_air = 0.0289647 |
| static constexpr amrex::Real | s_sigma_air = 3.62e-10 |
| static constexpr amrex::Real | s_eps_air_k = 97 |
Class for material properties
| AMREX_GPU_HOST_DEVICE MaterialProperties::MaterialProperties | ( | const Species::Name & | a_name | ) |
Constructor.
| AMREX_GPU_HOST_DEVICE MaterialProperties::MaterialProperties | ( | const MaterialProperties & | a_matprop | ) |
Copy constructor.
|
default |
Default destructor.
|
inline |
Return the coeff of curvature given the temperature.

|
inline |
Return the molecular diffusion coefficient given temperature and pressure.
|
inline |
Return the vapour pressure coefficient.
|
inline |
Compute saturation pressure.
|
inline |
Compute saturation vapour fraction.
|
inline |
Return the molar heat capacity.
Referenced by surfaceTension().

|
inline |
Print parameters.
| AMREX_GPU_HOST_DEVICE void MaterialProperties::setProperties_agua | ( | ) |
Set this material to agua.
| AMREX_GPU_HOST_DEVICE void MaterialProperties::setProperties_H2O | ( | ) |
Set this material to H20.

| AMREX_GPU_HOST_DEVICE void MaterialProperties::setProperties_NaCl | ( | ) |
Set this material to NaCl.
| AMREX_GPU_HOST_DEVICE void MaterialProperties::setProperties_NH42SO4 | ( | ) |
Set this material to ammonium sulfate.
| AMREX_GPU_HOST_DEVICE void MaterialProperties::setProperties_NH4HSO4 | ( | ) |
Set this material to ammonium bisulfate.
| AMREX_GPU_HOST_DEVICE void MaterialProperties::setProperties_soil | ( | ) |
Set this material to soil.
| AMREX_GPU_HOST_DEVICE void MaterialProperties::setProperties_water | ( | ) |
Set this material to water.
|
inline |
Compute the surface tension coeff given temperature.
Referenced by coeffCurv().


| amrex::Real MaterialProperties::m_density = DBL_MAX |
density
Referenced by coeffCurv(), coeffMolecularDiffusion(), coeffVPSolute(), MaterialProperties(), print(), and surfaceTension().
| amrex::Real MaterialProperties::m_ionization = DBL_MAX |
ionization
Referenced by MaterialProperties(), and print().
| bool MaterialProperties::m_is_soluble = false |
is soluble in water?
Referenced by MaterialProperties().
| bool MaterialProperties::m_is_water = false |
is this water?
Referenced by coeffMolecularDiffusion(), coeffVPSolute(), MaterialProperties(), and surfaceTension().
| amrex::Real MaterialProperties::m_lat_vap = DBL_MAX |
latent heat of vaporization
Referenced by MaterialProperties(), and print().
| amrex::Real MaterialProperties::m_mol_Cp_coeffs[7] |
vector of molar heat capacity polynomial coeffs
Referenced by MaterialProperties(), molarHeatCapacity(), and print().
| amrex::Real MaterialProperties::m_mol_weight = DBL_MAX |
molecular weight (condensate)
Referenced by coeffVPSolute(), MaterialProperties(), print(), and surfaceTension().
| Species::Name MaterialProperties::m_name = Species::Name::none |
name
Referenced by MaterialProperties(), and print().
| amrex::Real MaterialProperties::m_Nav_by_molweight = DBL_MAX |
Avogadro number by vapour mol. weight
Referenced by coeffMolecularDiffusion(), MaterialProperties(), and print().
| amrex::Real MaterialProperties::m_Rv = DBL_MAX |
gas constant for vapour of this material
Referenced by coeffCurv(), MaterialProperties(), and print().
| decltype(saturation_funcs::compute_saturation_pressure_null) * MaterialProperties::m_saturation_pressure_func = nullptr |
pointer to function to compute saturation pressure
Referenced by computeSaturationPressure(), and MaterialProperties().
| decltype(saturation_funcs::compute_saturation_vapfrac_null) * MaterialProperties::m_saturation_vapfrac_func = nullptr |
pointer to function to compute vapour fraction
Referenced by computeSaturationVapFrac(), and MaterialProperties().
| amrex::Real MaterialProperties::m_Tb = DBL_MAX |
boiling temperature
Referenced by coeffMolecularDiffusion(), MaterialProperties(), and print().
| amrex::Real MaterialProperties::m_Tc = DBL_MAX |
critical temperature for surface tension
Referenced by MaterialProperties(), print(), and surfaceTension().
|
staticconstexpr |
Temperature parameter for air [K]
Referenced by coeffMolecularDiffusion().
|
staticconstexpr |
Boltzmann constant [J K^{-1}]
Referenced by coeffMolecularDiffusion().
|
staticconstexpr |
Molecular weight of air [kg mol^{-1}]
Referenced by coeffMolecularDiffusion().
|
staticconstexpr |
Avogadro's number
Referenced by coeffMolecularDiffusion(), and surfaceTension().
|
staticconstexpr |
Molecular length scale of air [m]
Referenced by coeffMolecularDiffusion().