15 const Real T = 20. + 273.15;
16 const Real p = 101325;
18 const Real rho = _fp->rho_from_p_T(p, T);
19 const Real v = 1 / rho;
20 const Real e = _fp->e_from_p_rho(p, rho);
21 const Real s = _fp->s_from_v_e(
v, e);
22 const Real h = _fp->h_from_p_T(p, T);
24 Real e_inv = _fp->e_from_T_v(T,
v);
25 REL_TEST(e_inv, e, 10.0 * REL_TOL_CONSISTENCY);
26 DERIV_TEST(_fp->e_from_T_v, T,
v, 10.0 * REL_TOL_DERIVATIVE);
27 Real p_inv = _fp->p_from_T_v(T,
v);
28 REL_TEST(p_inv, p, 10.0 * REL_TOL_CONSISTENCY);
29 DERIV_TEST(_fp->p_from_T_v, T,
v, 10.0 * REL_TOL_DERIVATIVE);
30 REL_TEST(_fp->h_from_T_v(T,
v), h, REL_TOL_CONSISTENCY);
31 DERIV_TEST(_fp->h_from_T_v, T,
v, 10.0 * REL_TOL_DERIVATIVE);
32 REL_TEST(_fp->s_from_T_v(T,
v), s, REL_TOL_CONSISTENCY);
33 DERIV_TEST(_fp->s_from_T_v, T,
v, 10.0 * REL_TOL_DERIVATIVE);
34 REL_TEST(_fp->cv_from_T_v(T,
v), _fp->cv_from_v_e(
v, e), REL_TOL_CONSISTENCY);
36 REL_TEST(_fp->p_from_h_s(h, s), p, REL_TOL_CONSISTENCY);
37 DERIV_TEST(_fp->p_from_h_s, h, s, REL_TOL_DERIVATIVE);
39 REL_TEST(_fp->rho_from_p_s(p, s), rho, REL_TOL_CONSISTENCY);
40 DERIV_TEST(_fp->rho_from_p_s, p, s, 1e-5);
42 REL_TEST(_fp->p_from_v_e(
v, e), p, REL_TOL_CONSISTENCY);
43 DERIV_TEST(_fp->p_from_v_e,
v, e, REL_TOL_DERIVATIVE);
45 REL_TEST(_fp->T_from_v_e(
v, e), T, REL_TOL_SAVED_VALUE);
46 DERIV_TEST(_fp->T_from_v_e,
v, e, REL_TOL_DERIVATIVE);
48 REL_TEST(_fp->c_from_v_e(
v, e), 1.299581997797754e3, REL_TOL_SAVED_VALUE);
49 REL_TEST(_fp->cp_from_v_e(
v, e), 4267.6, REL_TOL_SAVED_VALUE);
50 DERIV_TEST(_fp->cp_from_v_e,
v, e, REL_TOL_DERIVATIVE);
51 REL_TEST(_fp->cv_from_v_e(
v, e), 1816, REL_TOL_SAVED_VALUE);
53 REL_TEST(_fp->mu_from_v_e(
v, e), 0.001, 1e-15);
54 DERIV_TEST(_fp->mu_from_v_e, p, T, REL_TOL_DERIVATIVE);
56 REL_TEST(_fp->k_from_v_e(
v, e), 0.6, 1e-15);
58 REL_TEST(_fp->beta_from_p_T(p, T), 3.411222923418045e-3, REL_TOL_SAVED_VALUE);
59 DERIV_TEST(_fp->beta_from_p_T, p, T, REL_TOL_DERIVATIVE);
61 REL_TEST(_fp->s_from_v_e(
v, e), -2.656251807629821e4, REL_TOL_SAVED_VALUE);
62 DERIV_TEST(_fp->s_from_v_e,
v, e, 1e-5);
64 ABS_TEST(_fp->rho_from_p_T(p, T), 1.391568186319449e3, REL_TOL_SAVED_VALUE);
65 DERIV_TEST(_fp->rho_from_p_T, p, T, REL_TOL_DERIVATIVE);
67 ABS_TEST(_fp->v_from_p_T(p, T), 1.0 / 1.391568186319449e3, REL_TOL_SAVED_VALUE);
68 DERIV_TEST(_fp->v_from_p_T, p, T, REL_TOL_DERIVATIVE);
70 ABS_TEST(_fp->e_from_p_rho(p, rho), 8.397412646416598e4, REL_TOL_SAVED_VALUE);
71 DERIV_TEST(_fp->e_from_p_rho, p, rho, REL_TOL_DERIVATIVE);
73 ABS_TEST(_fp->h_from_p_T(p, T), 8.404693999999994e4, 1e-10);
74 DERIV_TEST(_fp->h_from_p_T, p, T, REL_TOL_DERIVATIVE);
76 ABS_TEST(_fp->s_from_p_T(p, T), -2.6562518076298216e4, 4 * REL_TOL_SAVED_VALUE);
77 DERIV_TEST(_fp->s_from_p_T, p, T, REL_TOL_DERIVATIVE);
78 ABS_TEST(_fp->s_from_h_p(h, p), -2.6562518076298216e4, REL_TOL_SAVED_VALUE);
79 DERIV_TEST(_fp->s_from_h_p, h, p, 1e-5);
81 ABS_TEST(_fp->e_from_p_T(p, T), 8.397412646416575e4, 1e-10);
82 DERIV_TEST(_fp->e_from_p_T, p, T, REL_TOL_DERIVATIVE);
84 REL_TEST(_fp->e_from_v_h(
v, h), e, REL_TOL_CONSISTENCY);
85 DERIV_TEST(_fp->e_from_v_h,
v, h, REL_TOL_DERIVATIVE);
87 REL_TEST(_fp->T_from_p_h(p, h), T, REL_TOL_CONSISTENCY);
88 DERIV_TEST_CUSTOM_PERTURBATION(_fp->T_from_p_h, p, h, REL_TOL_DERIVATIVE, 1e-3);
90 REL_TEST(_fp->mu_from_p_T(p, T), 0.001, REL_TOL_CONSISTENCY);
91 DERIV_TEST(_fp->mu_from_p_T, p, T, REL_TOL_DERIVATIVE);
93 REL_TEST(_fp->k_from_p_T(p, T), 0.6, REL_TOL_CONSISTENCY);
94 DERIV_TEST(_fp->k_from_p_T, p, T, REL_TOL_DERIVATIVE);
96 REL_TEST(_fp->cv_from_p_T(p, T), 1816, REL_TOL_SAVED_VALUE);
97 REL_TEST(_fp->cp_from_p_T(p, T), 4267.6, REL_TOL_SAVED_VALUE);
98 DERIV_TEST(_fp->cp_from_p_T, p, T, REL_TOL_DERIVATIVE);
103 const ADReal T = 20. + 273.15;
106 const ADReal rho = _fp->rho_from_p_T(p, T);
108 const ADReal e = _fp->e_from_p_rho(p, rho);
109 const ADReal s = _fp->s_from_v_e(
v, e);
111 REL_TEST(_fp->p_from_v_e(
v, e), p, REL_TOL_CONSISTENCY);
112 AD_DERIV_TEST(_fp->p_from_v_e,
v, e, REL_TOL_DERIVATIVE);
114 REL_TEST(_fp->T_from_v_e(
v, e), T, REL_TOL_SAVED_VALUE);
115 AD_DERIV_TEST(_fp->T_from_v_e,
v, e, REL_TOL_DERIVATIVE);
117 REL_TEST(_fp->s_from_v_e(
v, e), -2.656251807629821e4, REL_TOL_SAVED_VALUE);
118 AD_DERIV_TEST(_fp->s_from_v_e,
v, e, 1e-5);
120 ABS_TEST(_fp->s_from_p_T(p, T), -2.6562518076298216e4, 4 * REL_TOL_SAVED_VALUE);
121 AD_DERIV_TEST(_fp->s_from_p_T, p, T, REL_TOL_DERIVATIVE);
123 ABS_TEST(_fp->rho_from_p_T(p, T), 1.391568186319449e3, REL_TOL_SAVED_VALUE);
124 AD_DERIV_TEST(_fp->rho_from_p_T, p, T, REL_TOL_DERIVATIVE);
126 ABS_TEST(_fp->e_from_p_rho(p, rho), 8.397412646416598e4, REL_TOL_SAVED_VALUE);
127 AD_DERIV_TEST(_fp->e_from_p_rho, p, rho, REL_TOL_DERIVATIVE);
DualNumber< Real, DNDerivativeType, true > ADReal
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string v
TEST_F(StiffenedGasFluidPropertiesTest, testAllReal)