10 #include <athena/athena_arrays.hpp>
11 #include <athena/mesh/mesh.hpp>
38 Real c8, c9, c10, c11, c12;
53 Real logp = log10(
p * 10.);
55 Real met = GetPar<Real>(
"met");
56 Real scale = GetPar<Real>(
"scale");
58 Real klowp =
c1 * atan(logT -
c2) -
59 c3 / (logp +
c4) * exp(pow(logT -
c5, 2.0)) +
c7;
64 Real khigp = c8 + c9 * logT + c10 * pow(logT, 2.) +
65 logp * (c11 + c12 * logT);
68 khigp +=
c13 * met * (0.5 + 1. / M_PI * atan((logT - 2.5) / 0.2));
70 Real result = pow(10.0, klowp) + pow(10.0, khigp);
73 Real dens =
p / (pthermo->GetRd() * T);
76 return scale * 0.1 * dens * result;
Real GetAttenuation(Real wave1, Real wave2, AirParcel const &var) const
Get attenuation coefficient [1/m].
static Thermodynamics const * GetInstance()
Return a pointer to the one and only instance of Thermodynamics.