https://mooseframework.inl.gov
HeliumFluidPropertiesTest.C
Go to the documentation of this file.
1 //* This file is part of the MOOSE framework
2 //* https://mooseframework.inl.gov
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 
12 
16 TEST_F(HeliumFluidPropertiesTest, fluidName) { EXPECT_EQ(_fp->fluidName(), "helium"); }
17 
22 {
23  ABS_TEST(_fp->molarMass(), 4.002602e-3, REL_TOL_SAVED_VALUE);
24 }
25 
30 TEST_F(HeliumFluidPropertiesTest, thermalConductivity)
31 {
32  const Real T = 120.0 + 273.15;
33  const Real p = 101325.0;
34  const Real e = _fp->e_from_p_T(p, T);
35  const Real v = 1. / _fp->rho_from_p_T(p, T);
36 
37  REL_TEST(_fp->k_from_v_e(v, e), 1.8651584722911332e-01, REL_TOL_SAVED_VALUE);
38  REL_TEST(_fp->k_from_p_T(p, T), 1.8651584722911332e-01, REL_TOL_SAVED_VALUE);
39  DERIV_TEST(_fp->k_from_p_T, p, T, REL_TOL_DERIVATIVE);
40  DERIV_TEST(_fp->k_from_v_e, v, e, REL_TOL_DERIVATIVE);
41 }
42 
47 {
48  const Real T = 120.0 + 273.15;
49  const Real p = 101325.0;
50  const Real e = _fp->e_from_p_T(p, T);
51  const Real v = 1. / _fp->rho_from_p_T(p, T);
52 
53  REL_TEST(_fp->mu_from_v_e(v, e), 2.4061901685126415e-05, REL_TOL_SAVED_VALUE);
54  REL_TEST(_fp->mu_from_p_T(p, T), 2.4061901685126415e-05, REL_TOL_SAVED_VALUE);
55  DERIV_TEST(_fp->mu_from_p_T, p, T, REL_TOL_DERIVATIVE);
56  DERIV_TEST(_fp->mu_from_v_e, v, e, REL_TOL_DERIVATIVE);
57 }
58 
62 TEST_F(HeliumFluidPropertiesTest, isobaricSpecificHeat)
63 {
64  const Real T = 120.0 + 273.15;
65  const Real p = 101325.0;
66  const Real e = _fp->e_from_p_T(p, T);
67  const Real v = 1. / _fp->rho_from_p_T(p, T);
68 
69  REL_TEST(_fp->cp_from_p_T(p, T), 5195.0, REL_TOL_SAVED_VALUE);
70  REL_TEST(_fp->cp_from_v_e(v, e), 5195.0, REL_TOL_SAVED_VALUE);
71  DERIV_TEST(_fp->cp_from_p_T, p, T, REL_TOL_DERIVATIVE);
72  DERIV_TEST(_fp->cp_from_v_e, v, e, REL_TOL_DERIVATIVE);
73 }
74 
78 TEST_F(HeliumFluidPropertiesTest, isochoricSpecificHeat)
79 {
80  const Real T = 120.0 + 273.15;
81  const Real p = 101325.0;
82  const Real e = _fp->e_from_p_T(p, T);
83  const Real v = 1. / _fp->rho_from_p_T(p, T);
84 
85  REL_TEST(_fp->cv_from_v_e(v, e), 3117.0, REL_TOL_SAVED_VALUE);
86  REL_TEST(_fp->cv_from_p_T(p, T), 3117.0, REL_TOL_SAVED_VALUE);
87  DERIV_TEST(_fp->cv_from_p_T, p, T, REL_TOL_DERIVATIVE);
88  DERIV_TEST(_fp->cv_from_v_e, v, e, REL_TOL_DERIVATIVE);
89 }
90 
95 {
96  const Real T = 120.0 + 273.15;
97  const Real p = 101325.0;
98 
99  ABS_TEST(_fp->rho_from_p_T(p, T), 1.2402629878970449e-01, REL_TOL_SAVED_VALUE);
100  DERIV_TEST(_fp->rho_from_p_T, p, T, REL_TOL_DERIVATIVE);
101 }
102 
106 TEST_F(HeliumFluidPropertiesTest, specificInternalEnergy)
107 {
108  const Real T = 120.0 + 273.15;
109  const Real p = 101325.0;
110  const Real rho = _fp->rho_from_p_T(p, T);
111 
112  ABS_TEST(_fp->e_from_p_T(p, T), 1.2254485499999998e6, REL_TOL_SAVED_VALUE);
113  DERIV_TEST(_fp->e_from_p_T, p, T, REL_TOL_DERIVATIVE);
114  ABS_TEST(_fp->e_from_p_rho(p, rho), 1.2254485499999998e6, REL_TOL_SAVED_VALUE);
115 
116  // Equivalent (v,h), (p,T)
117  const Real v = 1. / rho;
118  const Real h = _fp->h_from_p_T(p, T);
119  ABS_TEST(_fp->e_from_v_h(v, h), 1.2254485499999998e6, REL_TOL_SAVED_VALUE);
120  DERIV_TEST(_fp->e_from_v_h, v, h, REL_TOL_DERIVATIVE);
121 }
122 
127 {
128  const Real T = 120.0 + 273.15;
129  const Real p = 101325.0;
130  const Real e = _fp->e_from_p_T(p, T);
131  const Real v = 1. / _fp->rho_from_p_T(p, T);
132 
133  REL_TEST(_fp->p_from_v_e(v, e), p, REL_TOL_SAVED_VALUE);
134  DERIV_TEST(_fp->p_from_v_e, v, e, REL_TOL_DERIVATIVE);
135 }
136 
141 {
142  const Real T = 120.0 + 273.15;
143  const Real p = 101325.0;
144  const Real e = _fp->e_from_p_T(p, T);
145  const Real v = 1. / _fp->rho_from_p_T(p, T);
146 
147  REL_TEST(_fp->T_from_v_e(v, e), T, REL_TOL_SAVED_VALUE);
148  DERIV_TEST(_fp->T_from_v_e, v, e, REL_TOL_DERIVATIVE);
149 
150  const Real h = _fp->h_from_p_T(p, T);
151  REL_TEST(_fp->T_from_p_h(p, h), T, REL_TOL_SAVED_VALUE);
152 }
153 
158 {
159  const Real T = 120.0 + 273.15;
160  const Real p = 101325.0;
161 
162  ABS_TEST(_fp->h_from_p_T(p, T), 2.0424142499999998e+06, REL_TOL_SAVED_VALUE);
163  DERIV_TEST(_fp->h_from_p_T, p, T, REL_TOL_DERIVATIVE);
164 
165  // Derivatives
166  const ADReal T_ad = T;
167  const ADReal p_ad = p;
168  Real h, dhdT, dhdp;
169  ADReal h_ad, dhdT_ad, dhdp_ad;
170  _fp->h_from_p_T(p, T, h, dhdT, dhdp);
171  _fp->h_from_p_T(p_ad, T_ad, h_ad, dhdT_ad, dhdp_ad);
172  DERIV_TEST(_fp->h_from_p_T, p, T, REL_TOL_DERIVATIVE);
173  REL_TEST(h, h_ad.value(), REL_TOL_CONSISTENCY);
174  REL_TEST(dhdT, dhdT_ad.value(), REL_TOL_CONSISTENCY);
175  REL_TEST(dhdp, dhdp_ad.value(), REL_TOL_CONSISTENCY);
176 }
const double T
static const std::string density
Definition: NS.h:34
const double v
TEST_F(HeliumFluidPropertiesTest, fluidName)
Test that the fluid name is correctly returned.
static const std::string temperature
Definition: NS.h:60
DualNumber< Real, DNDerivativeType, false > ADReal
const double rho
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
const Real p
static const std::string pressure
Definition: NS.h:57