www.mooseframework.org
Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
StiffenedGasFluidProperties Class Reference

Stiffened gas fluid properties. More...

#include <StiffenedGasFluidProperties.h>

Inheritance diagram for StiffenedGasFluidProperties:
[legend]

Public Member Functions

 StiffenedGasFluidProperties (const InputParameters &parameters)
 
virtual ~StiffenedGasFluidProperties ()
 
virtual Real p_from_v_e (Real v, Real e) const override
 
virtual void p_from_v_e (Real v, Real e, Real &p, Real &dp_dv, Real &dp_de) const override
 
virtual Real T_from_v_e (Real v, Real e) const override
 
virtual void T_from_v_e (Real v, Real e, Real &T, Real &dT_dv, Real &dT_de) const override
 
virtual Real c_from_v_e (Real v, Real e) const override
 
virtual void c_from_v_e (Real v, Real e, Real &c, Real &dc_dv, Real &dc_de) const override
 
virtual Real cp_from_v_e (Real v, Real e) const override
 
virtual void cp_from_v_e (Real v, Real e, Real &cp, Real &dcp_dv, Real &dcp_de) const override
 
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 k_from_v_e (Real v, Real e) const override
 
virtual Real s_from_v_e (Real v, Real e) const override
 
virtual void s_from_v_e (Real v, Real e, Real &s, Real &ds_dv, Real &ds_de) const override
 
virtual Real s_from_h_p (Real h, Real p) const override
 
virtual void s_from_h_p (Real h, Real p, Real &s, Real &ds_dh, Real &ds_dp) const override
 
virtual Real s_from_p_T (Real p, Real T) const override
 
virtual void s_from_p_T (Real p, Real T, Real &s, Real &ds_dp, Real &ds_dT) const override
 
virtual Real rho_from_p_s (Real p, Real s) const override
 
virtual void rho_from_p_s (Real p, Real s, Real &rho, Real &drho_dp, Real &drho_ds) const override
 
virtual Real rho_from_p_T (Real p, Real T) const override
 
virtual void rho_from_p_T (Real p, Real T, Real &rho, Real &drho_dp, Real &drho_dT) const override
 
virtual Real e_from_p_rho (Real p, Real rho) const override
 
virtual void e_from_p_rho (Real p, Real rho, Real &e, Real &de_dp, Real &de_drho) const override
 
virtual Real e_from_T_v (Real T, Real v) const override
 
virtual void e_from_T_v (Real T, Real v, Real &e, Real &de_dT, Real &de_dv) const override
 
virtual Real p_from_T_v (Real T, Real v) const override
 
virtual void p_from_T_v (Real T, Real v, Real &p, Real &dp_dT, Real &dp_dv) const override
 
virtual Real h_from_T_v (Real T, Real v) const override
 
virtual void h_from_T_v (Real T, Real v, Real &h, Real &dh_dT, Real &dh_dv) const override
 
virtual Real s_from_T_v (Real T, Real v) const override
 
virtual void s_from_T_v (Real T, Real v, Real &s, Real &ds_dT, Real &ds_dv) const override
 
virtual Real cv_from_T_v (Real T, Real v) const override
 
virtual Real e_spndl_from_v (Real v) const override
 Specific internal energy from temperature and specific volume. More...
 
virtual void v_e_spndl_from_T (Real T, Real &v, Real &e) const override
 Specific internal energy from temperature and specific volume. More...
 
virtual Real e_from_v_h (Real v, Real h) const override
 
virtual void e_from_v_h (Real v, Real h, Real &e, Real &de_dv, Real &de_dh) const override
 
virtual Real h_from_p_T (Real p, Real T) const override
 
virtual void h_from_p_T (Real p, Real T, Real &h, Real &dh_dp, Real &dh_dT) const override
 
virtual Real e_from_p_T (Real p, Real T) const override
 Internal energy from pressure and temperature. More...
 
virtual void e_from_p_T (Real p, Real T, Real &e, Real &de_dp, Real &de_dT) const override
 Internal energy and its derivatives from pressure and temperature. More...
 
virtual Real p_from_h_s (Real h, Real s) const override
 
virtual void p_from_h_s (Real h, Real s, Real &p, Real &dp_dh, Real &dp_ds) const override
 
virtual Real g_from_v_e (Real v, Real e) const override
 
virtual Real molarMass () const override
 Molar mass [kg/mol]. More...
 
virtual Real criticalTemperature () const override
 Critical temperature. More...
 
virtual Real criticalDensity () const override
 Critical density. More...
 
virtual Real criticalInternalEnergy () const override
 Critical specific internal energy. More...
 
virtual Real cv_from_p_T (Real p, Real T) const override
 
virtual Real cp_from_p_T (Real p, Real T) const override
 
virtual void cp_from_p_T (Real p, Real T, Real &cp, Real &dcp_dp, Real &dcp_dT) const override
 
virtual Real mu_from_p_T (Real p, Real T) const override
 
virtual void mu_from_p_T (Real p, Real T, Real &mu, Real &dmu_dp, Real &dmu_dT) const override
 
virtual Real k_from_p_T (Real p, Real T) const override
 
virtual void k_from_p_T (Real p, Real T, Real &k, Real &dk_dp, Real &dk_dT) const override
 
virtual Real c2_from_p_rho (Real pressure, Real rho) const
 
virtual Real pp_sat_from_p_T (Real, Real) const override
 
virtual Real rho (Real p, Real T) const
 Density from pressure and temperature. More...
 
virtual std::string fluidName () const
 Fluid name. More...
 
e e e e s T T T T T rho v v T virtual e Real s (Real pressure, Real temperature) const
 
virtual void mu_from_rho_T (Real density, Real temperature, Real ddensity_dT, Real &mu, Real &dmu_drho, Real &dmu_dT) const
 Dynamic viscosity and its derivatives wrt density and temperature TODO: this shouldn't need 3 input args - AD will assume/call the 2-input version. More...
 
virtual Real beta_from_p_T (Real, Real) const
 
virtual void beta_from_p_T (Real, Real, Real &, Real &, Real &) const
 
virtual void rho_dpT (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT) const
 Density and its derivatives from pressure and temperature. More...
 
virtual Real v_from_p_T (Real p, Real T) const
 Specific volume from pressure and temperature. More...
 
virtual void v_from_p_T (Real p, Real T, Real &v, Real &dv_dp, Real &dv_dT) const
 Specific volume and its derivatives from pressure and temperature. More...
 
virtual Real h (Real p, Real T) const
 Specific enthalpy from pressure and temperature. More...
 
virtual void h_dpT (Real pressure, Real temperature, Real &h, Real &dh_dp, Real &dh_dT) const
 Specific enthalpy and its derivatives from pressure and temperature. More...
 
virtual Real e (Real pressure, Real temperature) const
 
virtual void e_dpT (Real pressure, Real temperature, Real &e, Real &de_dp, Real &de_dT) const
 
virtual Real beta (Real pressure, Real temperature) const
 
virtual Real T_from_p_h (Real pressure, Real enthalpy) const
 Temperature from pressure and specific enthalpy. More...
 
virtual Real criticalPressure () const
 Critical pressure. More...
 
virtual Real triplePointPressure () const
 Triple point pressure. More...
 
virtual Real triplePointTemperature () const
 Triple point temperature. More...
 
virtual void rho_e_from_p_T (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT, Real &e, Real &de_dp, Real &de_dT) const
 Density and internal energy and their derivatives wrt pressure and temperature. More...
 
virtual void rho_e_dpT (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT, Real &e, Real &de_dp, Real &de_dT) const
 
virtual Real c (Real pressure, Real temperature) const
 
virtual Real gamma_from_v_e (Real v, Real e) const
 Adiabatic index - ratio of specific heats. More...
 
virtual Real gamma_from_p_T (Real pressure, Real temperature) const
 Adiabatic index - ratio of specific heats. More...
 
virtual Real mu (Real pressure, Real temperature) const
 Dynamic viscosity. More...
 
virtual void mu_dpT (Real pressure, Real temperature, Real &mu, Real &dmu_dp, Real &dmu_dT) const
 Dynamic viscosity and its derivatives wrt pressure and temperature. More...
 
virtual void mu_drhoT_from_rho_T (Real density, Real temperature, Real ddensity_dT, Real &mu, Real &dmu_drho, Real &dmu_dT) const
 
virtual void rho_mu (Real pressure, Real temperature, Real &rho, Real &mu) const
 Density and viscosity. More...
 
virtual void rho_mu_from_p_T (Real pressure, Real temperature, Real &rho, Real &mu) const
 
virtual void rho_mu_from_p_T (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT, Real &mu, Real &dmu_dp, Real &dmu_dT) const
 Density and viscosity and their derivatives wrt pressure and temperature. More...
 
virtual void rho_mu_dpT (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT, Real &mu, Real &dmu_dp, Real &dmu_dT) const
 
virtual Real k (Real pressure, Real temperature) const
 Thermal conductivity. More...
 
virtual void k_dpT (Real pressure, Real temperature, Real &k, Real &dk_dp, Real &dk_dT) const
 Thermal conductivity and its derivatives wrt pressure and temperature. More...
 
virtual Real henryConstant (Real temperature) const
 Henry's law constant for dissolution in water. More...
 
virtual void henryConstant (Real temperature, Real &Kh, Real &dKh_dT) const
 Henry's law constant for dissolution in water and derivative wrt temperature. More...
 
virtual void henryConstant_dT (Real temperature, Real &Kh, Real &dKh_dT) const
 
virtual Real vaporPressure (Real temperature) const
 Vapor pressure. More...
 
virtual void vaporPressure (Real temperature, Real &psat, Real &dpsat_dT) const
 Vapor pressure. More...
 
virtual void vaporPressure_dT (Real temperature, Real &psat, Real &dpsat_dT) const
 
virtual void execute () final
 
virtual void initialize () final
 
virtual void finalize () final
 
virtual void threadJoin (const UserObject &) final
 
virtual void subdomainSetup () final
 

Protected Member Functions

virtual Real henryConstantIAPWS (Real temperature, Real A, Real B, Real C) const
 IAPWS formulation of Henry's law constant for dissolution in water From Guidelines on the Henry's constant and vapour liquid distribution constant for gases in H20 and D20 at high temperatures, IAPWS (2004) More...
 
virtual void henryConstantIAPWS (Real temperature, Real &Kh, Real &dKh_dT, Real A, Real B, Real C) const
 
virtual void henryConstantIAPWS_dT (Real temperature, Real &Kh, Real &dKh_dT, Real A, Real B, Real C) const
 

Protected Attributes

Real _gamma
 
Real _cv
 
Real _q
 
Real _q_prime
 
Real _p_inf
 
Real _cp
 
Real _mu
 
Real _k
 
Real _molar_mass
 
Real _T_c
 
Real _rho_c
 
Real _e_c
 
const Real _R
 Universal gas constant (J/mol/K) More...
 
const Real _T_c2k
 Conversion of temperature from Celsius to Kelvin. More...
 
