OGS
TH2M/ConstitutiveRelations/Base.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include "BaseLib/StrongType.h"
17
18namespace ProcessLib::TH2M
19{
21{
22using namespace ProcessLib::ConstitutiveRelations;
23namespace KV = MathLib::KelvinVector;
24
25template <int DisplacementDim>
26using KelvinVector = KV::KelvinVectorType<DisplacementDim>;
27
28template <int DisplacementDim>
29using KelvinMatrix = KV::KelvinMatrixType<DisplacementDim>;
30
31template <int DisplacementDim>
33 Eigen::Matrix<double, DisplacementDim, DisplacementDim, Eigen::RowMajor>;
34
35template <int DisplacementDim>
36using GlobalDimVector = Eigen::Vector<double, DisplacementDim>;
37
39{
41 : medium{medium}
42 {
43 }
44
46 MaterialPropertyLib::Phase const& solid = medium.phase("Solid");
47 MaterialPropertyLib::Phase const& liquid = medium.phase("AqueousLiquid");
48 MaterialPropertyLib::Phase const& gas = medium.phase("Gas");
49};
50
52{
53 double T = nan;
54 double T_prev = nan;
55};
56
58{
59 double pG = nan;
60 double pG_prev = nan;
61};
62
64{
65 double pCap = nan;
66 double pCap_prev = nan;
67};
68
71
72template <int DisplacementDim>
75 struct GasPressureGradientTag>;
76template <int DisplacementDim>
79 struct CapillaryPressureGradientTag>;
80template <int DisplacementDim>
83 struct TemperatureGradientTag>;
84
85template <int DisplacementDim>
88 struct SpecificBodyForceTag>;
89
90} // namespace ConstitutiveRelations
91} // namespace ProcessLib::TH2M
static constexpr double nan
Convenience alias for not a number.
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct GasPressureGradientTag > GasPressureGradientData
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct TemperatureGradientTag > TemperatureGradientData
KV::KelvinVectorType< DisplacementDim > KelvinVector
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct CapillaryPressureGradientTag > CapillaryPressureGradientData
KV::KelvinMatrixType< DisplacementDim > KelvinMatrix
BaseLib::StrongType< double, struct ReferenceTemperatureTag > ReferenceTemperatureData
Eigen::Vector< double, DisplacementDim > GlobalDimVector
BaseLib::StrongType< GlobalDimVector< DisplacementDim >, struct SpecificBodyForceTag > SpecificBodyForceData
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix