14{
16
17
18
19
20
21
22
23
24
25
26
27
28
29 const Real T_sat = _fp->T_sat(
p);
30
31 const Real rho_liquid = _fp_liquid->rho_from_p_T(
p, T_sat);
32 const Real v_liquid = 1.0 / rho_liquid;
33 const Real e_liquid = _fp_liquid->e_from_p_rho(
p, rho_liquid);
34 const Real g_liquid = _fp_liquid->g_from_v_e(v_liquid, e_liquid);
35
36 const Real rho_vapor = _fp_vapor->rho_from_p_T(
p, T_sat);
37 const Real v_vapor = 1.0 / rho_vapor;
38 const Real e_vapor = _fp_vapor->e_from_p_rho(
p, rho_vapor);
39 const Real g_vapor = _fp_vapor->g_from_v_e(v_vapor, e_vapor);
40
41 REL_TEST(g_liquid, g_vapor, 1e-5);
42
43
44 REL_TEST(_fp->p_sat(T_sat),
p, 1e-14);
45
46
47 Real dT_dPsat = _fp->dT_sat_dp(
p);
49 Real dT_dPsat_fd = (_fp->T_sat(
p + dp) - _fp->T_sat(
p - dp)) / (2 * dp);
50
51 EXPECT_NEAR(dT_dPsat, dT_dPsat_fd, 1e-14);
52
53 EXPECT_NEAR(_fp->p_critical(), 22.09e6, 1e-15);
54
55
56 REL_TEST(_fp->sigma_from_T(300.0), 0.0716859625271626, REL_TOL_SAVED_VALUE);
57
58 {
60 const Real T_pert =
T * 1e-6;
61 const Real dsigma_dT_fd =
62 (_fp->sigma_from_T(
T + T_pert) - _fp->sigma_from_T(
T - T_pert)) / (2.0 * T_pert);
63 REL_TEST(_fp->dsigma_dT_from_T(
T), dsigma_dT_fd, REL_TOL_DERIVATIVE);
64 }
65
66 EXPECT_NEAR(_fp->T_triple(), _T_triple, 1e-14);
67 EXPECT_NEAR(_fp->L_fusion(), _L_fusion, 1e-14);
68}
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real