OGS
TH2M/ConstitutiveRelations/SolidThermalExpansion.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 "
SolidThermalExpansion.h
"
5
6
#include "
MaterialLib/MPL/Utils/FormKelvinVector.h
"
7
8
namespace
ProcessLib::TH2M
9
{
10
namespace
ConstitutiveRelations
11
{
12
template
<
int
DisplacementDim>
13
void
SolidThermalExpansionModel<DisplacementDim>::eval
(
14
SpaceTimeData
const
& x_t,
MediaData
const
& media_data,
15
TemperatureData
const
& T_data,
ReferenceTemperatureData
T0,
16
SolidThermalExpansionData<DisplacementDim>
& out)
const
17
{
18
namespace
MPL
=
MaterialPropertyLib
;
19
MPL::VariableArray
variables;
20
21
// Consider also anisotropic thermal expansion.
22
out.
solid_linear_thermal_expansivity_vector
=
23
MPL::formKelvinVector<DisplacementDim>
(
24
media_data.
thermal_expansivity_solid
.
value
(variables, x_t.
x
, x_t.
t
,
25
x_t.
dt
));
26
27
static
int
const
KelvinVectorSize =
28
MathLib::KelvinVector::kelvin_vector_dimensions
(DisplacementDim);
29
using
Invariants =
MathLib::KelvinVector::Invariants<KelvinVectorSize>
;
30
out.
beta_T_SR
=
31
Invariants::trace(out.
solid_linear_thermal_expansivity_vector
);
32
33
double
const
delta_T = T_data.
T
- T0();
34
out.
thermal_volume_strain
= out.
beta_T_SR
* delta_T;
35
}
36
37
template
struct
SolidThermalExpansionModel<2>
;
38
template
struct
SolidThermalExpansionModel<3>
;
39
}
// namespace ConstitutiveRelations
40
}
// namespace ProcessLib::TH2M
FormKelvinVector.h
SolidThermalExpansion.h
MaterialPropertyLib::Property::value
virtual PropertyDataType value() const
Definition
MaterialLib/MPL/Property.cpp:67
MaterialPropertyLib::VariableArray
Definition
VariableType.h:94
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:98
MaterialPropertyLib::formKelvinVector
MathLib::KelvinVector::KelvinVectorType< GlobalDim > formKelvinVector(MaterialPropertyLib::PropertyDataType const &values)
A function to form a Kelvin vector from strain or stress alike property like thermal expansivity for ...
Definition
FormKelvinVector.cpp:74
MathLib::KelvinVector::kelvin_vector_dimensions
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.
Definition
KelvinVector.h:18
ProcessLib::TH2M::ConstitutiveRelations
Definition
Advection.cpp:9
ProcessLib::TH2M::ConstitutiveRelations::ReferenceTemperatureData
BaseLib::StrongType< double, struct ReferenceTemperatureTag > ReferenceTemperatureData
Definition
TH2M/ConstitutiveRelations/Base.h:95
ProcessLib::TH2M
Definition
Advection.cpp:7
MathLib::KelvinVector::Invariants
Definition
KelvinVector.h:88
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::MediaData
Definition
TH2M/ConstitutiveRelations/Base.h:19
ProcessLib::TH2M::ConstitutiveRelations::MediaData::thermal_expansivity_solid
MaterialPropertyLib::Property const & thermal_expansivity_solid
Definition
TH2M/ConstitutiveRelations/Base.h:62
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData
Definition
TH2M/ConstitutiveRelations/SolidThermalExpansion.h:14
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData::solid_linear_thermal_expansivity_vector
KelvinVector< DisplacementDim > solid_linear_thermal_expansivity_vector
Definition
TH2M/ConstitutiveRelations/SolidThermalExpansion.h:15
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData::beta_T_SR
double beta_T_SR
Definition
TH2M/ConstitutiveRelations/SolidThermalExpansion.h:16
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData::thermal_volume_strain
double thermal_volume_strain
Definition
TH2M/ConstitutiveRelations/SolidThermalExpansion.h:18
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionModel
Definition
TH2M/ConstitutiveRelations/SolidThermalExpansion.h:23
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionModel::eval
void eval(SpaceTimeData const &x_t, MediaData const &media_data, TemperatureData const &T_data, ReferenceTemperatureData T0, SolidThermalExpansionData< DisplacementDim > &out) const
Definition
TH2M/ConstitutiveRelations/SolidThermalExpansion.cpp:13
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
SolidThermalExpansion.cpp
Generated by
1.14.0