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

Ideal gas fluid properties. More...

#include <IdealGasFluidProperties.h>

Inheritance diagram for IdealGasFluidProperties:
[legend]

Public Member Functions

 IdealGasFluidProperties (const InputParameters &parameters)
 
virtual ~IdealGasFluidProperties ()
 
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_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 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 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 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 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 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 T_from_p_h (Real p, Real h) const override
 Temperature from pressure and specific enthalpy. More...
 
virtual Real molarMass () const override
 Molar mass [kg/mol]. More...
 
virtual Real gamma () const
 
virtual Real cv () const
 
virtual Real cp () const
 
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 e_spndl_from_v (Real v) const
 Specific internal energy from temperature and specific volume. More...
 
virtual void v_e_spndl_from_T (Real T, Real &v, Real &e) const
 Specific internal energy from temperature and specific volume. 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 pp_sat_from_p_T (Real p, Real T) const
 Partial pressure at saturation in a gas mixture. More...
 
virtual Real criticalPressure () const
 Critical pressure. More...
 
virtual Real criticalTemperature () const
 Critical temperature. More...
 
virtual Real criticalDensity () const
 Critical density. More...
 
virtual Real criticalInternalEnergy () const
 Critical specific internal energy. 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 _R
 
Real _cv
 
Real _cp
 
Real _mu
 
Real _k
 
const Real _T_c2k
 Conversion of temperature from Celsius to Kelvin. More...
 

Static Protected Attributes

static constexpr Real R_universal = 8.3144598
 Universal gas constant [J/K.mol]. More...
 

Detailed Description

Ideal gas fluid properties.

Definition at line 23 of file IdealGasFluidProperties.h.

Constructor & Destructor Documentation

◆ IdealGasFluidProperties()

IdealGasFluidProperties::IdealGasFluidProperties ( const InputParameters &  parameters)

Definition at line 28 of file IdealGasFluidProperties.C.

29  : SinglePhaseFluidProperties(parameters),
30  _gamma(getParam<Real>("gamma")),
31  _R(getParam<Real>("R")),
32  _mu(getParam<Real>("mu")),
33  _k(getParam<Real>("k"))
34 {
35  _cp = _gamma * _R / (_gamma - 1.0);
36  _cv = _cp / _gamma;
37 }
SinglePhaseFluidProperties(const InputParameters &parameters)

◆ ~IdealGasFluidProperties()

IdealGasFluidProperties::~IdealGasFluidProperties ( )
virtual

Definition at line 39 of file IdealGasFluidProperties.C.

39 {}

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 c_from_v_e(), StiffenedGasFluidProperties::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

◆ 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 IdealGasFluidProperties::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 74 of file IdealGasFluidProperties.C.

Referenced by NSInitialCondition::value().

75 {
76  Real T = T_from_v_e(v, e);
77 
78  const Real c2 = _gamma * _R * T;
79  if (c2 < 0)
80  mooseException(name() + ": Sound speed squared (gamma * R * T) is negative: c2 = " +
81  Moose::stringify(c2) + ".");
82 
83  return std::sqrt(c2);
84 }
virtual Real T_from_v_e(Real v, Real e) const override
Temperature from specific volume and specific internal energy.
const std::string name
Definition: Setup.h:22
virtual Real e(Real pressure, Real temperature) const

◆ c_from_v_e() [2/2]

void IdealGasFluidProperties::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 87 of file IdealGasFluidProperties.C.

88 {
89  Real T, dT_dv, dT_de;
90  T_from_v_e(v, e, T, dT_dv, dT_de);
91 
92  c = std::sqrt(_gamma * _R * T);
93 
94  const Real dc_dT = 0.5 / c * _gamma * _R;
95  dc_dv = dc_dT * dT_dv;
96  dc_de = dc_dT * dT_de;
97 }
virtual Real T_from_v_e(Real v, Real e) const override
Temperature from specific volume and specific internal energy.
virtual Real c(Real pressure, Real temperature) const
virtual Real e(Real pressure, Real temperature) const

◆ cp()

Real IdealGasFluidProperties::cp ( ) const
virtual

◆ 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 IdealGasFluidProperties::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 99 of file IdealGasFluidProperties.C.

◆ criticalDensity()

