1 #ifndef ERF_DAMPING_STRUCT_H_
2 #define ERF_DAMPING_STRUCT_H_
7 #include <AMReX_ParmParse.H>
8 #include <AMReX_Print.H>
30 amrex::ParmParse
pp(pp_prefix);
32 static std::string rayleigh_type_string =
"SlowExplicit";
33 pp.query(
"rayleigh_damping_type",rayleigh_type_string);
35 if (!rayleigh_type_string.compare(
"SlowExplicit")) {
37 }
else if (!rayleigh_type_string.compare(
"FastExplicit")) {
39 }
else if (!rayleigh_type_string.compare(
"FastImplicit")) {
42 amrex::Error(
"Don't know this rayleigh_damping_type");
53 if (
pp.countval(
"rayleigh_damp_substep") > 0) {
54 amrex::Abort(
"The input rayleigh_damp_substep is deprecated. Set rayleigh_damping_type instead.");
64 amrex::Abort(
"Need to specify vertical damping coefficient w_damping_const (like WRF) or w_damping_coeff (~ dz/dt**2)");
73 amrex::Print() <<
"Rayleigh damping :";
83 amrex::Print() <<
" None" << std::endl;
86 amrex::Print() <<
"w damping : " <<
w_damping;
90 amrex::Print() <<
" (coeff = " <<
w_damping_coeff <<
" * dz/dt**2)" << std::endl;
constexpr amrex::Real one
Definition: ERF_Constants.H:9
RayleighDampingType
Time integration treatment used for Rayleigh damping.
Definition: ERF_DampingStruct.H:14
amrex::Real Real
Definition: ERF_ShocInterface.H:19
Definition: ERF_DampingStruct.H:22
RayleighDampingType rayleigh_damping_type
Selected Rayleigh damping time-integration treatment.
Definition: ERF_DampingStruct.H:111
void init_params(std::string pp_prefix)
Read damping options from the input parameter database.
Definition: ERF_DampingStruct.H:28
amrex::Real rayleigh_dampcoef
Rayleigh damping inverse time scale [1/s].
Definition: ERF_DampingStruct.H:98
bool rayleigh_damp_U
Whether Rayleigh damping is applied to x-momentum.
Definition: ERF_DampingStruct.H:94
bool rayleigh_damp_V
Whether Rayleigh damping is applied to y-momentum.
Definition: ERF_DampingStruct.H:95
bool rayleigh_damp_W
Whether Rayleigh damping is applied to vertical momentum.
Definition: ERF_DampingStruct.H:96
amrex::Real rayleigh_zdamp
Rayleigh damping layer depth [m].
Definition: ERF_DampingStruct.H:99
bool w_damping
Whether vertical-velocity damping is enabled.
Definition: ERF_DampingStruct.H:102
amrex::Real rayleigh_ztop
Top of the Rayleigh damping layer [m].
Definition: ERF_DampingStruct.H:100
bool rayleigh_damp_T
Whether Rayleigh damping is applied to potential temperature.
Definition: ERF_DampingStruct.H:97
void display()
Print the configured damping options.
Definition: ERF_DampingStruct.H:71
amrex::Real w_damping_cfl
CFL threshold used by vertical-velocity damping.
Definition: ERF_DampingStruct.H:103
amrex::Real w_damping_const
Constant vertical damping coefficient.
Definition: ERF_DampingStruct.H:105
amrex::Real w_damping_coeff
Grid-dependent vertical damping coefficient multiplier.
Definition: ERF_DampingStruct.H:108