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
SolidThermalExpansionData<DisplacementDim>
& out)
const
16
{
17
namespace
MPL
=
MaterialPropertyLib
;
18
MPL::VariableArray
variables;
19
20
// Consider also anisotropic thermal expansion.
21
out.
solid_linear_thermal_expansivity_vector
=
22
MPL::formKelvinVector<DisplacementDim>
(
23
media_data.
thermal_expansivity_solid
.
value
(variables, x_t.
x
, x_t.
t
,
24
x_t.
dt
));
25
26
static
int
const
KelvinVectorSize =
27
MathLib::KelvinVector::kelvin_vector_dimensions
(DisplacementDim);
28
using
Invariants =
MathLib::KelvinVector::Invariants<KelvinVectorSize>
;
29
out.
beta_T_SR
=
30
Invariants::trace(out.
solid_linear_thermal_expansivity_vector
);
31
}
32
33
template
struct
SolidThermalExpansionModel<2>
;
34
template
struct
SolidThermalExpansionModel<3>
;
35
}
// namespace ConstitutiveRelations
36
}
// 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
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:65
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::SolidThermalExpansionModel
Definition
TH2M/ConstitutiveRelations/SolidThermalExpansion.h:22
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionModel::eval
void eval(SpaceTimeData const &x_t, MediaData const &media_data, SolidThermalExpansionData< DisplacementDim > &out) const
Definition
TH2M/ConstitutiveRelations/SolidThermalExpansion.cpp:13
ProcessLib
TH2M
ConstitutiveRelations
SolidThermalExpansion.cpp
Generated by
1.14.0