18 EXPECT_EQ(_fp->fluidName(),
"TemperaturePressureFunctionFluidProperties");
28 const Real tol = REL_TOL_CONSISTENCY;
29 const Real large_tol = 100 *
tol;
34 Real v = 1 / (1400 + 2.5 *
T + 32e-5 *
p);
38 Real thermal_cond = 14 + 2e-2 *
T + 3e-5 *
p;
39 Real visc = 1e-3 + 1e-5 *
T - 3e-9 *
p;
46 ABS_TEST(_fp->cp_from_p_T(
p,
T),
cp,
tol);
47 ABS_TEST(_fp->cv_from_p_T(
p,
T),
cv,
tol);
48 ABS_TEST(_fp->k_from_p_T(
p,
T), thermal_cond,
tol);
49 ABS_TEST(_fp->k_from_p_T(
p,
T), thermal_cond,
tol);
52 ABS_TEST(_fp->e_from_p_T(
p,
T),
cv *
T,
tol);
53 ABS_TEST(_fp->e_from_p_rho(
p, 1. /
v),
56 ABS_TEST(_fp->mu_from_p_T(
p,
T), visc,
tol);
57 ABS_TEST(_fp->h_from_p_T(
p,
T), h,
tol);
58 ABS_TEST(_fp->cp_from_v_e(
v, e),
cp,
tol);
59 ABS_TEST(_fp->cv_from_v_e(
v, e),
cv,
tol);
60 ABS_TEST(_fp->k_from_v_e(
v, e), thermal_cond,
tol);
61 ABS_TEST(_fp->T_from_v_e(
v, e),
T,
tol);
62 ABS_TEST(_fp->T_from_p_h(
p, _fp->h_from_p_T(
p,
T)),
T,
tol);
63 ABS_TEST(_fp->T_from_p_rho(
p, 1. /
v),
T,
tol);
65 _fp->p_from_v_e(
v, e),
p, 1.5 * large_tol);
66 ABS_TEST(_fp->mu_from_v_e(
v, e), visc,
tol);
71 v = 1 / (1400 + 2.5 *
T + 32e-5 *
p);
72 h =
cv *
T +
p / _fp->rho_from_p_T(
p,
T);
75 thermal_cond = 14 + 2e-2 *
T + 3e-5 *
p;
76 visc = 1e-3 + 1e-5 *
T - 3e-9 *
p;
82 ABS_TEST(_fp->cp_from_p_T(
p,
T),
cp,
tol);
83 ABS_TEST(_fp->cv_from_p_T(
p,
T),
cv,
tol);
84 ABS_TEST(_fp->k_from_p_T(
p,
T), thermal_cond,
tol);
85 ABS_TEST(_fp->k_from_p_T(
p,
T), thermal_cond,
tol);
88 ABS_TEST(_fp->e_from_p_T(
p,
T),
cv *
T,
tol);
89 ABS_TEST(_fp->e_from_p_rho(
p, 1. /
v),
92 ABS_TEST(_fp->mu_from_p_T(
p,
T), visc,
tol);
93 ABS_TEST(_fp->h_from_p_T(
p,
T), h,
tol);
94 ABS_TEST(_fp->cp_from_v_e(
v, e),
cp,
tol);
95 ABS_TEST(_fp->cv_from_v_e(
v, e),
cv,
tol);
96 ABS_TEST(_fp->k_from_v_e(
v, e), thermal_cond,
tol);
97 ABS_TEST(_fp->T_from_v_e(
v, e),
T,
tol);
98 ABS_TEST(_fp->T_from_p_h(
p, _fp->h_from_p_T(
p,
T)),
T,
tol);
99 ABS_TEST(_fp->T_from_p_rho(
p, 1. /
v),
T,
tol);
100 ABS_TEST(_fp->p_from_v_e(
v, e),
p, large_tol);
101 ABS_TEST(_fp->mu_from_v_e(
v, e), visc,
tol);
109 const Real tol = REL_TOL_CONSISTENCY;
111 const Real large_tol = 1e-8;
113 const Real newton_tol = 1e-4;
119 Real e = 9220000.46051060781;
120 Real v = 1 / (1400 + 2.5 *
T + 32e-5 *
p);
124 Real thermal_cond = 14 + 2e-2 *
T + 3e-5 *
p;
125 Real visc = 1e-3 + 1e-5 *
T - 3e-9 *
p;
131 ABS_TEST(_fp_cp->cp_from_p_T(
p,
T),
cp,
tol);
132 ABS_TEST(_fp_cp->cv_from_p_T(
p,
T),
cv,
tol);
133 ABS_TEST(_fp_cp->k_from_p_T(
p,
T), thermal_cond,
tol);
134 ABS_TEST(_fp_cp->k_from_p_T(
p,
T), thermal_cond,
tol);
137 ABS_TEST(_fp_cp->e_from_p_T(
p,
T), e,
tol);
138 ABS_TEST(_fp_cp->e_from_p_rho(
p, 1. /
v), e, 10 * large_tol);
139 ABS_TEST(_fp_cp->mu_from_p_T(
p,
T), visc,
tol);
140 ABS_TEST(_fp_cp->h_from_p_T(
p,
T), h,
tol);
141 ABS_TEST(_fp_cp->cp_from_v_e(
v, e),
cp, large_tol);
142 ABS_TEST(_fp_cp->cv_from_v_e(
v, e),
cv, large_tol);
143 ABS_TEST(_fp_cp->k_from_v_e(
v, e), thermal_cond, large_tol);
144 ABS_TEST(_fp_cp->T_from_v_e(
v, e),
T, large_tol);
145 ABS_TEST(_fp_cp->T_from_p_h(
p, _fp_cp->h_from_p_T(
p,
T)),
T, large_tol);
146 ABS_TEST(_fp_cp->T_from_p_rho(
p, 1. /
v),
T, large_tol);
147 ABS_TEST(_fp_cp->p_from_v_e(
v, e),
p, newton_tol);
148 ABS_TEST(_fp_cp->mu_from_v_e(
v, e), visc, large_tol);
155 Real e = 17061150.6748718396;
156 Real v = 1 / (1400 + 2.5 *
T + 32e-5 *
p);
160 Real thermal_cond = 14 + 2e-2 *
T + 3e-5 *
p;
161 Real visc = 1e-3 + 1e-5 *
T - 3e-9 *
p;
167 ABS_TEST(_fp_cp->cp_from_p_T(
p,
T),
cp,
tol);
168 ABS_TEST(_fp_cp->cv_from_p_T(
p,
T),
cv,
tol);
169 ABS_TEST(_fp_cp->k_from_p_T(
p,
T), thermal_cond,
tol);
170 ABS_TEST(_fp_cp->k_from_p_T(
p,
T), thermal_cond,
tol);
173 ABS_TEST(_fp_cp->e_from_p_T(
p,
T), e,
tol);
174 ABS_TEST(_fp_cp->e_from_p_rho(
p, 1. /
v), e,
tol);
175 ABS_TEST(_fp_cp->mu_from_p_T(
p,
T), visc,
tol);
176 ABS_TEST(_fp_cp->h_from_p_T(
p,
T), h,
tol);
177 ABS_TEST(_fp_cp->cp_from_v_e(
v, e),
cp, 1.5 * large_tol);
178 ABS_TEST(_fp_cp->cv_from_v_e(
v, e),
cv, 1.5 * large_tol);
179 ABS_TEST(_fp_cp->k_from_v_e(
v, e), thermal_cond, large_tol);
180 ABS_TEST(_fp_cp->T_from_v_e(
v, e),
T, 1.5 * large_tol);
181 ABS_TEST(_fp_cp->T_from_p_h(
p, _fp_cp->h_from_p_T(
p,
T)),
T, large_tol);
182 ABS_TEST(_fp_cp->T_from_p_rho(
p, 1. /
v),
T, large_tol);
183 ABS_TEST(_fp_cp->p_from_v_e(
v, e),
p, newton_tol);
184 ABS_TEST(_fp_cp->mu_from_v_e(
v, e), visc, large_tol);
192 Real e = 17061150.0000000037;
198 ABS_TEST(_fp_incompressible->cp_from_p_T(
p,
T),
cp,
tol);
199 ABS_TEST(_fp_incompressible->cv_from_p_T(
p,
T),
cv,
tol);
200 ABS_TEST(_fp_incompressible->e_from_p_T(
p,
T), e,
tol);
203 ABS_TEST(_fp_incompressible->T_from_p_h(
p, _fp_incompressible->h_from_p_T(
p,
T)),
T, large_tol);
204 ABS_TEST(_fp_incompressible->h_from_p_T(
p,
T), h,
tol);
207 DERIV_TEST(_fp_incompressible->e_from_p_T,
p,
T, 1e-5);
208 DERIV_TEST(_fp_incompressible->h_from_p_T,
p,
T, 1e-5);
218 const Real tol = REL_TOL_DERIVATIVE;
220 const Real large_tol = 1000 *
tol;
228 AD_DERIV_TEST(_fp->rho_from_p_T,
p,
T,
tol);
229 DERIV_TEST(_fp->rho_from_p_T,
p,
T,
tol);
230 DERIV_TEST(_fp->v_from_p_T,
p,
T,
tol);
231 DERIV_TEST(_fp->mu_from_p_T,
p,
T,
tol);
232 DERIV_TEST(_fp->e_from_p_T,
p,
T,
tol);
233 DERIV_TEST(_fp->h_from_p_T,
p,
T,
tol);
234 DERIV_TEST(_fp->k_from_p_T,
p,
T,
tol);
235 DERIV_TEST(_fp->cp_from_p_T,
p,
T, 4 * large_tol);
236 DERIV_TEST(_fp->cv_from_p_T,
p,
T,
tol);
237 DERIV_TEST(_fp->cp_from_v_e,
v, e, large_tol);
238 DERIV_TEST(_fp->cv_from_v_e,
v, e,
tol);
240 e = 80150.0458189499477;
241 v = 0.00021621621621621621;
243 AD_DERIV_TEST(_fp_cp->rho_from_p_T,
p,
T,
tol);
244 DERIV_TEST(_fp_cp->rho_from_p_T,
p,
T,
tol);
245 DERIV_TEST(_fp_cp->v_from_p_T,
p,
T,
tol);
246 DERIV_TEST(_fp_cp->mu_from_p_T,
p,
T,
tol);
247 DERIV_TEST(_fp_cp->e_from_p_T,
p,
T,
tol);
248 DERIV_TEST(_fp_cp->h_from_p_T,
p,
T,
tol);
249 DERIV_TEST(_fp_cp->k_from_p_T,
p,
T,
tol);
250 DERIV_TEST(_fp_cp->cp_from_p_T,
p,
T, large_tol);
251 DERIV_TEST(_fp_cp->cv_from_p_T,
p,
T, large_tol);
252 DERIV_TEST(_fp_cp->cp_from_v_e,
v, e, large_tol);
253 DERIV_TEST(_fp_cp->cv_from_v_e,
v, e, large_tol);
260 AD_DERIV_TEST(_fp->rho_from_p_T,
p,
T,
tol);
261 DERIV_TEST(_fp->rho_from_p_T,
p,
T,
tol);
262 DERIV_TEST(_fp->v_from_p_T,
p,
T,
tol);
263 DERIV_TEST(_fp->mu_from_p_T,
p,
T,
tol);
264 DERIV_TEST(_fp->e_from_p_T,
p,
T,
tol);
265 DERIV_TEST(_fp->h_from_p_T,
p,
T,
tol);
266 DERIV_TEST(_fp->k_from_p_T,
p,
T,
tol);
267 DERIV_TEST(_fp->cp_from_p_T,
p,
T, 2 * large_tol);
268 DERIV_TEST(_fp->cv_from_p_T,
p,
T,
tol);
269 DERIV_TEST(_fp->cp_from_v_e,
v, e, 2 * large_tol);
270 DERIV_TEST(_fp->cv_from_v_e,
v, e,
tol);
272 e = 5374151.12329934724;
273 v = 5.5944055944055945e-05;
275 AD_DERIV_TEST(_fp_cp->rho_from_p_T,
p,
T,
tol);
276 DERIV_TEST(_fp_cp->rho_from_p_T,
p,
T,
tol);
277 DERIV_TEST(_fp_cp->v_from_p_T,
p,
T,
tol);
278 DERIV_TEST(_fp_cp->mu_from_p_T,
p,
T,
tol);
279 DERIV_TEST(_fp_cp->e_from_p_T,
p,
T,
tol);
280 DERIV_TEST(_fp_cp->h_from_p_T,
p,
T,
tol);
281 DERIV_TEST(_fp_cp->k_from_p_T,
p,
T,
tol);
282 DERIV_TEST(_fp_cp->cp_from_p_T,
p,
T, large_tol);
283 DERIV_TEST(_fp_cp->cv_from_p_T,
p,
T, large_tol);
284 DERIV_TEST(_fp_cp->cp_from_v_e,
v, e, large_tol);
285 DERIV_TEST(_fp_cp->cv_from_v_e,
v, e, large_tol);
294 const Real p = 1.0e6;
295 const Real T = 300.0;
296 const Real tol = REL_TOL_CONSISTENCY;
300 _fp->rho_from_p_T(
p,
T,
rho, drho_dp, drho_dT);
302 _fp->mu_from_p_T(
p,
T,
mu, dmu_dp, dmu_dT);
303 Real e, de_dp, de_dT;
304 _fp->e_from_p_T(
p,
T, e, de_dp, de_dT);
307 Real rho2, drho2_dp, drho2_dT, mu2, dmu2_dp, dmu2_dT, e2, de2_dp, de2_dT;
308 _fp->rho_mu_from_p_T(
p,
T, rho2, mu2);
311 ABS_TEST(
mu, mu2,
tol);
313 _fp->rho_mu_from_p_T(
p,
T, rho2, drho2_dp, drho2_dT, mu2, dmu2_dp, dmu2_dT);
315 ABS_TEST(drho_dp, drho2_dp,
tol);
316 ABS_TEST(drho_dT, drho2_dT,
tol);
317 ABS_TEST(
mu, mu2,
tol);
318 ABS_TEST(dmu_dp, dmu2_dp,
tol);
319 ABS_TEST(dmu_dT, dmu2_dT,
tol);
321 _fp->rho_e_from_p_T(
p,
T, rho2, drho2_dp, drho2_dT, e2, de2_dp, de2_dT);
323 ABS_TEST(drho_dp, drho2_dp,
tol);
324 ABS_TEST(drho_dT, drho2_dT,
tol);
325 ABS_TEST(e, e2,
tol);
326 ABS_TEST(de_dp, de2_dp,
tol);
327 ABS_TEST(de_dT, de2_dT,
tol);
static const std::string cv
TEST_F(TemperaturePressureFunctionFluidPropertiesTest, fluidName)
Test that the fluid name is correctly returned.
static const std::string density
static const std::string cp
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string alpha