OGS
PureLiquidDensity.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2
// SPDX-License-Identifier: BSD-3-Clause
3
4
#pragma once
5
6
#include "
Base.h
"
7
#include "
BaseLib/StrongType.h
"
8
9
namespace
ProcessLib::TH2M
10
{
11
namespace
ConstitutiveRelations
12
{
13
using
PureLiquidDensityData
=
14
BaseLib::StrongType<double, struct PureLiquidDensityTag>
;
15
16
struct
PureLiquidDensityModel
17
{
18
void
eval
(
SpaceTimeData
const
& x_t,
19
MediaData
const
& media_data,
20
GasPressureData
const
& p_GR,
21
CapillaryPressureData
const
& p_cap,
22
TemperatureData
const
& T_data,
23
PureLiquidDensityData
& out)
const
24
{
25
MaterialPropertyLib::VariableArray
variables;
26
27
// primary variables
28
auto
const
pGR = p_GR.
pG
;
29
auto
const
pCap = p_cap.
pCap
;
30
auto
const
T = T_data.
T
;
31
variables.
gas_phase_pressure
= pGR;
32
variables.
capillary_pressure
= pCap;
33
variables.
temperature
= T;
34
35
auto
const
& liquid_phase = media_data.
liquid
;
36
37
// Water pressure is passed to the VariableArray in order to calculate
38
// the water density.
39
auto
const
pLR = pGR - pCap;
40
variables.
liquid_phase_pressure
= pLR;
41
42
// Concentration is initially zero to calculate the density of the pure
43
// water phase, which is needed for the Kelvin-Laplace equation.
44
variables.
concentration
= 0.;
45
*out = liquid_phase.property(
MaterialPropertyLib::PropertyType::density
)
46
.template value<double>(variables, x_t.
x
, x_t.
t
, x_t.
dt
);
47
}
48
};
49
50
}
// namespace ConstitutiveRelations
51
}
// namespace ProcessLib::TH2M
StrongType.h
Base.h
MaterialPropertyLib::VariableArray
Definition
VariableType.h:94
MaterialPropertyLib::VariableArray::temperature
double temperature
Definition
VariableType.h:187
MaterialPropertyLib::VariableArray::concentration
double concentration
Definition
VariableType.h:167
MaterialPropertyLib::VariableArray::gas_phase_pressure
double gas_phase_pressure
Definition
VariableType.h:183
MaterialPropertyLib::VariableArray::capillary_pressure
double capillary_pressure
Definition
VariableType.h:166
MaterialPropertyLib::VariableArray::liquid_phase_pressure
double liquid_phase_pressure
Definition
VariableType.h:177
MaterialPropertyLib::density
@ density
Definition
PropertyType.h:39
ProcessLib::TH2M::ConstitutiveRelations
Definition
Advection.cpp:9
ProcessLib::TH2M::ConstitutiveRelations::PureLiquidDensityData
BaseLib::StrongType< double, struct PureLiquidDensityTag > PureLiquidDensityData
Definition
PureLiquidDensity.h:13
ProcessLib::TH2M
Definition
Advection.cpp:7
BaseLib::StrongType
Definition
StrongType.h:18
ProcessLib::ConstitutiveRelations::SpaceTimeData
Definition
ConstitutiveRelations/Base.h:90
ProcessLib::ConstitutiveRelations::SpaceTimeData::x
ParameterLib::SpatialPosition x
Definition
ConstitutiveRelations/Base.h:91
ProcessLib::ConstitutiveRelations::SpaceTimeData::t
double t
Definition
ConstitutiveRelations/Base.h:92
ProcessLib::ConstitutiveRelations::SpaceTimeData::dt
double dt
Definition
ConstitutiveRelations/Base.h:93
ProcessLib::TH2M::ConstitutiveRelations::CapillaryPressureData
Definition
TH2M/ConstitutiveRelations/Base.h:90
ProcessLib::TH2M::ConstitutiveRelations::CapillaryPressureData::pCap
double pCap
Definition
TH2M/ConstitutiveRelations/Base.h:91
ProcessLib::TH2M::ConstitutiveRelations::GasPressureData
Definition
TH2M/ConstitutiveRelations/Base.h:84
ProcessLib::TH2M::ConstitutiveRelations::GasPressureData::pG
double pG
Definition
TH2M/ConstitutiveRelations/Base.h:85
ProcessLib::TH2M::ConstitutiveRelations::MediaData
Definition
TH2M/ConstitutiveRelations/Base.h:19
ProcessLib::TH2M::ConstitutiveRelations::MediaData::liquid
MaterialPropertyLib::Phase const & liquid
Definition
TH2M/ConstitutiveRelations/Base.h:22
ProcessLib::TH2M::ConstitutiveRelations::PureLiquidDensityModel
Definition
PureLiquidDensity.h:17
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:18
ProcessLib::TH2M::ConstitutiveRelations::TemperatureData
Definition
TH2M/ConstitutiveRelations/Base.h:78
ProcessLib::TH2M::ConstitutiveRelations::TemperatureData::T
double T
Definition
TH2M/ConstitutiveRelations/Base.h:79
ProcessLib
TH2M
ConstitutiveRelations
PureLiquidDensity.h
Generated by
1.14.0