www.mooseframework.org
HydrogenFluidProperties.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://www.mooseframework.org
3 //*
4 //* All rights reserved, see COPYRIGHT for full restrictions
5 //* https://github.com/idaholab/moose/blob/master/COPYRIGHT
6 //*
7 //* Licensed under LGPL 2.1, please see LICENSE for details
8 //* https://www.gnu.org/licenses/lgpl-2.1.html
9 
11 #include "Conversion.h"
12 #include "MathUtils.h"
13 #include "libmesh/utility.h"
14 
15 registerMooseObject("FluidPropertiesApp", HydrogenFluidProperties);
16 
17 template <>
18 InputParameters
20 {
21  InputParameters params = validParams<HelmholtzFluidProperties>();
22  params.addClassDescription("Fluid properties for Hydrogen (H2)");
23  return params;
24 }
25 
26 HydrogenFluidProperties::HydrogenFluidProperties(const InputParameters & parameters)
27  : HelmholtzFluidProperties(parameters),
28  _Mh2(2.01588e-3),
29  _p_critical(1.315e6),
30  _T_critical(33.19),
31  _rho_molar_critical(15.508),
32  _rho_critical(1000.0 * _rho_molar_critical * _Mh2),
33  _p_triple(7.7e3),
34  _T_triple(13.952)
35 {
36 }
37 
38 std::string
40 {
41  return "hydrogen";
42 }
43 
44 Real
46 {
47  return _Mh2;
48 }
49 
50 Real
52 {
53  return _p_critical;
54 }
55 
56 Real
58 {
59  return _T_critical;
60 }
61 
62 Real
64 {
65  return _rho_critical;
66 }
67 
68 Real
70 {
71  return _p_triple;
72 }
73 
74 Real
76 {
77  return _T_triple;
78 }
79 
80 Real
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 }
113 
114 void
116  Real temperature,
117  Real ddensity_dT,
118  Real & mu,
119  Real & dmu_drho,
120  Real & dmu_dT) const
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 }
171 
172 Real
174 {
175  // Require density first
176  const Real density = rho_from_p_T(pressure, temperature);
178 }
179 
180 void
182  Real pressure, Real temperature, Real & mu, Real & dmu_dp, Real & dmu_dT) const
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 }
191 
192 void
194  Real temperature,
195  Real & rho,
196  Real & mu) const
197 {
200 }
201 
202 void
204  Real temperature,
205  Real & rho,
206  Real & drho_dp,
207  Real & drho_dT,
208  Real & mu,
209  Real & dmu_dp,
210  Real & dmu_dT) const
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 }
217 
218 Real
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 }
248 
249 Real
251 {
252  // Require density first
253  const Real density = rho_from_p_T(pressure, temperature);
255 }
256 
257 void
259  Real pressure, Real temperature, Real & k, Real & dk_dp, Real & dk_dT) const
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 }
270 
271 std::vector<Real>
273 {
274  return {-4.73284, 6.08954, 6.06066};
275 }
276 
277 Real
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 }
292 
293 void
294 HydrogenFluidProperties::vaporPressure(Real, Real &, Real &) const
295 {
296  mooseError(name(), ": vaporPressure() is not implemented");
297 }
298 
299 Real
300 HydrogenFluidProperties::alpha(Real delta, Real tau) const
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 }
325 
326 Real
327 HydrogenFluidProperties::dalpha_ddelta(Real delta, Real tau) const
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 }
351 
352 Real
353 HydrogenFluidProperties::dalpha_dtau(Real delta, Real tau) const
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 }
380 
381 Real
382 HydrogenFluidProperties::d2alpha_ddelta2(Real delta, Real tau) const
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 }
410 
411 Real
412 HydrogenFluidProperties::d2alpha_dtau2(Real delta, Real tau) const
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 }
446 
447 Real
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 }
HydrogenFluidProperties::_t1
const std::array< Real, 7 > _t1
Definition: HydrogenFluidProperties.h:177
HydrogenFluidProperties::criticalTemperature
virtual Real criticalTemperature() const override
Critical temperature.
Definition: HydrogenFluidProperties.C:57
HydrogenFluidProperties::_d3
const std::array< unsigned int, 5 > _d3
Definition: HydrogenFluidProperties.h:186
HydrogenFluidProperties
Hydrogen (H2) fluid properties as a function of pressure (Pa) and temperature (K).
Definition: HydrogenFluidProperties.h:42
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::d2alpha_dtau2
virtual Real d2alpha_dtau2(Real delta, Real tau) const override
Second derivative of Helmholtz free energy wrt tau.
Definition: HydrogenFluidProperties.C:412
HydrogenFluidProperties::_a2k
const std::array< Real, 4 > _a2k
Definition: HydrogenFluidProperties.h:201
HydrogenFluidProperties::_beta3
const std::array< Real, 5 > _beta3
Definition: HydrogenFluidProperties.h:188
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::mu_from_p_T
virtual Real mu_from_p_T(Real pressure, Real temperature) const override
Definition: HydrogenFluidProperties.C:173
HydrogenFluidProperties::henryCoefficients
virtual std::vector< Real > henryCoefficients() const override
Henry's law coefficients for dissolution in water.
Definition: HydrogenFluidProperties.C:272
HydrogenFluidProperties::_b2k
const std::array< Real, 5 > _b2k
Definition: HydrogenFluidProperties.h:203
HydrogenFluidProperties::dalpha_ddelta
virtual Real dalpha_ddelta(Real delta, Real tau) const override
Derivative of Helmholtz free energy wrt delta.
Definition: HydrogenFluidProperties.C:327
HydrogenFluidProperties::_b
const std::array< Real, 5 > _b
Definition: HydrogenFluidProperties.h:173
validParams< HelmholtzFluidProperties >
InputParameters validParams< HelmholtzFluidProperties >()
Definition: HelmholtzFluidProperties.C:16
HydrogenFluidProperties::triplePointPressure
virtual Real triplePointPressure() const override
Triple point pressure.
Definition: HydrogenFluidProperties.C:69
HydrogenFluidProperties::_d2
const std::array< unsigned int, 2 > _d2
Definition: HydrogenFluidProperties.h:182
HydrogenFluidProperties::_phi3
const std::array< Real, 5 > _phi3
Definition: HydrogenFluidProperties.h:187
HydrogenFluidProperties::HydrogenFluidProperties
HydrogenFluidProperties(const InputParameters &parameters)
Definition: HydrogenFluidProperties.C:26
HydrogenFluidProperties::triplePointTemperature
virtual Real triplePointTemperature() const override
Triple point temperature.
Definition: HydrogenFluidProperties.C:75
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::fluidName
virtual std::string fluidName() const override
Definition: HydrogenFluidProperties.C:39
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
HydrogenFluidProperties::criticalDensity
virtual Real criticalDensity() const override
Critical density.
Definition: HydrogenFluidProperties.C:63
HydrogenFluidProperties::d2alpha_ddeltatau
virtual Real d2alpha_ddeltatau(Real delta, Real tau) const override
Second derivative of Helmholtz free energy wrt delta and tau.
Definition: HydrogenFluidProperties.C:448
validParams< HydrogenFluidProperties >
InputParameters validParams< HydrogenFluidProperties >()
Definition: HydrogenFluidProperties.C:19
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
HydrogenFluidProperties::molarMass
virtual Real molarMass() const override
Fluid name.
Definition: HydrogenFluidProperties.C:45
HydrogenFluidProperties.h
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
name
const std::string name
Definition: Setup.h:21
HydrogenFluidProperties::_p_triple
const Real _p_triple
Triple point pressure (Pa)
Definition: HydrogenFluidProperties.h:167
HelmholtzFluidProperties
Base class equation of state for fluids that use a Helmholtz free energy alpha(delta,...
Definition: HelmholtzFluidProperties.h:34
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
NS::temperature
const std::string temperature
Definition: NS.h:26
HydrogenFluidProperties::alpha
virtual Real alpha(Real delta, Real tau) const override
Helmholtz free energy for H2 From Leachman et al (reference above)
Definition: HydrogenFluidProperties.C:300
HydrogenFluidProperties::vaporPressure
virtual Real vaporPressure(Real temperature) const override
Vapor pressure.
Definition: HydrogenFluidProperties.C:278
HydrogenFluidProperties::criticalPressure
virtual Real criticalPressure() const override
Critical pressure.
Definition: HydrogenFluidProperties.C:51
HydrogenFluidProperties::_t2
const std::array< Real, 2 > _t2
Definition: HydrogenFluidProperties.h:181
HydrogenFluidProperties::_p_critical
const Real _p_critical
Critical pressure (Pa)
Definition: HydrogenFluidProperties.h:159
HydrogenFluidProperties::d2alpha_ddelta2
virtual Real d2alpha_ddelta2(Real delta, Real tau) const override
Second derivative of Helmholtz free energy wrt delta.
Definition: HydrogenFluidProperties.C:382
registerMooseObject
registerMooseObject("FluidPropertiesApp", HydrogenFluidProperties)
HydrogenFluidProperties::_N1
const std::array< Real, 7 > _N1
Coefficients for residual component of the Helmholtz free energy.
Definition: HydrogenFluidProperties.h:176
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
HydrogenFluidProperties::dalpha_dtau
virtual Real dalpha_dtau(Real delta, Real tau) const override
Derivative of Helmholtz free energy wrt tau.
Definition: HydrogenFluidProperties.C:353
NS::pressure
const std::string pressure
Definition: NS.h:25
HydrogenFluidProperties::_t3
const std::array< Real, 5 > _t3
Definition: HydrogenFluidProperties.h:185
HydrogenFluidProperties::rho_mu_from_p_T
virtual void rho_mu_from_p_T(Real pressure, Real temperature, Real &rho, Real &mu) const override
Combined methods.
Definition: HydrogenFluidProperties.C:193
HydrogenFluidProperties::_T_triple
const Real _T_triple
Triple point temperature (K)
Definition: HydrogenFluidProperties.h:169