19 std::map<
int, std::shared_ptr<MaterialPropertyLib::Medium>>
const& media)
22 DBUG(
"Create NoPhaseTransition constitutive model.");
25 std::array
const required_gas_properties = {
28 std::array
const required_liquid_properties = {
31 for (
auto const& m : media)
33 checkRequiredProperties(m.second->phase(
"Gas"),
34 required_gas_properties);
35 checkRequiredProperties(m.second->phase(
"AqueousLiquid"),
36 required_liquid_properties);
57 auto const pGR = p_GR();
58 auto const pCap = p_cap();
59 auto const T = T_data.
T;
63 auto const& liquid_phase = media_data.
liquid;
64 auto const& gas_phase = media_data.
gas;
66 vapour_pressure_data.
pWGR = 0;
71 mass_mole_fractions_data.
xnCG = 1. - cv.
xnWG;
72 mass_mole_fractions_data.
xmCG = 1. - cv.
xmWG;
76 .template value<double>(variables, x_t.
x, x_t.
t, x_t.
dt);
80 fluid_density_data.
rho_GR =
82 .template value<double>(variables, x_t.
x, x_t.
t, x_t.
dt);
83 viscosity_data.
mu_GR =
85 .template value<double>(variables, x_t.
x, x_t.
t, x_t.
dt);
88 constituent_density_data.
rho_W_GR = 0;
89 constituent_density_data.
rho_C_LR = 0;
92 mass_mole_fractions_data.
xmWL = 1.;
94 auto const pLR = pGR - pCap;
96 fluid_density_data.
rho_LR = rho_W_LR();
99 viscosity_data.
mu_LR =
101 .template value<double>(variables, x_t.
x, x_t.
t, x_t.
dt);
107 .template value<double>(variables, x_t.
x, x_t.
t, x_t.
dt);
112 .template value<double>(variables, x_t.
x, x_t.
t, x_t.
dt);
115 enthalpy_data.
h_G = cpG * T;
116 enthalpy_data.
h_L = cpL * T;
121 cv.
uG = enthalpy_data.
h_G - pGR / fluid_density_data.
rho_GR;
122 cv.
uL = enthalpy_data.
h_L;
124 auto const drho_GR_dT =
126 .template dValue<double>(variables,
128 x_t.
x, x_t.
t, x_t.
dt);
129 cv.
du_G_dT = cpG + pGR * drho_GR_dT / fluid_density_data.
rho_GR /
130 fluid_density_data.
rho_GR;
136 .template dValue<double>(
138 x_t.
x, x_t.
t, x_t.
dt);
141 .template dValue<double>(
143 x_t.
x, x_t.
t, x_t.
dt);
148 fluid_density_data.
rho_GR;
155 auto const drho_LR_dT =
157 .template dValue<double>(variables,
159 x_t.
x, x_t.
t, x_t.
dt);
void eval(SpaceTimeData const &x_t, MediaData const &media_data, GasPressureData const &p_GR, CapillaryPressureData const &p_cap, TemperatureData const &T_data, PureLiquidDensityData const &rho_W_LR, ViscosityData &viscosity_data, EnthalpyData &enthalpy_data, MassMoleFractionsData &mass_mole_fractions_data, FluidDensityData &fluid_density_data, VapourPartialPressureData &vapour_pressure_data, ConstituentDensityData &constituent_density_data, PhaseTransitionData &cv) const override