Real SinglePhaseFluidProperties::criticalDensity ( ) const
virtualinherited

◆ criticalInternalEnergy()

Real SinglePhaseFluidProperties::criticalInternalEnergy ( ) const
virtualinherited

Critical specific internal energy.

Returns
specific internal energy (J/kg)

Reimplemented in StiffenedGasFluidProperties.

Definition at line 232 of file SinglePhaseFluidProperties.C.

Referenced by IdealRealGasMixtureFluidProperties::p_T_from_v_e().

233 {
234  mooseError(name(), ": criticalInternalEnergy() is not implemented");
235 }
const std::string name
Definition: Setup.h:22

◆ 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 SinglePhaseFluidProperties::criticalTemperature ( ) const
virtualinherited

◆ cv()

Real IdealGasFluidProperties::cv ( ) const
virtual

◆ 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 IdealGasFluidProperties::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 350 of file IdealGasFluidProperties.C.

◆ cv_from_v_e()

Real IdealGasFluidProperties::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 107 of file IdealGasFluidProperties.C.

◆ e()

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

Definition at line 366 of file SinglePhaseFluidProperties.C.

Referenced by Water97FluidProperties::b2bc(), c_from_v_e(), StiffenedGasFluidProperties::c_from_v_e(), NaClFluidProperties::cp_from_p_T(), Water97FluidProperties::densityRegion3(), SinglePhaseFluidProperties::e_dpT(), StiffenedGasFluidProperties::e_from_p_rho(), e_from_p_rho(), HelmholtzFluidProperties::e_from_p_T(), IdealGasFluidPropertiesPT::e_from_p_T(), Water97FluidProperties::e_from_p_T(), e_from_p_T(), NaClFluidProperties::e_from_p_T(), StiffenedGasFluidProperties::e_from_p_T(), SimpleFluidProperties::e_from_p_T(), TabulatedFluidProperties::e_from_p_T(), SinglePhaseFluidProperties::e_from_p_T(), StiffenedGasFluidProperties::e_from_T_v(), e_from_T_v(), e_from_v_h(), StiffenedGasFluidProperties::e_from_v_h(), g_from_v_e(), StiffenedGasFluidProperties::g_from_v_e(), 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(), StiffenedGasFluidProperties::p_from_T_v(), StiffenedGasFluidProperties::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(), StiffenedGasFluidProperties::s_from_T_v(), StiffenedGasFluidProperties::s_from_v_e(), s_from_v_e(), Water97FluidProperties::subregion3(), Water97FluidProperties::subregionVolume(), SinglePhaseFluidProperties::T_from_p_h(), StiffenedGasFluidProperties::T_from_v_e(), T_from_v_e(), StiffenedGasFluidProperties::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 IdealGasFluidProperties::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 276 of file IdealGasFluidProperties.C.

Referenced by e_from_p_rho().

277 {
278  return p / (_gamma - 1.0) / rho;
279 }
virtual Real rho(Real p, Real T) const

◆ e_from_p_rho() [2/2]

void IdealGasFluidProperties::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 282 of file IdealGasFluidProperties.C.

284 {
285  e = e_from_p_rho(p, rho);
286  de_dp = 1.0 / (_gamma - 1.0) / rho;
287  de_drho = -p / (_gamma - 1.0) / rho / rho;
288 }
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 IdealGasFluidProperties::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 370 of file IdealGasFluidProperties.C.

Referenced by e_from_p_T().

371 {
372  return _cv * T;
373 }

◆ e_from_p_T() [2/2]

void IdealGasFluidProperties::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 376 of file IdealGasFluidProperties.C.

377 {
378  e = e_from_p_T(p, T);
379  de_dp = 0.;
380  de_dT = _cv;
381 }
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 IdealGasFluidProperties::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 291 of file IdealGasFluidProperties.C.

292 {
293  return _cv * T;
294 }

◆ e_from_T_v() [2/2]

void IdealGasFluidProperties::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 297 of file IdealGasFluidProperties.C.

298 {
299  e = _cv * T;
300  de_dT = _cv;
301  de_dv = 0.0;
302 }
virtual Real e(Real pressure, Real temperature) const

◆ e_from_v_h() [1/2]

Real IdealGasFluidProperties::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 242 of file IdealGasFluidProperties.C.

