ERF
Energy Research and Forecasting: An Atmospheric Modeling Code
|
#include <ERF_Thetav.H>
Go to the source code of this file.
Functions | |
void | ComputeDiffusivityMYNN25 (const amrex::MultiFab &xvel, const amrex::MultiFab &yvel, const amrex::MultiFab &cons_in, amrex::MultiFab &eddyViscosity, const amrex::Geometry &geom, const TurbChoice &turbChoice, std::unique_ptr< ABLMost > &most, bool use_moisture, int level, const amrex::BCRec *bc_ptr, bool, const std::unique_ptr< amrex::MultiFab > &z_phys_nd, const int RhoQv_comp, const int RhoQr_comp) |
void | ComputeDiffusivityYSU (const amrex::MultiFab &xvel, const amrex::MultiFab &yvel, const amrex::MultiFab &cons_in, amrex::MultiFab &eddyViscosity, const amrex::Geometry &geom, const TurbChoice &turbChoice, std::unique_ptr< ABLMost > &most, bool use_moisture, int level, const amrex::BCRec *bc_ptr, bool, const std::unique_ptr< amrex::MultiFab > &z_phys_nd) |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void | ComputeVerticalDerivativesPBL (int i, int j, int k, const amrex::Array4< const amrex::Real > &uvel, const amrex::Array4< const amrex::Real > &vvel, const amrex::Array4< const amrex::Real > &cell_data, const int izmin, const int izmax, const amrex::Real &dz_inv, const bool c_ext_dir_on_zlo, const bool c_ext_dir_on_zhi, const bool u_ext_dir_on_zlo, const bool u_ext_dir_on_zhi, const bool v_ext_dir_on_zlo, const bool v_ext_dir_on_zhi, amrex::Real &dthetadz, amrex::Real &dudz, amrex::Real &dvdz, const int RhoQv_comp, const int RhoQr_comp, const bool use_most=true) |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real | ComputeQKESourceTerms (int i, int j, int k, const amrex::Array4< const amrex::Real > &uvel, const amrex::Array4< const amrex::Real > &vvel, const amrex::Array4< const amrex::Real > &cell_data, const amrex::Array4< const amrex::Real > &cell_prim, const amrex::Array4< const amrex::Real > &K_turb, const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > &cellSizeInv, const amrex::Box &domain, amrex::Real pbl_mynn_B1_l, const amrex::Real theta_mean, const int RhoQv_comp, const int RhoQr_comp, bool c_ext_dir_on_zlo, bool c_ext_dir_on_zhi, bool u_ext_dir_on_zlo, bool u_ext_dir_on_zhi, bool v_ext_dir_on_zlo, bool v_ext_dir_on_zhi, const bool use_most=false, const amrex::Real met_h_zeta=1.0) |
void ComputeDiffusivityMYNN25 | ( | const amrex::MultiFab & | xvel, |
const amrex::MultiFab & | yvel, | ||
const amrex::MultiFab & | cons_in, | ||
amrex::MultiFab & | eddyViscosity, | ||
const amrex::Geometry & | geom, | ||
const TurbChoice & | turbChoice, | ||
std::unique_ptr< ABLMost > & | most, | ||
bool | use_moisture, | ||
int | level, | ||
const amrex::BCRec * | bc_ptr, | ||
bool | , | ||
const std::unique_ptr< amrex::MultiFab > & | z_phys_nd, | ||
const int | RhoQv_comp, | ||
const int | RhoQr_comp | ||
) |
Compute eddy diffusivities of momentum (eddy viscosity) and heat using the Mellor-Yamada-Nakanishi-Niino Level 2.5 PBL scheme
[in] | xvel | Velocity in x-dir |
[in] | yvel | Velocity in y-dir |
[in] | cons_in | Cell center conserved quantities |
[out] | eddyViscosity | Holds turbulent viscosity |
[in] | geom | Problem geometry |
[in] | turbChoice | Container with turbulence parameters |
[in] | most | Pointer to Monin-Obukhov class if instantiated |
[in] | use_moisture | If we have microphysics enabled |
[in] | level | Current level |
[in] | bc_ptr | Pointer to array with boundary condition info |
[in] | vert_only | Only compute vertical eddy diffusivities |
[in] | z_phys_nd | Physical location of grid nodes, if terrain (or grid stretching) is enabled |
void ComputeDiffusivityYSU | ( | const amrex::MultiFab & | xvel, |
const amrex::MultiFab & | yvel, | ||
const amrex::MultiFab & | cons_in, | ||
amrex::MultiFab & | eddyViscosity, | ||
const amrex::Geometry & | geom, | ||
const TurbChoice & | turbChoice, | ||
std::unique_ptr< ABLMost > & | most, | ||
bool | use_moisture, | ||
int | level, | ||
const amrex::BCRec * | bc_ptr, | ||
bool | , | ||
const std::unique_ptr< amrex::MultiFab > & | z_phys_nd | ||
) |
Compute eddy diffusivities of momentum (eddy viscosity) and heat using the Yonsei University PBL scheme
[in] | xvel | Velocity in x-dir |
[in] | yvel | Velocity in y-dir |
[in] | cons_in | Cell center conserved quantities |
[out] | eddyViscosity | Holds turbulent viscosity |
[in] | geom | Problem geometry |
[in] | turbChoice | Container with turbulence parameters |
[in] | most | Pointer to Monin-Obukhov class if instantiated |
[in] | use_moisture | If we have microphysics enabled |
[in] | level | Current level |
[in] | bc_ptr | Pointer to array with boundary condition info |
[in] | vert_only | Only compute vertical eddy diffusivities |
[in] | z_phys_nd | Physical location of grid nodes, if terrain (or grid stretching) is enabled |
AMREX_GPU_DEVICE AMREX_FORCE_INLINE amrex::Real ComputeQKESourceTerms | ( | int | i, |
int | j, | ||
int | k, | ||
const amrex::Array4< const amrex::Real > & | uvel, | ||
const amrex::Array4< const amrex::Real > & | vvel, | ||
const amrex::Array4< const amrex::Real > & | cell_data, | ||
const amrex::Array4< const amrex::Real > & | cell_prim, | ||
const amrex::Array4< const amrex::Real > & | K_turb, | ||
const amrex::GpuArray< amrex::Real, AMREX_SPACEDIM > & | cellSizeInv, | ||
const amrex::Box & | domain, | ||
amrex::Real | pbl_mynn_B1_l, | ||
const amrex::Real | theta_mean, | ||
const int | RhoQv_comp, | ||
const int | RhoQr_comp, | ||
bool | c_ext_dir_on_zlo, | ||
bool | c_ext_dir_on_zhi, | ||
bool | u_ext_dir_on_zlo, | ||
bool | u_ext_dir_on_zhi, | ||
bool | v_ext_dir_on_zlo, | ||
bool | v_ext_dir_on_zhi, | ||
const bool | use_most = false , |
||
const amrex::Real | met_h_zeta = 1.0 |
||
) |
Function for computing the QKE source terms (NN09, Eqn. 5).
[in] | u | velocity in x-dir |
[in] | v | velocity in y-dir |
[in] | cell_data | conserved cell center vars |
[in] | cell_prim | primitive cell center vars |
[in] | K_turb | turbulent viscosity |
[in] | cellSizeInv | inverse cell size array |
[in] | domain | box of the whole domain |
[in] | pbl_mynn_B1_l | a parameter |
[in] | theta_mean | average theta |
Referenced by DiffusionSrcForState_N(), and DiffusionSrcForState_T().
AMREX_GPU_DEVICE AMREX_FORCE_INLINE void ComputeVerticalDerivativesPBL | ( | int | i, |
int | j, | ||
int | k, | ||
const amrex::Array4< const amrex::Real > & | uvel, | ||
const amrex::Array4< const amrex::Real > & | vvel, | ||
const amrex::Array4< const amrex::Real > & | cell_data, | ||
const int | izmin, | ||
const int | izmax, | ||
const amrex::Real & | dz_inv, | ||
const bool | c_ext_dir_on_zlo, | ||
const bool | c_ext_dir_on_zhi, | ||
const bool | u_ext_dir_on_zlo, | ||
const bool | u_ext_dir_on_zhi, | ||
const bool | v_ext_dir_on_zlo, | ||
const bool | v_ext_dir_on_zhi, | ||
amrex::Real & | dthetadz, | ||
amrex::Real & | dudz, | ||
amrex::Real & | dvdz, | ||
const int | RhoQv_comp, | ||
const int | RhoQr_comp, | ||
const bool | use_most = true |
||
) |
Function for computing vertical derivatives for use in PBL model
[in] | u | velocity in x-dir |
[in] | v | velocity in y-dir |
[in] | cell_data | conserved cell center vars |
Referenced by ComputeDiffusivityMYNN25(), ComputeDiffusivityYSU(), and ComputeQKESourceTerms().