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
 Pressure from specific volume and specific internal energy. More...
 
virtual void p_from_v_e (Real v, Real e, Real &p, Real &dp_dv, Real &dp_de) const override
 Pressure and its derivatives from specific volume and specific internal energy. More...
 
virtual Real T_from_v_e (Real v, Real e) const override
 Temperature from specific volume and specific internal energy. More...
 
virtual void T_from_v_e (Real v, Real e, Real &T, Real &dT_dv, Real &dT_de) const override
 Temperature and its derivatives from specific volume and specific internal energy. More...
 
virtual Real c_from_v_e (Real v, Real e) const override
 Sound speed from specific volume and specific internal energy. More...
 
virtual void c_from_v_e (Real v, Real e, Real &c, Real &dc_dv, Real &dc_de) const override
 Sound speed and its derivatives from specific volume and specific internal energy. More...
 
virtual Real cp_from_v_e (Real v, Real e) const override
 Isobaric (constant-pressure) specific heat from specific volume and specific internal energy. More...
 
virtual Real cv_from_v_e (Real v, Real e) const override
 Isochoric (constant-volume) specific heat from specific volume and specific internal energy. More...
 
virtual Real mu_from_v_e (Real v, Real e) const override
 Dynamic viscosity from specific volume and specific internal energy. More...
 
virtual Real k_from_v_e (Real v, Real e) const override
 Thermal conductivity from specific volume and specific internal energy. More...
 
virtual Real s_from_v_e (Real v, Real e) const override
 Specific entropy from specific volume and specific internal energy. More...
 
virtual void s_from_v_e (Real v, Real e, Real &s, Real &ds_dv, Real &ds_de) const override
 Specific entropy and its derivatives from specific volume and specific internal energy. More...
 
virtual Real s_from_h_p (Real h, Real p) const override
 Specific entropy from specific enthalpy and pressure. More...
 
virtual void s_from_h_p (Real h, Real p, Real &s, Real &ds_dh, Real &ds_dp) const override
 Specific entropy and its derivatives from specific enthalpy and pressure. More...
 
virtual Real s_from_p_T (Real p, Real T) const override
 Specific entropy from pressure and temperature. More...
 
virtual void s_from_p_T (Real p, Real T, Real &s, Real &ds_dp, Real &ds_dT) const override
 Specific entropy and its derivatives from pressure and temperature. More...
 
virtual Real rho_from_p_s (Real p, Real s) const override
 Density from pressure and specific entropy. More...
 
virtual void rho_from_p_s (Real p, Real s, Real &rho, Real &drho_dp, Real &drho_ds) const override
 Density and its derivatives from pressure and specific entropy. More...
 
virtual Real rho_from_p_T (Real p, Real T) const override
 Density from pressure and temperature. More...
 
virtual void rho_from_p_T (Real p, Real T, Real &rho, Real &drho_dp, Real &drho_dT) const override
 Density and its derivatives from pressure and temperature. More...
 
virtual Real e_from_p_rho (Real p, Real rho) const override
 Specific internal energy from pressure and density. More...
 
virtual void e_from_p_rho (Real p, Real rho, Real &e, Real &de_dp, Real &de_drho) const override
 Specific internal energy and its derivatives from pressure and density. More...
 
virtual Real e_from_T_v (Real T, Real v) const override
 Specific volume and specific internal energy from temerature at the vapor spinodal. More...
 
virtual void e_from_T_v (Real T, Real v, Real &e, Real &de_dT, Real &de_dv) const override
 Specific internal energy and its derivatives from temperature and specific volume. More...
 
virtual Real p_from_T_v (Real T, Real v) const override
 Pressure from temperature and specific volume. More...
 
virtual void p_from_T_v (Real T, Real v, Real &p, Real &dp_dT, Real &dp_dv) const override
 Pressure and its derivatives from temperature and specific volume. More...
 
virtual Real h_from_T_v (Real T, Real v) const override
 Specific enthalpy from temperature and specific volume. More...
 
virtual void h_from_T_v (Real T, Real v, Real &h, Real &dh_dT, Real &dh_dv) const override
 Specific enthalpy and its derivatives from temperature and specific volume. More...
 
virtual Real s_from_T_v (Real T, Real v) const override
 Specific entropy from temperature and specific volume. More...
 
virtual void s_from_T_v (Real T, Real v, Real &s, Real &ds_dT, Real &ds_dv) const override
 Specific entropy and its derivatives from temperature and specific volume. More...
 
virtual Real cv_from_T_v (Real T, Real v) const override
 Specific isochoric heat capacity from temperature and specific volume. More...
 
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
 Specific internal energy as a function of specific volume and specific enthalpy. More...
 
virtual void e_from_v_h (Real v, Real h, Real &e, Real &de_dv, Real &de_dh) const override
 Specific internal energy and derivatives as a function of specific volume and specific enthalpy. More...
 
virtual Real h_from_p_T (Real p, Real T) const override
 Specific enthalpy from pressure and temperature. More...
 
virtual void h_from_p_T (Real p, Real T, Real &h, Real &dh_dp, Real &dh_dT) const override
 Specific enthalpy and its derivatives from pressure and temperature. More...
 
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
 Pressure from specific enthalpy and specific entropy. More...
 
virtual void p_from_h_s (Real h, Real s, Real &p, Real &dp_dh, Real &dp_ds) const override
 Pressure and its derivatives from specific enthalpy and specific entropy. More...
 
virtual Real g_from_v_e (Real v, Real e) const override
 Gibbs free energy from specific volume and specific internal energy. More...
 
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 c2_from_p_rho (Real pressure, Real rho) const
 
virtual Real pp_sat_from_p_T (Real, Real) const override
 Partial pressure at saturation in a gas mixture. More...
 
virtual std::string fluidName () const
 Fluid name. More...
 
virtual Real s (Real pressure, Real temperature) const
 
virtual Real rho (Real p, Real T) const
 
virtual void rho_dpT (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT) const
 
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
 
