20 "allow_nonphysical_states",
true,
"Allows for non-physical states, e.g., negative density.");
26 params.
addParam<
Real>(
"mu", 1.e-3,
"Dynamic viscosity, Pa.s");
27 params.
addParam<
Real>(
"k", 0.6,
"Thermal conductivity, W/(m-K)");
29 params.
addParam<
Real>(
"T_c", 0,
"Critical temperature, K");
30 params.
addParam<
Real>(
"rho_c", 0,
"Critical density, kg/m3");
31 params.
addParam<
Real>(
"e_c", 0,
"Internal energy at the critical point, J/kg");
39 _allow_nonphysical_states(getParam<bool>(
"allow_nonphysical_states")),
40 _gamma(getParam<
Real>(
"gamma")),
41 _cv(getParam<
Real>(
"cv")),
42 _q(getParam<
Real>(
"q")),
43 _q_prime(getParam<
Real>(
"q_prime")),
44 _p_inf(getParam<
Real>(
"p_inf")),
45 _mu(getParam<
Real>(
"mu")),
46 _k(getParam<
Real>(
"k")),
47 _molar_mass(getParam<
Real>(
"M")),
48 _T_c(getParam<
Real>(
"T_c")),
49 _rho_c(getParam<
Real>(
"rho_c")),
50 _e_c(getParam<
Real>(
"e_c"))
60 StiffenedGasFluidProperties::p_from_v_e(Real
v, Real e)
const 62 return p_from_v_e_template(
v, e);
66 StiffenedGasFluidProperties::p_from_v_e(Real
v, Real e, Real & p, Real & dp_dv, Real & dp_de)
const 68 p_from_v_e_template(
v, e,
p, dp_dv, dp_de);
72 StiffenedGasFluidProperties::p_from_v_e(
const ADReal &
v,
const ADReal & e)
const 74 return p_from_v_e_template(
v, e);
78 StiffenedGasFluidProperties::p_from_v_e(
81 p_from_v_e_template(
v, e,
p, dp_dv, dp_de);
85 StiffenedGasFluidProperties::T_from_v_e(Real
v, Real e)
const 87 return T_from_v_e_template(
v, e);
91 StiffenedGasFluidProperties::T_from_v_e(Real
v, Real e, Real & T, Real & dT_dv, Real & dT_de)
const 93 T_from_v_e_template(
v, e,
T, dT_dv, dT_de);
97 StiffenedGasFluidProperties::T_from_v_e(
const ADReal &
v,
const ADReal & e)
const 99 return T_from_v_e_template(
v, e);
103 StiffenedGasFluidProperties::T_from_v_e(
106 T_from_v_e_template(
v, e,
p, dp_dv, dp_de);
110 StiffenedGasFluidProperties::T_from_p_h(Real
v, Real e)
const 112 return T_from_p_h_template(
v, e);
116 StiffenedGasFluidProperties::T_from_p_h(Real
v, Real e, Real & T, Real & dT_dv, Real & dT_de)
const 118 T_from_p_h_template(
v, e,
T, dT_dv, dT_de);
122 StiffenedGasFluidProperties::T_from_p_h(
const ADReal &
v,
const ADReal & e)
const 124 return T_from_p_h_template(
v, e);
128 StiffenedGasFluidProperties::T_from_p_h(
131 T_from_p_h_template(
v, e,
p, dp_dv, dp_de);
148 return std::sqrt(radicant);
158 Real p, dp_dv, dp_de;
159 p_from_v_e(
v, e,
p, dp_dv, dp_de);
165 dc_dv = dc_dv_partial + dc_dp * dp_dv;
166 dc_de = dc_dp * dp_de;
179 Real p, dp_dv, dp_de;
180 p_from_v_e(
v, e,
p, dp_dv, dp_de);
181 c = std::sqrt(radicant);
185 dc_dv = dc_dv_partial + dc_dp * dp_dv;
186 dc_de = dc_dp * dp_de;
195 Real
v, Real e, Real &
cp, Real & dcp_dv, Real & dcp_de)
const 206 Real
v, Real e, Real &
cv, Real & dcv_dv, Real & dcv_de)
const 217 Real
v, Real e, Real &
mu, Real & dmu_dv, Real & dmu_de)
const 235 StiffenedGasFluidProperties::s_from_v_e(Real
v, Real e)
const 237 return s_from_v_e_template(
v, e);
241 StiffenedGasFluidProperties::s_from_v_e(Real
v, Real e, Real & s, Real & ds_dv, Real & ds_de)
const 243 s_from_v_e_template(
v, e, s, ds_dv, ds_de);
247 StiffenedGasFluidProperties::s_from_v_e(
const ADReal &
v,
const ADReal & e)
const 249 return s_from_v_e_template(
v, e);
253 StiffenedGasFluidProperties::s_from_v_e(
256 s_from_v_e_template(
v, e, s, ds_dv, ds_de);
287 ds_dh = -(
_gamma - 1) *
_cv / aux * daux_dh;
288 ds_dp = -(
_gamma - 1) *
_cv / aux * daux_dp;
293 StiffenedGasFluidProperties::s_from_p_T(Real p, Real T)
const 295 return s_from_p_T_template(
p,
T);
299 StiffenedGasFluidProperties::s_from_p_T(Real p, Real T, Real & s, Real & ds_dp, Real & ds_dT)
const 301 s_from_p_T_template(
p,
T, s, ds_dp, ds_dT);
305 StiffenedGasFluidProperties::s_from_p_T(
const ADReal & p,
const ADReal & T)
const 307 return s_from_p_T_template(
p,
T);
311 StiffenedGasFluidProperties::s_from_p_T(
314 s_from_p_T_template(
p,
T, s, ds_dp, ds_dT);
331 Real p, Real s, Real & rho, Real & drho_dp, Real & drho_ds)
const 347 Real drho_dp_partial, drho_dT;
348 rho_from_p_T(
p,
T,
rho, drho_dp_partial, drho_dT);
349 drho_dp = drho_dp_partial + drho_dT * dT_dp;
352 drho_ds = drho_dT * dT_ds;
370 StiffenedGasFluidProperties::rho_from_p_T(Real p, Real T)
const 372 return rho_from_p_T_template(
p,
T);
376 StiffenedGasFluidProperties::rho_from_p_T(
377 Real p, Real T, Real & rho, Real & drho_dp, Real & drho_dT)
const 379 rho_from_p_T_template(
p,
T,
rho, drho_dp, drho_dT);
383 StiffenedGasFluidProperties::rho_from_p_T(
const ADReal & p,
const ADReal & T)
const 385 return rho_from_p_T_template(
p,
T);
389 StiffenedGasFluidProperties::rho_from_p_T(
392 rho_from_p_T_template(
p,
T,
rho, drho_dp, drho_dT);
396 StiffenedGasFluidProperties::e_from_p_rho(Real p, Real rho)
const 398 return e_from_p_rho_template(
p,
rho);
402 StiffenedGasFluidProperties::e_from_p_rho(
403 Real p, Real rho, Real & e, Real & de_dp, Real & de_drho)
const 405 e_from_p_rho_template(
p,
rho, e, de_dp, de_drho);
409 StiffenedGasFluidProperties::e_from_p_rho(
const ADReal & p,
const ADReal & rho)
const 411 return e_from_p_rho_template(
p,
rho);
415 StiffenedGasFluidProperties::e_from_p_rho(
418 e_from_p_rho_template(
p,
rho, e, de_dp, de_drho);
439 return p_from_v_e(
v, e);
445 Real e, de_dT_v, de_dv_T, dp_dv_e, dp_de_v;
447 p_from_v_e(
v, e,
p, dp_dv_e, dp_de_v);
448 dp_dT = dp_de_v * de_dT_v;
449 dp_dv = dp_dv_e + dp_de_v * de_dv_T;
460 Real T, Real , Real & h, Real & dh_dT, Real & dh_dv)
const 471 return s_from_v_e(
v, e);
477 Real e, de_dT_v, de_dv_T, ds_dv_e, ds_de_v;
479 s_from_v_e(
v, e, s, ds_dv_e, ds_de_v);
480 ds_dT = ds_de_v * de_dT_v;
481 ds_dv = ds_dv_e + ds_de_v * de_dv_T;
552 const Real p = p_from_v_e(
v, e);
553 const Real T = T_from_v_e(
v, e);
660 mooseError(__PRETTY_FUNCTION__,
" not implemented. Use a real fluid property class!");
virtual Real s_from_T_v(Real T, Real v) const override
e e e e s T T T T T rho T
virtual Real e_from_T_v(Real T, Real v) const override
static const std::string cv
bool _allow_nonphysical_states
virtual Real criticalTemperature() const override
Critical temperature.
virtual Real rho_from_p_s(Real p, Real s) const override
virtual Real mu_from_p_T(Real p, Real T) const override
static InputParameters validParams()
static InputParameters validParams()
virtual Real g_from_v_e(Real v, Real e) const override
virtual Real s_from_h_p(Real h, Real p) const override
registerMooseObject("FluidPropertiesApp", StiffenedGasFluidProperties)
virtual Real beta_from_p_T(Real p, Real T) const override
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 criticalInternalEnergy() const override
Critical specific internal energy.
Real getNaN() const
Throws an error or returns a NaN with or without a warning, with a default message.
virtual Real cv_from_p_T(Real p, Real T) const override
virtual Real k_from_v_e(Real v, Real e) const override
static const std::string temperature
virtual Real p_from_h_s(Real h, Real s) const override
DualNumber< Real, DNDerivativeType, true > ADReal
virtual Real k_from_p_T(Real p, Real T) const override
virtual Real e_from_v_h(Real v, Real h) const override
static const std::string cp
e e e e s T T T T T rho v v T e h
virtual Real cp_from_v_e(Real v, Real e) const override
virtual Real cp_from_p_T(Real p, Real T) const override
virtual Real h_from_p_T(Real p, Real T) const override
virtual Real cv_from_T_v(Real T, Real v) const override
static const std::string mu
virtual Real e_from_p_T(Real p, Real T) const override
virtual Real criticalDensity() const override
Critical density.
Common class for single phase fluid properties.
virtual Real c2_from_p_rho(Real pressure, Real rho) const
virtual Real c_from_v_e(Real v, Real e) const override
Stiffened gas fluid properties.
virtual Real h_from_T_v(Real T, Real v) const override
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string v
static const std::string pressure
virtual Real pp_sat_from_p_T(Real, Real) const override
StiffenedGasFluidProperties(const InputParameters ¶meters)
void mooseError(Args &&... args) const
static InputParameters validParams()
virtual Real cv_from_v_e(Real v, Real e) const override
virtual Real mu_from_v_e(Real v, Real e) const override
virtual Real e_spndl_from_v(Real v) const override
Specific internal energy from temperature and specific volume.
Interface class for producing errors, warnings, or just quiet NaNs.
virtual Real molarMass() const override
Molar mass [kg/mol].
virtual ~StiffenedGasFluidProperties()
MooseUnits pow(const MooseUnits &, int)
static const std::string k
virtual Real p_from_T_v(Real T, Real v) const override