Referenced by e_from_v_h().

243 {
244  return h / _gamma;
245 }
virtual Real h(Real p, Real T) const

◆ e_from_v_h() [2/2]

void IdealGasFluidProperties::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 248 of file IdealGasFluidProperties.C.

249 {
250  e = e_from_v_h(v, h);
251  de_dv = 0.0;
252  de_dh = 1.0 / _gamma;
253 }
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 SinglePhaseFluidProperties::e_spndl_from_v ( Real  v) const
virtualinherited

Specific internal energy from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume

Reimplemented in StiffenedGasFluidProperties.

Definition at line 518 of file SinglePhaseFluidProperties.C.

Referenced by IdealRealGasMixtureFluidProperties::p_T_from_v_e().

519 {
520  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
521 }
const std::string name
Definition: Setup.h:22

◆ 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 IdealGasFluidProperties::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 402 of file IdealGasFluidProperties.C.

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

Real IdealGasFluidProperties::gamma ( ) const
virtual

◆ 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 IdealGasFluidProperties::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 IdealGasFluidProperties.C.

Referenced by h_from_p_T().

354 {
355  Real rho = rho_from_p_T(p, T);
356  Real e = T * _cv;
357  return e + p / rho;
358 }
virtual Real rho_from_p_T(Real p, Real T) const override
Density from pressure and temperature.
virtual Real rho(Real p, Real T) const
virtual Real e(Real pressure, Real temperature) const

◆ h_from_p_T() [2/2]

void IdealGasFluidProperties::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 361 of file IdealGasFluidProperties.C.

