17 using namespace amrex;
44 constexpr
amrex::Real ron_const1r = (ron2 - ron_min) * 0.5;
45 constexpr
amrex::Real ron_const2r = (ron2 + ron_min) * 0.5;
48 const amrex::Real factor_r = gamma_seven * 1.e18 * std::pow(1.0 / (
pi * rho_r), 1.75);
49 const amrex::Real factor_s = gamma_seven * 1.e18 * std::pow(1.0 / (
pi * rho_s), 1.75)
50 * std::pow(rho_s / rhowat, 2.0) * alpha;
51 const amrex::Real factor_g = gamma_seven * 1.e18 * std::pow(1.0 / (
pi * rho_g), 1.75)
52 * std::pow(rho_g / rhowat, 2.0) * alpha;
59 if (iliqskin == 1 && tmk > celkel) {
60 factorb_s = factor_s / alpha;
61 factorb_g = factor_g / alpha;
69 amrex::Real temp_c = std::min(-0.001, tmk - celkel);
70 sonv = std::min(2.0e8, 2.0e6 * std::exp(-0.12 * temp_c));
76 gonv = 2.38 * std::pow(
pi * rho_g / (rho_air * qgr), 0.92);
77 gonv = std::max(1.e4, std::min(gonv, gon));
85 ronv = ron_const1r * std::tanh((ron_qr0 - qra) / ron_delqr0) + ron_const2r;
92 amrex::Real z_e = factor_r * std::pow(rho_air * qra, 1.75) / std::pow(ronv, 0.75)
93 + factorb_s * std::pow(rho_air * qsn, 1.75) / std::pow(sonv, 0.75)
94 + factorb_g * std::pow(rho_air * qgr, 1.75) / std::pow(gonv, 0.75);
97 z_e = std::max(z_e, 0.01);
102 return 10.0 * std::log10(z_e);
amrex::Real Real
Definition: ERF_ShocInterface.H:16
Definition: ERF_ConsoleIO.cpp:12
real(c_double), parameter, private pi
Definition: ERF_module_mp_morr_two_moment.F90:100