OGS
PureLiquidDensity.h
Go to the documentation of this file.
1
10
#pragma once
11
12
#include "
Base.h
"
13
#include "
BaseLib/StrongType.h
"
14
15
namespace
ProcessLib::TH2M
16
{
17
namespace
ConstitutiveRelations
18
{
19
using
PureLiquidDensityData
=
20
BaseLib::StrongType<double, struct PureLiquidDensityTag>
;
21
22
struct
PureLiquidDensityModel
23
{
24
void
eval
(
SpaceTimeData
const
& x_t,
25
MediaData
const
& media_data,
26
GasPressureData
const
& p_GR,
27
CapillaryPressureData
const
& p_cap,
28
TemperatureData
const
& T_data,
29
PureLiquidDensityData
& out)
const
30
{
31
MaterialPropertyLib::VariableArray
variables;
32
33
// primary variables
34
auto
const
pGR = p_GR();
35
auto
const
pCap = p_cap();
36
auto
const
T = T_data.
T
;
37
variables.
gas_phase_pressure
= pGR;
38
variables.
capillary_pressure
= pCap;
39
variables.
temperature
= T;
40
41
auto
const
& liquid_phase = media_data.
liquid
;
42
43
// Water pressure is passed to the VariableArray in order to calculate
44
// the water density.
45
auto
const
pLR = pGR - pCap;
46
variables.
liquid_phase_pressure
= pLR;
47
48
// Concentration is initially zero to calculate the density of the pure
49
// water phase, which is needed for the Kelvin-Laplace equation.
50
variables.
concentration
= 0.;
51
*out = liquid_phase.property(
MaterialPropertyLib::PropertyType::density
)
52
.template value<double>(variables, x_t.
x
, x_t.
t
, x_t.
dt
);
53
}
54
};
55
56
}
// namespace ConstitutiveRelations
57
}
// namespace ProcessLib::TH2M
StrongType.h
Base.h
MaterialPropertyLib::VariableArray
Definition
VariableType.h:97
MaterialPropertyLib::VariableArray::temperature
double temperature
Definition
VariableType.h:188
MaterialPropertyLib::VariableArray::concentration
double concentration
Definition
VariableType.h:170
MaterialPropertyLib::VariableArray::gas_phase_pressure
double gas_phase_pressure
Definition
VariableType.h:184
MaterialPropertyLib::VariableArray::capillary_pressure
double capillary_pressure
Definition
VariableType.h:169
MaterialPropertyLib::VariableArray::liquid_phase_pressure
double liquid_phase_pressure
Definition
VariableType.h:178
MaterialPropertyLib::density
@ density
Definition
PropertyType.h:48
ProcessLib::TH2M
Definition
Advection.cpp:13
BaseLib::StrongType< double, struct PureLiquidDensityTag >
ProcessLib::ConstitutiveRelations::SpaceTimeData
Definition
Base.h:73
ProcessLib::ConstitutiveRelations::SpaceTimeData::x
ParameterLib::SpatialPosition x
Definition
Base.h:74
ProcessLib::ConstitutiveRelations::SpaceTimeData::t
double t
Definition
Base.h:75
ProcessLib::ConstitutiveRelations::SpaceTimeData::dt
double dt
Definition
Base.h:76
ProcessLib::TH2M::ConstitutiveRelations::MediaData
Definition
Base.h:39
ProcessLib::TH2M::ConstitutiveRelations::MediaData::liquid
MaterialPropertyLib::Phase const & liquid
Definition
Base.h:47
ProcessLib::TH2M::ConstitutiveRelations::PureLiquidDensityModel
Definition
PureLiquidDensity.h:23
ProcessLib::TH2M::ConstitutiveRelations::PureLiquidDensityModel::eval
void eval(SpaceTimeData const &x_t, MediaData const &media_data, GasPressureData const &p_GR, CapillaryPressureData const &p_cap, TemperatureData const &T_data, PureLiquidDensityData &out) const
Definition
PureLiquidDensity.h:24
ProcessLib::TH2M::ConstitutiveRelations::TemperatureData
Definition
Base.h:52
ProcessLib::TH2M::ConstitutiveRelations::TemperatureData::T
double T
Definition
Base.h:53
ProcessLib
TH2M
ConstitutiveRelations
PureLiquidDensity.h
Generated by
1.12.0