https://mooseframework.inl.gov
Functions
PorousFlowWaterVaporTest.C File Reference

Go to the source code of this file.

Functions

 TEST_F (PorousFlowWaterVaporTest, name)
 Verify that the correct name is supplied. More...
 
 TEST_F (PorousFlowWaterVaporTest, properties)
 

Function Documentation

◆ TEST_F() [1/2]

TEST_F ( PorousFlowWaterVaporTest  ,
name   
)

Verify that the correct name is supplied.

Definition at line 16 of file PorousFlowWaterVaporTest.C.

16 { EXPECT_EQ("water-vapor", _fp->fluidStateName()); }

◆ TEST_F() [2/2]

TEST_F ( PorousFlowWaterVaporTest  ,
properties   
)

Definition at line 18 of file PorousFlowWaterVaporTest.C.

19 {
20  FluidStatePhaseEnum phase_state;
21  std::vector<FluidStateProperties> fsp(2, FluidStateProperties(1));
22 
23  // Single phase liquid region
24  Real p = 1.0e6;
25  Real h = 1.0e5;
26 
27  const Real tol = REL_TOL_CONSISTENCY;
28 
29  _fp->thermophysicalProperties(p, h, 0, phase_state, fsp);
30  EXPECT_EQ(phase_state, FluidStatePhaseEnum::LIQUID);
31 
32  Real T = _water_fp->T_from_p_h(p, h);
33 
34  ABS_TEST(fsp[0].density.value(), _water_fp->rho_from_p_T(p, T), tol);
35  ABS_TEST(fsp[0].viscosity.value(), _water_fp->mu_from_p_T(p, T), tol);
36  ABS_TEST(fsp[0].enthalpy.value(), h, tol);
37  ABS_TEST(fsp[0].internal_energy.value(), _water_fp->e_from_p_T(p, T), tol);
38  ABS_TEST(fsp[0].saturation.value(), 1.0, tol);
39  ABS_TEST(fsp[0].pressure.value(), p, tol);
40 
41  // Single phase gas region
42  h = 3.0e6;
43  Real pg = p + _pc->capillaryPressure(0.0);
44 
45  _fp->thermophysicalProperties(p, h, 0, phase_state, fsp);
46  EXPECT_EQ(phase_state, FluidStatePhaseEnum::GAS);
47 
48  T = _water_fp->T_from_p_h(pg, h);
49  ABS_TEST(fsp[1].density.value(), _water_fp->rho_from_p_T(pg, T), tol);
50  ABS_TEST(fsp[1].viscosity.value(), _water_fp->mu_from_p_T(pg, T), tol);
51  ABS_TEST(fsp[1].enthalpy.value(), h, tol);
52  ABS_TEST(fsp[1].internal_energy.value(), _water_fp->e_from_p_T(pg, T), tol);
53  ABS_TEST(fsp[1].saturation.value(), 1.0, tol);
54  ABS_TEST(fsp[1].pressure.value(), pg, tol);
55 
56  // Two-phase region
57  h = 8.0e5;
58 
59  _fp->thermophysicalProperties(p, h, 0, phase_state, fsp);
60  EXPECT_EQ(phase_state, FluidStatePhaseEnum::TWOPHASE);
61 
62  const Real Tsat = _water_fp->vaporTemperature(p);
63  const Real dT = 1.0e-6;
64 
65  // Liquid phase
66  ABS_TEST(fsp[0].density.value(), _water_fp->rho_from_p_T(p, Tsat - dT), tol);
67  ABS_TEST(fsp[0].viscosity.value(), _water_fp->mu_from_p_T(p, Tsat - dT), tol);
68  ABS_TEST(fsp[0].enthalpy.value(), _water_fp->h_from_p_T(p, Tsat - dT), tol);
69  ABS_TEST(fsp[0].internal_energy.value(), _water_fp->e_from_p_T(p, Tsat - dT), tol);
70  ABS_TEST(fsp[0].pressure.value(), p, tol);
71 
72  // Gas phase
73  pg = p + _pc->capillaryPressure(fsp[0].saturation.value());
74  ABS_TEST(fsp[1].density.value(), _water_fp->rho_from_p_T(p, Tsat + dT), tol);
75  ABS_TEST(fsp[1].viscosity.value(), _water_fp->mu_from_p_T(p, Tsat + dT), tol);
76  ABS_TEST(fsp[1].enthalpy.value(), _water_fp->h_from_p_T(p, Tsat + dT), tol);
77  ABS_TEST(fsp[1].internal_energy.value(), _water_fp->e_from_p_T(p, Tsat + dT), tol);
78  ABS_TEST(fsp[1].pressure.value(), pg, tol);
79 }
const double tol
static const std::string density
Definition: NS.h:33
AD data structure to pass calculated thermophysical properties.
FluidStatePhaseEnum
Phase state enum.
DIE A HORRIBLE DEATH HERE typedef LIBMESH_DEFAULT_SCALAR_TYPE Real
static const std::string pressure
Definition: NS.h:56
static const std::string internal_energy
Definition: NS.h:61