1 #ifndef TERMINALVELOCITY_H
2 #define TERMINALVELOCITY_H
8 template <
typename RT >
14 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
18 return (
k1 * a_r * a_r);
22 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
28 return a*(std::exp(b*std::log(D)));
42 const RT a_T )
const noexcept
56 RT gxdrow = grav_cgs * ( rho_mat_cgs - rho_air_cgs );
69 RT sd_l = lb4l * (viscosity/visb4l) * (pb4l/P_hPa) * std::sqrt(a_T/tb4l);
72 v_terminal =
c1 * csc * diameter_cm * diameter_cm;
75 RT sd_l = lb4l * (viscosity/visb4l) * (pb4l/P_hPa) * std::sqrt(a_T/tb4l);
77 RT nda =
c2 * diameter_cm * diameter_cm * diameter_cm;
79 RT nre = csc * std::exp(
vz_b_x(std::log(nda)));
80 v_terminal = (viscosity*nre)/(rho_air_cgs*diameter_cm);
92 RT bond = c3 * diameter_cm * diameter_cm;
94 / (gxdrow*viscosity*viscosity*viscosity*viscosity);
96 RT nre = npp * std::exp(
vz_c_x(std::log(bond*npp)));
97 v_terminal = (viscosity*nre)/(rho_air_cgs*diameter_cm);
107 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
108 RT
vz_b_x (
const RT a_x )
const noexcept
124 AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE
125 RT
vz_c_x (
const RT a_x )
const noexcept
constexpr amrex::Real three
Definition: ERF_Constants.H:9
constexpr amrex::Real two
Definition: ERF_Constants.H:8
constexpr amrex::Real one
Definition: ERF_Constants.H:7
constexpr amrex::Real zero
Definition: ERF_Constants.H:6
constexpr amrex::Real CONST_GRAV
Definition: ERF_Constants.H:31
amrex::Real sigma
Definition: ERF_InitCustomPert_IsentropicVortex.H:11
amrex::Real Real
Definition: ERF_ShocInterface.H:19
real(c_double), parameter c2
Definition: ERF_module_model_constants.F90:35
real(c_double), private k1
Definition: ERF_module_mp_morr_two_moment.F90:213
real(c_double), private c1
Definition: ERF_module_mp_morr_two_moment.F90:212
Definition: ERF_TerminalVelocity.H:10
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RT vz_b_x(const RT a_x) const noexcept
Compute vz_b(x)
Definition: ERF_TerminalVelocity.H:108
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RT RogersYau(const RT a_r) const noexcept
Terminal velocity - Rogers & Yau, 1989.
Definition: ERF_TerminalVelocity.H:15
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RT vz_c_x(const RT a_x) const noexcept
Compute vc_b(x)
Definition: ERF_TerminalVelocity.H:125
AMREX_GPU_HOST_DEVICE RT CloudRainShima(const RT a_r, const RT a_rho, const RT a_P, const RT a_T) const noexcept
Terminal velocity - cloud/rain droplets Shima et al., 2009, "The super-droplet method for the numeric...
Definition: ERF_TerminalVelocity.H:39
AMREX_GPU_HOST_DEVICE AMREX_FORCE_INLINE RT AtlasUlbrich(const RT a_r) const noexcept
Terminal velocity - Atlas & Ulbrich, 1977.
Definition: ERF_TerminalVelocity.H:23
RT m_rho
Definition: ERF_TerminalVelocity.H:11