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

Hydrogen (H2) fluid properties as a function of pressure (Pa) and temperature (K). More...

#include <HydrogenFluidProperties.h>

Inheritance diagram for HydrogenFluidProperties:
[legend]

Public Member Functions

 HydrogenFluidProperties (const InputParameters &parameters)
 
virtual std::string fluidName () const override
 
virtual Real molarMass () const override
 Fluid name. More...
 
virtual Real mu_from_rho_T (Real density, Real temperature) const override
 
void mu_from_rho_T (Real density, Real temperature, Real ddensity_dT, Real &mu, Real &dmu_drho, Real &dmu_dT) const
 
virtual Real mu_from_p_T (Real pressure, Real temperature) const override
 
virtual void mu_from_p_T (Real pressure, Real temperature, Real &mu, Real &dmu_dp, Real &dmu_dT) const override
 
virtual void rho_mu_from_p_T (Real pressure, Real temperature, Real &rho, Real &mu) const override
 Combined methods. More...
 
virtual void rho_mu_from_p_T (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT, Real &mu, Real &dmu_dp, Real &dmu_dT) const override
 
virtual Real k_from_rho_T (Real density, Real temperature) const override
 
virtual Real k_from_p_T (Real pressure, Real temperature) const override
 
virtual void k_from_p_T (Real pressure, Real temperature, Real &k, Real &dk_dp, Real &dk_dT) const override
 
virtual std::vector< Real > henryCoefficients () const override
 Henry's law coefficients for dissolution in water. More...
 
virtual Real criticalPressure () const override
 Critical pressure. More...
 
virtual Real criticalTemperature () const override
 Critical temperature. More...
 
virtual Real criticalDensity () const override
 Critical density. More...
 
virtual Real triplePointPressure () const override
 Triple point pressure. More...
 
virtual Real triplePointTemperature () const override
 Triple point temperature. More...
 
virtual Real vaporPressure (Real temperature) const override
 Vapor pressure. More...
 
virtual void vaporPressure (Real temperature, Real &psat, Real &dpsat_dT) const override
 
virtual Real rho_from_p_T (Real pressure, Real temperature) const override
 
virtual void rho_from_p_T (Real pressure, Real temperature, Real &rho, Real &drho_dp, Real &drho_dT) const override
 
virtual Real e_from_p_T (Real pressure, Real temperature) const override
 
virtual void e_from_p_T (Real p, Real T, Real &e, Real &de_dp, Real &de_dT) const override
 
virtual Real c_from_p_T (Real pressure, Real temperature) const override
 
virtual Real cp_from_p_T (Real pressure, Real temperature) const override
 
virtual Real cv_from_p_T (Real pressure, Real temperature) const override
 
virtual Real s_from_p_T (Real pressure, Real temperature) const override
 
virtual void s_from_p_T (Real p, Real T, Real &s, Real &ds_dp, Real &ds_dT) const override
 
virtual Real h_from_p_T (Real pressure, Real temperature) const override
 
virtual void h_from_p_T (Real p, Real T, Real &h, Real &dh_dp, Real &dh_dT) const override
 
virtual Real p_from_rho_T (Real rho, Real T) const
 Pressure as a function of density and temperature. More...
 
virtual Real criticalInternalEnergy () const
 Critical specific internal energy. 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...
 
DualReal vaporPressure (const DualReal &T) const
 
virtual Real vaporTemperature (Real p) const
 Vapor temperature. More...
 
virtual void vaporTemperature (Real p, Real &Tsat, Real &dTsat_dp) const
 
DualReal vaporTemperature (const DualReal &p) const
 
virtual void rho_mu_from_p_T (const DualReal &p, const DualReal &T, DualReal &rho, DualReal &mu) const
 
virtual void rho_e_from_p_T (Real p, Real T, Real &rho, Real &drho_dp, Real &drho_dT, Real &e, Real &de_dp, Real &de_dT) const
 
virtual void execute () final
 
virtual void initialize () final
 
virtual void finalize () final
 
virtual void threadJoin (const UserObject &) final
 
virtual void subdomainSetup () final
 

Static Public Attributes

static const Real _R = 8.3144598
 Universal gas constant (J/mol/K) More...
 

Protected Member Functions

virtual Real alpha (Real delta, Real tau) const override
 Helmholtz free energy for H2 From Leachman et al (reference above) More...
 
virtual Real dalpha_ddelta (Real delta, Real tau) const override
 Derivative of Helmholtz free energy wrt delta. More...
 
virtual Real dalpha_dtau (Real delta, Real tau) const override
 Derivative of Helmholtz free energy wrt tau. More...
 
virtual Real d2alpha_ddelta2 (Real delta, Real tau) const override
 Second derivative of Helmholtz free energy wrt delta. More...
 
virtual Real d2alpha_dtau2 (Real delta, Real tau) const override
 Second derivative of Helmholtz free energy wrt tau. More...
 
virtual Real d2alpha_ddeltatau (Real delta, Real tau) const override
 Second derivative of Helmholtz free energy wrt delta and tau. More...
 

Protected Attributes

const Real _Mh2
 Hydrogen molar mass (kg/mol) More...
 
const Real _p_critical
 Critical pressure (Pa) More...
 
const Real _T_critical
 Critical temperature (K) More...
 
const Real _rho_molar_critical
 Critical molar density (mol/l) More...
 
const Real _rho_critical
 Critical density (kg/m^3) More...
 
const Real _p_triple
 Triple point pressure (Pa) More...
 
const Real _T_triple
 Triple point temperature (K) More...
 
const std::array< Real, 5 > _a {{1.616, -0.4117, -0.792, 0.758, 1.217}}
 Coefficients for ideal gas component of the Helmholtz free energy. More...
 
const std::array< Real, 5 > _b
 
const std::array< Real, 7 > _N1 {{-6.93643, 0.01, 2.1101, 4.52059, 0.732564, -1.34086, 0.130985}}
 Coefficients for residual component of the Helmholtz free energy. More...
 
const std::array< Real, 7 > _t1 {{0.6844, 1.0, 0.989, 0.489, 0.803, 1.1444, 1.409}}
 
const std::array< unsigned int, 7 > _d1 {{1, 4, 1, 1, 2, 2, 3}}
 
const std::array< Real, 2 > _N2 {{-0.777414, 0.351944}}
 
const std::array< Real, 2 > _t2 {{1.754, 1.311}}
 
const std::array< unsigned int, 2 > _d2 {{1, 3}}
 
const std::array< Real, 5 > _N3 {{-0.0211716, 0.0226312, 0.032187, -0.0231752, 0.0557346}}
 
const std::array< Real, 5 > _t3 {{4.187, 5.646, 0.791, 7.249, 2.986}}
 
const std::array< unsigned int, 5 > _d3 {{2, 1, 3, 1, 1}}
 
const std::array< Real, 5 > _phi3 {{-1.685, -0.489, -0.103, -2.506, -1.607}}
 
const std::array< Real, 5 > _beta3 {{-0.171, -0.2245, -0.1304, -0.2785, -0.3967}}
 
const std::array< Real, 5 > _gamma3 {{0.7164, 1.3444, 1.4517, 0.7204, 1.5445}}
 
const std::array< Real, 5 > _D3 {{1.506, 0.156, 1.736, 0.67, 1.662}}
 
const std::array< Real, 5 > _amu {{2.09630e-1, -4.55274e-1, 1.423602e-1, -3.35325e-2, 2.76981e-3}}
 Coefficients for viscosity. More...
 
const std::array< Real, 7 > _bmu {{-0.187, 2.4871, 3.7151, -11.0972, 9.0965, -3.8292, 0.5166}}
 
const std::array< Real, 6 > _cmu
 
const std::array< Real, 7 > _a1k
 Coefficients for thermal conductivity. More...
 
const std::array< Real, 4 > _a2k {{1.38497e2, -2.21878e1, 4.57151, 1.0}}
 
const std::array< Real, 5 > _b1k {{3.63081e-2, -2.07629e-2, 3.1481e-2, -1.43097e-2, 1.7498e-3}}
 
const std::array< Real, 5 > _b2k {{1.8337e-3, -8.86716e-3, 1.5826e-2, -1.06283e-2, 2.80673e-3}}
 
const Real _T_c2k
 Conversion of temperature from Celsius to Kelvin. More...
 
const bool _allow_imperfect_jacobians
 Flag to set unimplemented Jacobian entries to zero. More...
 

Private Member Functions

template<typename... Args>
void fluidPropError (Args... args) const
 
