Real SinglePhaseFluidProperties::rho(Real p, Real T) const { mooseDeprecated(name(), ": rho() is deprecated. Use rho_from_p_T() instead"); return rho_from_p_T(p, T); }
void StiffenedGasFluidProperties::rho_from_p_s( Real p, Real s, Real & rho, Real & drho_dp, Real & drho_ds) const { // T(p,s) const Real aux = (s - _q_prime + _cv * std::log(std::pow(p + _p_inf, _gamma - 1.0))) / _cv; const Real T = std::pow(std::exp(aux), 1 / _gamma); // dT/dp const Real dT_dp = 1.0 / _gamma * std::pow(std::exp(aux), 1.0 / _gamma - 1.0) * std::exp(aux) / std::pow(p + _p_inf, _gamma - 1.0) * (_gamma - 1.0) * std::pow(p + _p_inf, _gamma - 2.0); // dT/ds const Real dT_ds = 1.0 / _gamma * std::pow(std::exp(aux), 1.0 / _gamma - 1.0) * std::exp(aux) / _cv; // Drho/Dp = d/dp[rho(p, T(p,s))] = drho/dp + drho/dT * dT/dp Real drho_dp_partial, drho_dT; rho_from_p_T(p, T, rho, drho_dp_partial, drho_dT); drho_dp = drho_dp_partial + drho_dT * dT_dp; // Drho/Ds = d/ds[rho(p, T(p,s))] = drho/dT * dT/ds drho_ds = drho_dT * dT_ds; }
Real StiffenedGasFluidProperties::rho_from_p_s(Real p, Real s) const { Real a = (s - _q_prime + _cv * std::log(std::pow(p + _p_inf, _gamma - 1.0))) / _cv; Real T = std::pow(std::exp(a), 1.0 / _gamma); return rho_from_p_T(p, T); }
void SinglePhaseFluidProperties::rho_dpT( Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT) const { mooseDeprecated(name(), ": rho_dpT() is deprecated. Use rho_from_p_T() instead"); rho_from_p_T(p, T, rho, drho_dp, drho_dT); }
void StiffenedGasFluidProperties::rho_from_p_T( Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT) const { rho = rho_from_p_T(p, T); drho_dp = 1. / ((_gamma - 1.0) * _cv * T); drho_dT = -(p + _p_inf) / ((_gamma - 1.0) * _cv * T * T); }
void SinglePhaseFluidProperties::v_from_p_T(Real p, Real T, Real & v, Real & dv_dp, Real & dv_dT) const { Real rho, drho_dp, drho_dT; rho_from_p_T(p, T, rho, drho_dp, drho_dT); v = 1.0 / rho; const Real dv_drho = -1.0 / (rho * rho); dv_dp = dv_drho * drho_dp; dv_dT = dv_drho * drho_dT; }
void SimpleFluidProperties::h_from_p_T( Real pressure, Real temperature, Real & h, Real & dh_dp, Real & dh_dT) const { h = this->h_from_p_T(pressure, temperature); Real density, ddensity_dp, ddensity_dT; rho_from_p_T(pressure, temperature, density, ddensity_dp, ddensity_dT); dh_dp = _pp_coeff / density - _pp_coeff * pressure * ddensity_dp / density / density; dh_dT = _cv - _pp_coeff * pressure * ddensity_dT / density / density; }
void SinglePhaseFluidProperties::rho_mu_from_p_T(Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT, Real & mu, Real & dmu_dp, Real & dmu_dT) const { rho_from_p_T(p, T, rho, drho_dp, drho_dT); mu_from_p_T(p, T, mu, dmu_dp, dmu_dT); }
void SinglePhaseFluidProperties::rho_e_from_p_T(Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT, Real & e, Real & de_dp, Real & de_dT) const { rho_from_p_T(p, T, rho, drho_dp, drho_dT); e_from_p_T(p, T, e, de_dp, de_dT); }
void NaClFluidProperties::rho_e_dpT(Real pressure, Real temperature, Real & rho, Real & drho_dp, Real & drho_dT, Real & e, Real & de_dp, Real & de_dT) const { rho_from_p_T(pressure, temperature, rho, drho_dp, drho_dT); e_from_p_T(pressure, temperature, e, de_dp, de_dT); }
void NaClFluidProperties::e_from_p_T( Real pressure, Real temperature, Real & e, Real & de_dp, Real & de_dT) const { Real h, dh_dp, dh_dT; h_from_p_T(pressure, temperature, h, dh_dp, dh_dT); Real rho, drho_dp, drho_dT; rho_from_p_T(pressure, temperature, rho, drho_dp, drho_dT); e = h - pressure / rho; de_dp = dh_dp + pressure * drho_dp / rho / rho - 1.0 / rho; de_dT = dh_dT + pressure * drho_dT / rho / rho; }
Real SinglePhaseFluidProperties::beta_from_p_T(Real p, Real T) const { // The volumetric thermal expansion coefficient is defined as // 1/v dv/dT)_p // It is the fractional change rate of volume with respect to temperature change // at constant pressure. Here it is coded as // - 1/rho drho/dT)_p // using chain rule with v = v(rho) Real rho, drho_dp, drho_dT; rho_from_p_T(p, T, rho, drho_dp, drho_dT); return -drho_dT / rho; }
void SinglePhaseFluidProperties::e_from_p_T(Real p, Real T, Real & e, Real & de_dp, Real & de_dT) const { // From rho(p,T), compute: drho(p,T)/dp, drho(p,T)/dT Real rho = 0., drho_dp = 0., drho_dT = 0.; rho_from_p_T(p, T, rho, drho_dp, drho_dT); // From e(p, rho), compute: de(p,rho)/dp, de(p,rho)/drho Real depr_dp = 0., depr_drho = 0.; e_from_p_rho(p, rho, e, depr_dp, depr_drho); // Using partial derivative rules, we have: // de(p,T)/dp = de(p,rho)/dp * dp/dp + de(p,rho)/drho * drho(p,T)/dp, (dp/dp == 1) // de(p,T)/dT = de(p,rho)/dp * dp/dT + de(p,rho)/drho * drho(p,T)/dT, (dp/dT == 0) de_dp = depr_dp + depr_drho * drho_dp; de_dT = depr_drho * drho_dT; }
void IdealGasFluidPropertiesPT::rho_e_dpT(Real pressure, Real temperature, Real & rho, Real & drho_dp, Real & drho_dT, Real & e, Real & de_dp, Real & de_dT) const { Real density, ddensity_dp, ddensity_dT; rho_from_p_T(pressure, temperature, density, ddensity_dp, ddensity_dT); rho = density; drho_dp = ddensity_dp; drho_dT = ddensity_dT; Real energy, denergy_dp, denergy_dT; e_from_p_T(pressure, temperature, energy, denergy_dp, denergy_dT); e = energy; de_dp = denergy_dp; de_dT = denergy_dT; }
Real SinglePhaseFluidProperties::v_from_p_T(Real p, Real T) const { const Real rho = rho_from_p_T(p, T); return 1.0 / rho; }
Real NaClFluidProperties::e_from_p_T(Real pressure, Real temperature) const { return h_from_p_T(pressure, temperature) - pressure / rho_from_p_T(pressure, temperature); }
void SinglePhaseFluidProperties::rho_mu_from_p_T(Real p, Real T, Real & rho, Real & mu) const { rho = rho_from_p_T(p, T); mu = mu_from_p_T(p, T); }
Real SinglePhaseFluidProperties::e_from_p_T(Real p, Real T) const { const Real rho = rho_from_p_T(p, T); return e_from_p_rho(p, rho); }
Real SimpleFluidProperties::h_from_p_T(Real pressure, Real temperature) const { return e_from_p_T(pressure, temperature) + _pp_coeff * pressure / rho_from_p_T(pressure, temperature); }
Real SimpleFluidProperties::c_from_p_T(Real pressure, Real temperature) const { return std::sqrt(_bulk_modulus / rho_from_p_T(pressure, temperature)); }
Real SinglePhaseFluidProperties::rho(Real p, Real T) const { return rho_from_p_T(p, T); }
void SinglePhaseFluidProperties::rho_dpT( Real pressure, Real temperature, Real & rho, Real & drho_dp, Real & drho_dT) const { rho_from_p_T(pressure, temperature, rho, drho_dp, drho_dT); }