362 {
363  h = h_from_p_T(p, T);
364  Real rho = rho_from_p_T(p, T);
365  dh_dp = 0.0;
366  dh_dT = _cv + p / rho / T;
367 }
virtual Real rho_from_p_T(Real p, Real T) const override
Density from pressure and temperature.
virtual Real h(Real p, Real T) const
virtual Real rho(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 IdealGasFluidProperties::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 319 of file IdealGasFluidProperties.C.

◆ h_from_T_v() [2/2]

void IdealGasFluidProperties::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 325 of file IdealGasFluidProperties.C.

326 {
327  h = _gamma * _cv * T;
328  dh_dT = _gamma * _cv;
329  dh_dv = 0.0;
330 }
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 IdealGasFluidProperties::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 123 of file IdealGasFluidProperties.C.

123 { return _k; }

◆ molarMass()

Real IdealGasFluidProperties::molarMass ( ) const
overridevirtual

Molar mass [kg/mol].

Returns
molar mass

Reimplemented from SinglePhaseFluidProperties.

Definition at line 418 of file IdealGasFluidProperties.C.

419 {
420  return _R / R_universal;
421 }
static constexpr Real R_universal
Universal gas constant [J/K.mol].

◆ 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 IdealGasFluidProperties::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 121 of file IdealGasFluidProperties.C.

◆ p_from_h_s() [1/2]

Real IdealGasFluidProperties::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 384 of file IdealGasFluidProperties.C.

Referenced by p_from_h_s().

385 {
386  return std::pow(h / (_gamma * _cv), _gamma / (_gamma - 1.0)) *
387  std::exp(-s / ((_gamma - 1.0) * _cv));
388 }
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 IdealGasFluidProperties::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 391 of file IdealGasFluidProperties.C.

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

◆ p_from_T_v() [1/2]

Real IdealGasFluidProperties::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 305 of file IdealGasFluidProperties.C.

Referenced by s_from_T_v().

306 {
307  return (_gamma - 1.0) * _cv * T / v;
308 }

◆ p_from_T_v() [2/2]

void IdealGasFluidProperties::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 311 of file IdealGasFluidProperties.C.

312 {
313  p = (_gamma - 1.0) * _cv * T / v;
314  dp_dT = (_gamma - 1.0) * _cv / v;
315  dp_dv = -(_gamma - 1.0) * _cv * T / (v * v);
316 }

◆ p_from_v_e() [1/2]

Real IdealGasFluidProperties::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 42 of file IdealGasFluidProperties.C.

Referenced by NSPressureAux::computeValue(), g_from_v_e(), p_from_v_e(), and s_from_v_e().

43 {
44  if (v == 0.0)
45  throw MooseException(
46  name() + ": Invalid value of specific volume detected (v = " + Moose::stringify(v) + ").");
47 
48  return (_gamma - 1.0) * e / v;
49 }
const std::string name
Definition: Setup.h:22
virtual Real e(Real pressure, Real temperature) const

◆ p_from_v_e() [2/2]

void IdealGasFluidProperties::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 52 of file IdealGasFluidProperties.C.

53 {
54  p = p_from_v_e(v, e);
55  dp_dv = -(_gamma - 1.0) * e / v / v;
56  dp_de = (_gamma - 1.0) / v;
57 }
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 SinglePhaseFluidProperties::pp_sat_from_p_T ( Real  p,
Real  T 
) const
virtualinherited

Partial pressure at saturation in a gas mixture.

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

Reimplemented in StiffenedGasFluidProperties.

Definition at line 196 of file SinglePhaseFluidProperties.C.

Referenced by IdealRealGasMixtureFluidProperties::xs_prim_from_p_T().

197 {
198  mooseError(name(), ": pp_sat_from_p_T is not implemented");
199 }
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(), StiffenedGasFluidProperties::c2_from_p_rho(), StiffenedGasFluidProperties::e_from_p_rho(), e_from_p_rho(), NaClFluidProperties::e_from_p_T(), SinglePhaseFluidProperties::e_from_p_T(), 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(), rho_from_p_s(), StiffenedGasFluidProperties::rho_from_p_s(), HelmholtzFluidProperties::rho_from_p_T(), IdealGasFluidPropertiesPT::rho_from_p_T(), StiffenedGasFluidProperties::rho_from_p_T(), CO2FluidProperties::rho_from_p_T(), 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 IdealGasFluidProperties::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 209 of file IdealGasFluidProperties.C.

210 {
211  const Real aux = (s + _cv * std::log(std::pow(p, _gamma - 1.0))) / _cv;
212  const Real T = std::pow(std::exp(aux), 1.0 / _gamma);
213  return rho_from_p_T(p, T);
214 }
virtual Real rho_from_p_T(Real p, Real T) const override
Density from pressure and temperature.
virtual Real s(Real pressure, Real temperature) const
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ rho_from_p_s() [2/2]

void IdealGasFluidProperties::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 217 of file IdealGasFluidProperties.C.

219 {
220  // T(p,s)
221  const Real aux = (s + _cv * std::log(std::pow(p, _gamma - 1.0))) / _cv;
222  const Real T = std::pow(std::exp(aux), 1 / _gamma);
223 
224  // dT/dp
225  const Real dT_dp = 1.0 / _gamma * std::pow(std::exp(aux), 1.0 / _gamma - 1.0) * std::exp(aux) /
226  std::pow(p, _gamma - 1.0) * (_gamma - 1.0) * std::pow(p, _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 }
virtual Real rho_from_p_T(Real p, Real T) const override
Density from pressure and temperature.
virtual Real s(Real pressure, Real temperature) const
virtual Real rho(Real p, Real T) const
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ rho_from_p_T() [1/2]

Real IdealGasFluidProperties::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 256 of file IdealGasFluidProperties.C.

Referenced by h_from_p_T(), rho_from_p_s(), rho_from_p_T(), NSWeakStagnationBaseBC::staticValues(), and NSInitialCondition::value().

257 {
258  if ((_gamma - 1.0) * p == 0.0)
259  throw MooseException(name() +
260  ": Invalid gamma or pressure detected in rho_from_p_T(pressure = " +
261  Moose::stringify(p) + ", gamma = " + Moose::stringify(_gamma) + ")");
262 
263  return p / (_gamma - 1.0) / _cv / T;
264 }
const std::string name
Definition: Setup.h:22

◆ rho_from_p_T() [2/2]

void IdealGasFluidProperties::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 267 of file IdealGasFluidProperties.C.

269 {
270  rho = rho_from_p_T(p, T);
271  drho_dp = 1.0 / (_gamma - 1.0) / _cv / T;
272  drho_dT = -p / (_gamma - 1.0) / _cv / (T * T);
273 }
virtual Real rho_from_p_T(Real p, Real T) const override
Density from pressure and temperature.
virtual Real rho(Real p, Real T) const

◆ 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 IdealGasFluidProperties::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 187 of file IdealGasFluidProperties.C.

Referenced by s_from_h_p().

188 {
189  const Real aux = p * std::pow(h / (_gamma * _cv), -_gamma / (_gamma - 1));
190  if (aux <= 0.0)
191  throw MooseException(name() + ": Non-positive argument in the ln() function.");
192  return -(_gamma - 1) * _cv * std::log(aux);
193 }
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 IdealGasFluidProperties::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 196 of file IdealGasFluidProperties.C.

197 {
198  s = s_from_h_p(h, p);
199 
200  const Real aux = p * std::pow(h / (_gamma * _cv), -_gamma / (_gamma - 1));
201  const Real daux_dh = p * std::pow(h / (_gamma * _cv), -_gamma / (_gamma - 1) - 1) *
202  (-_gamma / (_gamma - 1)) / (_gamma * _cv);
203  const Real daux_dp = std::pow(h / (_gamma * _cv), -_gamma / (_gamma - 1));
204  ds_dh = -(_gamma - 1) * _cv / aux * daux_dh;
205  ds_dp = -(_gamma - 1) * _cv / aux * daux_dp;
206 }
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 override
Specific entropy from specific enthalpy and pressure.
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ s_from_p_T() [1/2]

Real IdealGasFluidProperties::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 162 of file IdealGasFluidProperties.C.

Referenced by s_from_T_v().

163 {
164  const Real n = std::pow(T, _gamma) / std::pow(p, _gamma - 1.0);
165  if (n <= 0.0)
166  throw MooseException(name() + ": Negative argument in the ln() function.");
167  return _cv * std::log(n);
168 }
const std::string name
Definition: Setup.h:22
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)

◆ s_from_p_T() [2/2]

void IdealGasFluidProperties::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 171 of file IdealGasFluidProperties.C.

172 {
173  const Real n = std::pow(T, _gamma) / std::pow(p, _gamma - 1.0);
174  if (n <= 0.0)
175  throw MooseException(name() + ": Negative argument in the ln() function.");
176 
177  s = _cv * std::log(n);
178 
179  const Real dn_dT = _gamma * std::pow(T, _gamma - 1.0) / std::pow(p, _gamma - 1.0);
180  const Real dn_dp = std::pow(T, _gamma) * (1.0 - _gamma) * std::pow(p, -_gamma);
181 
182  ds_dp = _cv / n * dn_dp;
183  ds_dT = _cv / n * dn_dT;
184 }
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 IdealGasFluidProperties::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 333 of file IdealGasFluidProperties.C.

334 {
335  Real p = p_from_T_v(T, v);
336  return s_from_p_T(p, T);
337 }
virtual Real p_from_T_v(Real T, Real v) const override
Pressure from temperature and specific volume.
virtual Real s_from_p_T(Real p, Real T) const override
Specific entropy from pressure and temperature.

◆ s_from_T_v() [2/2]

void IdealGasFluidProperties::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 340 of file IdealGasFluidProperties.C.

341 {
342  Real p, dp_dT_v, dp_dv_T;
343  Real ds_dp_T, ds_dT_p;
344  p_from_T_v(T, v, p, dp_dT_v, dp_dv_T);
345  s_from_p_T(p, T, s, ds_dp_T, ds_dT_p);
346  ds_dT = ds_dT_p + ds_dp_T * dp_dT_v;
347  ds_dv = ds_dp_T * dp_dv_T;
348 }
virtual Real s(Real pressure, Real temperature) const
virtual Real p_from_T_v(Real T, Real v) const override
Pressure from temperature and specific volume.
virtual Real s_from_p_T(Real p, Real T) const override
Specific entropy from pressure and temperature.

◆ s_from_v_e() [1/2]

Real IdealGasFluidProperties::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 126 of file IdealGasFluidProperties.C.

127 {
128  const Real T = T_from_v_e(v, e);
129  const Real p = p_from_v_e(v, e);
130  const Real n = std::pow(T, _gamma) / std::pow(p, _gamma - 1.0);
131  if (n <= 0.0)
132  throw MooseException(name() + ": Negative argument in the ln() function.");
133  return _cv * std::log(n);
134 }
virtual Real p_from_v_e(Real v, Real e) const override
Pressure from specific volume and specific internal energy.
virtual Real T_from_v_e(Real v, Real e) const override
Temperature 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 IdealGasFluidProperties::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 137 of file IdealGasFluidProperties.C.

138 {
139  Real T, dT_dv, dT_de;
140  T_from_v_e(v, e, T, dT_dv, dT_de);
141 
142  Real p, dp_dv, dp_de;
143  p_from_v_e(v, e, p, dp_dv, dp_de);
144 
145  const Real n = std::pow(T, _gamma) / std::pow(p, _gamma - 1.0);
146  if (n <= 0.0)
147  throw MooseException(name() + ": Negative argument in the ln() function.");
148 
149  s = _cv * std::log(n);
150 
151  const Real dn_dT = _gamma * std::pow(T, _gamma - 1.0) / std::pow(p, _gamma - 1.0);
152  const Real dn_dp = std::pow(T, _gamma) * (1.0 - _gamma) * std::pow(p, -_gamma);
153 
154  const Real dn_dv = dn_dT * dT_dv + dn_dp * dp_dv;
155  const Real dn_de = dn_dT * dT_de + dn_dp * dp_de;
156 
157  ds_dv = _cv / n * dn_dv;
158  ds_de = _cv / n * dn_de;
159 }
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.
virtual Real T_from_v_e(Real v, Real e) const override
Temperature 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 IdealGasFluidProperties::T_from_p_h ( Real  pressure,
Real  enthalpy 
) const
overridevirtual

Temperature from pressure and specific enthalpy.

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

Reimplemented from SinglePhaseFluidProperties.

Definition at line 424 of file IdealGasFluidProperties.C.

425 {
426  return h / _gamma / _cv;
427 }
virtual Real h(Real p, Real T) const

◆ T_from_v_e() [1/2]

Real IdealGasFluidProperties::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 60 of file IdealGasFluidProperties.C.

Referenced by c_from_v_e(), NSTemperatureAux::computeValue(), g_from_v_e(), s_from_v_e(), and T_from_v_e().

61 {
62  return e / _cv;
63 }
virtual Real e(Real pressure, Real temperature) const

◆ T_from_v_e() [2/2]

void IdealGasFluidProperties::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 66 of file IdealGasFluidProperties.C.

67 {
68  T = T_from_v_e(v, e);
69  dT_dv = 0.0;
70  dT_de = 1.0 / _cv;
71 }
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 SinglePhaseFluidProperties::v_e_spndl_from_T ( Real  T,
Real &  v,
Real &  e 
) const
virtualinherited

Specific internal energy from temperature and specific volume.

Parameters
[in]Ttemperature
[in]vspecific volume

Reimplemented in StiffenedGasFluidProperties.

Definition at line 524 of file SinglePhaseFluidProperties.C.

Referenced by IdealRealGasMixtureFluidProperties::v_from_p_T().

525 {
526  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
527 }
const std::string name
Definition: Setup.h:22

◆ 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 IdealGasFluidProperties::_cp
protected

Definition at line 83 of file IdealGasFluidProperties.h.

Referenced by cp(), cp_from_v_e(), and IdealGasFluidProperties().

◆ _cv

Real IdealGasFluidProperties::_cv
protected

◆ _gamma

Real IdealGasFluidProperties::_gamma
protected

◆ _k

Real IdealGasFluidProperties::_k
protected

Definition at line 86 of file IdealGasFluidProperties.h.

Referenced by k_from_v_e().

◆ _mu

Real IdealGasFluidProperties::_mu
protected

Definition at line 85 of file IdealGasFluidProperties.h.

Referenced by mu_from_v_e().

◆ _R

Real IdealGasFluidProperties::_R
protected

Definition at line 81 of file IdealGasFluidProperties.h.

Referenced by c_from_v_e(), IdealGasFluidProperties(), and molarMass().

◆ _T_c2k

const Real SinglePhaseFluidProperties::_T_c2k
protectedinherited

◆ R_universal

constexpr Real IdealGasFluidProperties::R_universal = 8.3144598
staticprotected

Universal gas constant [J/K.mol].

Definition at line 89 of file IdealGasFluidProperties.h.

Referenced by molarMass().


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