15#pragma GCC diagnostic push
16#pragma GCC diagnostic ignored "-Woverloaded-virtual"
29 virtual Real
c_from_v_e(Real
v, Real e)
const override;
30 virtual void c_from_v_e(Real
v, Real e, Real &
c, Real & dc_dv, Real & dc_de)
const override;
32 virtual void cp_from_v_e(Real
v, Real e, Real & cp, Real & dcp_dv, Real & dcp_de)
const override;
34 virtual void cv_from_v_e(Real
v, Real e, Real & cv, Real & dcv_dv, Real & dcv_de)
const override;
36 virtual void mu_from_v_e(Real
v, Real e, Real &
mu, Real & dmu_dv, Real & dmu_de)
const override;
37 virtual Real
k_from_v_e(Real
v, Real e)
const override;
38 virtual void k_from_v_e(Real
v, Real e, Real & k, Real & dk_dv, Real & dk_de)
const override;
40 virtual void s_from_h_p(Real
h, Real
p, Real & s, Real & ds_dh, Real & ds_dp)
const override;
43 rho_from_p_s(Real
p, Real s, Real &
rho, Real & drho_dp, Real & drho_ds)
const override;
52 virtual void e_from_T_v(Real
T, Real
v, Real & e, Real & de_dT, Real & de_dv)
const override;
54 virtual void p_from_T_v(Real
T, Real
v, Real &
p, Real & dp_dT, Real & dp_dv)
const override;
56 virtual void h_from_T_v(Real
T, Real
v, Real &
h, Real & dh_dT, Real & dh_dv)
const override;
58 virtual void s_from_T_v(Real
T, Real
v, Real & s, Real & ds_dT, Real & ds_dv)
const override;
63 virtual void e_from_v_h(Real
v, Real
h, Real & e, Real & de_dv, Real & de_dh)
const override;
65 virtual void h_from_p_T(Real
p, Real
T, Real &
h, Real & dh_dp, Real & dh_dT)
const override;
67 virtual void e_from_p_T(Real
p, Real
T, Real & e, Real & de_dp, Real & de_dT)
const override;
68 virtual Real
p_from_h_s(Real
h, Real s)
const override;
69 virtual void p_from_h_s(Real
h, Real s, Real &
p, Real & dp_dh, Real & dp_ds)
const override;
70 virtual Real
g_from_v_e(Real
v, Real e)
const override;
76 virtual void cv_from_p_T(Real
p, Real
T, Real & cv, Real & dcv_dp, Real & dcv_dT)
const override;
78 virtual void cp_from_p_T(Real
p, Real
T, Real & cp, Real & dcp_dp, Real & dcp_dT)
const override;
80 virtual void mu_from_p_T(Real
p, Real
T, Real &
mu, Real & dmu_dp, Real & dmu_dT)
const override;
82 virtual void k_from_p_T(Real
p, Real
T, Real & k, Real & dk_dp, Real & dk_dT)
const override;
85 beta_from_p_T(Real
p, Real
T, Real & beta, Real & dbeta_dp, Real & dbeta_dT)
const override;
110#pragma GCC diagnostic pop
112template <
typename CppType>
114StiffenedGasFluidProperties::rho_from_p_T_template(
const CppType &
p,
const CppType &
T)
const
116 mooseAssert(((
_gamma - 1.0) *
_cv *
T) != 0.0,
"Invalid gamma or cv or temperature detected!");
124template <
typename CppType>
126StiffenedGasFluidProperties::rho_from_p_T_template(
127 const CppType &
p,
const CppType &
T, CppType &
rho, CppType & drho_dp, CppType & drho_dT)
const
129 mooseAssert(((
_gamma - 1.0) *
_cv *
T) != 0.0,
"Invalid gamma or cv or temperature detected!");
143template <
typename CppType>
145StiffenedGasFluidProperties::e_from_p_rho_template(
const CppType &
p,
const CppType &
rho)
const
147 mooseAssert((
_gamma - 1.0) *
rho != 0.,
"Invalid gamma or density detected!");
151template <
typename CppType>
153StiffenedGasFluidProperties::e_from_p_rho_template(
154 const CppType &
p,
const CppType &
rho, CppType & e, CppType & de_dp, CppType & de_drho)
const
156 e = e_from_p_rho_template(
p,
rho);
161template <
typename CppType>
163StiffenedGasFluidProperties::T_from_v_e_template(
const CppType &
v,
const CppType & e)
const
168template <
typename CppType>
170StiffenedGasFluidProperties::T_from_v_e_template(
171 const CppType &
v,
const CppType & e, CppType &
T, CppType & dT_dv, CppType & dT_de)
const
173 T = T_from_v_e_template(
v, e);
178template <
typename CppType>
180StiffenedGasFluidProperties::T_from_p_h_template(
const CppType & ,
const CppType & h)
const
185template <
typename CppType>
187StiffenedGasFluidProperties::T_from_p_h_template(
188 const CppType &
p,
const CppType & h, CppType &
T, CppType & dT_dp, CppType & dT_dh)
const
190 T = T_from_p_h_template(
p,
h);
195template <
typename CppType>
197StiffenedGasFluidProperties::p_from_v_e_template(
const CppType &
v,
const CppType & e)
const
202template <
typename CppType>
204StiffenedGasFluidProperties::p_from_v_e_template(
205 const CppType &
v,
const CppType & e, CppType &
p, CppType & dp_dv, CppType & dp_de)
const
207 p = p_from_v_e_template(
v, e);
212template <
typename CppType>
214StiffenedGasFluidProperties::s_from_v_e_template(
const CppType &
v,
const CppType & e)
const
216 using std::pow, std::log;
218 CppType
T = T_from_v_e_template(
v, e);
219 CppType
p = p_from_v_e_template(
v, e);
227template <
typename CppType>
229StiffenedGasFluidProperties::s_from_v_e_template(
230 const CppType &
v,
const CppType & e, CppType & s, CppType & ds_dv, CppType & ds_de)
const
232 using std::pow, std::log;
234 CppType
T, dT_dv, dT_de;
235 T_from_v_e_template(
v, e,
T, dT_dv, dT_de);
237 CppType
p, dp_dv, dp_de;
238 p_from_v_e_template(
v, e,
p, dp_dv, dp_de);
254 const CppType dn_dv = dn_dT * dT_dv + dn_dp * dp_dv;
255 const CppType dn_de = dn_dT * dT_de + dn_dp * dp_de;
257 ds_dv =
_cv / n * dn_dv;
258 ds_de =
_cv / n * dn_de;
262template <
typename CppType>
264StiffenedGasFluidProperties::s_from_p_T_template(
const CppType &
p,
const CppType &
T)
const
266 using std::pow, std::log;
275template <
typename CppType>
277StiffenedGasFluidProperties::s_from_p_T_template(
278 const CppType &
p,
const CppType &
T, CppType & s, CppType & ds_dp, CppType & ds_dT)
const
280 using std::pow, std::log;
296 ds_dp =
_cv / n * dn_dp;
297 ds_dT =
_cv / n * dn_dT;
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
const InputParameters & parameters() const
Interface class for producing errors, warnings, or just quiet NaNs.
Real getNaN() const
Throws an error or returns a NaN with or without a warning, with a default message.
Common class for single phase fluid properties.
e e e e s T T T T T rho T
e e e e s T T T T T rho v v T e h
Stiffened gas fluid properties.
virtual Real p_from_T_v(Real T, Real v) const override
virtual Real mu_from_p_T(Real p, Real T) const override
virtual Real cv_from_T_v(Real T, Real v) const override
virtual Real cv_from_p_T(Real p, Real T) const override
virtual Real criticalDensity() const override
Critical density.
virtual Real k_from_v_e(Real v, Real e) const override
virtual Real mu_from_v_e(Real v, Real e) const override
virtual Real s_from_T_v(Real T, Real v) const override
virtual Real e_from_p_T(Real p, Real T) const override
virtual Real rho_from_p_s(Real p, Real s) const override
bool _allow_nonphysical_states
virtual Real c2_from_p_rho(Real pressure, Real rho) const
virtual Real e_from_v_h(Real v, Real h) const override
virtual Real cv_from_v_e(Real v, Real e) 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.
propfuncWithDefinitionOverride(p, v, e)
virtual Real e_spndl_from_v(Real v) const override
Specific internal energy from temperature and specific volume.
propfuncWithDefinitionOverride(T, p, h)
virtual Real p_from_h_s(Real h, Real s) const override
virtual Real cp_from_p_T(Real p, Real T) const override
virtual Real h_from_T_v(Real T, Real v) const override
virtual Real e_from_T_v(Real T, Real v) const override
virtual ~StiffenedGasFluidProperties()
propfuncWithDefinitionOverride(T, v, e)
virtual Real g_from_v_e(Real v, Real e) const override
propfuncWithDefinitionOverride(e, p, rho)
virtual Real pp_sat_from_p_T(Real, Real) const override
virtual Real beta_from_p_T(Real p, Real T) const override
virtual Real h_from_p_T(Real p, Real T) const override
virtual Real cp_from_v_e(Real v, Real e) const override
propfuncWithDefinitionOverride(rho, p, T)
virtual Real criticalTemperature() const override
Critical temperature.
virtual Real criticalInternalEnergy() const override
Critical specific internal energy.
propfuncWithDefinitionOverride(s, v, e)
virtual Real molarMass() const override
Molar mass [kg/mol].
static InputParameters validParams()
virtual Real k_from_p_T(Real p, Real T) const override
propfuncWithDefinitionOverride(s, p, T)
virtual Real c_from_v_e(Real v, Real e) const override
virtual Real s_from_h_p(Real h, Real p) const override