25 return 1.0e-3 * std::exp(19.819 - 4975.9 / T);
31 return 4.9759 * std::exp(19.819 - 4975.9 / T) / (T * T);
34 static double humidity(
double const T,
double const p,
35 double const water_density)
47 double const p = std::get<double>(
49 double const T = std::get<double>(
51 double const water_density =
62 double const p = std::get<double>(
64 double const T = std::get<double>(
66 double const water_density =
71 double const h =
humidity(T, p, water_density);
75 return h * drho_vS_dT - rho_v * p /
76 (water_density * T * T *
87 double const dhumiditydp = factor * std::exp(factor * p);
93 "WaterVapourDensity::dValue is implemented for derivatives with "
94 "respect to temperature or phase_pressure only.");
virtual PropertyDataType value() const
PropertyDataType dValue(VariableArray const &variable_array, Variable const primary_variable, ParameterLib::SpatialPosition const &pos, double const t, double const dt) const override
constexpr double WaterVapour
Specific gas constant for water vapour.
static double humidity(double const T, double const p, double const water_density)
std::variant< double, Eigen::Matrix< double, 2, 1 >, Eigen::Matrix< double, 3, 1 >, Eigen::Matrix< double, 2, 2 >, Eigen::Matrix< double, 3, 3 >, Eigen::Matrix< double, 4, 1 >, Eigen::Matrix< double, 6, 1 > > PropertyDataType
static double saturatedVaporDensity(double const T)
std::array< VariableType, static_cast< int >(Variable::number_of_variables)> VariableArray
static double dsaturatedVaporDensitydT(double const T)