const bool _allow_imperfect_jacobians
 Flag to set unimplemented Jacobian entries to zero. More...
 
 propfunc (p, v, e) propfunc(T
 Compute a fluid property given for the state defined by two given properties. More...
 
e propfunc (c, v, e) propfunc(cp
 
e e propfunc (cv, v, e) propfunc(mu
 
e e e propfunc (k, v, e) propfunc(s
 
e e e e propfunc (s, h, p) propfunc(rho
 
e e e e s propfunc (e, v, h) propfunc(s
 
e e e e s T propfunc (pp_sat, p, T) propfunc(mu
 
e e e e s T T propfunc (k, rho, T) propfunc(c
 
e e e e s T T T propfunc (cp, p, T) propfunc(cv
 
e e e e s T T T T propfunc (mu, p, T) propfunc(k
 
e e e e s T T T T T propfunc (rho, p, T) propfunc(e
 
e e e e s T T T T T rho propfunc (e, T, v) propfunc(p
 
e e e e s T T T T T rho v propfunc (h, T, v) propfunc(s
 
e e e e s T T T T T rho v v propfunc (cv, T, v) propfunc(h
 
e e e e s T T T T T rho v v T propfunc (p, h, s) propfunc(g
 
 v
 
e v
 
e e v
 
e e e v
 
e e e e s T T T T T rho v v T v
 
e e e e p
 
e e e e s p
 
e e e e s T T p
 
e e e e s T T T p
 
e e e e s T T T T p
 
e e e e s T T T T T p
 
e e e e s T T T T T rho v v p
 
e e e e s T rho
 
e e e e s T T T T T rho T
 
e e e e s T T T T T rho v T
 

Detailed Description

Stiffened gas fluid properties.

Definition at line 26 of file StiffenedGasFluidProperties.h.

Constructor & Destructor Documentation

◆ StiffenedGasFluidProperties()

StiffenedGasFluidProperties::StiffenedGasFluidProperties ( const InputParameters &  parameters)

Definition at line 34 of file StiffenedGasFluidProperties.C.

35  : SinglePhaseFluidProperties(parameters),
36  _gamma(getParam<Real>("gamma")),
37  _cv(getParam<Real>("cv")),
38  _q(getParam<Real>("q")),
39  _q_prime(getParam<Real>("q_prime")),
40  _p_inf(getParam<Real>("p_inf")),
41  _mu(getParam<Real>("mu")),
42  _k(getParam<Real>("k")),
43  _molar_mass(getParam<Real>("M")),
44  _T_c(getParam<Real>("T_c")),
45  _rho_c(getParam<Real>("rho_c")),
46  _e_c(getParam<Real>("e_c"))
47 {
48  if (_cv == 0.0)
49  mooseError(name(), ": cv cannot be zero.");
50  _cp = _cv * _gamma;
51 }
SinglePhaseFluidProperties(const InputParameters &parameters)
const std::string name
Definition: Setup.h:22

◆ ~StiffenedGasFluidProperties()

StiffenedGasFluidProperties::~StiffenedGasFluidProperties ( )
virtual

Definition at line 53 of file StiffenedGasFluidProperties.C.

53 {}

Member Function Documentation

◆ beta()

Real SinglePhaseFluidProperties::beta ( Real  pressure,
Real  temperature 
) const
virtualinherited

◆ beta_from_p_T() [1/2]

Real SinglePhaseFluidProperties::beta_from_p_T ( Real  p,
Real  T 
) const
virtualinherited

Reimplemented in SimpleFluidProperties.

Definition at line 79 of file SinglePhaseFluidProperties.C.

Referenced by SinglePhaseFluidProperties::beta().

80 {
81  // The volumetric thermal expansion coefficient is defined as
82  // 1/v dv/dT)_p
83  // It is the fractional change rate of volume with respect to temperature change
84  // at constant pressure. Here it is coded as
85  // - 1/rho drho/dT)_p
86  // using chain rule with v = v(rho)
87 
88  Real rho, drho_dp, drho_dT;
89  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
90  return -drho_dT / rho;
91 }

◆ beta_from_p_T() [2/2]

void SinglePhaseFluidProperties::beta_from_p_T ( Real  ,
Real  ,
Real &  ,
Real &  ,
Real &   
) const
virtualinherited

Reimplemented in SimpleFluidProperties.

Definition at line 73 of file SinglePhaseFluidProperties.C.

74 {
75  mooseError(name(), ": ", __PRETTY_FUNCTION__, " is not implemented.");
76 }
const std::string name
Definition: Setup.h:22

◆ c()

Real SinglePhaseFluidProperties::c ( Real  pressure,
Real  temperature 
) const
virtualinherited

Definition at line 336 of file SinglePhaseFluidProperties.C.

Referenced by c_from_v_e(), IdealGasFluidProperties::c_from_v_e(), Water97FluidProperties::densityRegion3(), Water97FluidProperties::subregionVolume(), and Water97FluidProperties::vaporPressure().

337 {
338  mooseDeprecated(name(), ": c() is deprecated. Use c_from_p_T() instead");
339 
340  return c_from_p_T(p, T);
341 }
const std::string name
Definition: Setup.h:22

◆ c2_from_p_rho()

Real StiffenedGasFluidProperties::c2_from_p_rho ( Real  pressure,
Real  rho 
) const
virtual

Definition at line 426 of file StiffenedGasFluidProperties.C.

◆ c_from_v_e() [1/2]

Real StiffenedGasFluidProperties::c_from_v_e ( Real  v,
Real  e 
) const
overridevirtual

Definition at line 84 of file StiffenedGasFluidProperties.C.

Referenced by c_from_v_e().

85 {
86  return std::sqrt(_gamma * (p_from_v_e(v, e) + _p_inf) * v);
87 }
virtual Real p_from_v_e(Real v, Real e) const override
virtual Real e(Real pressure, Real temperature) const

◆ c_from_v_e() [2/2]

void StiffenedGasFluidProperties::c_from_v_e ( Real  v,
Real  e,
Real &  c,
Real &  dc_dv,
Real &  dc_de 
) const
overridevirtual

Definition at line 90 of file StiffenedGasFluidProperties.C.

91 {
92  Real p, dp_dv, dp_de;
93  p_from_v_e(v, e, p, dp_dv, dp_de);
94 
95  c = c_from_v_e(v, e);
96  const Real dc_dp = 0.5 / c * _gamma * v;
97  const Real dc_dv_partial = 0.5 / c * _gamma * (p + _p_inf);
98 
99  dc_dv = dc_dv_partial + dc_dp * dp_dv;
100  dc_de = dc_dp * dp_de;
101 }
virtual Real p_from_v_e(Real v, Real e) const override
virtual Real c_from_v_e(Real v, Real e) const override
virtual Real c(Real pressure, Real temperature) const
virtual Real e(Real pressure, Real temperature) const

◆ cp_from_p_T() [1/2]

Real StiffenedGasFluidProperties::cp_from_p_T ( Real  p,
Real  T 
) const
overridevirtual

Definition at line 460 of file StiffenedGasFluidProperties.C.

Referenced by cp_from_p_T().

461 {
462  return _cp;
463 }

◆ cp_from_p_T() [2/2]

void StiffenedGasFluidProperties::cp_from_p_T ( Real  p,
Real  T,
Real &  cp,
Real &  dcp_dp,
Real &  dcp_dT 
) const
overridevirtual

Definition at line 466 of file StiffenedGasFluidProperties.C.

468 {
470  dcp_dp = 0.0;
471  dcp_dT = 0.0;
472 }
const std::string temperature
Definition: NS.h:27
virtual Real cp_from_p_T(Real p, Real T) const override
const std::string pressure
Definition: NS.h:26

◆ cp_from_v_e() [1/2]

Real StiffenedGasFluidProperties::cp_from_v_e ( Real  v,
Real  e 
) const
overridevirtual

Definition at line 103 of file StiffenedGasFluidProperties.C.

Referenced by cp_from_v_e().

◆ cp_from_v_e() [2/2]

void StiffenedGasFluidProperties::cp_from_v_e ( Real  v,
Real  e,
Real &  cp,
Real &  dcp_dv,
Real &  dcp_de 
) const
overridevirtual

Definition at line 106 of file StiffenedGasFluidProperties.C.

108 {
109  cp = cp_from_v_e(v, e);
110  dcp_dv = 0.0;
111  dcp_de = 0.0;
112 }
virtual Real cp_from_v_e(Real v, Real e) const override
virtual Real e(Real pressure, Real temperature) const

◆ criticalDensity()

Real StiffenedGasFluidProperties::criticalDensity ( ) const
overridevirtual

Critical density.

Returns
critical density (kg/m^3)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 444 of file StiffenedGasFluidProperties.C.

445 {
446  return _rho_c;
447 }

◆ criticalInternalEnergy()

Real StiffenedGasFluidProperties::criticalInternalEnergy ( ) const
overridevirtual

Critical specific internal energy.

Returns
specific internal energy (J/kg)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 450 of file StiffenedGasFluidProperties.C.

451 {
452  return _e_c;
453 }

◆ criticalPressure()

Real SinglePhaseFluidProperties::criticalPressure ( ) const
virtualinherited

Critical pressure.

Returns
critical pressure (Pa)

Reimplemented in HydrogenFluidProperties, CO2FluidProperties, NitrogenFluidProperties, MethaneFluidProperties, NaClFluidProperties, and Water97FluidProperties.

Definition at line 106 of file SinglePhaseFluidProperties.C.

107 {
108  mooseError(name(), ": criticalPressure() is not implemented");
109 }
const std::string name
Definition: Setup.h:22

◆ criticalTemperature()

Real StiffenedGasFluidProperties::criticalTemperature ( ) const
overridevirtual

Critical temperature.

Returns
critical temperature (K)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 438 of file StiffenedGasFluidProperties.C.

439 {
440  return _T_c;
441 }

◆ cv_from_p_T()

Real StiffenedGasFluidProperties::cv_from_p_T ( Real  p,
Real  T 
) const
overridevirtual

Definition at line 455 of file StiffenedGasFluidProperties.C.

456 {
457  return _cv;
458 }

◆ cv_from_T_v()

Real StiffenedGasFluidProperties::cv_from_T_v ( Real  T,
Real  v 
) const
overridevirtual

Definition at line 350 of file StiffenedGasFluidProperties.C.

◆ cv_from_v_e()

Real StiffenedGasFluidProperties::cv_from_v_e ( Real  v,
Real  e 
) const
overridevirtual

Definition at line 114 of file StiffenedGasFluidProperties.C.

◆ e()

Real SinglePhaseFluidProperties::e ( Real  pressure,
Real  temperature 
) const
virtualinherited

Definition at line 291 of file SinglePhaseFluidProperties.C.

Referenced by Water97FluidProperties::b2bc(), c_from_v_e(), IdealGasFluidProperties::c_from_v_e(), NaClFluidProperties::cp_from_p_T(), cp_from_v_e(), IdealGasFluidProperties::cp_from_v_e(), Water97FluidProperties::densityRegion3(), SinglePhaseFluidProperties::e_dpT(), e_from_p_rho(), IdealGasFluidProperties::e_from_p_rho(), HelmholtzFluidProperties::e_from_p_T(), Water97FluidProperties::e_from_p_T(), NaClFluidProperties::e_from_p_T(), IdealGasFluidProperties::e_from_p_T(), e_from_p_T(), SimpleFluidProperties::e_from_p_T(), TabulatedFluidProperties::e_from_p_T(), SinglePhaseFluidProperties::e_from_p_T(), e_from_T_v(), IdealGasFluidProperties::e_from_T_v(), IdealGasFluidProperties::e_from_v_h(), e_from_v_h(), IdealGasFluidProperties::g_from_v_e(), g_from_v_e(), SinglePhaseFluidProperties::gamma_from_v_e(), NaClFluidProperties::h_from_p_T(), NitrogenFluidProperties::mu_from_rho_T(), HydrogenFluidProperties::mu_from_rho_T(), CO2FluidProperties::mu_from_rho_T(), p_from_T_v(), p_from_v_e(), IdealGasFluidProperties::p_from_v_e(), SinglePhaseFluidProperties::rho_e_dpT(), SinglePhaseFluidProperties::rho_e_from_p_T(), s_from_T_v(), s_from_v_e(), IdealGasFluidProperties::s_from_v_e(), Water97FluidProperties::subregion3(), Water97FluidProperties::subregionVolume(), SinglePhaseFluidProperties::T_from_p_h(), T_from_v_e(), IdealGasFluidProperties::T_from_v_e(), v_e_spndl_from_T(), and Water97FluidProperties::vaporTemperature().

292 {
293  mooseDeprecated(name(), ": e() is deprecated. Use e_from_p_T() instead");
294 
295  return e_from_p_T(p, T);
296 }
virtual Real e_from_p_T(Real p, Real T) const
Internal energy from pressure and temperature.
const std::string name
Definition: Setup.h:22

◆ e_dpT()

void SinglePhaseFluidProperties::e_dpT ( Real  pressure,
Real  temperature,
Real &  e,
Real &  de_dp,
Real &  de_dT 
) const
virtualinherited

Definition at line 299 of file SinglePhaseFluidProperties.C.

300 {
301  mooseDeprecated(name(), ": e_dpT() is deprecated. Use e_from_p_T() instead");
302 
303  e_from_p_T(p, T, e, de_dp, de_dT);
304 }
virtual Real e_from_p_T(Real p, Real T) const
Internal energy from pressure and temperature.
const std::string name
Definition: Setup.h:22
virtual Real e(Real pressure, Real temperature) const

◆ e_from_p_rho() [1/2]

Real StiffenedGasFluidProperties::e_from_p_rho ( Real  p,
Real  rho 
) const
overridevirtual

Definition at line 272 of file StiffenedGasFluidProperties.C.

Referenced by e_from_p_rho().

273 {
274  mooseAssert((_gamma - 1.0) * rho != 0., "Invalid gamma or density detected!");
275  return (p + _gamma * _p_inf) / ((_gamma - 1.0) * rho) + _q;
276 }

◆ e_from_p_rho() [2/2]

void StiffenedGasFluidProperties::e_from_p_rho ( Real  p,
Real  rho,
Real &  e,
Real &  de_dp,
Real &  de_drho 
) const
overridevirtual

Definition at line 279 of file StiffenedGasFluidProperties.C.

281 {
282  e = e_from_p_rho(p, rho);
283  de_dp = 1.0 / ((_gamma - 1.0) * rho);
284  de_drho = -(p + _gamma * _p_inf) / ((_gamma - 1.0) * rho * rho);
285 }
virtual Real e_from_p_rho(Real p, Real rho) const override
virtual Real e(Real pressure, Real temperature) const

◆ e_from_p_T() [1/2]

Real StiffenedGasFluidProperties::e_from_p_T ( Real  p,
Real  T 
) const
overridevirtual

Internal energy from pressure and temperature.

Parameters
[in]ppressure (Pa)
[in]Ttemperature (K)
Returns
internal energy (J/kg)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 376 of file StiffenedGasFluidProperties.C.

Referenced by e_from_p_T().

◆ e_from_p_T() [2/2]

void StiffenedGasFluidProperties::e_from_p_T ( Real  p,
Real  T,
Real &  e,
Real &  de_dp,
Real &  de_dT 
) const
overridevirtual

Internal energy and its derivatives from pressure and temperature.

Parameters
[in]ppressure (Pa)
[in]Ttemperature (K)
[out]einternal energy (J/kg)
[out]de_dpderivative of internal energy w.r.t. pressure
[out]de_dTderivative of internal energy w.r.t. temperature

Reimplemented from SinglePhaseFluidProperties.

Definition at line 382 of file StiffenedGasFluidProperties.C.

383 {
384  e = e_from_p_T(p, T);
385  de_dp = (1. - _gamma) * _p_inf / (p + _p_inf) / (p + _p_inf) * _cv * T;
386  de_dT = (p + _gamma * _p_inf) / (p + _p_inf) * _cv;
387 }
virtual Real e_from_p_T(Real p, Real T) const override
Internal energy from pressure and temperature.
virtual Real e(Real pressure, Real temperature) const

◆ e_from_T_v() [1/2]

Real StiffenedGasFluidProperties::e_from_T_v ( Real  T,
Real  v 
) const
overridevirtual

◆ e_from_T_v() [2/2]

void StiffenedGasFluidProperties::e_from_T_v ( Real  T,
Real  v,
Real &  e,
Real &  de_dT,
Real &  de_dv 
) const
overridevirtual

◆ e_from_v_h() [1/2]

Real StiffenedGasFluidProperties::e_from_v_h ( Real  v,
Real  h 
) const
overridevirtual

Definition at line 242 of file StiffenedGasFluidProperties.C.

Referenced by e_from_v_h().

243 {
244  return (h + (_gamma - 1.0) * _q + _gamma * _p_inf * v) / _gamma;
245 }
virtual Real h(Real p, Real T) const
Specific enthalpy from pressure and temperature.

◆ e_from_v_h() [2/2]

void StiffenedGasFluidProperties::e_from_v_h ( Real  v,
Real  h,
Real &  e,
Real &  de_dv,
Real &  de_dh 
) const
overridevirtual

Definition at line 248 of file StiffenedGasFluidProperties.C.

249 {
250  e = e_from_v_h(v, h);
251  de_dv = _p_inf;
252  de_dh = 1.0 / _gamma;
253 }
virtual Real h(Real p, Real T) const
Specific enthalpy from pressure and temperature.
virtual Real e_from_v_h(Real v, Real h) const override
virtual Real e(Real pressure, Real temperature) const

◆ e_spndl_from_v()

Real StiffenedGasFluidProperties::e_spndl_from_v ( Real  v) const
overridevirtual

Specific internal energy from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume

Reimplemented from SinglePhaseFluidProperties.

Definition at line 352 of file StiffenedGasFluidProperties.C.

◆ execute()

virtual void FluidProperties::execute ( )
inlinefinalvirtualinherited

Definition at line 35 of file FluidProperties.h.

35 {}

◆ finalize()

virtual void FluidProperties::finalize ( )
inlinefinalvirtualinherited

Definition at line 37 of file FluidProperties.h.

37 {}

◆ fluidName()

std::string SinglePhaseFluidProperties::fluidName ( ) const
virtualinherited

◆ g_from_v_e()

Real StiffenedGasFluidProperties::g_from_v_e ( Real  v,
Real  e 
) const
overridevirtual

Definition at line 409 of file StiffenedGasFluidProperties.C.

410 {
411  // g(p,T) for SGEOS is given by Equation (37) in the following reference:
412  //
413  // Ray A. Berry, Richard Saurel, Olivier LeMetayer
414  // The discrete equation method (DEM) for fully compressible, two-phase flows in
415  // ducts of spatially varying cross-section
416  // Nuclear Engineering and Design 240 (2010) p. 3797-3818
417  //
418  const Real p = p_from_v_e(v, e);
419  const Real T = T_from_v_e(v, e);
420 
421  return (_gamma * _cv - _q_prime) * T -
422  _cv * T * std::log(std::pow(T, _gamma) / std::pow(p + _p_inf, _gamma - 1.0)) + _q;
423 }
virtual Real T_from_v_e(Real v, Real e) const override
virtual Real p_from_v_e(Real v, Real e) const override
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
virtual Real e(Real pressure, Real temperature) const

◆ gamma_from_p_T()

Real SinglePhaseFluidProperties::gamma_from_p_T ( Real  pressure,
Real  temperature 
) const
virtualinherited

Adiabatic index - ratio of specific heats.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
gamma (-)

Reimplemented in IdealGasFluidProperties.

Definition at line 148 of file SinglePhaseFluidProperties.C.

149 {
150  return cp_from_p_T(p, T) / cv_from_p_T(p, T);
151 }

◆ gamma_from_v_e()

Real SinglePhaseFluidProperties::gamma_from_v_e ( Real  v,
Real  e 
) const
virtualinherited

Adiabatic index - ratio of specific heats.

Parameters
vspecific volume
especific internal energy
Returns
gamma (-)

Reimplemented in IdealGasFluidProperties.

Definition at line 142 of file SinglePhaseFluidProperties.C.

143 {
144  return cp_from_v_e(v, e) / cv_from_v_e(v, e);
145 }
virtual Real e(Real pressure, Real temperature) const

◆ h()

Real SinglePhaseFluidProperties::h ( Real  p,
Real  T 
) const
virtualinherited

◆ h_dpT()

void SinglePhaseFluidProperties::h_dpT ( Real  pressure,
Real  temperature,
Real &  h,
Real &  dh_dp,
Real &  dh_dT 
) const
virtualinherited

Specific enthalpy and its derivatives from pressure and temperature.

Parameters
[in]ppressure (Pa)
[in]Ttemperature (K)
[out]hspecific enthalpy (J/kg)
[out]dh_dpderivative of specific enthalpy w.r.t. pressure
[out]dh_dTderivative of specific enthalpy w.r.t. temperature

Definition at line 436 of file SinglePhaseFluidProperties.C.

437 {
438  mooseDeprecated(name(), ": h_dpT() is deprecated. Use h_from_p_T() instead");
439 
440  h_from_p_T(p, T, h, dh_dp, dh_dT);
441 }
virtual Real h(Real p, Real T) const
Specific enthalpy from pressure and temperature.
const std::string name
Definition: Setup.h:22

◆ h_from_p_T() [1/2]

Real StiffenedGasFluidProperties::h_from_p_T ( Real  p,
Real  T 
) const
overridevirtual

◆ h_from_p_T() [2/2]

void StiffenedGasFluidProperties::h_from_p_T ( Real  p,
Real  T,
Real &  h,
Real &  dh_dp,
Real &  dh_dT 
) const
overridevirtual

Definition at line 368 of file StiffenedGasFluidProperties.C.

369 {
370  h = h_from_p_T(p, T);
371  dh_dp = 0.0;
372  dh_dT = _gamma * _cv;
373 }
virtual Real h(Real p, Real T) const
Specific enthalpy from pressure and temperature.
virtual Real h_from_p_T(Real p, Real T) const override

◆ h_from_T_v() [1/2]

Real StiffenedGasFluidProperties::h_from_T_v ( Real  T,
Real  v 
) const
overridevirtual

◆ h_from_T_v() [2/2]

void StiffenedGasFluidProperties::h_from_T_v ( Real  T,
Real  v,
Real &  h,
Real &  dh_dT,
Real &  dh_dv 
) const
overridevirtual

Definition at line 325 of file StiffenedGasFluidProperties.C.

327 {
328  h = _gamma * _cv * T + _q;
329  dh_dT = _gamma * _cv;
330  dh_dv = 0.0;
331 }
virtual Real h(Real p, Real T) const
Specific enthalpy from pressure and temperature.

◆ henryConstant() [1/2]

Real SinglePhaseFluidProperties::henryConstant ( Real  temperature) const
virtualinherited

Henry's law constant for dissolution in water.

Parameters
temperaturefluid temperature (K)
Returns
Henry's constant

Reimplemented in CO2FluidProperties, TabulatedFluidProperties, SimpleFluidProperties, IdealGasFluidProperties, HydrogenFluidProperties, NitrogenFluidProperties, and MethaneFluidProperties.

Definition at line 243 of file SinglePhaseFluidProperties.C.

Referenced by PorousFlowWaterNCG::enthalpyOfDissolution(), PorousFlowWaterNCG::equilibriumMassFractions(), TabulatedFluidProperties::henryConstant(), PorousFlowBrineCO2::henryConstant(), and SinglePhaseFluidProperties::henryConstant_dT().

244 {
245  mooseError(name(), ": henryConstant() is not implemented");
246 }
const std::string name
Definition: Setup.h:22

◆ henryConstant() [2/2]

void SinglePhaseFluidProperties::henryConstant ( Real  temperature,
Real &  Kh,
Real &  dKh_dT 
) const
virtualinherited

Henry's law constant for dissolution in water and derivative wrt temperature.

Parameters
temperaturefluid temperature (K)
[out]KhHenry's constant
[out]dKh_dTderivative of Kh wrt temperature

Reimplemented in CO2FluidProperties, TabulatedFluidProperties, SimpleFluidProperties, IdealGasFluidProperties, HydrogenFluidProperties, NitrogenFluidProperties, and MethaneFluidProperties.

Definition at line 249 of file SinglePhaseFluidProperties.C.

250 {
251  mooseError(name(), ": henryConstant() is not implemented");
252 }
const std::string name
Definition: Setup.h:22

◆ henryConstant_dT()

void SinglePhaseFluidProperties::henryConstant_dT ( Real  temperature,
Real &  Kh,
Real &  dKh_dT 
) const
virtualinherited

Definition at line 255 of file SinglePhaseFluidProperties.C.

256 {
257  mooseDeprecated(name(), ": henryConstant_dT() is deprecated. Use henryConstant() instead");
258 
259  henryConstant(T, Kh, dKh_dT);
260 }
const std::string name
Definition: Setup.h:22
virtual Real henryConstant(Real temperature) const
Henry&#39;s law constant for dissolution in water.

◆ henryConstantIAPWS() [1/2]

Real SinglePhaseFluidProperties::henryConstantIAPWS ( Real  temperature,
Real  A,
Real  B,
Real  C 
) const
protectedvirtualinherited

IAPWS formulation of Henry's law constant for dissolution in water From Guidelines on the Henry's constant and vapour liquid distribution constant for gases in H20 and D20 at high temperatures, IAPWS (2004)

Definition at line 160 of file SinglePhaseFluidProperties.C.

Referenced by MethaneFluidProperties::henryConstant(), NitrogenFluidProperties::henryConstant(), HydrogenFluidProperties::henryConstant(), CO2FluidProperties::henryConstant(), and SinglePhaseFluidProperties::henryConstantIAPWS_dT().

161 {
162  const Real Tr = T / 647.096;
163  const Real tau = 1.0 - Tr;
164 
165  const Real lnkh =
166  A / Tr + B * std::pow(tau, 0.355) / Tr + C * std::pow(Tr, -0.41) * std::exp(tau);
167 
168  // The vapor pressure used in this formulation
169  const std::vector<Real> a{
170  -7.85951783, 1.84408259, -11.7866497, 22.6807411, -15.9618719, 1.80122502};
171  const std::vector<Real> b{1.0, 1.5, 3.0, 3.5, 4.0, 7.5};
172  Real sum = 0.0;
173 
174  for (std::size_t i = 0; i < a.size(); ++i)
175  sum += a[i] * std::pow(tau, b[i]);
176 
177  return 22.064e6 * std::exp(sum / Tr) * std::exp(lnkh);
178 }
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ henryConstantIAPWS() [2/2]

void SinglePhaseFluidProperties::henryConstantIAPWS ( Real  temperature,
Real &  Kh,
Real &  dKh_dT,
Real  A,
Real  B,
Real  C 
) const
protectedvirtualinherited

Definition at line 181 of file SinglePhaseFluidProperties.C.

183 {
184  const Real pc = 22.064e6;
185  const Real Tc = 647.096;
186 
187  const Real Tr = T / Tc;
188  const Real tau = 1.0 - Tr;
189 
190  const Real lnkh =
191  A / Tr + B * std::pow(tau, 0.355) / Tr + C * std::pow(Tr, -0.41) * std::exp(tau);
192  const Real dlnkh_dT =
193  (-A / Tr / Tr - B * std::pow(tau, 0.355) / Tr / Tr - 0.355 * B * std::pow(tau, -0.645) / Tr -
194  0.41 * C * std::pow(Tr, -1.41) * std::exp(tau) - C * std::pow(Tr, -0.41) * std::exp(tau)) /
195  Tc;
196 
197  // The vapor pressure used in this formulation
198  const std::vector<Real> a{
199  -7.85951783, 1.84408259, -11.7866497, 22.6807411, -15.9618719, 1.80122502};
200  const std::vector<Real> b{1.0, 1.5, 3.0, 3.5, 4.0, 7.5};
201  Real sum = 0.0;
202  Real dsum = 0.0;
203 
204  for (std::size_t i = 0; i < a.size(); ++i)
205  {
206  sum += a[i] * std::pow(tau, b[i]);
207  dsum += a[i] * b[i] * std::pow(tau, b[i] - 1.0);
208  }
209 
210  const Real p = pc * std::exp(sum / Tr);
211  const Real dp_dT = -p / Tc / Tr * (sum / Tr + dsum);
212 
213  // Henry's constant and its derivative wrt temperature
214  Kh = p * std::exp(lnkh);
215  dKh_dT = (p * dlnkh_dT + dp_dT) * std::exp(lnkh);
216 }
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ henryConstantIAPWS_dT()

void SinglePhaseFluidProperties::henryConstantIAPWS_dT ( Real  temperature,
Real &  Kh,
Real &  dKh_dT,
Real  A,
Real  B,
Real  C 
) const
protectedvirtualinherited

Definition at line 219 of file SinglePhaseFluidProperties.C.

221 {
222  mooseDeprecated(name(),
223  ":henryConstantIAPWS_dT() is deprecated. Use henryConstantIAPWS() instead");
224 
225  henryConstantIAPWS(T, Kh, dKh_dT, A, B, C);
226 }
const std::string name
Definition: Setup.h:22
virtual Real henryConstantIAPWS(Real temperature, Real A, Real B, Real C) const
IAPWS formulation of Henry&#39;s law constant for dissolution in water From Guidelines on the Henry&#39;s con...

◆ initialize()

virtual void FluidProperties::initialize ( )
inlinefinalvirtualinherited

Definition at line 36 of file FluidProperties.h.

36 {}

◆ k()

Real SinglePhaseFluidProperties::k ( Real  pressure,
Real  temperature 
) const
virtualinherited

Thermal conductivity.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
thermal conductivity (W/m/K)

Definition at line 404 of file SinglePhaseFluidProperties.C.

Referenced by SinglePhaseFluidProperties::k_dpT(), MethaneFluidProperties::k_from_p_T(), SimpleFluidProperties::k_from_p_T(), NitrogenFluidProperties::k_from_p_T(), HydrogenFluidProperties::k_from_p_T(), NaClFluidProperties::k_from_p_T(), IdealGasFluidProperties::k_from_p_T(), k_from_p_T(), TabulatedFluidProperties::k_from_p_T(), and CO2FluidProperties::k_from_p_T().

405 {
406  mooseDeprecated(name(), ": k() is deprecated. Use k_from_p_T() instead");
407 
408  return k_from_p_T(p, T);
409 }
const std::string name
Definition: Setup.h:22

◆ k_dpT()

void SinglePhaseFluidProperties::k_dpT ( Real  pressure,
Real  temperature,
Real &  k,
Real &  dk_dp,
Real &  dk_dT 
) const
virtualinherited

Thermal conductivity and its derivatives wrt pressure and temperature.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
[out]thermalconductivity (W/m/K)
[out]derivativeof thermal conductivity wrt pressure
[out]derivativeof thermal conductivity wrt temperature

Definition at line 412 of file SinglePhaseFluidProperties.C.

413 {
414  mooseDeprecated(name(), ": k_dpT() is deprecated. Use k_from_p_T() instead");
415 
416  k_from_p_T(p, T, k, dk_dp, dk_dT);
417 }
virtual Real k(Real pressure, Real temperature) const
Thermal conductivity.
const std::string name
Definition: Setup.h:22

◆ k_from_p_T() [1/2]

Real StiffenedGasFluidProperties::k_from_p_T ( Real  p,
Real  T 
) const
overridevirtual

Definition at line 488 of file StiffenedGasFluidProperties.C.

Referenced by k_from_p_T().

489 {
490  return _k;
491 }

◆ k_from_p_T() [2/2]

void StiffenedGasFluidProperties::k_from_p_T ( Real  p,
Real  T,
Real &  k,
Real &  dk_dp,
Real &  dk_dT 
) const
overridevirtual

Definition at line 494 of file StiffenedGasFluidProperties.C.

496 {
497  k = this->k_from_p_T(pressure, temperature);
498  dk_dp = 0.0;
499  dk_dT = 0.0;
500 }
const std::string temperature
Definition: NS.h:27
virtual Real k(Real pressure, Real temperature) const
Thermal conductivity.
virtual Real k_from_p_T(Real p, Real T) const override
const std::string pressure
Definition: NS.h:26

◆ k_from_v_e()

Real StiffenedGasFluidProperties::k_from_v_e ( Real  v,
Real  e 
) const
overridevirtual

Definition at line 118 of file StiffenedGasFluidProperties.C.

◆ molarMass()

Real StiffenedGasFluidProperties::molarMass ( ) const
overridevirtual

Molar mass [kg/mol].

Returns
molar mass

Reimplemented from SinglePhaseFluidProperties.

Definition at line 432 of file StiffenedGasFluidProperties.C.

433 {
434  return _molar_mass;
435 }

◆ mu()

Real SinglePhaseFluidProperties::mu ( Real  pressure,
Real  temperature 
) const
virtualinherited

◆ mu_dpT()

void SinglePhaseFluidProperties::mu_dpT ( Real  pressure,
Real  temperature,
Real &  mu,
Real &  dmu_dp,
Real &  dmu_dT 
) const
virtualinherited

Dynamic viscosity and its derivatives wrt pressure and temperature.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
[out]muviscosity (Pa.s)
[out]dmu_dpderivative of viscosity wrt pressure
[out]dmu_dTderivative of viscosity wrt temperature

Definition at line 352 of file SinglePhaseFluidProperties.C.

353 {
354  mooseDeprecated(name(), ": mu_dpT() is deprecated. Use mu_from_p_T() instead");
355 
356  mu_from_p_T(p, T, mu, dmu_dp, dmu_dT);
357 }
virtual Real mu(Real pressure, Real temperature) const
Dynamic viscosity.
const std::string name
Definition: Setup.h:22

◆ mu_drhoT_from_rho_T()

void SinglePhaseFluidProperties::mu_drhoT_from_rho_T ( Real  density,
Real  temperature,
Real  ddensity_dT,
Real &  mu,
Real &  dmu_drho,
Real &  dmu_dT 
) const
virtualinherited

Definition at line 235 of file SinglePhaseFluidProperties.C.

237 {
238  mooseDeprecated(name(), ":mu_drhoT_from_rho_T() is deprecated. Use mu_from_rho_T() instead");
239 
240  mu_from_rho_T(rho, T, drho_dT, mu, dmu_drho, dmu_dT);
241 }
virtual Real mu(Real pressure, Real temperature) const
Dynamic viscosity.
const std::string name
Definition: Setup.h:22
virtual void mu_from_rho_T(Real density, Real temperature, Real ddensity_dT, Real &mu, Real &dmu_drho, Real &dmu_dT) const
Dynamic viscosity and its derivatives wrt density and temperature TODO: this shouldn&#39;t need 3 input a...

◆ mu_from_p_T() [1/2]

Real StiffenedGasFluidProperties::mu_from_p_T ( Real  p,
Real  T 
) const
overridevirtual

Definition at line 474 of file StiffenedGasFluidProperties.C.

Referenced by mu_from_p_T().

475 {
476  return _mu;
477 }

◆ mu_from_p_T() [2/2]

void StiffenedGasFluidProperties::mu_from_p_T ( Real  p,
Real  T,
Real &  mu,
Real &  dmu_dp,
Real &  dmu_dT 
) const
overridevirtual

Definition at line 480 of file StiffenedGasFluidProperties.C.

482 {
484  dmu_dp = 0.0;
485  dmu_dT = 0.0;
486 }
virtual Real mu_from_p_T(Real p, Real T) const override
virtual Real mu(Real pressure, Real temperature) const
Dynamic viscosity.
const std::string temperature
Definition: NS.h:27
const std::string pressure
Definition: NS.h:26

◆ mu_from_rho_T()

void SinglePhaseFluidProperties::mu_from_rho_T ( Real  density,
Real  temperature,
Real  ddensity_dT,
Real &  mu,
Real &  dmu_drho,
Real &  dmu_dT 
) const
virtualinherited

Dynamic viscosity and its derivatives wrt density and temperature TODO: this shouldn't need 3 input args - AD will assume/call the 2-input version.

Parameters
densityfluid density (kg/m^3)
temperaturefluid temperature (K)
ddensity_dTderivative of density wrt temperature
[out]muviscosity (Pa.s)
[out]dmu_drhoderivative of viscosity wrt density
[out]dmu_dTderivative of viscosity wrt temperature

Reimplemented in Water97FluidProperties, CO2FluidProperties, HydrogenFluidProperties, and NitrogenFluidProperties.

Definition at line 229 of file SinglePhaseFluidProperties.C.

Referenced by SinglePhaseFluidProperties::mu_drhoT_from_rho_T().

230 {
231  mooseError(name(), ": mu_from_rho_T is not implemented.");
232 }
const std::string name
Definition: Setup.h:22

◆ mu_from_v_e()

Real StiffenedGasFluidProperties::mu_from_v_e ( Real  v,
Real  e 
) const
overridevirtual

Definition at line 116 of file StiffenedGasFluidProperties.C.

◆ p_from_h_s() [1/2]

Real StiffenedGasFluidProperties::p_from_h_s ( Real  h,
Real  s 
) const
overridevirtual

Definition at line 390 of file StiffenedGasFluidProperties.C.

Referenced by p_from_h_s().

391 {
392  return std::pow((h - _q) / (_gamma * _cv), _gamma / (_gamma - 1.0)) *
393  std::exp((_q_prime - s) / ((_gamma - 1.0) * _cv)) -
394  _p_inf;
395 }
e e e e s T T T T T rho v v T virtual e Real s(Real pressure, Real temperature) const
virtual Real h(Real p, Real T) const
Specific enthalpy from pressure and temperature.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ p_from_h_s() [2/2]

void StiffenedGasFluidProperties::p_from_h_s ( Real  h,
Real  s,
Real &  p,
Real &  dp_dh,
Real &  dp_ds 
) const
overridevirtual

Definition at line 398 of file StiffenedGasFluidProperties.C.

399 {
400  p = p_from_h_s(h, s);
401  dp_dh = _gamma / (_gamma - 1.0) / (_gamma * _cv) *
402  std::pow((h - _q) / (_gamma * _cv), 1.0 / (_gamma - 1.0)) *
403  std::exp((_q_prime - s) / ((_gamma - 1.0) * _cv));
404  dp_ds = std::pow((h - _q) / (_gamma * _cv), _gamma / (_gamma - 1)) *
405  std::exp((_q_prime - s) / ((_gamma - 1) * _cv)) / ((1 - _gamma) * _cv);
406 }
e e e e s T T T T T rho v v T virtual e Real s(Real pressure, Real temperature) const
virtual Real h(Real p, Real T) const
Specific enthalpy from pressure and temperature.
virtual Real p_from_h_s(Real h, Real s) const override
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ p_from_T_v() [1/2]

Real StiffenedGasFluidProperties::p_from_T_v ( Real  T,
Real  v 
) const
overridevirtual

Definition at line 302 of file StiffenedGasFluidProperties.C.

303 {
304  Real e = e_from_T_v(T, v);
305  return p_from_v_e(v, e);
306 }
virtual Real e_from_T_v(Real T, Real v) const override
virtual Real p_from_v_e(Real v, Real e) const override
virtual Real e(Real pressure, Real temperature) const

◆ p_from_T_v() [2/2]

void StiffenedGasFluidProperties::p_from_T_v ( Real  T,
Real  v,
Real &  p,
Real &  dp_dT,
Real &  dp_dv 
) const
overridevirtual

Definition at line 309 of file StiffenedGasFluidProperties.C.

310 {
311  Real e, de_dT_v, de_dv_T, dp_dv_e, dp_de_v;
312  e_from_T_v(T, v, e, de_dT_v, de_dv_T);
313  p_from_v_e(v, e, p, dp_dv_e, dp_de_v);
314  dp_dT = dp_de_v * de_dT_v;
315  dp_dv = dp_dv_e + dp_de_v * de_dv_T;
316 }
virtual Real e_from_T_v(Real T, Real v) const override
virtual Real p_from_v_e(Real v, Real e) const override
virtual Real e(Real pressure, Real temperature) const

◆ p_from_v_e() [1/2]

Real StiffenedGasFluidProperties::p_from_v_e ( Real  v,
Real  e 
) const
overridevirtual

◆ p_from_v_e() [2/2]

void StiffenedGasFluidProperties::p_from_v_e ( Real  v,
Real  e,
Real &  p,
Real &  dp_dv,
Real &  dp_de 
) const
overridevirtual

Definition at line 62 of file StiffenedGasFluidProperties.C.

63 {
64  p = p_from_v_e(v, e);
65  dp_dv = -(_gamma - 1.0) * (e - _q) / v / v;
66  dp_de = (_gamma - 1.0) / v;
67 }
virtual Real p_from_v_e(Real v, Real e) const override
virtual Real e(Real pressure, Real temperature) const

◆ pp_sat_from_p_T()

Real StiffenedGasFluidProperties::pp_sat_from_p_T ( Real  ,
Real   
) const
overridevirtual

Definition at line 502 of file StiffenedGasFluidProperties.C.

503 {
504  mooseError(
505  name(), ": ", __PRETTY_FUNCTION__, " not implemented. Use a real fluid property class!");
506 }
const std::string name
Definition: Setup.h:22

◆ propfunc() [1/15]

SinglePhaseFluidProperties::propfunc ( p  ,
v  ,
e   
)
inherited

Compute a fluid property given for the state defined by two given properties.

For all functions, the first two arguments are the given properties that define the fluid state. For the two-argument variants, the desired property is the return value. The five-argument variants also provide partial derivatives dx/da and dx/db where x is the desired property being computed, a is the first given property, and b is the second given property. The desired property, dx/da, and dx/db are stored into the 3rd, 4th, and 5th arguments respectively.

Properties/parameters used in these function are listed below with their units:

p pressure [Pa] T temperature [K] e specific internal energy [J/kg] v specific volume [m^3/kg] rho density [kg/m^3] h specific enthalpy [J/kg] s specific entropy [J/(kg*K)] mu viscosity [Pa*s] k thermal conductivity [W/(m*K)] c speed of sound [m/s] cp constant-pressure specific heat [J/K] cv constant-volume specific heat [J/K] beta volumetric thermal expansion coefficient [1/K] g Gibbs free energy [J] pp_sat partial pressure at saturation [Pa]

As an example:

// calculate pressure given specific vol and energy: auto pressure = your_fluid_properties_object.p_from_v_e(specific_vol, specific_energy);

// or use the derivative variant: Real dp_dv = 0; // derivative will be stored into here Real dp_de = 0; // derivative will be stored into here your_fluid_properties_object.p_from_v_e(specific_vol, specific_energy, pressure, dp_dv, dp_de);

Automatic differentiation (AD) support is provided through x_from_a_b(DualReal a, DualReal b) versions of the functions where a and b must be ADReal/DualNumber's calculated using all AD-supporting values:

auto v = 1/rho; // rho must be an AD non-linear variable. auto e = rhoE/rho - vel_energy; // rhoE and vel_energy must be AD variables/numbers also. auto pressure = your_fluid_properties_object.p_from_v_e(v, e); // pressure now contains partial derivatives w.r.t. all degrees of freedom

◆ propfunc() [2/15]

e SinglePhaseFluidProperties::propfunc ( c  ,
v  ,
e   
)
inherited

◆ propfunc() [3/15]

e e SinglePhaseFluidProperties::propfunc ( cv  ,
v  ,
e   
)
inherited

◆ propfunc() [4/15]

e e e SinglePhaseFluidProperties::propfunc ( k  ,
v  ,
e   
)
inherited

◆ propfunc() [5/15]

e e e e SinglePhaseFluidProperties::propfunc ( s  ,
h  ,
p   
)
inherited

◆ propfunc() [6/15]

e e e e s SinglePhaseFluidProperties::propfunc ( e  ,
v  ,
h   
)
inherited

◆ propfunc() [7/15]

e e e e s T SinglePhaseFluidProperties::propfunc ( pp_sat  ,
p  ,
T   
)
inherited

◆ propfunc() [8/15]

e e e e s T T SinglePhaseFluidProperties::propfunc ( k  ,
rho  ,
T   
)
inherited

◆ propfunc() [9/15]

e e e e s T T T SinglePhaseFluidProperties::propfunc ( cp  ,
p  ,
T   
)
inherited

◆ propfunc() [10/15]

e e e e s T T T T SinglePhaseFluidProperties::propfunc ( mu  ,
p  ,
T   
)
inherited

◆ propfunc() [11/15]

e e e e s T T T T T SinglePhaseFluidProperties::propfunc ( rho  ,
p  ,
T   
)
inherited

◆ propfunc() [12/15]

e e e e s T T T T T rho SinglePhaseFluidProperties::propfunc ( e  ,
T  ,
v   
)
inherited

◆ propfunc() [13/15]

e e e e s T T T T T rho v SinglePhaseFluidProperties::propfunc ( h  ,
T  ,
v   
)
inherited

◆ propfunc() [14/15]

e e e e s T T T T T rho v v SinglePhaseFluidProperties::propfunc ( cv  ,
T  ,
v   
)
inherited

◆ propfunc() [15/15]

e e e e s T T T T T rho v v T SinglePhaseFluidProperties::propfunc ( p  ,
h  ,
s   
)
inherited

◆ rho()

virtual Real SinglePhaseFluidProperties::rho ( Real  p,
Real  T 
) const
virtualinherited

Density from pressure and temperature.

Parameters
[in]ppressure (Pa)
[in]Ttemperature (K)
Returns
density (kg/m^3)

◆ rho_dpT()

void SinglePhaseFluidProperties::rho_dpT ( Real  pressure,
Real  temperature,
Real &  rho,
Real &  drho_dp,
Real &  drho_dT 
) const
virtualinherited

Density and its derivatives from pressure and temperature.

Parameters
[in]ppressure (Pa)
[in]Ttemperature (K)
[out]rhodensity (kg/m^3)
[out]drho_dpderivative of density w.r.t. pressure
[out]drho_dTderivative of density w.r.t. temperature

Definition at line 282 of file SinglePhaseFluidProperties.C.

284 {
285  mooseDeprecated(name(), ": rho_dpT() is deprecated. Use rho_from_p_T() instead");
286 
287  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
288 }
const std::string name
Definition: Setup.h:22

◆ rho_e_dpT()

void SinglePhaseFluidProperties::rho_e_dpT ( Real  pressure,
Real  temperature,
Real &  rho,
Real &  drho_dp,
Real &  drho_dT,
Real &  e,
Real &  de_dp,
Real &  de_dT 
) const
virtualinherited

Definition at line 321 of file SinglePhaseFluidProperties.C.

329 {
330  mooseDeprecated(name(), ": rho_e_dpT() is deprecated. Use rho_e_from_p_T() instead");
331 
332  rho_e_from_p_T(p, T, rho, drho_dp, drho_dT, e, de_dp, de_dT);
333 }
virtual void rho_e_from_p_T(Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT, Real &e, Real &de_dp, Real &de_dT) const
Density and internal energy and their derivatives wrt pressure and temperature.
const std::string name
Definition: Setup.h:22
virtual Real e(Real pressure, Real temperature) const

◆ rho_e_from_p_T()

void SinglePhaseFluidProperties::rho_e_from_p_T ( Real  pressure,
Real  temperature,
Real &  rho,
Real &  drho_dp,
Real &  drho_dT,
Real &  e,
Real &  de_dp,
Real &  de_dT 
) const
virtualinherited

Density and internal energy and their derivatives wrt pressure and temperature.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
[out]rhodensity (kg/m^3)
[out]drho_dpderivative of density wrt pressure
[out]drho_dTderivative of density wrt temperature
[out]einternal energy (J/kg)
[out]de_dpderivative of internal energy wrt pressure
[out]de_dTderivative of internal energy wrt temperature

Definition at line 307 of file SinglePhaseFluidProperties.C.

Referenced by SinglePhaseFluidProperties::rho_e_dpT().

315 {
316  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
317  e_from_p_T(p, T, e, de_dp, de_dT);
318 }
virtual Real e_from_p_T(Real p, Real T) const
Internal energy from pressure and temperature.
virtual Real e(Real pressure, Real temperature) const

◆ rho_from_p_s() [1/2]

Real StiffenedGasFluidProperties::rho_from_p_s ( Real  p,
Real  s 
) const
overridevirtual

Definition at line 208 of file StiffenedGasFluidProperties.C.

209 {
210  Real a = (s - _q_prime + _cv * std::log(std::pow(p + _p_inf, _gamma - 1.0))) / _cv;
211  Real T = std::pow(std::exp(a), 1.0 / _gamma);
212  return rho_from_p_T(p, T);
213 }
e e e e s T T T T T rho v v T virtual e Real s(Real pressure, Real temperature) const
virtual Real rho_from_p_T(Real p, Real T) const override
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ rho_from_p_s() [2/2]

void StiffenedGasFluidProperties::rho_from_p_s ( Real  p,
Real  s,
Real &  rho,
Real &  drho_dp,
Real &  drho_ds 
) const
overridevirtual

Definition at line 216 of file StiffenedGasFluidProperties.C.

218 {
219  // T(p,s)
220  const Real aux = (s - _q_prime + _cv * std::log(std::pow(p + _p_inf, _gamma - 1.0))) / _cv;
221  const Real T = std::pow(std::exp(aux), 1 / _gamma);
222 
223  // dT/dp
224  const Real dT_dp = 1.0 / _gamma * std::pow(std::exp(aux), 1.0 / _gamma - 1.0) * std::exp(aux) /
225  std::pow(p + _p_inf, _gamma - 1.0) * (_gamma - 1.0) *
226  std::pow(p + _p_inf, _gamma - 2.0);
227 
228  // dT/ds
229  const Real dT_ds =
230  1.0 / _gamma * std::pow(std::exp(aux), 1.0 / _gamma - 1.0) * std::exp(aux) / _cv;
231 
232  // Drho/Dp = d/dp[rho(p, T(p,s))] = drho/dp + drho/dT * dT/dp
233  Real drho_dp_partial, drho_dT;
234  rho_from_p_T(p, T, rho, drho_dp_partial, drho_dT);
235  drho_dp = drho_dp_partial + drho_dT * dT_dp;
236 
237  // Drho/Ds = d/ds[rho(p, T(p,s))] = drho/dT * dT/ds
238  drho_ds = drho_dT * dT_ds;
239 }
e e e e s T T T T T rho v v T virtual e Real s(Real pressure, Real temperature) const
virtual Real rho_from_p_T(Real p, Real T) const override
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ rho_from_p_T() [1/2]

Real StiffenedGasFluidProperties::rho_from_p_T ( Real  p,
Real  T 
) const
overridevirtual

Definition at line 256 of file StiffenedGasFluidProperties.C.

Referenced by rho_from_p_s(), and rho_from_p_T().

257 {
258  mooseAssert(((_gamma - 1.0) * _cv * T) != 0.0, "Invalid gamma or cv or temperature detected!");
259  return (p + _p_inf) / ((_gamma - 1.0) * _cv * T);
260 }

◆ rho_from_p_T() [2/2]

void StiffenedGasFluidProperties::rho_from_p_T ( Real  p,
Real  T,
Real &  rho,
Real &  drho_dp,
Real &  drho_dT 
) const
overridevirtual

Definition at line 263 of file StiffenedGasFluidProperties.C.

265 {
266  rho = rho_from_p_T(p, T);
267  drho_dp = 1. / ((_gamma - 1.0) * _cv * T);
268  drho_dT = -(p + _p_inf) / ((_gamma - 1.0) * _cv * T * T);
269 }
virtual Real rho_from_p_T(Real p, Real T) const override

◆ rho_mu()

void SinglePhaseFluidProperties::rho_mu ( Real  pressure,
Real  temperature,
Real &  rho,
Real &  mu 
) const
virtualinherited

Density and viscosity.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
[out]rhodensity (kg/m^3)
[out]muviscosity (Pa.s)

Definition at line 360 of file SinglePhaseFluidProperties.C.

361 {
362  mooseDeprecated(name(), ": rho_mu() is deprecated. Use rho_mu_from_p_T() instead");
363 
364  rho_mu_from_p_T(p, T, rho, mu);
365 }
virtual Real mu(Real pressure, Real temperature) const
Dynamic viscosity.
const std::string name
Definition: Setup.h:22
virtual void rho_mu_from_p_T(Real pressure, Real temperature, Real &rho, Real &mu) const

◆ rho_mu_dpT()

void SinglePhaseFluidProperties::rho_mu_dpT ( Real  pressure,
Real  temperature,
Real &  rho,
Real &  drho_dp,
Real &  drho_dT,
Real &  mu,
Real &  dmu_dp,
Real &  dmu_dT 
) const
virtualinherited

Definition at line 375 of file SinglePhaseFluidProperties.C.

383 {
384  mooseDeprecated(name(), ": rho_mu_dpT() is deprecated. Use rho_mu_from_p_T() instead");
385 
386  rho_mu_from_p_T(p, T, rho, drho_dp, drho_dT, mu, dmu_dp, dmu_dT);
387 }
virtual Real mu(Real pressure, Real temperature) const
Dynamic viscosity.
const std::string name
Definition: Setup.h:22
virtual void rho_mu_from_p_T(Real pressure, Real temperature, Real &rho, Real &mu) const

◆ rho_mu_from_p_T() [1/2]

void SinglePhaseFluidProperties::rho_mu_from_p_T ( Real  pressure,
Real  temperature,
Real &  rho,
Real &  mu 
) const
virtualinherited

◆ rho_mu_from_p_T() [2/2]

void SinglePhaseFluidProperties::rho_mu_from_p_T ( Real  pressure,
Real  temperature,
Real &  rho,
Real &  drho_dp,
Real &  drho_dT,
Real &  mu,
Real &  dmu_dp,
Real &  dmu_dT 
) const
virtualinherited

Density and viscosity and their derivatives wrt pressure and temperature.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
[out]rhodensity (kg/m^3)
[out]drho_dpderivative of density wrt pressure
[out]drho_dTderivative of density wrt temperature
[out]muviscosity (Pa.s)
[out]dmu_dpderivative of viscosity wrt pressure
[out]dmu_dTderivative of viscosity wrt temperature

Reimplemented in Water97FluidProperties, CO2FluidProperties, HydrogenFluidProperties, and NitrogenFluidProperties.

Definition at line 390 of file SinglePhaseFluidProperties.C.

398 {
399  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
400  mu_from_p_T(p, T, mu, dmu_dp, dmu_dT);
401 }
virtual Real mu(Real pressure, Real temperature) const
Dynamic viscosity.

◆ s()

Real SinglePhaseFluidProperties::s ( Real  pressure,
Real  temperature 
) const
virtualinherited

◆ s_from_h_p() [1/2]

Real StiffenedGasFluidProperties::s_from_h_p ( Real  h,
Real  p 
) const
overridevirtual

Definition at line 157 of file StiffenedGasFluidProperties.C.

158 {
159  const Real aux = (p + _p_inf) * std::pow((h - _q) / (_gamma * _cv), -_gamma / (_gamma - 1));
160  if (aux <= 0.0)
161  throw MooseException(name() + ": Non-positive argument in the ln() function.");
162  return _q_prime - (_gamma - 1) * _cv * std::log(aux);
163 }
virtual Real h(Real p, Real T) const
Specific enthalpy from pressure and temperature.
const std::string name
Definition: Setup.h:22
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ s_from_h_p() [2/2]

void StiffenedGasFluidProperties::s_from_h_p ( Real  h,
Real  p,
Real &  s,
Real &  ds_dh,
Real &  ds_dp 
) const
overridevirtual

Definition at line 166 of file StiffenedGasFluidProperties.C.

167 {
168  const Real aux = (p + _p_inf) * std::pow((h - _q) / (_gamma * _cv), -_gamma / (_gamma - 1));
169  if (aux <= 0.0)
170  throw MooseException(name() + ": Non-positive argument in the ln() function.");
171 
172  const Real daux_dh = (p + _p_inf) *
173  std::pow((h - _q) / (_gamma * _cv), -_gamma / (_gamma - 1) - 1) *
174  (-_gamma / (_gamma - 1)) / (_gamma * _cv);
175  const Real daux_dp = std::pow((h - _q) / (_gamma * _cv), -_gamma / (_gamma - 1));
176 
177  s = _q_prime - (_gamma - 1) * _cv * std::log(aux);
178  ds_dh = -(_gamma - 1) * _cv / aux * daux_dh;
179  ds_dp = -(_gamma - 1) * _cv / aux * daux_dp;
180 }
e e e e s T T T T T rho v v T virtual e Real s(Real pressure, Real temperature) const
virtual Real h(Real p, Real T) const
Specific enthalpy from pressure and temperature.
const std::string name
Definition: Setup.h:22
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ s_from_p_T() [1/2]

Real StiffenedGasFluidProperties::s_from_p_T ( Real  p,
Real  T 
) const
overridevirtual

Definition at line 183 of file StiffenedGasFluidProperties.C.

184 {
185  Real n = std::pow(T, _gamma) / std::pow(p + _p_inf, _gamma - 1.0);
186  if (n <= 0.0)
187  throw MooseException(name() + ": Negative argument in the ln() function.");
188  return _cv * std::log(n) + _q_prime;
189 }
const std::string name
Definition: Setup.h:22
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ s_from_p_T() [2/2]

void StiffenedGasFluidProperties::s_from_p_T ( Real  p,
Real  T,
Real &  s,
Real &  ds_dp,
Real &  ds_dT 
) const
overridevirtual

Definition at line 192 of file StiffenedGasFluidProperties.C.

193 {
194  const Real n = std::pow(T, _gamma) / std::pow(p + _p_inf, _gamma - 1.0);
195  if (n <= 0.0)
196  throw MooseException(name() + ": Negative argument in the ln() function.");
197 
198  s = _cv * std::log(n) + _q_prime;
199 
200  const Real dn_dT = _gamma * std::pow(T, _gamma - 1.0) / std::pow(p + _p_inf, _gamma - 1.0);
201  const Real dn_dp = std::pow(T, _gamma) * (1.0 - _gamma) * std::pow(p + _p_inf, -_gamma);
202 
203  ds_dp = _cv / n * dn_dp;
204  ds_dT = _cv / n * dn_dT;
205 }
e e e e s T T T T T rho v v T virtual e Real s(Real pressure, Real temperature) const
const std::string name
Definition: Setup.h:22
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ s_from_T_v() [1/2]

Real StiffenedGasFluidProperties::s_from_T_v ( Real  T,
Real  v 
) const
overridevirtual

Definition at line 334 of file StiffenedGasFluidProperties.C.

335 {
336  Real e = e_from_T_v(T, v);
337  return s_from_v_e(v, e);
338 }
virtual Real e_from_T_v(Real T, Real v) const override
virtual Real s_from_v_e(Real v, Real e) const override
virtual Real e(Real pressure, Real temperature) const

◆ s_from_T_v() [2/2]

void StiffenedGasFluidProperties::s_from_T_v ( Real  T,
Real  v,
Real &  s,
Real &  ds_dT,
Real &  ds_dv 
) const
overridevirtual

Definition at line 341 of file StiffenedGasFluidProperties.C.

342 {
343  Real e, de_dT_v, de_dv_T, ds_dv_e, ds_de_v;
344  e_from_T_v(T, v, e, de_dT_v, de_dv_T);
345  s_from_v_e(v, e, s, ds_dv_e, ds_de_v);
346  ds_dT = ds_de_v * de_dT_v;
347  ds_dv = ds_dv_e + ds_de_v * de_dv_T;
348 }
virtual Real e_from_T_v(Real T, Real v) const override
e e e e s T T T T T rho v v T virtual e Real s(Real pressure, Real temperature) const
virtual Real s_from_v_e(Real v, Real e) const override
virtual Real e(Real pressure, Real temperature) const

◆ s_from_v_e() [1/2]

Real StiffenedGasFluidProperties::s_from_v_e ( Real  v,
Real  e 
) const
overridevirtual

Definition at line 121 of file StiffenedGasFluidProperties.C.

Referenced by s_from_T_v().

122 {
123  Real T = T_from_v_e(v, e);
124  Real p = p_from_v_e(v, e);
125  Real n = std::pow(T, _gamma) / std::pow(p + _p_inf, _gamma - 1.0);
126  if (n <= 0.0)
127  throw MooseException(name() + ": Negative argument in the ln() function.");
128  return _cv * std::log(n) + _q_prime;
129 }
virtual Real T_from_v_e(Real v, Real e) const override
virtual Real p_from_v_e(Real v, Real e) const override
const std::string name
Definition: Setup.h:22
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
virtual Real e(Real pressure, Real temperature) const

◆ s_from_v_e() [2/2]

void StiffenedGasFluidProperties::s_from_v_e ( Real  v,
Real  e,
Real &  s,
Real &  ds_dv,
Real &  ds_de 
) const
overridevirtual

Definition at line 132 of file StiffenedGasFluidProperties.C.

133 {
134  Real T, dT_dv, dT_de;
135  T_from_v_e(v, e, T, dT_dv, dT_de);
136 
137  Real p, dp_dv, dp_de;
138  p_from_v_e(v, e, p, dp_dv, dp_de);
139 
140  const Real n = std::pow(T, _gamma) / std::pow(p + _p_inf, _gamma - 1.0);
141  if (n <= 0.0)
142  throw MooseException(name() + ": Negative argument in the ln() function.");
143 
144  s = _cv * std::log(n) + _q_prime;
145 
146  const Real dn_dT = _gamma * std::pow(T, _gamma - 1.0) / std::pow(p + _p_inf, _gamma - 1.0);
147  const Real dn_dp = std::pow(T, _gamma) * (1.0 - _gamma) * std::pow(p + _p_inf, -_gamma);
148 
149  const Real dn_dv = dn_dT * dT_dv + dn_dp * dp_dv;
150  const Real dn_de = dn_dT * dT_de + dn_dp * dp_de;
151 
152  ds_dv = _cv / n * dn_dv;
153  ds_de = _cv / n * dn_de;
154 }
virtual Real T_from_v_e(Real v, Real e) const override
e e e e s T T T T T rho v v T virtual e Real s(Real pressure, Real temperature) const
virtual Real p_from_v_e(Real v, Real e) const override
const std::string name
Definition: Setup.h:22
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
virtual Real e(Real pressure, Real temperature) const

◆ subdomainSetup()

virtual void FluidProperties::subdomainSetup ( )
inlinefinalvirtualinherited

Definition at line 40 of file FluidProperties.h.

40 {}

◆ T_from_p_h()

Real SinglePhaseFluidProperties::T_from_p_h ( Real  pressure,
Real  enthalpy 
) const
virtualinherited

Temperature from pressure and specific enthalpy.

Parameters
[in]pressurepressure (Pa)
[in]enthalpyenthalpy (J/kg)
Returns
Temperature (K)

Reimplemented in IdealGasFluidProperties.

Definition at line 463 of file SinglePhaseFluidProperties.C.

464 {
465  const Real s = s_from_h_p(h, p);
466  const Real rho = rho_from_p_s(p, s);
467  const Real v = 1. / rho;
468  const Real e = e_from_v_h(v, h);
469  return T_from_v_e(v, e);
470 }
e e e e s T T T T T rho v v T virtual e Real s(Real pressure, Real temperature) const
virtual Real h(Real p, Real T) const
Specific enthalpy from pressure and temperature.
virtual Real e(Real pressure, Real temperature) const

◆ T_from_v_e() [1/2]

Real StiffenedGasFluidProperties::T_from_v_e ( Real  v,
Real  e 
) const
overridevirtual

◆ T_from_v_e() [2/2]

void StiffenedGasFluidProperties::T_from_v_e ( Real  v,
Real  e,
Real &  T,
Real &  dT_dv,
Real &  dT_de 
) const
overridevirtual

Definition at line 76 of file StiffenedGasFluidProperties.C.

77 {
78  T = T_from_v_e(v, e);
79  dT_dv = -_p_inf / _cv;
80  dT_de = 1.0 / _cv;
81 }
virtual Real T_from_v_e(Real v, Real e) const override
virtual Real e(Real pressure, Real temperature) const

◆ threadJoin()

virtual void FluidProperties::threadJoin ( const UserObject &  )
inlinefinalvirtualinherited

Definition at line 39 of file FluidProperties.h.

39 {}

◆ triplePointPressure()

Real SinglePhaseFluidProperties::triplePointPressure ( ) const
virtualinherited

Triple point pressure.

Returns
triple point pressure (Pa)

Reimplemented in HydrogenFluidProperties, CO2FluidProperties, NitrogenFluidProperties, MethaneFluidProperties, NaClFluidProperties, and Water97FluidProperties.

Definition at line 130 of file SinglePhaseFluidProperties.C.

131 {
132  mooseError(name(), ": triplePointPressure() is not implemented");
133 }
const std::string name
Definition: Setup.h:22

◆ triplePointTemperature()

Real SinglePhaseFluidProperties::triplePointTemperature ( ) const
virtualinherited

Triple point temperature.

Returns
triple point temperature (K)

Reimplemented in HydrogenFluidProperties, CO2FluidProperties, NitrogenFluidProperties, MethaneFluidProperties, NaClFluidProperties, and Water97FluidProperties.

Definition at line 136 of file SinglePhaseFluidProperties.C.

137 {
138  mooseError(name(), ": triplePointTemperature() is not implemented");
139 }
const std::string name
Definition: Setup.h:22

◆ v_e_spndl_from_T()

void StiffenedGasFluidProperties::v_e_spndl_from_T ( Real  T,
Real &  v,
Real &  e 
) const
overridevirtual

Specific internal energy from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume

Reimplemented from SinglePhaseFluidProperties.

Definition at line 355 of file StiffenedGasFluidProperties.C.

◆ v_from_p_T() [1/2]

Real SinglePhaseFluidProperties::v_from_p_T ( Real  p,
Real  T 
) const
virtualinherited

◆ v_from_p_T() [2/2]

void SinglePhaseFluidProperties::v_from_p_T ( Real  p,
Real  T,
Real &  v,
Real &  dv_dp,
Real &  dv_dT 
) const
virtualinherited

Specific volume and its derivatives from pressure and temperature.

Parameters
[in]ppressure
[in]Ttemperature
[out]vspecific volume
[out]dv_dpderivative of specific volume w.r.t. pressure
[out]dv_dTderivative of specific volume w.r.t. temperature

Definition at line 60 of file SinglePhaseFluidProperties.C.

61 {
62  Real rho, drho_dp, drho_dT;
63  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
64 
65  v = 1.0 / rho;
66  const Real dv_drho = -1.0 / (rho * rho);
67 
68  dv_dp = dv_drho * drho_dp;
69  dv_dT = dv_drho * drho_dT;
70 }

◆ vaporPressure() [1/2]

Real SinglePhaseFluidProperties::vaporPressure ( Real  temperature) const
virtualinherited

Vapor pressure.

Used to delineate liquid and gas phases. Valid for temperatures between the triple point temperature and the critical temperature

Parameters
temperaturewater temperature (K)
Returns
saturation pressure (Pa)

Reimplemented in TabulatedFluidProperties, Water97FluidProperties, CO2FluidProperties, HydrogenFluidProperties, NitrogenFluidProperties, and MethaneFluidProperties.

Definition at line 262 of file SinglePhaseFluidProperties.C.

Referenced by PorousFlowWaterNCG::equilibriumMassFractions(), PorousFlowWaterNCG::gasProperties(), BrineFluidProperties::vaporPressure(), TabulatedFluidProperties::vaporPressure(), and SinglePhaseFluidProperties::vaporPressure_dT().

263 {
264  mooseError(name(), ": vaporPressure() is not implemented");
265 }
const std::string name
Definition: Setup.h:22

◆ vaporPressure() [2/2]

void SinglePhaseFluidProperties::vaporPressure ( Real  temperature,
Real &  psat,
Real &  dpsat_dT 
) const
virtualinherited

Vapor pressure.

Used to delineate liquid and gas phases. Valid for temperatures between the triple point temperature and the critical temperature

Parameters
temperaturewater temperature (K)
[out]saturationpressure (Pa)
[out]derivativeof saturation pressure wrt temperature (Pa/K)

Reimplemented in TabulatedFluidProperties, Water97FluidProperties, CO2FluidProperties, HydrogenFluidProperties, NitrogenFluidProperties, and MethaneFluidProperties.

Definition at line 268 of file SinglePhaseFluidProperties.C.

269 {
270  mooseError(name(), ": vaporPressure() is not implemented");
271 }
const std::string name
Definition: Setup.h:22

◆ vaporPressure_dT()

void SinglePhaseFluidProperties::vaporPressure_dT ( Real  temperature,
Real &  psat,
Real &  dpsat_dT 
) const
virtualinherited

Definition at line 274 of file SinglePhaseFluidProperties.C.

275 {
276  mooseDeprecated(name(), ": vaporPressure_dT() is deprecated. Use vaporPressure() instead");
277 
278  vaporPressure(T, psat, dpsat_dT);
279 }
virtual Real vaporPressure(Real temperature) const
Vapor pressure.
const std::string name
Definition: Setup.h:22

Member Data Documentation

◆ _allow_imperfect_jacobians

const bool FluidProperties::_allow_imperfect_jacobians
protectedinherited

Flag to set unimplemented Jacobian entries to zero.

Definition at line 46 of file FluidProperties.h.

Referenced by SinglePhaseFluidProperties::fluidPropError().

◆ _cp

Real StiffenedGasFluidProperties::_cp
protected

◆ _cv

Real StiffenedGasFluidProperties::_cv
protected

◆ _e_c

Real StiffenedGasFluidProperties::_e_c
protected

◆ _gamma

Real StiffenedGasFluidProperties::_gamma
protected

◆ _k

Real StiffenedGasFluidProperties::_k
protected

Definition at line 103 of file StiffenedGasFluidProperties.h.

Referenced by k_from_p_T(), and k_from_v_e().

◆ _molar_mass

Real StiffenedGasFluidProperties::_molar_mass
protected

Definition at line 104 of file StiffenedGasFluidProperties.h.

Referenced by molarMass().

◆ _mu

Real StiffenedGasFluidProperties::_mu
protected

Definition at line 102 of file StiffenedGasFluidProperties.h.

Referenced by mu_from_p_T(), and mu_from_v_e().

◆ _p_inf

Real StiffenedGasFluidProperties::_p_inf
protected

◆ _q

Real StiffenedGasFluidProperties::_q
protected

◆ _q_prime

Real StiffenedGasFluidProperties::_q_prime
protected

◆ _R

const Real SinglePhaseFluidProperties::_R
protectedinherited

◆ _rho_c

Real StiffenedGasFluidProperties::_rho_c
protected

Definition at line 107 of file StiffenedGasFluidProperties.h.

Referenced by criticalDensity(), and v_e_spndl_from_T().

◆ _T_c

Real StiffenedGasFluidProperties::_T_c
protected

Definition at line 106 of file StiffenedGasFluidProperties.h.

Referenced by criticalTemperature().

◆ _T_c2k

const Real FluidProperties::_T_c2k
protectedinherited

◆ p [1/7]

e e e e SinglePhaseFluidProperties::p
inherited

Definition at line 146 of file SinglePhaseFluidProperties.h.

Referenced by SinglePhaseFluidProperties::beta(), SinglePhaseFluidProperties::beta_from_p_T(), SinglePhaseFluidProperties::c(), c_from_v_e(), IdealGasFluidProperties::cp_from_p_T(), SinglePhaseFluidProperties::e(), SinglePhaseFluidProperties::e_dpT(), e_from_p_rho(), IdealGasFluidProperties::e_from_p_rho(), IdealGasFluidProperties::e_from_p_T(), e_from_p_T(), SinglePhaseFluidProperties::e_from_p_T(), IdealGasFluidProperties::g_from_v_e(), g_from_v_e(), SinglePhaseFluidProperties::gamma_from_p_T(), TabulatedFluidProperties::generateTabulatedData(), SinglePhaseFluidProperties::h(), SinglePhaseFluidProperties::h_dpT(), IdealGasFluidProperties::h_from_p_T(), h_from_p_T(), SinglePhaseFluidProperties::henryConstantIAPWS(), SinglePhaseFluidProperties::k(), SinglePhaseFluidProperties::k_dpT(), IdealGasFluidProperties::k_from_p_T(), SinglePhaseFluidProperties::mu(), SinglePhaseFluidProperties::mu_dpT(), IdealGasFluidProperties::p_from_h_s(), p_from_h_s(), p_from_T_v(), IdealGasFluidProperties::p_from_T_v(), p_from_v_e(), IdealGasFluidProperties::p_from_v_e(), SinglePhaseFluidProperties::rho_dpT(), SinglePhaseFluidProperties::rho_e_dpT(), SinglePhaseFluidProperties::rho_e_from_p_T(), rho_from_p_s(), IdealGasFluidProperties::rho_from_p_s(), rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), SinglePhaseFluidProperties::rho_mu(), SinglePhaseFluidProperties::rho_mu_dpT(), SinglePhaseFluidProperties::rho_mu_from_p_T(), SinglePhaseFluidProperties::s(), s_from_h_p(), IdealGasFluidProperties::s_from_h_p(), IdealGasFluidProperties::s_from_p_T(), s_from_p_T(), SimpleFluidProperties::s_from_p_T(), Water97FluidProperties::s_from_p_T(), TabulatedFluidProperties::s_from_p_T(), IdealGasFluidProperties::s_from_T_v(), s_from_v_e(), IdealGasFluidProperties::s_from_v_e(), SinglePhaseFluidProperties::T_from_p_h(), SinglePhaseFluidProperties::v_from_p_T(), Water97FluidProperties::vaporPressure(), and TabulatedFluidProperties::writeTabulatedData().

◆ p [2/7]

e e e e s SinglePhaseFluidProperties::p
inherited

Definition at line 148 of file SinglePhaseFluidProperties.h.

◆ p [3/7]

e e e e s T T SinglePhaseFluidProperties::p
inherited

Definition at line 152 of file SinglePhaseFluidProperties.h.

◆ p [4/7]

e e e e s T T T SinglePhaseFluidProperties::p
inherited

Definition at line 154 of file SinglePhaseFluidProperties.h.

◆ p [5/7]

e e e e s T T T T SinglePhaseFluidProperties::p
inherited

Definition at line 156 of file SinglePhaseFluidProperties.h.

◆ p [6/7]

e e e e s T T T T T SinglePhaseFluidProperties::p
inherited

Definition at line 158 of file SinglePhaseFluidProperties.h.

◆ p [7/7]

e e e e s T T T T T rho v v SinglePhaseFluidProperties::p
inherited

Definition at line 164 of file SinglePhaseFluidProperties.h.

◆ rho

Real SinglePhaseFluidProperties::rho
inherited

◆ T [1/2]

e e e e s T T T T T rho SinglePhaseFluidProperties::T
inherited

Definition at line 160 of file SinglePhaseFluidProperties.h.

Referenced by SinglePhaseFluidProperties::beta(), SinglePhaseFluidProperties::beta_from_p_T(), SinglePhaseFluidProperties::c(), IdealGasFluidProperties::c_from_p_T(), IdealGasFluidProperties::c_from_v_e(), IdealGasFluidProperties::cp_from_p_T(), SinglePhaseFluidProperties::e(), SinglePhaseFluidProperties::e_dpT(), IdealGasFluidProperties::e_from_p_T(), e_from_p_T(), SinglePhaseFluidProperties::e_from_p_T(), e_from_T_v(), IdealGasFluidProperties::e_from_T_v(), IdealGasFluidProperties::g_from_v_e(), g_from_v_e(), SinglePhaseFluidProperties::gamma_from_p_T(), SinglePhaseFluidProperties::h(), SinglePhaseFluidProperties::h_dpT(), IdealGasFluidProperties::h_from_p_T(), h_from_p_T(), h_from_T_v(), IdealGasFluidProperties::h_from_T_v(), SinglePhaseFluidProperties::henryConstant_dT(), SinglePhaseFluidProperties::henryConstantIAPWS(), SinglePhaseFluidProperties::henryConstantIAPWS_dT(), SinglePhaseFluidProperties::k(), SinglePhaseFluidProperties::k_dpT(), IdealGasFluidProperties::k_from_p_T(), SinglePhaseFluidProperties::mu(), SinglePhaseFluidProperties::mu_dpT(), SinglePhaseFluidProperties::mu_drhoT_from_rho_T(), IdealGasFluidProperties::mu_from_p_T(), p_from_T_v(), IdealGasFluidProperties::p_from_T_v(), SinglePhaseFluidProperties::rho_dpT(), SinglePhaseFluidProperties::rho_e_dpT(), SinglePhaseFluidProperties::rho_e_from_p_T(), rho_from_p_s(), IdealGasFluidProperties::rho_from_p_s(), rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), SinglePhaseFluidProperties::rho_mu(), SinglePhaseFluidProperties::rho_mu_dpT(), SinglePhaseFluidProperties::rho_mu_from_p_T(), SinglePhaseFluidProperties::s(), IdealGasFluidProperties::s_from_p_T(), s_from_p_T(), SimpleFluidProperties::s_from_p_T(), Water97FluidProperties::s_from_p_T(), TabulatedFluidProperties::s_from_p_T(), s_from_T_v(), IdealGasFluidProperties::s_from_T_v(), s_from_v_e(), IdealGasFluidProperties::s_from_v_e(), T_from_v_e(), IdealGasFluidProperties::T_from_v_e(), SinglePhaseFluidProperties::v_from_p_T(), and SinglePhaseFluidProperties::vaporPressure_dT().

◆ T [2/2]

e e e e s T T T T T rho v SinglePhaseFluidProperties::T
inherited

Definition at line 162 of file SinglePhaseFluidProperties.h.

◆ v [1/5]

SinglePhaseFluidProperties::v
inherited

◆ v [2/5]

e SinglePhaseFluidProperties::v
inherited

Definition at line 140 of file SinglePhaseFluidProperties.h.

◆ v [3/5]

e e SinglePhaseFluidProperties::v
inherited

Definition at line 142 of file SinglePhaseFluidProperties.h.

◆ v [4/5]

e e e SinglePhaseFluidProperties::v
inherited

Definition at line 144 of file SinglePhaseFluidProperties.h.

◆ v [5/5]

e e e e s T T T T T rho v v T SinglePhaseFluidProperties::v
inherited

Definition at line 166 of file SinglePhaseFluidProperties.h.


The documentation for this class was generated from the following files: