20 params.addParam<
bool>(
21 "allow_nonphysical_states",
true,
"Allows for non-physical states, e.g., negative density.");
22 params.addRequiredParam<Real>(
"gamma",
"Heat capacity ratio");
23 params.addRequiredParam<Real>(
"cv",
"Constant volume specific heat");
24 params.addRequiredParam<Real>(
"q",
"Parameter defining zero point of internal energy");
25 params.addRequiredParam<Real>(
"p_inf",
"Stiffness parameter");
26 params.addParam<Real>(
"q_prime", 0,
"Parameter");
27 params.addParam<Real>(
"mu", 1.e-3,
"Dynamic viscosity, Pa.s");
28 params.addParam<Real>(
"k", 0.6,
"Thermal conductivity, W/(m-K)");
29 params.addParam<Real>(
"M", 0,
"Molar mass, kg/mol");
30 params.addParam<Real>(
"T_c", 0,
"Critical temperature, K");
31 params.addParam<Real>(
"rho_c", 0,
"Critical density, kg/m3");
32 params.addParam<Real>(
"e_c", 0,
"Internal energy at the critical point, J/kg");
33 params.addClassDescription(
"Fluid properties for a stiffened gas");
40 _allow_nonphysical_states(getParam<bool>(
"allow_nonphysical_states")),
41 _gamma(getParam<Real>(
"gamma")),
42 _cv(getParam<Real>(
"cv")),
43 _q(getParam<Real>(
"q")),
44 _q_prime(getParam<Real>(
"q_prime")),
45 _p_inf(getParam<Real>(
"p_inf")),
46 _mu(getParam<Real>(
"mu")),
47 _k(getParam<Real>(
"k")),
48 _molar_mass(getParam<Real>(
"M")),
49 _T_c(getParam<Real>(
"T_c")),
50 _rho_c(getParam<Real>(
"rho_c")),
51 _e_c(getParam<Real>(
"e_c"))
54 mooseError(
name(),
": cv cannot be zero.");
102 return std::sqrt(radicant);
112 Real
p, dp_dv, dp_de;
116 const Real dc_dp = 0.5 / c *
_gamma *
v;
119 dc_dv = dc_dv_partial + dc_dp * dp_dv;
120 dc_de = dc_dp * dp_de;
133 Real
p, dp_dv, dp_de;
135 c = std::sqrt(radicant);
136 const Real dc_dp = 0.5 / c *
_gamma *
v;
139 dc_dv = dc_dv_partial + dc_dp * dp_dv;
140 dc_de = dc_dp * dp_de;
149 Real v, Real e, Real & cp, Real & dcp_dv, Real & dcp_de)
const
177 Real
T, dT_dv, dT_de;
180 Real
p, dp_dv, dp_de;
197 const Real dn_dv = dn_dT * dT_dv + dn_dp * dp_dv;
198 const Real dn_de = dn_dT * dT_de + dn_dp * dp_de;
200 ds_dv =
_cv / n * dn_dv;
201 ds_de =
_cv / n * dn_de;
227 const Real daux_dh = (
p +
_p_inf) *
233 ds_dh = -(
_gamma - 1) *
_cv / aux * daux_dh;
234 ds_dp = -(
_gamma - 1) *
_cv / aux * daux_dp;
265 ds_dp =
_cv / n * dn_dp;
266 ds_dT =
_cv / n * dn_dT;
284 Real p, Real s, Real & rho, Real & drho_dp, Real & drho_ds)
const
300 Real drho_dp_partial, drho_dT;
302 drho_dp = drho_dp_partial + drho_dT * dT_dp;
305 drho_ds = drho_dT * dT_ds;
325 mooseAssert(((
_gamma - 1.0) *
_cv *
T) != 0.0,
"Invalid gamma or cv or temperature detected!");
335 Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT)
const
337 mooseAssert(((
_gamma - 1.0) *
_cv *
T) != 0.0,
"Invalid gamma or cv or temperature detected!");
354 mooseAssert((
_gamma - 1.0) *
rho != 0.,
"Invalid gamma or density detected!");
360 Real p, Real rho, Real & e, Real & de_dp, Real & de_drho)
const
391 Real e, de_dT_v, de_dv_T, dp_dv_e, dp_de_v;
394 dp_dT = dp_de_v * de_dT_v;
395 dp_dv = dp_dv_e + dp_de_v * de_dv_T;
406 Real T, Real , Real & h, Real & dh_dT, Real & dh_dv)
const
423 Real e, de_dT_v, de_dv_T, ds_dv_e, ds_de_v;
426 ds_dT = ds_de_v * de_dT_v;
427 ds_dv = ds_dv_e + ds_de_v * de_dv_T;
594 name(),
": ", __PRETTY_FUNCTION__,
" not implemented. Use a real fluid property class!");