virtual void h_dpT (Real pressure, Real temperature, Real &h, Real &dh_dp, Real &dh_dT) const
 
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_from_p_T (Real p, Real T) const
 Thermal expansion coefficient from pressure and temperature. More...
 
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_dpT (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 Real c_from_p_T (Real pressure, Real temperature) const
 Speed of sound. More...
 
virtual Real c (Real pressure, Real temperature) const
 
virtual Real cp_from_p_T (Real pressure, Real temperature) const
 Isobaric specific heat capacity. More...
 
virtual Real cv_from_p_T (Real pressure, Real temperature) const
 Isochoric specific heat. 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 Real mu_from_p_T (Real pressure, Real temperature) const
 
virtual void mu_from_p_T (Real pressure, Real temperature, Real &mu, Real &dmu_dp, Real &dmu_dT) const
 
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 Real mu_from_rho_T (Real density, Real temperature) const
 Dynamic viscosity as a function of density 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
 Dynamic viscosity and its derivatives wrt density and temperature. More...
 
virtual void rho_mu (Real pressure, Real temperature, Real &rho, Real &mu) const
 Density and viscosity. 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
 Density and viscosity and their derivatives wrt pressure and temperature. More...
 
virtual Real k_from_p_T (Real pressure, Real temperature) const
 Thermal conductivity. More...
 
virtual void k_from_p_T (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 k (Real pressure, Real temperature) const
 
virtual void k_dpT (Real pressure, Real temperature, Real &k, Real &dk_dp, Real &dk_dT) const
 
virtual Real k_from_rho_T (Real density, Real temperature) const
 Thermal conductivity as a function of density and temperature. More...
 
virtual Real henryConstant (Real temperature) const
 Henry's law constant for dissolution in water. More...
 
virtual void henryConstant_dT (Real temperature, Real &Kh, Real &dKh_dT) const
 Henry's law constant for dissolution in water and derivative wrt temperature. More...
 
virtual Real vaporPressure (Real temperature) const
 Vapor pressure. More...
 
virtual void vaporPressure_dT (Real temperature, Real &psat, Real &dpsat_dT) const
 Vapor pressure. More...
 
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_dT (Real temperature, Real &Kh, Real &dKh_dT, Real A, Real B, Real C) const
 IAPWS formulation of Henry's law constant for dissolution in water and derivative wrt temperature. More...
 

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...
 

Detailed Description

Stiffened gas fluid properties.

Definition at line 23 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

Definition at line 256 of file SinglePhaseFluidProperties.C.

Referenced by Water97FluidProperties::vaporTemperature().

257 {
259 }
virtual Real beta_from_p_T(Real p, Real T) const
Thermal expansion coefficient from pressure and temperature.
const std::string temperature
Definition: NS.h:27
const std::string pressure
Definition: NS.h:26

◆ beta_from_p_T()

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

Thermal expansion coefficient from pressure and temperature.

Parameters
[in]ppressure (Pa)
[in]Ttemperature (K)
Returns
beta (1/K)

Reimplemented in SimpleFluidProperties.

Definition at line 171 of file SinglePhaseFluidProperties.C.

Referenced by SinglePhaseFluidProperties::beta().

172 {
173  // The volumetric thermal expansion coefficient is defined as
174  // 1/v dv/dT)_p
175  // It is the fractional change rate of volume with respect to temperature change
176  // at constant pressure. Here it is coded as
177  // - 1/rho drho/dT)_p
178  // using chain rule with v = v(rho)
179 
180  Real rho, drho_dp, drho_dT;
181  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
182  return -drho_dT / rho;
183 }
virtual Real rho(Real p, Real T) const
virtual Real rho_from_p_T(Real p, Real T) const
Density from pressure and temperature.

◆ c()

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

Definition at line 391 of file SinglePhaseFluidProperties.C.

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

392 {
394 }
virtual Real c_from_p_T(Real pressure, Real temperature) const
Speed of sound.
const std::string temperature
Definition: NS.h:27
const std::string pressure
Definition: NS.h:26

◆ c2_from_p_rho()

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

Definition at line 417 of file StiffenedGasFluidProperties.C.

418 {
419  return _gamma * (pressure + _p_inf) / rho;
420 }
virtual Real rho(Real p, Real T) const
const std::string pressure
Definition: NS.h:26

◆ c_from_p_T()

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

Speed of sound.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
speed of sound (m/s)

Reimplemented in TabulatedFluidProperties, NaClFluidProperties, Water97FluidProperties, SimpleFluidProperties, HelmholtzFluidProperties, and IdealGasFluidPropertiesPT.

Definition at line 385 of file SinglePhaseFluidProperties.C.

Referenced by SinglePhaseFluidProperties::c(), TabulatedFluidProperties::c_from_p_T(), and FluidPropertiesMaterialPT::computeQpProperties().

386 {
387  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
388 }
const std::string name
Definition: Setup.h:22

◆ c_from_v_e() [1/2]

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

Sound speed from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy

Reimplemented from SinglePhaseFluidProperties.

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
Pressure from specific volume and specific internal energy.
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

Sound speed and its derivatives from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy
[out]dc_dvderivative of sound speed w.r.t. specific volume
[out]dc_dederivative of sound speed w.r.t. specific internal energy

Reimplemented from SinglePhaseFluidProperties.

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
Pressure from specific volume and specific internal energy.
virtual Real c_from_v_e(Real v, Real e) const override
Sound speed from specific volume and specific internal energy.
virtual Real c(Real pressure, Real temperature) const
virtual Real e(Real pressure, Real temperature) const

◆ cp_from_p_T()

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

Isobaric specific heat capacity.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
cp (J/kg/K)

Reimplemented in TabulatedFluidProperties, NaClFluidProperties, Water97FluidProperties, HelmholtzFluidProperties, SimpleFluidProperties, and IdealGasFluidPropertiesPT.

Definition at line 396 of file SinglePhaseFluidProperties.C.

Referenced by FluidPropertiesMaterialPT::computeQpProperties(), BrineFluidProperties::cp(), TabulatedFluidProperties::cp_from_p_T(), SinglePhaseFluidProperties::gamma_from_p_T(), and TabulatedFluidProperties::generateTabulatedData().

397 {
398  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
399 }
const std::string name
Definition: Setup.h:22

◆ cp_from_v_e()

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

Isobaric (constant-pressure) specific heat from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 103 of file StiffenedGasFluidProperties.C.

◆ criticalDensity()

Real StiffenedGasFluidProperties::criticalDensity ( ) const
overridevirtual

Critical density.

Returns
critical density (kg/m^3)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 435 of file StiffenedGasFluidProperties.C.

436 {
437  return _rho_c;
438 }

◆ criticalInternalEnergy()

Real StiffenedGasFluidProperties::criticalInternalEnergy ( ) const
overridevirtual

Critical specific internal energy.

Returns
specific internal energy (J/kg)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 441 of file StiffenedGasFluidProperties.C.

442 {
443  return _e_c;
444 }

◆ criticalPressure()

Real SinglePhaseFluidProperties::criticalPressure ( ) const
virtualinherited

Critical pressure.

Returns
critical pressure (Pa)

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

Definition at line 214 of file SinglePhaseFluidProperties.C.

215 {
216  mooseError(name(), ": criticalPressure() is not implemented");
217 }
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 429 of file StiffenedGasFluidProperties.C.

430 {
431  return _T_c;
432 }

◆ cv_from_p_T()

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

Isochoric specific heat.

Parameters
pressurefluid pressure (Pa)
temperaturefluid temperature (K)
Returns
cv (J/kg/K)

Reimplemented in TabulatedFluidProperties, NaClFluidProperties, Water97FluidProperties, HelmholtzFluidProperties, SimpleFluidProperties, and IdealGasFluidPropertiesPT.

Definition at line 401 of file SinglePhaseFluidProperties.C.

Referenced by FluidPropertiesMaterialPT::computeQpProperties(), TabulatedFluidProperties::cv_from_p_T(), SinglePhaseFluidProperties::gamma_from_p_T(), and TabulatedFluidProperties::generateTabulatedData().

402 {
403  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
404 }
const std::string name
Definition: Setup.h:22

◆ cv_from_T_v()

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

Specific isochoric heat capacity from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume

Reimplemented from SinglePhaseFluidProperties.

Definition at line 341 of file StiffenedGasFluidProperties.C.

◆ cv_from_v_e()

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

Isochoric (constant-volume) specific heat from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 105 of file StiffenedGasFluidProperties.C.

◆ e()

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

Definition at line 366 of file SinglePhaseFluidProperties.C.

Referenced by Water97FluidProperties::b2bc(), IdealGasFluidProperties::c_from_v_e(), c_from_v_e(), NaClFluidProperties::cp_from_p_T(), Water97FluidProperties::densityRegion3(), SinglePhaseFluidProperties::e_dpT(), e_from_p_rho(), IdealGasFluidProperties::e_from_p_rho(), HelmholtzFluidProperties::e_from_p_T(), IdealGasFluidPropertiesPT::e_from_p_T(), Water97FluidProperties::e_from_p_T(), IdealGasFluidProperties::e_from_p_T(), NaClFluidProperties::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(), IdealGasFluidProperties::h_from_p_T(), NaClFluidProperties::h_from_p_T(), NitrogenFluidProperties::mu_drhoT_from_rho_T(), HydrogenFluidProperties::mu_drhoT_from_rho_T(), CO2FluidProperties::mu_drhoT_from_rho_T(), p_from_T_v(), IdealGasFluidProperties::p_from_v_e(), p_from_v_e(), HelmholtzFluidProperties::rho_e_dpT(), IdealGasFluidPropertiesPT::rho_e_dpT(), Water97FluidProperties::rho_e_dpT(), NaClFluidProperties::rho_e_dpT(), SimpleFluidProperties::rho_e_dpT(), TabulatedFluidProperties::rho_e_dpT(), s_from_T_v(), IdealGasFluidProperties::s_from_v_e(), 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().

367 {
368  return e_from_p_T(p, T);
369 }
virtual Real e_from_p_T(Real p, Real T) const
Internal energy from pressure and temperature.

◆ e_dpT()

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

Definition at line 372 of file SinglePhaseFluidProperties.C.

374 {
375  e_from_p_T(pressure, temperature, e, de_dp, de_dT);
376 }
const std::string temperature
Definition: NS.h:27
virtual Real e_from_p_T(Real p, Real T) const
Internal energy from pressure and temperature.
const std::string pressure
Definition: NS.h:26
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

Specific internal energy from pressure and density.

Parameters
[in]ppressure
[in]rhodensity

Reimplemented from SinglePhaseFluidProperties.

Definition at line 263 of file StiffenedGasFluidProperties.C.

Referenced by e_from_p_rho().

264 {
265  mooseAssert((_gamma - 1.0) * rho != 0., "Invalid gamma or density detected!");
266  return (p + _gamma * _p_inf) / ((_gamma - 1.0) * rho) + _q;
267 }
virtual Real rho(Real p, Real T) const

◆ 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

Specific internal energy and its derivatives from pressure and density.

Parameters
[in]ppressure
[in]rhodensity
[out]especific internal energy
[out]de_dpderivative of specific internal energy w.r.t. pressure
[out]de_drhoderivative of specific internal energy w.r.t. density

Reimplemented from SinglePhaseFluidProperties.

Definition at line 270 of file StiffenedGasFluidProperties.C.

272 {
273  e = e_from_p_rho(p, rho);
274  de_dp = 1.0 / ((_gamma - 1.0) * rho);
275  de_drho = -(p + _gamma * _p_inf) / ((_gamma - 1.0) * rho * rho);
276 }
virtual Real rho(Real p, Real T) const
virtual Real e_from_p_rho(Real p, Real rho) const override
Specific internal energy from pressure and density.
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 367 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 373 of file StiffenedGasFluidProperties.C.

374 {
375  e = e_from_p_T(p, T);
376  de_dp = (1. - _gamma) * _p_inf / (p + _p_inf) / (p + _p_inf) * _cv * T;
377  de_dT = (p + _gamma * _p_inf) / (p + _p_inf) * _cv;
378 }
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

Specific volume and specific internal energy from temerature at the vapor spinodal.

Parameters
[in]Ttemerature

Reimplemented from SinglePhaseFluidProperties.

Definition at line 279 of file StiffenedGasFluidProperties.C.

Referenced by p_from_T_v(), and s_from_T_v().

◆ 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

Specific internal energy and its derivatives from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume
[out]especific internal energy (J/kg)
[out]de_dTderivative of specific internal energy w.r.t. temperature
[out]de_dvderivative of specific internal energy w.r.t. specific volume

Reimplemented from SinglePhaseFluidProperties.

Definition at line 285 of file StiffenedGasFluidProperties.C.

286 {
287  e = _cv * T + _q + _p_inf * v;
288  de_dT = _cv;
289  de_dv = _p_inf;
290 }
virtual Real e(Real pressure, Real temperature) const

◆ e_from_v_h() [1/2]

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

Specific internal energy as a function of specific volume and specific enthalpy.

Parameters
[in]vspecific volume
[in]hspecific enthalpy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 233 of file StiffenedGasFluidProperties.C.

Referenced by e_from_v_h().

◆ 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

Specific internal energy and derivatives as a function of specific volume and specific enthalpy.

Parameters
[in]vspecific volume
[in]hspecific enthalpy
[out]de_dvderivative of specific internal energy w.r.t. specific volume
[out]de_dhderivative of specific internal energy w.r.t. specific enthalpy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 239 of file StiffenedGasFluidProperties.C.

240 {
241  e = e_from_v_h(v, h);
242  de_dv = _p_inf;
243  de_dh = 1.0 / _gamma;
244 }
virtual Real h(Real p, Real T) const
virtual Real e_from_v_h(Real v, Real h) const override
Specific internal energy as a function of specific volume and specific enthalpy.
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 343 of file StiffenedGasFluidProperties.C.

◆ execute()

virtual void FluidProperties::execute ( )
inlinefinalvirtualinherited

Definition at line 27 of file FluidProperties.h.

27 {}

◆ finalize()

virtual void FluidProperties::finalize ( )
inlinefinalvirtualinherited

Definition at line 29 of file FluidProperties.h.

29 {}

◆ fluidName()

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

◆ g_from_v_e()

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

Gibbs free energy from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 400 of file StiffenedGasFluidProperties.C.

401 {
402  // g(p,T) for SGEOS is given by Equation (37) in the following reference:
403  //
404  // Ray A. Berry, Richard Saurel, Olivier LeMetayer
405  // The discrete equation method (DEM) for fully compressible, two-phase flows in
406  // ducts of spatially varying cross-section
407  // Nuclear Engineering and Design 240 (2010) p. 3797-3818
408  //
409  const Real p = p_from_v_e(v, e);
410  const Real T = T_from_v_e(v, e);
411 
412  return (_gamma * _cv - _q_prime) * T -
413  _cv * T * std::log(std::pow(T, _gamma) / std::pow(p + _p_inf, _gamma - 1.0)) + _q;
414 }
virtual Real T_from_v_e(Real v, Real e) const override
Temperature from specific volume and specific internal energy.
virtual Real p_from_v_e(Real v, Real e) const override
Pressure from specific volume and specific internal energy.
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 (-)

Definition at line 250 of file SinglePhaseFluidProperties.C.

251 {
253 }
virtual Real cv_from_p_T(Real pressure, Real temperature) const
Isochoric specific heat.
const std::string temperature
Definition: NS.h:27
virtual Real cp_from_p_T(Real pressure, Real temperature) const
Isobaric specific heat capacity.
const std::string pressure
Definition: NS.h:26

◆ 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

Definition at line 480 of file SinglePhaseFluidProperties.C.

481 {
482  h_from_p_T(p, T, h, dh_dp, dh_dT);
483 }
virtual Real h(Real p, Real T) const
virtual Real h_from_p_T(Real p, Real T) const
Specific enthalpy from pressure and temperature.

◆ h_from_p_T() [1/2]

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

Specific enthalpy from pressure and temperature.

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

Reimplemented from SinglePhaseFluidProperties.

Definition at line 353 of file StiffenedGasFluidProperties.C.

Referenced by h_from_p_T().

◆ 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

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

Reimplemented from SinglePhaseFluidProperties.

Definition at line 359 of file StiffenedGasFluidProperties.C.

360 {
361  h = h_from_p_T(p, T);
362  dh_dp = 0.0;
363  dh_dT = _gamma * _cv;
364 }
virtual Real h(Real p, Real T) const
virtual Real h_from_p_T(Real p, Real T) const override
Specific enthalpy from pressure and temperature.

◆ h_from_T_v() [1/2]

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

Specific enthalpy from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume

Reimplemented from SinglePhaseFluidProperties.

Definition at line 310 of file StiffenedGasFluidProperties.C.

◆ 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

Specific enthalpy and its derivatives from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume
[out]hspecific enthalpy (J/kg)
[out]dh_dTderivative of specific enthalpy w.r.t. temperature
[out]dh_dvderivative of specific enthalpy w.r.t. specific volume

Reimplemented from SinglePhaseFluidProperties.

Definition at line 316 of file StiffenedGasFluidProperties.C.

318 {
319  h = _gamma * _cv * T + _q;
320  dh_dT = _gamma * _cv;
321  dh_dv = 0.0;
322 }
virtual Real h(Real p, Real T) const

◆ henryConstant()

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 TabulatedFluidProperties, CO2FluidProperties, SimpleFluidProperties, IdealGasFluidPropertiesPT, HydrogenFluidProperties, NitrogenFluidProperties, and MethaneFluidProperties.

Definition at line 332 of file SinglePhaseFluidProperties.C.

Referenced by TabulatedFluidProperties::henryConstant().

333 {
334  mooseError(name(), ": henryConstant() is not implemented");
335 }
const std::string name
Definition: Setup.h:22

◆ henryConstant_dT()

void SinglePhaseFluidProperties::henryConstant_dT ( 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 TabulatedFluidProperties, CO2FluidProperties, SimpleFluidProperties, IdealGasFluidPropertiesPT, HydrogenFluidProperties, NitrogenFluidProperties, and MethaneFluidProperties.

Definition at line 338 of file SinglePhaseFluidProperties.C.

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

341 {
342  mooseError(name(), ": henryConstant_dT() is not implemented");
343 }
const std::string name
Definition: Setup.h:22

◆ henryConstantIAPWS()

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 262 of file SinglePhaseFluidProperties.C.

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

263 {
264  Real Tr = temperature / 647.096;
265  Real tau = 1.0 - Tr;
266 
267  Real lnkh = A / Tr + B * std::pow(tau, 0.355) / Tr + C * std::pow(Tr, -0.41) * std::exp(tau);
268 
269  // The vapor pressure used in this formulation
270  std::vector<Real> a{-7.85951783, 1.84408259, -11.7866497, 22.6807411, -15.9618719, 1.80122502};
271  std::vector<Real> b{1.0, 1.5, 3.0, 3.5, 4.0, 7.5};
272  Real sum = 0.0;
273 
274  for (std::size_t i = 0; i < a.size(); ++i)
275  sum += a[i] * std::pow(tau, b[i]);
276 
277  return 22.064e6 * std::exp(sum / Tr) * std::exp(lnkh);
278 }
const std::string temperature
Definition: NS.h:27
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

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

Definition at line 281 of file SinglePhaseFluidProperties.C.

Referenced by MethaneFluidProperties::henryConstant_dT(), NitrogenFluidProperties::henryConstant_dT(), HydrogenFluidProperties::henryConstant_dT(), and CO2FluidProperties::henryConstant_dT().

283 {
284  Real pc = 22.064e6;
285  Real Tc = 647.096;
286 
287  Real Tr = temperature / Tc;
288  Real tau = 1.0 - Tr;
289 
290  Real lnkh = A / Tr + B * std::pow(tau, 0.355) / Tr + C * std::pow(Tr, -0.41) * std::exp(tau);
291  Real dlnkh_dT =
292  (-A / Tr / Tr - B * std::pow(tau, 0.355) / Tr / Tr - 0.355 * B * std::pow(tau, -0.645) / Tr -
293  0.41 * C * std::pow(Tr, -1.41) * std::exp(tau) - C * std::pow(Tr, -0.41) * std::exp(tau)) /
294  Tc;
295 
296  // The vapor pressure used in this formulation
297  std::vector<Real> a{-7.85951783, 1.84408259, -11.7866497, 22.6807411, -15.9618719, 1.80122502};
298  std::vector<Real> b{1.0, 1.5, 3.0, 3.5, 4.0, 7.5};
299  Real sum = 0.0;
300  Real dsum = 0.0;
301 
302  for (std::size_t i = 0; i < a.size(); ++i)
303  {
304  sum += a[i] * std::pow(tau, b[i]);
305  dsum += a[i] * b[i] * std::pow(tau, b[i] - 1.0);
306  }
307 
308  Real p = pc * std::exp(sum / Tr);
309  Real dp_dT = -p / Tc / Tr * (sum / Tr + dsum);
310 
311  // Henry's constant and its derivative wrt temperature
312  Kh = p * std::exp(lnkh);
313  dKh_dT = (p * dlnkh_dT + dp_dT) * std::exp(lnkh);
314 }
const std::string temperature
Definition: NS.h:27
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ initialize()

virtual void FluidProperties::initialize ( )
inlinefinalvirtualinherited

Definition at line 28 of file FluidProperties.h.

28 {}

◆ k()

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

◆ k_dpT()

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

Definition at line 461 of file SinglePhaseFluidProperties.C.

463 {
464  k_from_p_T(pressure, temperature, k, dk_dp, dk_dT);
465 }
const std::string temperature
Definition: NS.h:27
virtual Real k(Real pressure, Real temperature) const
virtual Real k_from_p_T(Real pressure, Real temperature) const
Thermal conductivity.
const std::string pressure
Definition: NS.h:26

◆ k_from_p_T() [1/2]

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

Thermal conductivity.

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

Reimplemented in TabulatedFluidProperties, CO2FluidProperties, Water97FluidProperties, NaClFluidProperties, HydrogenFluidProperties, NitrogenFluidProperties, SimpleFluidProperties, MethaneFluidProperties, and IdealGasFluidPropertiesPT.

Definition at line 443 of file SinglePhaseFluidProperties.C.

Referenced by FluidPropertiesMaterialPT::computeQpProperties(), TabulatedFluidProperties::generateTabulatedData(), BrineFluidProperties::k(), SinglePhaseFluidProperties::k(), SinglePhaseFluidProperties::k_dpT(), and TabulatedFluidProperties::k_from_p_T().

444 {
445  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
446 }
const std::string name
Definition: Setup.h:22

◆ k_from_p_T() [2/2]

void SinglePhaseFluidProperties::k_from_p_T ( 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

Reimplemented in TabulatedFluidProperties, CO2FluidProperties, Water97FluidProperties, NaClFluidProperties, HydrogenFluidProperties, NitrogenFluidProperties, SimpleFluidProperties, MethaneFluidProperties, and IdealGasFluidPropertiesPT.

Definition at line 455 of file SinglePhaseFluidProperties.C.

456 {
457  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
458 }
const std::string name
Definition: Setup.h:22

◆ k_from_rho_T()

Real SinglePhaseFluidProperties::k_from_rho_T ( Real  density,
Real  temperature 
) const
virtualinherited

Thermal conductivity as a function of density and temperature.

Parameters
densityfluid density (kg/m^3)
temperaturefluid temperature (K)
Returns
thermal conductivity (W/m/K)

Reimplemented in CO2FluidProperties, Water97FluidProperties, HydrogenFluidProperties, and NitrogenFluidProperties.

Definition at line 327 of file SinglePhaseFluidProperties.C.

328 {
329  mooseError(name(), ": k_from_rho_T is not implemented.");
330 }
const std::string name
Definition: Setup.h:22

◆ k_from_v_e()

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

Thermal conductivity from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 109 of file StiffenedGasFluidProperties.C.

◆ molarMass()

Real StiffenedGasFluidProperties::molarMass ( ) const
overridevirtual

Molar mass [kg/mol].

Returns
molar mass

Reimplemented from SinglePhaseFluidProperties.

Definition at line 423 of file StiffenedGasFluidProperties.C.

424 {
425  return _molar_mass;
426 }

◆ 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 418 of file SinglePhaseFluidProperties.C.

420 {
421  mu_from_p_T(pressure, temperature, mu, dmu_dp, dmu_dT);
422 }
virtual Real mu_from_p_T(Real pressure, Real temperature) const
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_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

Dynamic viscosity and its derivatives wrt density and temperature.

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 322 of file SinglePhaseFluidProperties.C.

323 {
324  mooseError(name(), ": mu_drhoT_from_rho_T is not implemented.");
325 }
const std::string name
Definition: Setup.h:22

◆ mu_from_p_T() [1/2]

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

◆ mu_from_p_T() [2/2]

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

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

Definition at line 425 of file SinglePhaseFluidProperties.C.

426 {
427  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
428 }
const std::string name
Definition: Setup.h:22

◆ mu_from_rho_T()

Real SinglePhaseFluidProperties::mu_from_rho_T ( Real  density,
Real  temperature 
) const
virtualinherited

Dynamic viscosity as a function of density and temperature.

Parameters
densityfluid density (kg/m^3)
temperaturefluid temperature (K)
Returns
viscosity (Pa.s)

Reimplemented in Water97FluidProperties, CO2FluidProperties, HydrogenFluidProperties, and NitrogenFluidProperties.

Definition at line 316 of file SinglePhaseFluidProperties.C.

317 {
318  mooseError(name(), ": mu_from_rho_T is not implemented.");
319 }
const std::string name
Definition: Setup.h:22

◆ mu_from_v_e()

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

Dynamic viscosity from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 107 of file StiffenedGasFluidProperties.C.

◆ p_from_h_s() [1/2]

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

Pressure from specific enthalpy and specific entropy.

Parameters
[in]hspecific enthalpy
[in]sspecific entropy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 381 of file StiffenedGasFluidProperties.C.

Referenced by p_from_h_s().

382 {
383  return std::pow((h - _q) / (_gamma * _cv), _gamma / (_gamma - 1.0)) *
384  std::exp((_q_prime - s) / ((_gamma - 1.0) * _cv)) -
385  _p_inf;
386 }
virtual Real s(Real pressure, Real temperature) const
virtual Real h(Real p, Real T) const
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

Pressure and its derivatives from specific enthalpy and specific entropy.

Parameters
[in]hspecific enthalpy
[in]sspecific entropy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 389 of file StiffenedGasFluidProperties.C.

390 {
391  p = p_from_h_s(h, s);
392  dp_dh = _gamma / (_gamma - 1.0) / (_gamma * _cv) *
393  std::pow((h - _q) / (_gamma * _cv), 1.0 / (_gamma - 1.0)) *
394  std::exp((_q_prime - s) / ((_gamma - 1.0) * _cv));
395  dp_ds = std::pow((h - _q) / (_gamma * _cv), _gamma / (_gamma - 1)) *
396  std::exp((_q_prime - s) / ((_gamma - 1) * _cv)) / ((1 - _gamma) * _cv);
397 }
virtual Real s(Real pressure, Real temperature) const
virtual Real h(Real p, Real T) const
virtual Real p_from_h_s(Real h, Real s) const override
Pressure from specific enthalpy and specific entropy.
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

Pressure from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume

Reimplemented from SinglePhaseFluidProperties.

Definition at line 293 of file StiffenedGasFluidProperties.C.

294 {
295  Real e = e_from_T_v(T, v);
296  return p_from_v_e(v, e);
297 }
virtual Real e_from_T_v(Real T, Real v) const override
Specific volume and specific internal energy from temerature at the vapor spinodal.
virtual Real p_from_v_e(Real v, Real e) const override
Pressure from specific volume and specific internal energy.
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

Pressure and its derivatives from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume
[out]ppressure (Pa)
[out]dp_dTderivative of pressure w.r.t. temperature
[out]dp_dvderivative of pressure w.r.t. specific volume

Reimplemented from SinglePhaseFluidProperties.

Definition at line 300 of file StiffenedGasFluidProperties.C.

301 {
302  Real e, de_dT_v, de_dv_T, dp_dv_e, dp_de_v;
303  e_from_T_v(T, v, e, de_dT_v, de_dv_T);
304  p_from_v_e(v, e, p, dp_dv_e, dp_de_v);
305  dp_dT = dp_de_v * de_dT_v;
306  dp_dv = dp_dv_e + dp_de_v * de_dv_T;
307 }
virtual Real e_from_T_v(Real T, Real v) const override
Specific volume and specific internal energy from temerature at the vapor spinodal.
virtual Real p_from_v_e(Real v, Real e) const override
Pressure from specific volume and specific internal energy.
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

Pressure from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 56 of file StiffenedGasFluidProperties.C.

Referenced by c_from_v_e(), g_from_v_e(), p_from_T_v(), p_from_v_e(), and s_from_v_e().

57 {
58  return (_gamma - 1.0) * (e - _q) / v - _gamma * _p_inf;
59 }
virtual Real e(Real pressure, Real temperature) const

◆ 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

Pressure and its derivatives from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy
[out]ppressure
[out]dp_dvderivative of pressure w.r.t. specific volume
[out]dp_dederivative of pressure w.r.t. specific internal energy

Reimplemented from SinglePhaseFluidProperties.

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
Pressure from specific volume and specific internal energy.
virtual Real e(Real pressure, Real temperature) const

◆ pp_sat_from_p_T()

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

Partial pressure at saturation in a gas mixture.

Parameters
[in]ppressure (Pa)
[in]Ttemperature (K)
Returns
pp_sat (Pa)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 446 of file StiffenedGasFluidProperties.C.

447 {
448  mooseError(
449  name(), ": ", __PRETTY_FUNCTION__, " not implemented. Use a real fluid property class!");
450 }
const std::string name
Definition: Setup.h:22

◆ rho()

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

Definition at line 491 of file SinglePhaseFluidProperties.C.

Referenced by SinglePhaseFluidProperties::beta_from_p_T(), c2_from_p_rho(), e_from_p_rho(), IdealGasFluidProperties::e_from_p_rho(), NaClFluidProperties::e_from_p_T(), SinglePhaseFluidProperties::e_from_p_T(), IdealGasFluidProperties::h_from_p_T(), Water97FluidProperties::k_from_p_T(), CO2FluidProperties::mu_from_p_T(), NitrogenFluidProperties::mu_from_p_T(), HydrogenFluidProperties::mu_from_p_T(), Water97FluidProperties::mu_from_p_T(), SinglePhaseFluidProperties::rho_dpT(), HelmholtzFluidProperties::rho_e_dpT(), IdealGasFluidPropertiesPT::rho_e_dpT(), Water97FluidProperties::rho_e_dpT(), NaClFluidProperties::rho_e_dpT(), SimpleFluidProperties::rho_e_dpT(), TabulatedFluidProperties::rho_e_dpT(), IdealGasFluidProperties::rho_from_p_s(), rho_from_p_s(), HelmholtzFluidProperties::rho_from_p_T(), IdealGasFluidPropertiesPT::rho_from_p_T(), rho_from_p_T(), CO2FluidProperties::rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), Water97FluidProperties::rho_from_p_T(), NaClFluidProperties::rho_from_p_T(), SimpleFluidProperties::rho_from_p_T(), TabulatedFluidProperties::rho_from_p_T(), HelmholtzFluidProperties::rho_mu(), IdealGasFluidPropertiesPT::rho_mu(), SimpleFluidProperties::rho_mu(), Water97FluidProperties::rho_mu(), TabulatedFluidProperties::rho_mu(), HelmholtzFluidProperties::rho_mu_dpT(), IdealGasFluidPropertiesPT::rho_mu_dpT(), SimpleFluidProperties::rho_mu_dpT(), Water97FluidProperties::rho_mu_dpT(), TabulatedFluidProperties::rho_mu_dpT(), SinglePhaseFluidProperties::T_from_p_h(), and SinglePhaseFluidProperties::v_from_p_T().

492 {
493  return rho_from_p_T(p, T);
494 }
virtual Real rho_from_p_T(Real p, Real T) const
Density from pressure and temperature.

◆ rho_dpT()

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

Definition at line 359 of file SinglePhaseFluidProperties.C.

361 {
362  rho_from_p_T(pressure, temperature, rho, drho_dp, drho_dT);
363 }
const std::string temperature
Definition: NS.h:27
virtual Real rho(Real p, Real T) const
virtual Real rho_from_p_T(Real p, Real T) const
Density from pressure and temperature.
const std::string pressure
Definition: NS.h:26

◆ 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

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

Reimplemented in TabulatedFluidProperties, SimpleFluidProperties, NaClFluidProperties, Water97FluidProperties, IdealGasFluidPropertiesPT, and HelmholtzFluidProperties.

Definition at line 379 of file SinglePhaseFluidProperties.C.

381 {
382  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
383 }
const std::string name
Definition: Setup.h:22

◆ rho_from_p_s() [1/2]

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

Density from pressure and specific entropy.

Parameters
[in]ppressure
[in]sspecific entropy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 199 of file StiffenedGasFluidProperties.C.

200 {
201  Real a = (s - _q_prime + _cv * std::log(std::pow(p + _p_inf, _gamma - 1.0))) / _cv;
202  Real T = std::pow(std::exp(a), 1.0 / _gamma);
203  return rho_from_p_T(p, T);
204 }
virtual Real s(Real pressure, Real temperature) const
virtual Real rho_from_p_T(Real p, Real T) const override
Density from pressure and temperature.
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

Density and its derivatives from pressure and specific entropy.

Parameters
[in]ppressure
[in]sspecific entropy
[out]rhodensity
[out]drho_dpderivative of density w.r.t. pressure
[out]drho_dsderivative of density w.r.t. specific entropy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 207 of file StiffenedGasFluidProperties.C.

209 {
210  // T(p,s)
211  const Real aux = (s - _q_prime + _cv * std::log(std::pow(p + _p_inf, _gamma - 1.0))) / _cv;
212  const Real T = std::pow(std::exp(aux), 1 / _gamma);
213 
214  // dT/dp
215  const Real dT_dp = 1.0 / _gamma * std::pow(std::exp(aux), 1.0 / _gamma - 1.0) * std::exp(aux) /
216  std::pow(p + _p_inf, _gamma - 1.0) * (_gamma - 1.0) *
217  std::pow(p + _p_inf, _gamma - 2.0);
218 
219  // dT/ds
220  const Real dT_ds =
221  1.0 / _gamma * std::pow(std::exp(aux), 1.0 / _gamma - 1.0) * std::exp(aux) / _cv;
222 
223  // Drho/Dp = d/dp[rho(p, T(p,s))] = drho/dp + drho/dT * dT/dp
224  Real drho_dp_partial, drho_dT;
225  rho_from_p_T(p, T, rho, drho_dp_partial, drho_dT);
226  drho_dp = drho_dp_partial + drho_dT * dT_dp;
227 
228  // Drho/Ds = d/ds[rho(p, T(p,s))] = drho/dT * dT/ds
229  drho_ds = drho_dT * dT_ds;
230 }
virtual Real s(Real pressure, Real temperature) const
virtual Real rho(Real p, Real T) const
virtual Real rho_from_p_T(Real p, Real T) const override
Density from pressure and temperature.
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

Density from pressure and temperature.

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

Reimplemented from SinglePhaseFluidProperties.

Definition at line 247 of file StiffenedGasFluidProperties.C.

Referenced by rho_from_p_s(), and rho_from_p_T().

248 {
249  mooseAssert(((_gamma - 1.0) * _cv * T) != 0.0, "Invalid gamma or cv or temperature detected!");
250  return (p + _p_inf) / ((_gamma - 1.0) * _cv * T);
251 }

◆ 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

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

Reimplemented from SinglePhaseFluidProperties.

Definition at line 254 of file StiffenedGasFluidProperties.C.

256 {
257  rho = rho_from_p_T(p, T);
258  drho_dp = 1. / ((_gamma - 1.0) * _cv * T);
259  drho_dT = -(p + _p_inf) / ((_gamma - 1.0) * _cv * T * T);
260 }
virtual Real rho(Real p, Real T) const
virtual Real rho_from_p_T(Real p, Real T) const override
Density from pressure and temperature.

◆ 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)

Reimplemented in TabulatedFluidProperties, Water97FluidProperties, SimpleFluidProperties, NaClFluidProperties, IdealGasFluidPropertiesPT, and HelmholtzFluidProperties.

Definition at line 431 of file SinglePhaseFluidProperties.C.

432 {
433  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
434 }
const std::string name
Definition: Setup.h:22

◆ 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

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 TabulatedFluidProperties, Water97FluidProperties, SimpleFluidProperties, NaClFluidProperties, IdealGasFluidPropertiesPT, and HelmholtzFluidProperties.

Definition at line 437 of file SinglePhaseFluidProperties.C.

Referenced by PorousFlowSingleComponentFluid::computeQpProperties(), PorousFlowWaterNCG::gasProperties(), PorousFlowBrineCO2::gasProperties(), and PorousFlowWaterNCG::liquidProperties().

439 {
440  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
441 }
const std::string name
Definition: Setup.h:22

◆ 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

Specific entropy from specific enthalpy and pressure.

Parameters
[in]hspecific enthalpy
[in]ppressure

Reimplemented from SinglePhaseFluidProperties.

Definition at line 148 of file StiffenedGasFluidProperties.C.

149 {
150  const Real aux = (p + _p_inf) * std::pow((h - _q) / (_gamma * _cv), -_gamma / (_gamma - 1));
151  if (aux <= 0.0)
152  throw MooseException(name() + ": Non-positive argument in the ln() function.");
153  return _q_prime - (_gamma - 1) * _cv * std::log(aux);
154 }
virtual Real h(Real p, Real T) const
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

Specific entropy and its derivatives from specific enthalpy and pressure.

Parameters
[in]hspecific enthalpy
[in]ppressure
[out]sspecific entropy
[out]ds_dhderivative of specific entropy w.r.t. specific enthalpy
[out]ds_dpderivative of specific entropy w.r.t. pressure

Reimplemented from SinglePhaseFluidProperties.

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 
163  const Real daux_dh = (p + _p_inf) *
164  std::pow((h - _q) / (_gamma * _cv), -_gamma / (_gamma - 1) - 1) *
165  (-_gamma / (_gamma - 1)) / (_gamma * _cv);
166  const Real daux_dp = std::pow((h - _q) / (_gamma * _cv), -_gamma / (_gamma - 1));
167 
168  s = _q_prime - (_gamma - 1) * _cv * std::log(aux);
169  ds_dh = -(_gamma - 1) * _cv / aux * daux_dh;
170  ds_dp = -(_gamma - 1) * _cv / aux * daux_dp;
171 }
virtual Real s(Real pressure, Real temperature) const
virtual Real h(Real p, Real T) const
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

Specific entropy from pressure and temperature.

Parameters
[in]ppressure
[in]Ttemperature

Reimplemented from SinglePhaseFluidProperties.

Definition at line 174 of file StiffenedGasFluidProperties.C.

175 {
176  Real n = std::pow(T, _gamma) / std::pow(p + _p_inf, _gamma - 1.0);
177  if (n <= 0.0)
178  throw MooseException(name() + ": Negative argument in the ln() function.");
179  return _cv * std::log(n) + _q_prime;
180 }
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

Specific entropy and its derivatives from pressure and temperature.

Parameters
[in]ppressure
[in]Ttemperature
[out]sspecific entropy
[out]ds_dpderivative of specific entropy w.r.t. pressure
[out]ds_dTderivative of specific entropy w.r.t. temperature

Reimplemented from SinglePhaseFluidProperties.

Definition at line 183 of file StiffenedGasFluidProperties.C.

184 {
185  const 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 
189  s = _cv * std::log(n) + _q_prime;
190 
191  const Real dn_dT = _gamma * std::pow(T, _gamma - 1.0) / std::pow(p + _p_inf, _gamma - 1.0);
192  const Real dn_dp = std::pow(T, _gamma) * (1.0 - _gamma) * std::pow(p + _p_inf, -_gamma);
193 
194  ds_dp = _cv / n * dn_dp;
195  ds_dT = _cv / n * dn_dT;
196 }
virtual 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

Specific entropy from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume

Reimplemented from SinglePhaseFluidProperties.

Definition at line 325 of file StiffenedGasFluidProperties.C.

326 {
327  Real e = e_from_T_v(T, v);
328  return s_from_v_e(v, e);
329 }
virtual Real e_from_T_v(Real T, Real v) const override
Specific volume and specific internal energy from temerature at the vapor spinodal.
virtual Real s_from_v_e(Real v, Real e) const override
Specific entropy from specific volume and specific internal energy.
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

Specific entropy and its derivatives from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume
[out]sspecific entropy (J/kg)
[out]ds_dTderivative of specific entropy w.r.t. temperature
[out]ds_dvderivative of specific entropy w.r.t. specific volume

Reimplemented from SinglePhaseFluidProperties.

Definition at line 332 of file StiffenedGasFluidProperties.C.

333 {
334  Real e, de_dT_v, de_dv_T, ds_dv_e, ds_de_v;
335  e_from_T_v(T, v, e, de_dT_v, de_dv_T);
336  s_from_v_e(v, e, s, ds_dv_e, ds_de_v);
337  ds_dT = ds_de_v * de_dT_v;
338  ds_dv = ds_dv_e + ds_de_v * de_dv_T;
339 }
virtual Real e_from_T_v(Real T, Real v) const override
Specific volume and specific internal energy from temerature at the vapor spinodal.
virtual Real s(Real pressure, Real temperature) const
virtual Real s_from_v_e(Real v, Real e) const override
Specific entropy from specific volume and specific internal energy.
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

Specific entropy from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 112 of file StiffenedGasFluidProperties.C.

Referenced by s_from_T_v().

113 {
114  Real T = T_from_v_e(v, e);
115  Real p = p_from_v_e(v, e);
116  Real n = std::pow(T, _gamma) / std::pow(p + _p_inf, _gamma - 1.0);
117  if (n <= 0.0)
118  throw MooseException(name() + ": Negative argument in the ln() function.");
119  return _cv * std::log(n) + _q_prime;
120 }
virtual Real T_from_v_e(Real v, Real e) const override
Temperature from specific volume and specific internal energy.
virtual Real p_from_v_e(Real v, Real e) const override
Pressure from specific volume and specific internal energy.
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

Specific entropy and its derivatives from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy
[out]sspecific entropy
[out]ds_dvderivative of specific entropy w.r.t. specific volume
[out]ds_dederivative of specific entropy w.r.t. specific internal energy

Reimplemented from SinglePhaseFluidProperties.

Definition at line 123 of file StiffenedGasFluidProperties.C.

124 {
125  Real T, dT_dv, dT_de;
126  T_from_v_e(v, e, T, dT_dv, dT_de);
127 
128  Real p, dp_dv, dp_de;
129  p_from_v_e(v, e, p, dp_dv, dp_de);
130 
131  const Real n = std::pow(T, _gamma) / std::pow(p + _p_inf, _gamma - 1.0);
132  if (n <= 0.0)
133  throw MooseException(name() + ": Negative argument in the ln() function.");
134 
135  s = _cv * std::log(n) + _q_prime;
136 
137  const Real dn_dT = _gamma * std::pow(T, _gamma - 1.0) / std::pow(p + _p_inf, _gamma - 1.0);
138  const Real dn_dp = std::pow(T, _gamma) * (1.0 - _gamma) * std::pow(p + _p_inf, -_gamma);
139 
140  const Real dn_dv = dn_dT * dT_dv + dn_dp * dp_dv;
141  const Real dn_de = dn_dT * dT_de + dn_dp * dp_de;
142 
143  ds_dv = _cv / n * dn_dv;
144  ds_de = _cv / n * dn_de;
145 }
virtual Real T_from_v_e(Real v, Real e) const override
Temperature from specific volume and specific internal energy.
virtual Real s(Real pressure, Real temperature) const
virtual Real p_from_v_e(Real v, Real e) const override
Pressure from specific volume and specific internal energy.
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 32 of file FluidProperties.h.

32 {}

◆ 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 601 of file SinglePhaseFluidProperties.C.

602 {
603  const Real s = s_from_h_p(h, p);
604  const Real rho = rho_from_p_s(p, s);
605  const Real v = 1. / rho;
606  const Real e = e_from_v_h(v, h);
607  return T_from_v_e(v, e);
608 }
virtual Real T_from_v_e(Real v, Real e) const
Temperature from specific volume and specific internal energy.
virtual Real s(Real pressure, Real temperature) const
virtual Real h(Real p, Real T) const
virtual Real s_from_h_p(Real h, Real p) const
Specific entropy from specific enthalpy and pressure.
virtual Real rho(Real p, Real T) const
virtual Real e_from_v_h(Real v, Real h) const
Specific internal energy as a function of specific volume and specific enthalpy.
virtual Real rho_from_p_s(Real p, Real s) const
Density from pressure and specific entropy.
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

Temperature from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy
Returns
sound speed

Reimplemented from SinglePhaseFluidProperties.

Definition at line 70 of file StiffenedGasFluidProperties.C.

Referenced by g_from_v_e(), s_from_v_e(), and T_from_v_e().

71 {
72  return (1.0 / _cv) * (e - _q - _p_inf * v);
73 }
virtual Real e(Real pressure, Real temperature) const

◆ 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

Temperature and its derivatives from specific volume and specific internal energy.

Parameters
[in]vspecific volume
[in]especific internal energy
[out]Ttemperature
[out]dT_dvderivative of temperature w.r.t. specific volume
[out]dT_dederivative of temperature w.r.t. specific internal energy

Reimplemented from SinglePhaseFluidProperties.

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
Temperature from specific volume and specific internal energy.
virtual Real e(Real pressure, Real temperature) const

◆ threadJoin()

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

Definition at line 31 of file FluidProperties.h.

31 {}

◆ 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 238 of file SinglePhaseFluidProperties.C.

239 {
240  mooseError(name(), ": triplePointPressure() is not implemented");
241 }
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 244 of file SinglePhaseFluidProperties.C.

245 {
246  mooseError(name(), ": triplePointTemperature() is not implemented");
247 }
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 346 of file StiffenedGasFluidProperties.C.

347 {
348  v = 1. / _rho_c;
349  e = _e_c;
350 }
virtual Real e(Real pressure, Real temperature) const

◆ v_from_p_T() [1/2]

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

Specific volume from pressure and temperature.

Parameters
[in]ppressure
[in]Ttemperature

Definition at line 151 of file SinglePhaseFluidProperties.C.

Referenced by GeneralVaporMixtureFluidProperties::c_from_p_T(), GeneralVaporMixtureFluidProperties::cp_from_p_T(), GeneralVaporMixtureFluidProperties::cv_from_p_T(), GeneralVaporMixtureFluidProperties::k_from_p_T(), GeneralVaporMixtureFluidProperties::mu_from_p_T(), GeneralVaporMixtureFluidProperties::v_from_p_T(), and IdealRealGasMixtureFluidProperties::xs_prim_from_p_T().

152 {
153  Real rho = rho_from_p_T(p, T);
154  return 1.0 / rho;
155 }
virtual Real rho(Real p, Real T) const
virtual Real rho_from_p_T(Real p, Real T) const
Density from pressure and temperature.

◆ 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 158 of file SinglePhaseFluidProperties.C.

159 {
160  Real rho, drho_dp, drho_dT;
161  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
162 
163  v = 1.0 / rho;
164  const Real dv_drho = -1.0 / (rho * rho);
165 
166  dv_dp = dv_drho * drho_dp;
167  dv_dT = dv_drho * drho_dT;
168 }
virtual Real rho(Real p, Real T) const
virtual Real rho_from_p_T(Real p, Real T) const
Density from pressure and temperature.

◆ vaporPressure()

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 Water97FluidProperties, CO2FluidProperties, HydrogenFluidProperties, NitrogenFluidProperties, and MethaneFluidProperties.

Definition at line 345 of file SinglePhaseFluidProperties.C.

Referenced by BrineFluidProperties::vaporPressure().

346 {
347  mooseError(name(), ": vaporPressure() is not implemented");
348 }
const std::string name
Definition: Setup.h:22

◆ vaporPressure_dT()

void SinglePhaseFluidProperties::vaporPressure_dT ( 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 Water97FluidProperties.

Definition at line 351 of file SinglePhaseFluidProperties.C.

Referenced by PorousFlowWaterNCG::equilibriumMassFractions(), and PorousFlowWaterNCG::gasProperties().

354 {
355  mooseError(name(), ": vaporPressure_dT() is not implemented");
356 }
const std::string name
Definition: Setup.h:22

Member Data Documentation

◆ _cp

Real StiffenedGasFluidProperties::_cp
protected

Definition at line 89 of file StiffenedGasFluidProperties.h.

Referenced by cp_from_v_e(), and StiffenedGasFluidProperties().

◆ _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 92 of file StiffenedGasFluidProperties.h.

Referenced by k_from_v_e().

◆ _molar_mass

Real StiffenedGasFluidProperties::_molar_mass
protected

Definition at line 93 of file StiffenedGasFluidProperties.h.

Referenced by molarMass().

◆ _mu

Real StiffenedGasFluidProperties::_mu
protected

Definition at line 91 of file StiffenedGasFluidProperties.h.

Referenced by 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 96 of file StiffenedGasFluidProperties.h.

Referenced by criticalDensity(), and v_e_spndl_from_T().

◆ _T_c

Real StiffenedGasFluidProperties::_T_c
protected

Definition at line 95 of file StiffenedGasFluidProperties.h.

Referenced by criticalTemperature().

◆ _T_c2k

const Real SinglePhaseFluidProperties::_T_c2k
protectedinherited

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