e e e e p h T T T T T v v v s h propfuncWithDefault (beta, p, T) propfuncWithDefault(v
 
e e e e p h T T T T T v v v s h T propfuncWithDefault (e, p, T) propfuncWithDefault(gamma
 
 propfunc (p, v, e) propfunc(T
 Compute a fluid property given for the state defined by two given properties. More...
 
propfunc (c, v, e) propfunc(cp
 
e e propfunc (cv, v, e) propfunc(mu
 
e e e propfunc (k, v, e) propfunc(s
 
e e e e propfunc (s, h, p) propfunc(T
 
e e e e p propfunc (rho, p, s) propfunc(e
 
e e e e p h propfunc (s, p, T) propfunc(pp_sat
 
e e e e p h T propfunc (mu, rho, T) propfunc(k
 
e e e e p h T T propfunc (c, p, T) propfunc(cp
 
e e e e p h T T T propfunc (cv, p, T) propfunc(mu
 
e e e e p h T T T T propfunc (k, p, T) propfunc(rho
 
e e e e p h T T T T T propfunc (e, p, rho) propfunc(e
 
e e e e p h T T T T T v propfunc (p, T, v) propfunc(h
 
e e e e p h T T T T T v v propfunc (s, T, v) propfunc(cv
 
e e e e p h T T T T T v v v propfunc (h, p, T) propfunc(p
 
e e e e p h T T T T T v v vpropfunc (g, v, e) propfuncWithDefault(T
 
 v
 
v
 
e e v
 
e e e v
 
e e e e p v
 
e e e e p h T T T T T v v v s h T v
 
e e e e h
 
e e e e p h T T T T T v v v h
 
e e e e p h p
 
e e e e p h T T p
 
e e e e p h T T T p
 
e e e e p h T T T T p
 
e e e e p h T T T T T v v vp
 
e e e e p h T T T T T v v v s h p
 
e e e e p h T rho
 
e e e e p h T T T T T T
 
e e e e p h T T T T T v T
 
e e e e p h T T T T T v v T
 
e e e e p h T T T T T v v v s h TpropfuncWithDefault (gamma, p, T)
 

Detailed Description

Hydrogen (H2) fluid properties as a function of pressure (Pa) and temperature (K).

Thermodynamic properties calculated from: Leachman, Jacobsen, Penoncello,and Lemmon, Fundamental equations of state for parahydrogen, normal hydrogen, and orthohydrogen, Journal of Physical and Chemical Reference Data, 38, 721–748 (2009)

Viscosity from: Muzny, Huber and Kazakov, Correlation for the viscosity of normal hydrogen obtained from symbolic regression, Journal of Chemical and Engineering Data, 58, 969-979 (2013)

Thermal conductivity from: Assael, Assael, Huber, Perkins and Takata, Correlation of the thermal conductivity of normal and parahydrogen from the triple point to 1000 K and up to 100 Mpa, Journal of Physical and Chemical Reference Data, 40 (2011)

Definition at line 42 of file HydrogenFluidProperties.h.

Constructor & Destructor Documentation

◆ HydrogenFluidProperties()

HydrogenFluidProperties::HydrogenFluidProperties ( const InputParameters &  parameters)

Definition at line 26 of file HydrogenFluidProperties.C.

27  : HelmholtzFluidProperties(parameters),
28  _Mh2(2.01588e-3),
29  _p_critical(1.315e6),
30  _T_critical(33.19),
31  _rho_molar_critical(15.508),
33  _p_triple(7.7e3),
34  _T_triple(13.952)
35 {
36 }

Member Function Documentation

◆ alpha()

Real HydrogenFluidProperties::alpha ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Helmholtz free energy for H2 From Leachman et al (reference above)

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
alpha Helmholtz free energy

Implements HelmholtzFluidProperties.

Definition at line 300 of file HydrogenFluidProperties.C.

301 {
302  // Ideal gas component of the Helmholtz free energy
303  Real alpha0 = std::log(delta) + 1.5 * std::log(tau) - 1.4579856475 + 1.888076782 * tau;
304 
305  for (std::size_t i = 0; i < _a.size(); ++i)
306  alpha0 += _a[i] * std::log(1.0 - std::exp(_b[i] * tau));
307 
308  // Residual component of the Helmholtz free energy
309  Real alphar = 0.0;
310 
311  for (std::size_t i = 0; i < _t1.size(); ++i)
312  alphar += _N1[i] * MathUtils::pow(delta, _d1[i]) * std::pow(tau, _t1[i]);
313 
314  for (std::size_t i = 0; i < _t2.size(); ++i)
315  alphar += _N2[i] * MathUtils::pow(delta, _d2[i]) * std::pow(tau, _t2[i]) * std::exp(-delta);
316 
317  for (std::size_t i = 0; i < _t3.size(); ++i)
318  alphar += _N3[i] * MathUtils::pow(delta, _d3[i]) * std::pow(tau, _t3[i]) *
319  std::exp(_phi3[i] * Utility::pow<2>(delta - _D3[i]) +
320  _beta3[i] * Utility::pow<2>(tau - _gamma3[i]));
321 
322  // The Helmholtz free energy is the sum of these two
323  return alpha0 + alphar;
324 }

◆ c_from_p_T()

Real HelmholtzFluidProperties::c_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 100 of file HelmholtzFluidProperties.C.

101 {
102  // Require density first
103  const Real density = rho_from_p_T(pressure, temperature);
104  // Scale the input density and temperature
105  const Real delta = density / criticalDensity();
106  const Real tau = criticalTemperature() / temperature;
107 
108  const Real da_dd = dalpha_ddelta(delta, tau);
109 
110  Real w = 2.0 * delta * da_dd + delta * delta * d2alpha_ddelta2(delta, tau);
111  w -= Utility::pow<2>(delta * da_dd - delta * tau * d2alpha_ddeltatau(delta, tau)) /
112  (tau * tau * d2alpha_dtau2(delta, tau));
113 
114  return std::sqrt(_R * temperature * w / molarMass());
115 }

◆ cp_from_p_T()

Real HelmholtzFluidProperties::cp_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 118 of file HelmholtzFluidProperties.C.

119 {
120  // Require density first
121  const Real density = rho_from_p_T(pressure, temperature);
122  // Scale the input density and temperature
123  const Real delta = density / criticalDensity();
124  const Real tau = criticalTemperature() / temperature;
125 
126  const Real da_dd = dalpha_ddelta(delta, tau);
127 
128  const Real cp = _R *
129  (-tau * tau * d2alpha_dtau2(delta, tau) +
130  Utility::pow<2>(delta * da_dd - delta * tau * d2alpha_ddeltatau(delta, tau)) /
131  (2.0 * delta * da_dd + delta * delta * d2alpha_ddelta2(delta, tau))) /
132  molarMass();
133 
134  return cp;
135 }

◆ criticalDensity()

Real HydrogenFluidProperties::criticalDensity ( ) const
overridevirtual

Critical density.

Returns
critical density (kg/m^3)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 63 of file HydrogenFluidProperties.C.

64 {
65  return _rho_critical;
66 }

◆ criticalInternalEnergy()

Real SinglePhaseFluidProperties::criticalInternalEnergy ( ) const
virtualinherited

Critical specific internal energy.

Returns
specific internal energy (J/kg)

Reimplemented in IdealGasFluidProperties, and StiffenedGasFluidProperties.

Definition at line 126 of file SinglePhaseFluidProperties.C.

127 {
128  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
129 }

Referenced by IdealRealGasMixtureFluidProperties::p_T_from_v_e(), and IdealRealGasMixtureFluidProperties::T_from_p_v().

◆ criticalPressure()

Real HydrogenFluidProperties::criticalPressure ( ) const
overridevirtual

Critical pressure.

Returns
critical pressure (Pa)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 51 of file HydrogenFluidProperties.C.

52 {
53  return _p_critical;
54 }

◆ criticalTemperature()

Real HydrogenFluidProperties::criticalTemperature ( ) const
overridevirtual

Critical temperature.

Returns
critical temperature (K)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 57 of file HydrogenFluidProperties.C.

58 {
59  return _T_critical;
60 }

◆ cv_from_p_T()

Real HelmholtzFluidProperties::cv_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 138 of file HelmholtzFluidProperties.C.

139 {
140  // Require density first
141  const Real density = rho_from_p_T(pressure, temperature);
142  // Scale the input density and temperature
143  const Real delta = density / criticalDensity();
144  const Real tau = criticalTemperature() / temperature;
145 
146  return -_R * tau * tau * d2alpha_dtau2(delta, tau) / molarMass();
147 }

◆ d2alpha_ddelta2()

Real HydrogenFluidProperties::d2alpha_ddelta2 ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Second derivative of Helmholtz free energy wrt delta.

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
second derivative of Helmholtz free energy wrt delta

Implements HelmholtzFluidProperties.

Definition at line 382 of file HydrogenFluidProperties.C.

383 {
384  // Ideal gas component of the Helmholtz free energy
385  Real dalpha0 = -1.0 / delta / delta;
386 
387  // Residual component of the Helmholtz free energy
388  Real dalphar = 0.0;
389 
390  for (std::size_t i = 0; i < _t1.size(); ++i)
391  dalphar +=
392  _N1[i] * _d1[i] * (_d1[i] - 1.0) * MathUtils::pow(delta, _d1[i]) * std::pow(tau, _t1[i]);
393 
394  for (std::size_t i = 0; i < _t2.size(); ++i)
395  dalphar += _N2[i] * MathUtils::pow(delta, _d2[i]) * std::pow(tau, _t2[i]) * std::exp(-delta) *
396  (delta * delta - 2.0 * _d2[i] * delta + _d2[i] * (_d2[i] - 1.0));
397 
398  for (std::size_t i = 0; i < _t3.size(); ++i)
399  dalphar += _N3[i] * MathUtils::pow(delta, _d3[i]) * std::pow(tau, _t3[i]) *
400  std::exp(_phi3[i] * Utility::pow<2>(delta - _D3[i]) +
401  _beta3[i] * Utility::pow<2>(tau - _gamma3[i])) *
402  (_d3[i] * _d3[i] +
403  2.0 * delta * delta * _phi3[i] *
404  (1.0 + 2.0 * _phi3[i] * (_D3[i] - delta) * (_D3[i] - delta)) +
405  _d3[i] * (4.0 * delta * _phi3[i] * (delta - _D3[i]) - 1.0));
406 
407  // The Helmholtz free energy is the sum of these two
408  return dalpha0 + dalphar / delta / delta;
409 }

◆ d2alpha_ddeltatau()

Real HydrogenFluidProperties::d2alpha_ddeltatau ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Second derivative of Helmholtz free energy wrt delta and tau.

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
second derivative of Helmholtz free energy wrt delta and tau

Implements HelmholtzFluidProperties.

Definition at line 448 of file HydrogenFluidProperties.C.

449 {
450  // Residual component of the Helmholtz free energy
451  Real dalphar = 0.0;
452 
453  for (std::size_t i = 0; i < _t1.size(); ++i)
454  dalphar += _N1[i] * _d1[i] * _t1[i] * std::pow(delta, _d1[i]) * std::pow(tau, _t1[i]);
455 
456  for (std::size_t i = 0; i < _t2.size(); ++i)
457  dalphar += _N2[i] * _t2[i] * std::pow(delta, _d2[i]) * std::pow(tau, _t2[i]) *
458  std::exp(-delta) * (_d2[i] - delta);
459 
460  for (std::size_t i = 0; i < _t3.size(); ++i)
461  dalphar += _N3[i] * std::pow(delta, _d3[i]) * std::pow(tau, _t3[i]) *
462  std::exp(_phi3[i] * Utility::pow<2>(delta - _D3[i]) +
463  _beta3[i] * Utility::pow<2>(tau - _gamma3[i])) *
464  (_d3[i] + delta * (2.0 * _phi3[i] * (delta - _D3[i]))) *
465  (_t3[i] + 2.0 * _beta3[i] * tau * (tau - _gamma3[i]));
466 
467  // The Helmholtz free energy is the sum of these two
468  return dalphar / delta / tau;
469 }

◆ d2alpha_dtau2()

Real HydrogenFluidProperties::d2alpha_dtau2 ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Second derivative of Helmholtz free energy wrt tau.

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
second derivative of Helmholtz free energy wrt tau

Implements HelmholtzFluidProperties.

Definition at line 412 of file HydrogenFluidProperties.C.

413 {
414  // Ideal gas component of the Helmholtz free energy
415  Real dalpha0 = -1.5 / tau / tau;
416 
417  for (std::size_t i = 0; i < _a.size(); ++i)
418  {
419  Real exptau = std::exp(_b[i] * tau);
420  dalpha0 -= _a[i] * (_b[i] * _b[i] * exptau / (1.0 - exptau) * (exptau / (1.0 - exptau) + 1.0));
421  }
422 
423  // Residual component of the Helmholtz free energy
424  Real dalphar = 0.0;
425 
426  for (std::size_t i = 0; i < _t1.size(); ++i)
427  dalphar +=
428  _N1[i] * _t1[i] * (_t1[i] - 1.0) * MathUtils::pow(delta, _d1[i]) * std::pow(tau, _t1[i]);
429 
430  for (std::size_t i = 0; i < _t2.size(); ++i)
431  dalphar += _N2[i] * _t2[i] * (_t2[i] - 1.0) * MathUtils::pow(delta, _d2[i]) *
432  std::pow(tau, _t2[i]) * std::exp(-delta);
433 
434  for (std::size_t i = 0; i < _t3.size(); ++i)
435  dalphar += _N3[i] * MathUtils::pow(delta, _d3[i]) * std::pow(tau, _t3[i]) *
436  std::exp(_phi3[i] * Utility::pow<2>(delta - _D3[i]) +
437  _beta3[i] * Utility::pow<2>(tau - _gamma3[i])) *
438  (_t3[i] * _t3[i] +
439  2.0 * _beta3[i] * tau * tau *
440  (1.0 + 2.0 * _beta3[i] * MathUtils::pow(tau - _gamma3[i], 2)) -
441  _t3[i] * (1.0 + 4.0 * _beta3[i] * tau * (tau - _gamma3[i])));
442 
443  // The Helmholtz free energy is the sum of these two
444  return dalpha0 + dalphar / tau / tau;
445 }

◆ dalpha_ddelta()

Real HydrogenFluidProperties::dalpha_ddelta ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Derivative of Helmholtz free energy wrt delta.

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
derivative of Helmholtz free energy wrt delta

Implements HelmholtzFluidProperties.

Definition at line 327 of file HydrogenFluidProperties.C.

328 {
329  // Ideal gas component of the Helmholtz free energy
330  Real dalpha0 = 1.0 / delta;
331 
332  // Residual component of the Helmholtz free energy
333  Real dalphar = 0.0;
334 
335  for (std::size_t i = 0; i < _t1.size(); ++i)
336  dalphar += _N1[i] * _d1[i] * MathUtils::pow(delta, _d1[i]) * std::pow(tau, _t1[i]);
337 
338  for (std::size_t i = 0; i < _t2.size(); ++i)
339  dalphar += _N2[i] * MathUtils::pow(delta, _d2[i]) * std::pow(tau, _t2[i]) * std::exp(-delta) *
340  (_d2[i] - delta);
341 
342  for (std::size_t i = 0; i < _t3.size(); ++i)
343  dalphar += _N3[i] * MathUtils::pow(delta, _d3[i]) * std::pow(tau, _t3[i]) *
344  std::exp(_phi3[i] * Utility::pow<2>(delta - _D3[i]) +
345  _beta3[i] * Utility::pow<2>(tau - _gamma3[i])) *
346  (_d3[i] + delta * (2.0 * _phi3[i] * (delta - _D3[i])));
347 
348  // The Helmholtz free energy is the sum of these two
349  return dalpha0 + dalphar / delta;
350 }

◆ dalpha_dtau()

Real HydrogenFluidProperties::dalpha_dtau ( Real  delta,
Real  tau 
) const
overrideprotectedvirtual

Derivative of Helmholtz free energy wrt tau.

Parameters
deltascaled density (-)
tauscaled temperature (-)
Returns
derivative of Helmholtz free energy wrt tau

Implements HelmholtzFluidProperties.

Definition at line 353 of file HydrogenFluidProperties.C.

354 {
355  // Ideal gas component of the Helmholtz free energy
356  Real dalpha0 = 1.5 / tau + 1.888076782;
357 
358  for (std::size_t i = 0; i < _a.size(); ++i)
359  dalpha0 += _a[i] * _b[i] * (1.0 - 1.0 / (1.0 - std::exp(_b[i] * tau)));
360 
361  // Residual component of the Helmholtz free energy
362  Real dalphar = 0.0;
363 
364  for (std::size_t i = 0; i < _t1.size(); ++i)
365  dalphar += _N1[i] * _t1[i] * MathUtils::pow(delta, _d1[i]) * std::pow(tau, _t1[i]);
366 
367  for (std::size_t i = 0; i < _t2.size(); ++i)
368  dalphar +=
369  _N2[i] * _t2[i] * MathUtils::pow(delta, _d2[i]) * std::pow(tau, _t2[i]) * std::exp(-delta);
370 
371  for (std::size_t i = 0; i < _t3.size(); ++i)
372  dalphar += _N3[i] * MathUtils::pow(delta, _d3[i]) * std::pow(tau, _t3[i]) *
373  std::exp(_phi3[i] * Utility::pow<2>(delta - _D3[i]) +
374  _beta3[i] * Utility::pow<2>(tau - _gamma3[i])) *
375  (_t3[i] + tau * (2.0 * _beta3[i] * (tau - _gamma3[i])));
376 
377  // The Helmholtz free energy is the sum of these two
378  return dalpha0 + dalphar / tau;
379 }

◆ e_from_p_T() [1/2]

void HelmholtzFluidProperties::e_from_p_T ( Real  p,
Real  T,
Real &  e,
Real &  de_dp,
Real &  de_dT 
) const
overridevirtualinherited

Definition at line 77 of file HelmholtzFluidProperties.C.

79 {
80  e = this->e_from_p_T(pressure, temperature);
81 
82  // Require density first
84  // Scale the input density and temperature
85  const Real delta = density / criticalDensity();
86  const Real tau = criticalTemperature() / temperature;
87 
88  const Real da_dd = dalpha_ddelta(delta, tau);
89  const Real d2a_dd2 = d2alpha_ddelta2(delta, tau);
90  const Real d2a_ddt = d2alpha_ddeltatau(delta, tau);
91 
92  de_dp = tau * d2a_ddt / (density * (2.0 * da_dd + delta * d2a_dd2));
93  de_dT = -_R *
94  (delta * tau * d2a_ddt * (da_dd - tau * d2a_ddt) / (2.0 * da_dd + delta * d2a_dd2) +
95  tau * tau * d2alpha_dtau2(delta, tau)) /
96  molarMass();
97 }

◆ e_from_p_T() [2/2]

Real HelmholtzFluidProperties::e_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 65 of file HelmholtzFluidProperties.C.

66 {
67  // Require density first
69  // Scale the input density and temperature
70  const Real delta = density / criticalDensity();
71  const Real tau = criticalTemperature() / temperature;
72 
73  return _R * temperature * tau * dalpha_dtau(delta, tau) / molarMass();
74 }

Referenced by HelmholtzFluidProperties::e_from_p_T().

◆ 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 IdealGasFluidProperties, and StiffenedGasFluidProperties.

Definition at line 286 of file SinglePhaseFluidProperties.C.

287 {
288  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
289 }

Referenced by IdealRealGasMixtureFluidProperties::p_T_from_v_e(), and IdealRealGasMixtureFluidProperties::T_from_p_v().

◆ execute()

virtual void FluidProperties::execute ( )
inlinefinalvirtualinherited

Definition at line 34 of file FluidProperties.h.

34 {}

◆ finalize()

virtual void FluidProperties::finalize ( )
inlinefinalvirtualinherited

Definition at line 36 of file FluidProperties.h.

36 {}

◆ fluidName()

std::string HydrogenFluidProperties::fluidName ( ) const
overridevirtual

Definition at line 39 of file HydrogenFluidProperties.C.

40 {
41  return "hydrogen";
42 }

◆ fluidPropError()

template<typename... Args>
void SinglePhaseFluidProperties::fluidPropError ( Args...  args) const
inlineprivateinherited

Definition at line 326 of file SinglePhaseFluidProperties.h.

327  {
329  mooseDoOnce(mooseWarning(std::forward<Args>(args)...));
330  else
331  mooseError(std::forward<Args>(args)...);
332  }

Referenced by SinglePhaseFluidProperties::vaporPressure(), and SinglePhaseFluidProperties::vaporTemperature().

◆ h_from_p_T() [1/2]

void HelmholtzFluidProperties::h_from_p_T ( Real  p,
Real  T,
Real &  h,
Real &  dh_dp,
Real &  dh_dT 
) const
overridevirtualinherited

Definition at line 198 of file HelmholtzFluidProperties.C.

200 {
201  h = this->h_from_p_T(pressure, temperature);
202 
203  // Require density first
204  const Real density = rho_from_p_T(pressure, temperature);
205  // Scale the input density and temperature
206  const Real delta = density / criticalDensity();
207  const Real tau = criticalTemperature() / temperature;
208 
209  const Real da_dd = dalpha_ddelta(delta, tau);
210  const Real d2a_dd2 = d2alpha_ddelta2(delta, tau);
211  const Real d2a_ddt = d2alpha_ddeltatau(delta, tau);
212 
213  dh_dp = (da_dd + delta * d2a_dd2 + tau * d2a_ddt) / (density * (2.0 * da_dd + delta * d2a_dd2));
214  dh_dT = _R *
215  (delta * da_dd * (1.0 - tau * d2a_ddt / da_dd) * (1.0 - tau * d2a_ddt / da_dd) /
216  (2.0 + delta * d2a_dd2 / da_dd) -
217  tau * tau * d2alpha_dtau2(delta, tau)) /
218  molarMass();
219 }

◆ h_from_p_T() [2/2]

Real HelmholtzFluidProperties::h_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 185 of file HelmholtzFluidProperties.C.

186 {
187  // Require density first
188  const Real density = rho_from_p_T(pressure, temperature);
189  // Scale the input density and temperature
190  const Real delta = density / criticalDensity();
191  const Real tau = criticalTemperature() / temperature;
192 
193  return _R * temperature * (tau * dalpha_dtau(delta, tau) + delta * dalpha_ddelta(delta, tau)) /
194  molarMass();
195 }

Referenced by HelmholtzFluidProperties::h_from_p_T().

◆ henryCoefficients()

std::vector< Real > HydrogenFluidProperties::henryCoefficients ( ) const
overridevirtual

Henry's law coefficients for dissolution in water.

Returns
Henry's constant coefficients

Reimplemented from SinglePhaseFluidProperties.

Definition at line 272 of file HydrogenFluidProperties.C.

273 {
274  return {-4.73284, 6.08954, 6.06066};
275 }

◆ initialize()

virtual void FluidProperties::initialize ( )
inlinefinalvirtualinherited

Definition at line 35 of file FluidProperties.h.

35 {}

◆ k_from_p_T() [1/2]

Real HydrogenFluidProperties::k_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 250 of file HydrogenFluidProperties.C.

251 {
252  // Require density first
253  const Real density = rho_from_p_T(pressure, temperature);
255 }

Referenced by k_from_p_T().

◆ k_from_p_T() [2/2]

void HydrogenFluidProperties::k_from_p_T ( Real  pressure,
Real  temperature,
Real &  k,
Real &  dk_dp,
Real &  dk_dT 
) const
overridevirtual

Definition at line 258 of file HydrogenFluidProperties.C.

260 {
261  k = this->k_from_p_T(pressure, temperature);
262  // Calculate derivatives using finite differences
263  const Real eps = 1.0e-6;
264  const Real peps = pressure * eps;
265  const Real Teps = temperature * eps;
266 
267  dk_dp = (this->k_from_p_T(pressure + peps, temperature) - k) / peps;
268  dk_dT = (this->k_from_p_T(pressure, temperature + Teps) - k) / Teps;
269 }

◆ k_from_rho_T()

Real HydrogenFluidProperties::k_from_rho_T ( Real  density,
Real  temperature 
) const
overridevirtual

Definition at line 219 of file HydrogenFluidProperties.C.

220 {
221  // // Scaled variables
222  const Real Tr = temperature / 33.145;
223  const Real rhor = density / 31.262;
224 
225  // The ideal gas component
226  Real sum1 = 0.0;
227  for (std::size_t i = 0; i < _a1k.size(); ++i)
228  sum1 += _a1k[i] * MathUtils::pow(Tr, i);
229 
230  Real sum2 = 0.0;
231  for (std::size_t i = 0; i < _a2k.size(); ++i)
232  sum2 += _a2k[i] * MathUtils::pow(Tr, i);
233 
234  const Real lambda0 = sum1 / sum2;
235 
236  // The excess contribution due to density
237  Real lambdah = 0.0;
238  for (std::size_t i = 0; i < _b1k.size(); ++i)
239  lambdah += (_b1k[i] + _b2k[i] * Tr) * MathUtils::pow(rhor, i + 1);
240 
241  // The critical enhancement
242  const Real lambdac = 6.24e-4 / (-2.58e-7 + std::abs(Tr - 1.0)) *
243  std::exp(-MathUtils::pow(0.837 * (rhor - 1.0), 2));
244 
245  // The thermal conductivity
246  return lambda0 + lambdah + lambdac;
247 }

Referenced by k_from_p_T().

◆ molarMass()

Real HydrogenFluidProperties::molarMass ( ) const
overridevirtual

Fluid name.

Returns
string representing fluid name Molar mass [kg/mol]
molar mass

Reimplemented from SinglePhaseFluidProperties.

Definition at line 45 of file HydrogenFluidProperties.C.

46 {
47  return _Mh2;
48 }

◆ mu_from_p_T() [1/2]

Real HydrogenFluidProperties::mu_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtual

Definition at line 173 of file HydrogenFluidProperties.C.

174 {
175  // Require density first
176  const Real density = rho_from_p_T(pressure, temperature);
178 }

◆ mu_from_p_T() [2/2]

void HydrogenFluidProperties::mu_from_p_T ( Real  pressure,
Real  temperature,
Real &  mu,
Real &  dmu_dp,
Real &  dmu_dT 
) const
overridevirtual

Definition at line 181 of file HydrogenFluidProperties.C.

183 {
184  Real rho, drho_dp, drho_dT;
185  rho_from_p_T(pressure, temperature, rho, drho_dp, drho_dT);
186 
187  Real dmu_drho;
188  mu_from_rho_T(rho, temperature, drho_dT, mu, dmu_drho, dmu_dT);
189  dmu_dp = dmu_drho * drho_dp;
190 }

◆ mu_from_rho_T() [1/2]

Real HydrogenFluidProperties::mu_from_rho_T ( Real  density,
Real  temperature 
) const
overridevirtual

Definition at line 81 of file HydrogenFluidProperties.C.

82 {
83  // Scaled variables
84  const Real Tstar = temperature / 30.41;
85  const Real logTstar = std::log(Tstar);
86  const Real Tr = temperature / _T_critical;
87  const Real rhor = density / 90.5;
88 
89  // Ideal gas component
90  Real sum = 0.0;
91  for (std::size_t i = 0; i < _amu.size(); ++i)
92  sum += _amu[i] * MathUtils::pow(logTstar, i);
93 
94  const Real mu0 =
95  0.021357 * std::sqrt(1000.0 * _Mh2 * temperature) / (0.297 * 0.297 * std::exp(sum));
96 
97  // The excess contribution due to density
98  Real sumr = 0.0;
99  for (std::size_t i = 0; i < _bmu.size(); ++i)
100  sumr += _bmu[i];
101 
102  const Real mu1 = MathUtils::pow(0.297, 3) * sumr * mu0 / Tstar;
103 
104  // The viscosity is then
105  const Real mu =
106  mu0 + mu1 * density +
107  _cmu[0] * rhor * rhor *
108  std::exp(_cmu[1] * Tr + _cmu[2] / Tr + _cmu[3] * rhor * rhor / (_cmu[4] + Tr) +
109  _cmu[5] * MathUtils::pow(rhor, 6));
110 
111  return mu * 1.0e-6;
112 }

Referenced by mu_from_p_T(), and rho_mu_from_p_T().

◆ mu_from_rho_T() [2/2]

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

Definition at line 115 of file HydrogenFluidProperties.C.

121 {
122  // Scaled variables
123  const Real Tstar = temperature / 30.41;
124  const Real logTstar = std::log(Tstar);
125  const Real Tr = temperature / _T_critical;
126  const Real rhor = density / 90.5;
127  const Real drhor_drho = 1.0 / 90.5;
128  const Real dTr_dT = 1.0 / _T_critical;
129 
130  // The dilute gas component
131  Real sum = 0.0, dsum_dT = 0.0;
132  for (std::size_t i = 0; i < _amu.size(); ++i)
133  {
134  sum += _amu[i] * MathUtils::pow(logTstar, i);
135  dsum_dT += i * _amu[i] * MathUtils::pow(logTstar, i) / (temperature * logTstar);
136  }
137 
138  const Real mu0 =
139  0.021357 * std::sqrt(1000.0 * _Mh2 * temperature) / (0.297 * 0.297 * std::exp(sum));
140  const Real dmu0_dT = 21.357 * _Mh2 * (1.0 - 2.0 * temperature * dsum_dT) * std::exp(-sum) /
141  (2.0 * std::sqrt(1000.0 * _Mh2 * temperature) * 0.297 * 0.297);
142 
143  // The excess contribution due to density
144  Real sumr = 0.0;
145  for (std::size_t i = 0; i < _bmu.size(); ++i)
146  sumr += _bmu[i];
147 
148  const Real mu1 = MathUtils::pow(0.297, 3) * sumr * mu0 / Tstar;
149  const Real dmu1_dT =
150  MathUtils::pow(0.297, 3) * sumr * (dmu0_dT / Tstar - mu0 / (30.41 * Tstar * Tstar));
151 
152  // The viscosity and derivatives are then
153  const Real exponent = _cmu[1] * Tr + _cmu[2] / Tr + _cmu[3] * rhor * rhor / (_cmu[4] + Tr) +
154  _cmu[5] * MathUtils::pow(rhor, 6);
155  const Real dexponent_drho =
156  (2.0 * _cmu[3] * rhor / (_cmu[4] + Tr) + 6.0 * _cmu[5] * MathUtils::pow(rhor, 5)) *
157  drhor_drho;
158  const Real dexponent_dT =
159  (_cmu[1] - _cmu[2] / Tr / Tr - _cmu[3] * rhor * rhor / (_cmu[4] + Tr) / (_cmu[4] + Tr)) *
160  dTr_dT;
161 
162  mu = (mu0 + mu1 * density + _cmu[0] * rhor * rhor * std::exp(exponent)) * 1.0e-6;
163  dmu_drho =
164  (mu1 + _cmu[0] * rhor * std::exp(exponent) * (2.0 * drhor_drho + rhor * dexponent_drho)) *
165  1.0e-6;
166  dmu_dT =
167  (dmu0_dT + density * dmu1_dT + _cmu[0] * rhor * rhor * dexponent_dT * std::exp(exponent)) *
168  1.0e-6 +
169  dmu_drho * ddensity_dT;
170 }

◆ p_from_rho_T()

Real HelmholtzFluidProperties::p_from_rho_T ( Real  rho,
Real  T 
) const
virtualinherited

Pressure as a function of density and temperature.

Parameters
rhodensity (kg/m^3)
Ttemperature (K)
Returns
pressure (Pa)

Reimplemented in CO2FluidProperties.

Definition at line 222 of file HelmholtzFluidProperties.C.

223 {
224  // Scale the input density and temperature
225  const Real delta = density / criticalDensity();
226  const Real tau = criticalTemperature() / temperature;
227 
228  return _R * density * temperature * delta * dalpha_ddelta(delta, tau) / molarMass();
229 }

Referenced by CO2FluidProperties::p_from_rho_T(), and HelmholtzFluidProperties::rho_from_p_T().

◆ propfunc() [1/16]

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

◆ propfunc() [2/16]

e SinglePhaseFluidProperties::propfunc ( ,
v  ,
 
)
inherited

◆ propfunc() [3/16]

e e e e p h T T T SinglePhaseFluidProperties::propfunc ( cv  ,
p  ,
T   
)
inherited

◆ propfunc() [4/16]

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

◆ propfunc() [5/16]

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

◆ propfunc() [6/16]

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

◆ propfunc() [7/16]

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

◆ propfunc() [8/16]

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

◆ propfunc() [9/16]

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

◆ propfunc() [10/16]

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

◆ propfunc() [11/16]

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

◆ propfunc() [12/16]

SinglePhaseFluidProperties::propfunc ( p  ,
v  ,
 
)
inherited

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

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

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

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

As an example:

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

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

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

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

◆ propfunc() [13/16]

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

◆ propfunc() [14/16]

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

◆ propfunc() [15/16]

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

◆ propfunc() [16/16]

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

◆ propfuncWithDefault() [1/2]

e e e e p h T T T T T v v v s h SinglePhaseFluidProperties::propfuncWithDefault ( beta  ,
p  ,
T   
)
inherited

◆ propfuncWithDefault() [2/2]

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

◆ rho_e_from_p_T()

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

Definition at line 242 of file SinglePhaseFluidProperties.C.

250 {
251  rho_from_p_T(p, T, rho, drho_dp, drho_dT);
252  e_from_p_T(p, T, e, de_dp, de_dT);
253 }

◆ rho_from_p_T() [1/2]

Real HelmholtzFluidProperties::rho_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Reimplemented in CO2FluidProperties.

Definition at line 29 of file HelmholtzFluidProperties.C.

30 {
31  Real density;
32  // Initial estimate of a bracketing interval for the density
33  Real lower_density = 1.0e-2;
34  Real upper_density = 100.0;
35 
36  // The density is found by finding the zero of the pressure
37  auto pressure_diff = [&pressure, &temperature, this](Real x) {
38  return this->p_from_rho_T(x, temperature) - pressure;
39  };
40 
41  BrentsMethod::bracket(pressure_diff, lower_density, upper_density);
42  density = BrentsMethod::root(pressure_diff, lower_density, upper_density);
43 
44  return density;
45 }

Referenced by HelmholtzFluidProperties::c_from_p_T(), HelmholtzFluidProperties::cp_from_p_T(), HelmholtzFluidProperties::cv_from_p_T(), HelmholtzFluidProperties::e_from_p_T(), HelmholtzFluidProperties::h_from_p_T(), NitrogenFluidProperties::k_from_p_T(), k_from_p_T(), NitrogenFluidProperties::mu_from_p_T(), CO2FluidProperties::mu_from_p_T(), mu_from_p_T(), HelmholtzFluidProperties::rho_from_p_T(), CO2FluidProperties::rho_from_p_T(), NitrogenFluidProperties::rho_mu_from_p_T(), rho_mu_from_p_T(), and HelmholtzFluidProperties::s_from_p_T().

◆ rho_from_p_T() [2/2]

void HelmholtzFluidProperties::rho_from_p_T ( Real  pressure,
Real  temperature,
Real &  rho,
Real &  drho_dp,
Real &  drho_dT 
) const
overridevirtualinherited

Reimplemented in CO2FluidProperties.

Definition at line 48 of file HelmholtzFluidProperties.C.

50 {
52 
53  // Scale the density and temperature
54  const Real delta = rho / criticalDensity();
55  const Real tau = criticalTemperature() / temperature;
56  const Real da_dd = dalpha_ddelta(delta, tau);
57  const Real d2a_dd2 = d2alpha_ddelta2(delta, tau);
58 
59  drho_dp = molarMass() / (_R * temperature * delta * (2.0 * da_dd + delta * d2a_dd2));
60  drho_dT = rho * (tau * d2alpha_ddeltatau(delta, tau) - da_dd) / temperature /
61  (2.0 * da_dd + delta * d2a_dd2);
62 }

◆ rho_mu_from_p_T() [1/3]

void SinglePhaseFluidProperties::rho_mu_from_p_T ( const DualReal &  p,
const DualReal &  T,
DualReal &  rho,
DualReal &  mu 
) const
virtualinherited

Definition at line 277 of file SinglePhaseFluidProperties.C.

281 {
282  rho = rho_from_p_T(p, T);
283  mu = mu_from_p_T(p, T);
284 }

◆ rho_mu_from_p_T() [2/3]

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

Reimplemented from SinglePhaseFluidProperties.

Definition at line 203 of file HydrogenFluidProperties.C.

211 {
212  rho_from_p_T(pressure, temperature, rho, drho_dp, drho_dT);
213  Real dmu_drho;
214  mu_from_rho_T(rho, temperature, drho_dT, mu, dmu_drho, dmu_dT);
215  dmu_dp = dmu_drho * drho_dp;
216 }

◆ rho_mu_from_p_T() [3/3]

void HydrogenFluidProperties::rho_mu_from_p_T ( Real  p,
Real  T,
Real &  rho,
Real &  mu 
) const
overridevirtual

Combined methods.

These methods are particularly useful for the PorousFlow module, where density and viscosity are typically both computed everywhere. The combined methods allow the most efficient means of calculating both properties, especially where rho(p, T) and mu(rho, T). In this case, an extra density calculation would be required to calculate mu(p, T). All propery names are described above.

Reimplemented from SinglePhaseFluidProperties.

Definition at line 193 of file HydrogenFluidProperties.C.

197 {
200 }

◆ s_from_p_T() [1/2]

void HelmholtzFluidProperties::s_from_p_T ( Real  p,
Real  T,
Real &  s,
Real &  ds_dp,
Real &  ds_dT 
) const
overridevirtualinherited

Definition at line 162 of file HelmholtzFluidProperties.C.

164 {
165  s = this->s_from_p_T(pressure, temperature);
166 
167  // Require density first
168  const Real density = rho_from_p_T(pressure, temperature);
169  // Scale the input density and temperature
170  const Real delta = density / criticalDensity();
171  const Real tau = criticalTemperature() / temperature;
172 
173  const Real da_dd = dalpha_ddelta(delta, tau);
174  const Real da_dt = dalpha_dtau(delta, tau);
175  const Real d2a_dd2 = d2alpha_ddelta2(delta, tau);
176  const Real d2a_dt2 = d2alpha_dtau2(delta, tau);
177  const Real d2a_ddt = d2alpha_ddeltatau(delta, tau);
178 
179  ds_dp = tau * (d2a_ddt - da_dd) / (density * temperature * (2.0 * da_dd + delta * d2a_dd2));
180  ds_dT = -_R * tau * (da_dt - alpha(delta, tau) + tau * (d2a_dt2 - da_dt)) /
181  (molarMass() * temperature);
182 }

◆ s_from_p_T() [2/2]

Real HelmholtzFluidProperties::s_from_p_T ( Real  pressure,
Real  temperature 
) const
overridevirtualinherited

Definition at line 150 of file HelmholtzFluidProperties.C.

151 {
152  // Require density first
153  const Real density = rho_from_p_T(pressure, temperature);
154  // Scale the input density and temperature
155  const Real delta = density / criticalDensity();
156  const Real tau = criticalTemperature() / temperature;
157 
158  return _R * (tau * dalpha_dtau(delta, tau) - alpha(delta, tau)) / molarMass();
159 }

Referenced by HelmholtzFluidProperties::s_from_p_T().

◆ subdomainSetup()

virtual void FluidProperties::subdomainSetup ( )
inlinefinalvirtualinherited

Definition at line 39 of file FluidProperties.h.

39 {}

◆ threadJoin()

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

Definition at line 38 of file FluidProperties.h.

38 {}

◆ triplePointPressure()

Real HydrogenFluidProperties::triplePointPressure ( ) const
overridevirtual

Triple point pressure.

Returns
triple point pressure (Pa)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 69 of file HydrogenFluidProperties.C.

70 {
71  return _p_triple;
72 }

◆ triplePointTemperature()

Real HydrogenFluidProperties::triplePointTemperature ( ) const
overridevirtual

Triple point temperature.

Returns
triple point temperature (K)

Reimplemented from SinglePhaseFluidProperties.

Definition at line 75 of file HydrogenFluidProperties.C.

76 {
77  return _T_triple;
78 }

◆ 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 IdealGasFluidProperties, and StiffenedGasFluidProperties.

Definition at line 292 of file SinglePhaseFluidProperties.C.

293 {
294  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
295 }

Referenced by IdealRealGasMixtureFluidProperties::v_from_p_T().

◆ vaporPressure() [1/3]

DualReal SinglePhaseFluidProperties::vaporPressure ( const DualReal &  T) const
inherited

Definition at line 198 of file SinglePhaseFluidProperties.C.

199 {
200  Real p = 0.0;
201  Real temperature = T.value();
202  Real dpdT = 0.0;
203 
204  vaporPressure(temperature, p, dpdT);
205 
206  DualReal result = p;
207  result.derivatives() = T.derivatives() * dpdT;
208 
209  return result;
210 }

◆ vaporPressure() [2/3]

Real HydrogenFluidProperties::vaporPressure ( Real  T) const
overridevirtual

Vapor pressure.

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

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

Reimplemented from SinglePhaseFluidProperties.

Definition at line 278 of file HydrogenFluidProperties.C.

279 {
280  if (temperature < _T_triple || temperature > _T_critical)
281  throw MooseException("Temperature is out of range in " + name() + ": vaporPressure()");
282 
283  const Real Tr = temperature / _T_critical;
284  const Real theta = 1.0 - Tr;
285 
286  const Real logpressure = (-4.89789 * theta + 0.988588 * std::pow(theta, 1.5) +
287  0.349689 * Utility::pow<2>(theta) + 0.499356 * std::pow(theta, 2.85)) /
288  Tr;
289 
290  return _p_critical * std::exp(logpressure);
291 }

◆ vaporPressure() [3/3]

void HydrogenFluidProperties::vaporPressure ( Real  temperature,
Real &  psat,
Real &  dpsat_dT 
) const
overridevirtual

Reimplemented from SinglePhaseFluidProperties.

Definition at line 294 of file HydrogenFluidProperties.C.

295 {
296  mooseError(name(), ": vaporPressure() is not implemented");
297 }

◆ vaporTemperature() [1/3]

DualReal SinglePhaseFluidProperties::vaporTemperature ( const DualReal &  p) const
inherited

Definition at line 227 of file SinglePhaseFluidProperties.C.

228 {
229  Real T = 0.0;
230  Real pressure = p.value();
231  Real dTdp = 0.0;
232 
233  vaporTemperature(pressure, T, dTdp);
234 
235  DualReal result = T;
236  result.derivatives() = p.derivatives() * dTdp;
237 
238  return result;
239 }

◆ vaporTemperature() [2/3]

Real SinglePhaseFluidProperties::vaporTemperature ( Real  p) const
virtualinherited

Vapor temperature.

Used to delineate liquid and gas phases. Valid for pressures between the triple point pressure and the critical pressure

Parameters
pfluid pressure (Pa)
[out]saturationtemperature (K)
[out]derivativeof saturation temperature wrt pressure

Reimplemented in Water97FluidProperties.

Definition at line 212 of file SinglePhaseFluidProperties.C.

213 {
214  mooseError(name(), ": ", __PRETTY_FUNCTION__, " not implemented.");
215 }

Referenced by PorousFlowWaterVapor::thermophysicalProperties(), and SinglePhaseFluidProperties::vaporTemperature().

◆ vaporTemperature() [3/3]

void SinglePhaseFluidProperties::vaporTemperature ( Real  p,
Real &  Tsat,
Real &  dTsat_dp 
) const
virtualinherited

Reimplemented in Water97FluidProperties.

Definition at line 218 of file SinglePhaseFluidProperties.C.

219 {
220  fluidPropError(name(), ": ", __PRETTY_FUNCTION__, " derivatives not implemented.");
221 
222  dT_dp = 0.0;
223  T = vaporTemperature(p);
224 }

Member Data Documentation

◆ _a

const std::array<Real, 5> HydrogenFluidProperties::_a {{1.616, -0.4117, -0.792, 0.758, 1.217}}
protected

Coefficients for ideal gas component of the Helmholtz free energy.

Definition at line 172 of file HydrogenFluidProperties.h.

Referenced by alpha(), d2alpha_dtau2(), and dalpha_dtau().

◆ _a1k

const std::array<Real, 7> HydrogenFluidProperties::_a1k
protected
Initial value:
{
{-3.40976e-1, 4.5882, -1.4508, 3.26394e-1, 3.16939e-3, 1.90592e-4, -1.139e-6}}

Coefficients for thermal conductivity.

Definition at line 199 of file HydrogenFluidProperties.h.

Referenced by k_from_rho_T().

◆ _a2k

const std::array<Real, 4> HydrogenFluidProperties::_a2k {{1.38497e2, -2.21878e1, 4.57151, 1.0}}
protected

Definition at line 201 of file HydrogenFluidProperties.h.

Referenced by k_from_rho_T().

◆ _allow_imperfect_jacobians

const bool FluidProperties::_allow_imperfect_jacobians
protectedinherited

Flag to set unimplemented Jacobian entries to zero.

Definition at line 48 of file FluidProperties.h.

Referenced by SinglePhaseFluidProperties::fluidPropError().

◆ _amu

const std::array<Real, 5> HydrogenFluidProperties::_amu {{2.09630e-1, -4.55274e-1, 1.423602e-1, -3.35325e-2, 2.76981e-3}}
protected

Coefficients for viscosity.

Definition at line 193 of file HydrogenFluidProperties.h.

Referenced by mu_from_rho_T().

◆ _b

const std::array<Real, 5> HydrogenFluidProperties::_b
protected
Initial value:
{
{-16.0205159149, -22.6580178006, -60.0090511389, -74.9434303817, -206.9392065168}}

Definition at line 173 of file HydrogenFluidProperties.h.

Referenced by alpha(), d2alpha_dtau2(), and dalpha_dtau().

◆ _b1k

const std::array<Real, 5> HydrogenFluidProperties::_b1k {{3.63081e-2, -2.07629e-2, 3.1481e-2, -1.43097e-2, 1.7498e-3}}
protected

Definition at line 202 of file HydrogenFluidProperties.h.

Referenced by k_from_rho_T().

◆ _b2k

const std::array<Real, 5> HydrogenFluidProperties::_b2k {{1.8337e-3, -8.86716e-3, 1.5826e-2, -1.06283e-2, 2.80673e-3}}
protected

Definition at line 203 of file HydrogenFluidProperties.h.

Referenced by k_from_rho_T().

◆ _beta3

const std::array<Real, 5> HydrogenFluidProperties::_beta3 {{-0.171, -0.2245, -0.1304, -0.2785, -0.3967}}
protected

◆ _bmu

const std::array<Real, 7> HydrogenFluidProperties::_bmu {{-0.187, 2.4871, 3.7151, -11.0972, 9.0965, -3.8292, 0.5166}}
protected

Definition at line 194 of file HydrogenFluidProperties.h.

Referenced by mu_from_rho_T().

◆ _cmu

const std::array<Real, 6> HydrogenFluidProperties::_cmu
protected
Initial value:
{
{6.43449673, 4.56334068e-2, 2.32797868e-1, 9.5832612e-1, 1.27941189e-1, 3.63576595e-1}}

Definition at line 195 of file HydrogenFluidProperties.h.

Referenced by mu_from_rho_T().

◆ _d1

const std::array<unsigned int, 7> HydrogenFluidProperties::_d1 {{1, 4, 1, 1, 2, 2, 3}}
protected

◆ _d2

const std::array<unsigned int, 2> HydrogenFluidProperties::_d2 {{1, 3}}
protected

◆ _d3

const std::array<unsigned int, 5> HydrogenFluidProperties::_d3 {{2, 1, 3, 1, 1}}
protected

◆ _D3

const std::array<Real, 5> HydrogenFluidProperties::_D3 {{1.506, 0.156, 1.736, 0.67, 1.662}}
protected

◆ _gamma3

const std::array<Real, 5> HydrogenFluidProperties::_gamma3 {{0.7164, 1.3444, 1.4517, 0.7204, 1.5445}}
protected

◆ _Mh2

const Real HydrogenFluidProperties::_Mh2
protected

Hydrogen molar mass (kg/mol)

Definition at line 157 of file HydrogenFluidProperties.h.

Referenced by molarMass(), and mu_from_rho_T().

◆ _N1

const std::array<Real, 7> HydrogenFluidProperties::_N1 {{-6.93643, 0.01, 2.1101, 4.52059, 0.732564, -1.34086, 0.130985}}
protected

Coefficients for residual component of the Helmholtz free energy.

Definition at line 176 of file HydrogenFluidProperties.h.

Referenced by alpha(), d2alpha_ddelta2(), d2alpha_ddeltatau(), d2alpha_dtau2(), dalpha_ddelta(), and dalpha_dtau().

◆ _N2

const std::array<Real, 2> HydrogenFluidProperties::_N2 {{-0.777414, 0.351944}}
protected

◆ _N3

const std::array<Real, 5> HydrogenFluidProperties::_N3 {{-0.0211716, 0.0226312, 0.032187, -0.0231752, 0.0557346}}
protected

◆ _p_critical

const Real HydrogenFluidProperties::_p_critical
protected

Critical pressure (Pa)

Definition at line 159 of file HydrogenFluidProperties.h.

Referenced by criticalPressure(), and vaporPressure().

◆ _p_triple

const Real HydrogenFluidProperties::_p_triple
protected

Triple point pressure (Pa)

Definition at line 167 of file HydrogenFluidProperties.h.

Referenced by triplePointPressure().

◆ _phi3

const std::array<Real, 5> HydrogenFluidProperties::_phi3 {{-1.685, -0.489, -0.103, -2.506, -1.607}}
protected

◆ _R

const Real FluidProperties::_R = 8.3144598
staticinherited

◆ _rho_critical

const Real HydrogenFluidProperties::_rho_critical
protected

Critical density (kg/m^3)

Definition at line 165 of file HydrogenFluidProperties.h.

Referenced by criticalDensity().

◆ _rho_molar_critical

const Real HydrogenFluidProperties::_rho_molar_critical
protected

Critical molar density (mol/l)

Definition at line 163 of file HydrogenFluidProperties.h.

◆ _t1

const std::array<Real, 7> HydrogenFluidProperties::_t1 {{0.6844, 1.0, 0.989, 0.489, 0.803, 1.1444, 1.409}}
protected

◆ _t2

const std::array<Real, 2> HydrogenFluidProperties::_t2 {{1.754, 1.311}}
protected

◆ _t3

const std::array<Real, 5> HydrogenFluidProperties::_t3 {{4.187, 5.646, 0.791, 7.249, 2.986}}
protected

◆ _T_c2k

const Real FluidProperties::_T_c2k
protectedinherited

◆ _T_critical

const Real HydrogenFluidProperties::_T_critical
protected

Critical temperature (K)

Definition at line 161 of file HydrogenFluidProperties.h.

Referenced by criticalTemperature(), mu_from_rho_T(), and vaporPressure().

◆ _T_triple

const Real HydrogenFluidProperties::_T_triple
protected

Triple point temperature (K)

Definition at line 169 of file HydrogenFluidProperties.h.

Referenced by triplePointTemperature().

◆ h [1/2]

e e e e SinglePhaseFluidProperties::h
inherited

◆ h [2/2]

e e e e p h T T T T T v v v SinglePhaseFluidProperties::h
inherited

Definition at line 183 of file SinglePhaseFluidProperties.h.

◆ p [1/6]

e e e e p h SinglePhaseFluidProperties::p
inherited

Definition at line 167 of file SinglePhaseFluidProperties.h.

Referenced by StiffenedGasFluidProperties::c_from_v_e(), HeliumFluidProperties::c_from_v_e(), IdealGasFluidProperties::cp_from_p_T(), IdealGasFluidProperties::cv_from_p_T(), StiffenedGasFluidProperties::e_from_p_rho(), IdealGasFluidProperties::e_from_p_rho(), StiffenedGasFluidProperties::e_from_p_T(), IdealGasFluidProperties::e_from_p_T(), StiffenedGasFluidProperties::g_from_v_e(), IdealGasFluidProperties::g_from_v_e(), TabulatedFluidProperties::generateTabulatedData(), StiffenedGasFluidProperties::h_from_p_T(), IdealGasFluidProperties::h_from_p_T(), Water97FluidProperties::henryConstant(), IdealGasFluidProperties::k_from_p_T(), StiffenedGasFluidProperties::p_from_h_s(), IdealGasFluidProperties::p_from_h_s(), StiffenedGasFluidProperties::p_from_T_v(), IdealGasFluidProperties::p_from_T_v(), IdealGasFluidProperties::p_from_v_e(), StiffenedGasFluidProperties::p_from_v_e(), HeliumFluidProperties::p_from_v_e(), FlinakFluidProperties::p_from_v_e(), FlibeFluidProperties::p_from_v_e(), SinglePhaseFluidProperties::rho_e_from_p_T(), StiffenedGasFluidProperties::rho_from_p_s(), IdealGasFluidProperties::rho_from_p_s(), StiffenedGasFluidProperties::rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), SinglePhaseFluidProperties::rho_mu_from_p_T(), StiffenedGasFluidProperties::s_from_h_p(), IdealGasFluidProperties::s_from_h_p(), StiffenedGasFluidProperties::s_from_p_T(), IdealGasFluidProperties::s_from_p_T(), SimpleFluidProperties::s_from_p_T(), Water97FluidProperties::s_from_p_T(), TabulatedFluidProperties::s_from_p_T(), IdealGasFluidProperties::s_from_T_v(), StiffenedGasFluidProperties::s_from_v_e(), IdealGasFluidProperties::s_from_v_e(), Water97FluidProperties::T_from_p_h(), FlinakFluidProperties::T_from_v_e(), FlibeFluidProperties::T_from_v_e(), Water97FluidProperties::vaporPressure(), SinglePhaseFluidProperties::vaporPressure(), Water97FluidProperties::vaporTemperature(), SinglePhaseFluidProperties::vaporTemperature(), and TabulatedFluidProperties::writeTabulatedData().

◆ p [2/6]

e e e e p h T T SinglePhaseFluidProperties::p
inherited

Definition at line 171 of file SinglePhaseFluidProperties.h.

◆ p [3/6]

e e e e p h T T T SinglePhaseFluidProperties::p
inherited

Definition at line 173 of file SinglePhaseFluidProperties.h.

◆ p [4/6]

e e e e p h T T T T SinglePhaseFluidProperties::p
inherited

Definition at line 175 of file SinglePhaseFluidProperties.h.

◆ p [5/6]

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

Definition at line 185 of file SinglePhaseFluidProperties.h.

◆ p [6/6]

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

Definition at line 187 of file SinglePhaseFluidProperties.h.

◆ propfuncWithDefault

e e e e p h T T T T T v v v s h T e SinglePhaseFluidProperties::propfuncWithDefault(gamma, p, T)
inherited

Definition at line 190 of file SinglePhaseFluidProperties.h.

◆ rho

e e e e p h T SinglePhaseFluidProperties::rho
inherited

◆ T [1/3]

e e e e p h T T T T T SinglePhaseFluidProperties::T
inherited

Definition at line 177 of file SinglePhaseFluidProperties.h.

Referenced by IdealGasFluidProperties::c_from_p_T(), IdealGasFluidProperties::c_from_v_e(), HeliumFluidProperties::c_from_v_e(), IdealGasFluidProperties::cp_from_p_T(), IdealGasFluidProperties::cv_from_p_T(), StiffenedGasFluidProperties::e_from_p_T(), IdealGasFluidProperties::e_from_p_T(), StiffenedGasFluidProperties::e_from_T_v(), IdealGasFluidProperties::e_from_T_v(), StiffenedGasFluidProperties::g_from_v_e(), IdealGasFluidProperties::g_from_v_e(), StiffenedGasFluidProperties::h_from_p_T(), IdealGasFluidProperties::h_from_p_T(), StiffenedGasFluidProperties::h_from_T_v(), IdealGasFluidProperties::h_from_T_v(), Water97FluidProperties::henryConstant(), IdealGasFluidProperties::k_from_p_T(), HeliumFluidProperties::k_from_v_e(), IdealGasFluidProperties::mu_from_p_T(), StiffenedGasFluidProperties::p_from_T_v(), IdealGasFluidProperties::p_from_T_v(), HeliumFluidProperties::p_from_v_e(), FlibeFluidProperties::p_from_v_e(), FlinakFluidProperties::p_from_v_e(), SinglePhaseFluidProperties::rho_e_from_p_T(), StiffenedGasFluidProperties::rho_from_p_s(), IdealGasFluidProperties::rho_from_p_s(), StiffenedGasFluidProperties::rho_from_p_T(), IdealGasFluidProperties::rho_from_p_T(), SinglePhaseFluidProperties::rho_mu_from_p_T(), StiffenedGasFluidProperties::s_from_p_T(), IdealGasFluidProperties::s_from_p_T(), SimpleFluidProperties::s_from_p_T(), Water97FluidProperties::s_from_p_T(), TabulatedFluidProperties::s_from_p_T(), StiffenedGasFluidProperties::s_from_T_v(), IdealGasFluidProperties::s_from_T_v(), StiffenedGasFluidProperties::s_from_v_e(), IdealGasFluidProperties::s_from_v_e(), IdealGasFluidProperties::T_from_p_h(), Water97FluidProperties::T_from_p_h(), StiffenedGasFluidProperties::T_from_v_e(), IdealGasFluidProperties::T_from_v_e(), FlibeFluidProperties::T_from_v_e(), FlinakFluidProperties::T_from_v_e(), HeliumFluidProperties::T_from_v_e(), SinglePhaseFluidProperties::vaporPressure(), Water97FluidProperties::vaporTemperature(), and SinglePhaseFluidProperties::vaporTemperature().

◆ T [2/3]

e e e e p h T T T T T v SinglePhaseFluidProperties::T
inherited

Definition at line 179 of file SinglePhaseFluidProperties.h.

◆ T [3/3]

e e e e p h T T T T T v v SinglePhaseFluidProperties::T
inherited

Definition at line 181 of file SinglePhaseFluidProperties.h.

◆ v [1/6]

SinglePhaseFluidProperties::v
inherited

Definition at line 155 of file SinglePhaseFluidProperties.h.

Referenced by StiffenedGasFluidProperties::c_from_v_e(), IdealGasFluidProperties::c_from_v_e(), HeliumFluidProperties::c_from_v_e(), StiffenedGasFluidProperties::cp_from_v_e(), IdealGasFluidProperties::cp_from_v_e(), FlibeFluidProperties::cp_from_v_e(), FlinakFluidProperties::cp_from_v_e(), HeliumFluidProperties::cp_from_v_e(), FlibeFluidProperties::cv_from_p_T(), FlinakFluidProperties::cv_from_p_T(), IdealGasFluidProperties::cv_from_v_e(), FlibeFluidProperties::cv_from_v_e(), FlinakFluidProperties::cv_from_v_e(), HeliumFluidProperties::cv_from_v_e(), FlibeFluidProperties::e_from_p_T(), FlinakFluidProperties::e_from_p_T(), StiffenedGasFluidProperties::e_from_T_v(), IdealGasFluidProperties::e_from_v_h(), StiffenedGasFluidProperties::e_from_v_h(), StiffenedGasFluidProperties::g_from_v_e(), IdealGasFluidProperties::g_from_v_e(), FlibeFluidProperties::k_from_v_e(), FlinakFluidProperties::k_from_v_e(), HeliumFluidProperties::k_from_v_e(), FlibeFluidProperties::mu_from_v_e(), FlinakFluidProperties::mu_from_v_e(), HeliumFluidProperties::mu_from_v_e(), StiffenedGasFluidProperties::p_from_T_v(), IdealGasFluidProperties::p_from_T_v(), IdealGasFluidProperties::p_from_v_e(), StiffenedGasFluidProperties::p_from_v_e(), HeliumFluidProperties::p_from_v_e(), FlibeFluidProperties::p_from_v_e(), FlinakFluidProperties::p_from_v_e(), StiffenedGasFluidProperties::s_from_T_v(), IdealGasFluidProperties::s_from_T_v(), StiffenedGasFluidProperties::s_from_v_e(), IdealGasFluidProperties::s_from_v_e(), StiffenedGasFluidProperties::T_from_v_e(), IdealGasFluidProperties::T_from_v_e(), FlinakFluidProperties::T_from_v_e(), FlibeFluidProperties::T_from_v_e(), HeliumFluidProperties::T_from_v_e(), StiffenedGasFluidProperties::v_e_spndl_from_T(), IdealGasFluidProperties::v_e_spndl_from_T(), FlibeFluidProperties::v_from_p_T(), and FlinakFluidProperties::v_from_p_T().

◆ v [2/6]

e SinglePhaseFluidProperties::v
inherited

Definition at line 157 of file SinglePhaseFluidProperties.h.

◆ v [3/6]

e e SinglePhaseFluidProperties::v
inherited

Definition at line 159 of file SinglePhaseFluidProperties.h.

◆ v [4/6]

e e e SinglePhaseFluidProperties::v
inherited

Definition at line 161 of file SinglePhaseFluidProperties.h.

◆ v [5/6]

e e e e p SinglePhaseFluidProperties::v
inherited

Definition at line 165 of file SinglePhaseFluidProperties.h.

◆ v [6/6]

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

Definition at line 189 of file SinglePhaseFluidProperties.h.


The documentation for this class was generated from the following files:
HydrogenFluidProperties::_t1
const std::array< Real, 7 > _t1
Definition: HydrogenFluidProperties.h:177
HelmholtzFluidProperties::h_from_p_T
virtual Real h_from_p_T(Real pressure, Real temperature) const override
Definition: HelmholtzFluidProperties.C:185
HydrogenFluidProperties::_d3
const std::array< unsigned int, 5 > _d3
Definition: HydrogenFluidProperties.h:186
HelmholtzFluidProperties::rho_from_p_T
virtual Real rho_from_p_T(Real pressure, Real temperature) const override
Definition: HelmholtzFluidProperties.C:29
HydrogenFluidProperties::_N2
const std::array< Real, 2 > _N2
Definition: HydrogenFluidProperties.h:180
HydrogenFluidProperties::k_from_p_T
virtual Real k_from_p_T(Real pressure, Real temperature) const override
Definition: HydrogenFluidProperties.C:250
HydrogenFluidProperties::_a2k
const std::array< Real, 4 > _a2k
Definition: HydrogenFluidProperties.h:201
HydrogenFluidProperties::_beta3
const std::array< Real, 5 > _beta3
Definition: HydrogenFluidProperties.h:188
HelmholtzFluidProperties::p_from_rho_T
virtual Real p_from_rho_T(Real rho, Real T) const
Pressure as a function of density and temperature.
Definition: HelmholtzFluidProperties.C:222
HydrogenFluidProperties::mu_from_rho_T
virtual Real mu_from_rho_T(Real density, Real temperature) const override
Definition: HydrogenFluidProperties.C:81
HydrogenFluidProperties::_bmu
const std::array< Real, 7 > _bmu
Definition: HydrogenFluidProperties.h:194
HydrogenFluidProperties::_N3
const std::array< Real, 5 > _N3
Definition: HydrogenFluidProperties.h:184
pow
ExpressionBuilder::EBTerm pow(const ExpressionBuilder::EBTerm &left, T exponent)
Definition: ExpressionBuilder.h:673
HydrogenFluidProperties::_b2k
const std::array< Real, 5 > _b2k
Definition: HydrogenFluidProperties.h:203
HydrogenFluidProperties::_b
const std::array< Real, 5 > _b
Definition: HydrogenFluidProperties.h:173
HelmholtzFluidProperties::alpha
virtual Real alpha(Real delta, Real tau) const =0
Helmholtz free energy.
HydrogenFluidProperties::_d2
const std::array< unsigned int, 2 > _d2
Definition: HydrogenFluidProperties.h:182
BrentsMethod::root
Real root(std::function< Real(Real)> const &f, Real x1, Real x2, Real tol=1.0e-12)
Finds the root of a function using Brent's method.
Definition: BrentsMethod.C:61
HelmholtzFluidProperties::d2alpha_dtau2
virtual Real d2alpha_dtau2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt tau.
HelmholtzFluidProperties::HelmholtzFluidProperties
HelmholtzFluidProperties(const InputParameters &parameters)
Definition: HelmholtzFluidProperties.C:23
HydrogenFluidProperties::_phi3
const std::array< Real, 5 > _phi3
Definition: HydrogenFluidProperties.h:187
HydrogenFluidProperties::_rho_molar_critical
const Real _rho_molar_critical
Critical molar density (mol/l)
Definition: HydrogenFluidProperties.h:163
HydrogenFluidProperties::_gamma3
const std::array< Real, 5 > _gamma3
Definition: HydrogenFluidProperties.h:189
HydrogenFluidProperties::_D3
const std::array< Real, 5 > _D3
Definition: HydrogenFluidProperties.h:190
HydrogenFluidProperties::_rho_critical
const Real _rho_critical
Critical density (kg/m^3)
Definition: HydrogenFluidProperties.h:165
HydrogenFluidProperties::_amu
const std::array< Real, 5 > _amu
Coefficients for viscosity.
Definition: HydrogenFluidProperties.h:193
HelmholtzFluidProperties::d2alpha_ddelta2
virtual Real d2alpha_ddelta2(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta.
HelmholtzFluidProperties::e_from_p_T
virtual Real e_from_p_T(Real pressure, Real temperature) const override
Definition: HelmholtzFluidProperties.C:65
HelmholtzFluidProperties::dalpha_dtau
virtual Real dalpha_dtau(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt tau.
HydrogenFluidProperties::_T_critical
const Real _T_critical
Critical temperature (K)
Definition: HydrogenFluidProperties.h:161
NS::density
const std::string density
Definition: NS.h:16
HydrogenFluidProperties::_b1k
const std::array< Real, 5 > _b1k
Definition: HydrogenFluidProperties.h:202
HydrogenFluidProperties::_a1k
const std::array< Real, 7 > _a1k
Coefficients for thermal conductivity.
Definition: HydrogenFluidProperties.h:199
SinglePhaseFluidProperties::T
e e e e p h T T T T T T
Definition: SinglePhaseFluidProperties.h:177
SinglePhaseFluidProperties::criticalTemperature
virtual Real criticalTemperature() const
Critical temperature.
Definition: SinglePhaseFluidProperties.C:114
HydrogenFluidProperties::_a
const std::array< Real, 5 > _a
Coefficients for ideal gas component of the Helmholtz free energy.
Definition: HydrogenFluidProperties.h:172
SinglePhaseFluidProperties::rho
e e e e p h T rho
Definition: SinglePhaseFluidProperties.h:169
SinglePhaseFluidProperties::vaporPressure
virtual Real vaporPressure(Real T) const
Vapor pressure.
Definition: SinglePhaseFluidProperties.C:177
SinglePhaseFluidProperties::vaporTemperature
virtual Real vaporTemperature(Real p) const
Vapor temperature.
Definition: SinglePhaseFluidProperties.C:212
name
const std::string name
Definition: Setup.h:21
HydrogenFluidProperties::_p_triple
const Real _p_triple
Triple point pressure (Pa)
Definition: HydrogenFluidProperties.h:167
SinglePhaseFluidProperties::criticalDensity
virtual Real criticalDensity() const
Critical density.
Definition: SinglePhaseFluidProperties.C:120
HydrogenFluidProperties::_Mh2
const Real _Mh2
Hydrogen molar mass (kg/mol)
Definition: HydrogenFluidProperties.h:157
HydrogenFluidProperties::k_from_rho_T
virtual Real k_from_rho_T(Real density, Real temperature) const override
Definition: HydrogenFluidProperties.C:219
SinglePhaseFluidProperties::molarMass
virtual virtual std Real molarMass() const
Fluid name.
Definition: SinglePhaseFluidProperties.C:96
SinglePhaseFluidProperties::fluidPropError
void fluidPropError(Args... args) const
Definition: SinglePhaseFluidProperties.h:326
FluidProperties::_R
static const Real _R
Universal gas constant (J/mol/K)
Definition: FluidProperties.h:42
NS::temperature
const std::string temperature
Definition: NS.h:26
FluidProperties::_allow_imperfect_jacobians
const bool _allow_imperfect_jacobians
Flag to set unimplemented Jacobian entries to zero.
Definition: FluidProperties.h:48
HydrogenFluidProperties::_t2
const std::array< Real, 2 > _t2
Definition: HydrogenFluidProperties.h:181
HelmholtzFluidProperties::d2alpha_ddeltatau
virtual Real d2alpha_ddeltatau(Real delta, Real tau) const =0
Second derivative of Helmholtz free energy wrt delta and tau.
HydrogenFluidProperties::_p_critical
const Real _p_critical
Critical pressure (Pa)
Definition: HydrogenFluidProperties.h:159
HydrogenFluidProperties::_N1
const std::array< Real, 7 > _N1
Coefficients for residual component of the Helmholtz free energy.
Definition: HydrogenFluidProperties.h:176
SinglePhaseFluidProperties::p
e e e e p h p
Definition: SinglePhaseFluidProperties.h:167
HelmholtzFluidProperties::dalpha_ddelta
virtual Real dalpha_ddelta(Real delta, Real tau) const =0
Derivative of Helmholtz free energy wrt delta.
HelmholtzFluidProperties::s_from_p_T
virtual Real s_from_p_T(Real pressure, Real temperature) const override
Definition: HelmholtzFluidProperties.C:150
HydrogenFluidProperties::_cmu
const std::array< Real, 6 > _cmu
Definition: HydrogenFluidProperties.h:195
HydrogenFluidProperties::_d1
const std::array< unsigned int, 7 > _d1
Definition: HydrogenFluidProperties.h:178
BrentsMethod::bracket
void bracket(std::function< Real(Real)> const &f, Real &x1, Real &x2)
Function to bracket a root of a given function.
Definition: BrentsMethod.C:17
NS::pressure
const std::string pressure
Definition: NS.h:25
HydrogenFluidProperties::_t3
const std::array< Real, 5 > _t3
Definition: HydrogenFluidProperties.h:185
SinglePhaseFluidProperties::h
e e e e h
Definition: SinglePhaseFluidProperties.h:163
HydrogenFluidProperties::_T_triple
const Real _T_triple
Triple point temperature (K)
Definition: HydrogenFluidProperties.h:169