OGS
ThermoOsmosis.cpp
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
#include "
ThermoOsmosis.h
"
5
6
#include "
MaterialLib/MPL/Utils/FormEigenTensor.h
"
7
8
namespace
ProcessLib::ThermoRichardsMechanics
9
{
10
template
<
int
DisplacementDim>
11
void
ThermoOsmosisModel<DisplacementDim>::eval
(
12
SpaceTimeData
const
& x_t,
MediaData
const
& media_data,
13
TemperatureData<DisplacementDim>
const
& T_data,
14
LiquidDensityData
const
& rho_L_data,
15
ThermoOsmosisData<DisplacementDim>
& out)
const
16
{
17
namespace
MPL
=
MaterialPropertyLib
;
18
MPL::VariableArray
variables;
19
20
auto
const
& solid_phase = media_data.
solid
;
21
22
auto
const
K_pT_thermal_osmosis =
23
(solid_phase.hasProperty(
24
MaterialPropertyLib::PropertyType::thermal_osmosis_coefficient
)
25
?
MaterialPropertyLib::formEigenTensor<DisplacementDim>
(
26
solid_phase[
MPL::PropertyType::thermal_osmosis_coefficient
]
27
.value(variables, x_t.
x
, x_t.
t
, x_t.
dt
))
28
: Eigen::MatrixXd::Zero(DisplacementDim, DisplacementDim));
29
30
out.
K_pT_Laplace
= rho_L_data.
rho_LR
* K_pT_thermal_osmosis;
31
32
out.
K_Tp_Laplace
= T_data.
T
* K_pT_thermal_osmosis;
33
34
out.
seepage_velocity_contribution
= -K_pT_thermal_osmosis * T_data.
grad_T
;
35
}
36
37
template
struct
ThermoOsmosisModel<2>
;
38
template
struct
ThermoOsmosisModel<3>
;
39
}
// namespace ProcessLib::ThermoRichardsMechanics
FormEigenTensor.h
ThermoOsmosis.h
MaterialPropertyLib::VariableArray
Definition
VariableType.h:94
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:98
MaterialPropertyLib::formEigenTensor
constexpr Eigen::Matrix< double, GlobalDim, GlobalDim > formEigenTensor(MaterialPropertyLib::PropertyDataType const &values)
Definition
FormEigenTensor.h:163
MaterialPropertyLib::thermal_osmosis_coefficient
@ thermal_osmosis_coefficient
Definition
PropertyType.h:96
ProcessLib::ThermoRichardsMechanics
Definition
ThermoRichardsMechanics/ConstitutiveCommon/Base.h:13
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::ThermoRichardsMechanics::LiquidDensityData
Definition
ThermoRichardsMechanics/ConstitutiveCommon/LiquidDensity.h:11
ProcessLib::ThermoRichardsMechanics::LiquidDensityData::rho_LR
double rho_LR
Definition
ThermoRichardsMechanics/ConstitutiveCommon/LiquidDensity.h:12
ProcessLib::ThermoRichardsMechanics::MediaData
Definition
ThermoRichardsMechanics/ConstitutiveCommon/Base.h:32
ProcessLib::ThermoRichardsMechanics::MediaData::solid
MaterialPropertyLib::Phase const & solid
Definition
ThermoRichardsMechanics/ConstitutiveCommon/Base.h:42
ProcessLib::ThermoRichardsMechanics::TemperatureData
Definition
ThermoRichardsMechanics/ConstitutiveCommon/Base.h:47
ProcessLib::ThermoRichardsMechanics::TemperatureData::T
double T
Definition
ThermoRichardsMechanics/ConstitutiveCommon/Base.h:48
ProcessLib::ThermoRichardsMechanics::TemperatureData::grad_T
Eigen::Vector< double, DisplacementDim > grad_T
Definition
ThermoRichardsMechanics/ConstitutiveCommon/Base.h:50
ProcessLib::ThermoRichardsMechanics::ThermoOsmosisData
Definition
ThermoOsmosis.h:13
ProcessLib::ThermoRichardsMechanics::ThermoOsmosisData::K_Tp_Laplace
GlobalDimMatrix< DisplacementDim > K_Tp_Laplace
Definition
ThermoOsmosis.h:15
ProcessLib::ThermoRichardsMechanics::ThermoOsmosisData::K_pT_Laplace
GlobalDimMatrix< DisplacementDim > K_pT_Laplace
Definition
ThermoOsmosis.h:14
ProcessLib::ThermoRichardsMechanics::ThermoOsmosisData::seepage_velocity_contribution
GlobalDimVector< DisplacementDim > seepage_velocity_contribution
Definition
ThermoOsmosis.h:16
ProcessLib::ThermoRichardsMechanics::ThermoOsmosisModel
Definition
ThermoOsmosis.h:21
ProcessLib::ThermoRichardsMechanics::ThermoOsmosisModel::eval
void eval(SpaceTimeData const &x_t, MediaData const &media_data, TemperatureData< DisplacementDim > const &T_data, LiquidDensityData const &rho_L_data, ThermoOsmosisData< DisplacementDim > &out) const
Definition
ThermoOsmosis.cpp:11
ProcessLib
ThermoRichardsMechanics
ConstitutiveCommon
ThermoOsmosis.cpp
Generated by
1.14.0