13 #include "metaphysicl/raw_type.h" 24 params.
addParam<
Real>(
"molar_mass", 29.0e-3,
"Constant molar mass of the fluid (kg/mol)");
25 params.
addParam<
Real>(
"e_ref", 0,
"Reference specific internal energy [J/kg]");
26 params.
addParam<
Real>(
"mu", 18.23e-6,
"Dynamic viscosity, Pa.s");
27 params.
addParam<
Real>(
"k", 25.68e-3,
"Thermal conductivity, W/(m-K)");
28 params.
addParam<
Real>(
"T_c", 0,
"Critical temperature, K");
29 params.
addParam<
Real>(
"rho_c", 0,
"Critical density, kg/m3");
30 params.
addParam<
Real>(
"e_c", 0,
"Internal energy at the critical point, J/kg");
41 _gamma(getParam<
Real>(
"gamma")),
42 _molar_mass(getParam<
Real>(
"molar_mass")),
43 _e_ref(getParam<
Real>(
"e_ref")),
45 _R_specific(_R / _molar_mass),
46 _cp(_gamma * _R_specific / (_gamma - 1.0)),
49 _mu(getParam<
Real>(
"mu")),
50 _k(getParam<
Real>(
"k")),
52 _T_c(getParam<
Real>(
"T_c")),
53 _rho_c(getParam<
Real>(
"rho_c")),
54 _e_c(getParam<
Real>(
"e_c"))
141 "Sound speed squared (gamma * R * T) is negative: c2 = " +
Moose::stringify(c2) +
".");
144 return std::sqrt(c2);
157 "Sound speed squared (gamma * R * T) is negative: c2 = " +
Moose::stringify(c2) +
".");
160 return std::sqrt(c2);
166 Real T, dT_dv, dT_de;
172 dc_dv = dc_dT * dT_dv;
173 dc_de = dc_dT * dT_de;
190 const Real ,
const Real T, Real &
c, Real & dc_dp, Real & dc_dT)
const 211 const Real ,
const Real T, Real & beta, Real & dbeta_dp, Real & dbeta_dT)
const 215 dbeta_dT = -1.0 / Utility::pow<2>(
T);
256 Real , Real , Real &
k, Real & dk_dv, Real & dk_de)
const 270 return getNaN(
"Negative argument in the ln() function.");
271 return _cv * std::log(n);
277 Real T, dT_dv, dT_de;
280 Real p, dp_dv, dp_de;
286 s =
getNaN(
"Negative argument in the ln() function.");
292 s =
_cv * std::log(n);
297 const Real dn_dv = dn_dT * dT_dv + dn_dp * dp_dv;
298 const Real dn_de = dn_dT * dT_de + dn_dp * dp_de;
300 ds_dv =
_cv / n * dn_dv;
301 ds_de =
_cv / n * dn_de;
310 return getNaN(
"Negative argument in the ln() function.");
311 return _cv * std::log(n);
320 s =
getNaN(
"Negative argument in the ln() function.");
326 s =
_cv * std::log(n);
331 ds_dp =
_cv / n * dn_dp;
332 ds_dT =
_cv / n * dn_dT;
341 return getNaN(
"Non-positive argument in the ln() function.");
342 return -(
_gamma - 1) *
_cv * std::log(aux);
354 ds_dh = -(
_gamma - 1) *
_cv / aux * daux_dh;
355 ds_dp = -(
_gamma - 1) *
_cv / aux * daux_dp;
368 Real p, Real s, Real & rho, Real & drho_dp, Real & drho_ds)
const 383 Real drho_dp_partial, drho_dT;
385 drho_dp = drho_dp_partial + drho_dT * dT_dp;
388 drho_ds = drho_dT * dT_ds;
428 Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT)
const 449 Real p, Real rho, Real & e, Real & de_dp, Real & de_drho)
const 532 Real p, dp_dT_v, dp_dv_T;
533 Real ds_dp_T, ds_dT_p;
536 ds_dT = ds_dT_p + ds_dp_T * dp_dT_v;
537 ds_dv = ds_dp_T * dp_dv_T;
705 mooseError(__PRETTY_FUNCTION__,
" not implemented. Use a real fluid property class!");
virtual Real criticalInternalEnergy() const override
Critical specific internal energy.
e e e e s T T T T T rho T
static const std::string cv
virtual Real cv_from_p_T(Real p, Real T) const override
const Real _cv
Specific heat at constant volume.
virtual Real rho_from_p_T(Real p, Real T) const override
virtual Real criticalTemperature() const override
Critical temperature.
static InputParameters validParams()
const Real _k
Thermal conductivity.
virtual Real cv_from_v_e(Real v, Real e) const override
const Real & _gamma
Adiabatic index (ratio of specific heats cp/cv)
virtual Real criticalDensity() const override
Critical density.
virtual Real e_from_v_h(Real v, Real h) const override
virtual Real p_from_v_e(Real v, Real e) const override
virtual Real mu_from_v_e(Real v, Real e) const override
virtual Real k_from_p_T(Real pressure, Real temperature) const override
Real getNaN() const
Throws an error or returns a NaN with or without a warning, with a default message.
static const Real _R
Universal gas constant (J/mol/K)
virtual Real T_from_v_e(Real v, Real e) const override
virtual Real k_from_v_e(Real v, Real e) const override
virtual ~IdealGasFluidProperties()
virtual Real pp_sat_from_p_T(Real, Real) const override
virtual Real molarMass() const override
Molar mass [kg/mol].
virtual Real e_from_T_v(Real T, Real v) const override
DualNumber< Real, DNDerivativeType, true > ADReal
virtual Real h_from_T_v(Real T, Real v) const override
registerMooseObject("FluidPropertiesApp", IdealGasFluidProperties)
virtual Real rho_from_p_s(Real p, Real s) const override
IdealGasFluidProperties(const InputParameters ¶meters)
static const std::string cp
virtual Real s_from_T_v(Real T, Real v) const override
virtual Real e_from_p_rho(Real p, Real rho) const override
e e e e s T T T T T rho v v T e h
virtual Real s_from_h_p(Real h, Real p) const override
static const std::string mu
virtual Real p_from_T_v(Real T, Real v) const override
virtual Real gamma_from_v_e(Real v, Real e) const override
virtual Real c_from_p_T(Real p, Real T) const override
const Real & _molar_mass
molar mass
Common class for single phase fluid properties.
virtual Real T_from_p_h(Real p, Real h) const override
static InputParameters validParams()
std::string stringify(const T &t)
virtual std::string fluidName() const override
Fluid name.
virtual Real beta_from_p_T(Real p, Real T) const override
virtual Real g_from_v_e(Real v, Real e) const override
const Real _cp
Specific heat at constant pressure.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string v
virtual Real mu_from_p_T(Real p, Real T) const override
virtual Real e_from_p_T(Real p, Real T) const override
const Real _R_specific
Specific gas constant (R / molar mass)
virtual Real p_from_h_s(Real h, Real s) const override
virtual Real cp_from_v_e(Real v, Real e) const override
virtual Real cp_from_p_T(Real p, Real T) const override
void mooseError(Args &&... args) const
virtual Real c_from_v_e(Real v, Real e) const override
virtual Real s_from_v_e(Real v, Real e) const override
static InputParameters validParams()
virtual Real h_from_p_T(Real p, Real T) const override
virtual Real e_spndl_from_v(Real v) const override
Specific internal energy from temperature and specific volume.
virtual Real cv_from_T_v(Real T, Real v) const override
Ideal gas fluid properties Default parameters are for air at atmospheric pressure and temperature...
Interface class for producing errors, warnings, or just quiet NaNs.
virtual void v_e_spndl_from_T(Real T, Real &v, Real &e) const override
Specific internal energy from temperature and specific volume.
virtual Real gamma_from_p_T(Real p, Real T) const override
MooseUnits pow(const MooseUnits &, int)
static const std::string k
virtual Real s_from_p_T(Real p, Real T) const override
const Real _mu
Dynamic viscosity.
const Real & _e_ref
Reference specific internal energy.