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>(
"mu", 18.23e-6,
"Dynamic viscosity, Pa.s");
26 params.
addParam<
Real>(
"k", 25.68e-3,
"Thermal conductivity, W/(m-K)");
27 params.
addParam<
Real>(
"T_c", 0,
"Critical temperature, K");
28 params.
addParam<
Real>(
"rho_c", 0,
"Critical density, kg/m3");
29 params.
addParam<
Real>(
"e_c", 0,
"Internal energy at the critical point, J/kg");
40 _gamma(getParam<
Real>(
"gamma")),
41 _molar_mass(getParam<
Real>(
"molar_mass")),
43 _R_specific(_R / _molar_mass),
44 _cp(_gamma * _R_specific / (_gamma - 1.0)),
47 _mu(getParam<
Real>(
"mu")),
48 _k(getParam<
Real>(
"k")),
50 _T_c(getParam<
Real>(
"T_c")),
51 _rho_c(getParam<
Real>(
"rho_c")),
52 _e_c(getParam<
Real>(
"e_c"))
139 "Sound speed squared (gamma * R * T) is negative: c2 = " +
Moose::stringify(c2) +
".");
155 "Sound speed squared (gamma * R * T) is negative: c2 = " +
Moose::stringify(c2) +
".");
164 Real T, dT_dv, dT_de;
170 dc_dv = dc_dT * dT_dv;
171 dc_de = dc_dT * dT_de;
188 const Real ,
const Real T, Real &
c, Real & dc_dp, Real & dc_dT)
const 233 Real , Real , Real &
k, Real & dk_dv, Real & dk_de)
const 247 return getNaN(
"Negative argument in the ln() function.");
248 return _cv * std::log(n);
254 Real T, dT_dv, dT_de;
257 Real p, dp_dv, dp_de;
263 s =
getNaN(
"Negative argument in the ln() function.");
269 s =
_cv * std::log(n);
274 const Real dn_dv = dn_dT * dT_dv + dn_dp * dp_dv;
275 const Real dn_de = dn_dT * dT_de + dn_dp * dp_de;
277 ds_dv =
_cv / n * dn_dv;
278 ds_de =
_cv / n * dn_de;
287 return getNaN(
"Negative argument in the ln() function.");
288 return _cv * std::log(n);
297 s =
getNaN(
"Negative argument in the ln() function.");
303 s =
_cv * std::log(n);
308 ds_dp =
_cv / n * dn_dp;
309 ds_dT =
_cv / n * dn_dT;
318 return getNaN(
"Non-positive argument in the ln() function.");
319 return -(
_gamma - 1) *
_cv * std::log(aux);
331 ds_dh = -(
_gamma - 1) *
_cv / aux * daux_dh;
332 ds_dp = -(
_gamma - 1) *
_cv / aux * daux_dp;
345 Real p, Real s, Real & rho, Real & drho_dp, Real & drho_ds)
const 360 Real drho_dp_partial, drho_dT;
362 drho_dp = drho_dp_partial + drho_dT * dT_dp;
365 drho_ds = drho_dT * dT_ds;
408 Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT)
const 429 Real p, Real rho, Real & e, Real & de_dp, Real & de_drho)
const 512 Real p, dp_dT_v, dp_dv_T;
513 Real ds_dp_T, ds_dT_p;
516 ds_dT = ds_dT_p + ds_dp_T * dp_dT_v;
517 ds_dv = ds_dp_T * dp_dv_T;
685 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)
DualNumber< Real, DNDerivativeType, true > DualReal
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()
ADRealEigenVector< T, D, asd > sqrt(const ADRealEigenVector< T, D, asd > &)
virtual Real pp_sat_from_p_T(Real, Real) const override
virtual Real molarMass() const override
Fluid name.
virtual Real e_from_T_v(Real T, Real v) const override
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
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
e e e e s T T T T T rho v v T h
static InputParameters validParams()
std::string stringify(const T &t)
virtual std::string fluidName() 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.