OGS
SolidThermalExpansion.cpp
Go to the documentation of this file.
1
10
#include "
SolidThermalExpansion.h
"
11
12
#include "
MaterialLib/MPL/Utils/FormKelvinVector.h
"
13
14
namespace
ProcessLib::TH2M
15
{
16
namespace
ConstitutiveRelations
17
{
18
template
<
int
DisplacementDim>
19
void
SolidThermalExpansionModel<DisplacementDim>::eval
(
20
SpaceTimeData
const
& x_t,
MediaData
const
& media_data,
21
TemperatureData
const
& T_data,
ReferenceTemperatureData
T0,
22
SolidThermalExpansionData<DisplacementDim>
& out)
const
23
{
24
namespace
MPL
=
MaterialPropertyLib
;
25
MPL::VariableArray
variables;
26
27
// Consider also anisotropic thermal expansion.
28
out.
solid_linear_thermal_expansivity_vector
=
29
MPL::formKelvinVector<DisplacementDim>(
30
media_data.
solid
.
property
(MPL::PropertyType::thermal_expansivity)
31
.
value
(variables, x_t.
x
, x_t.
t
, x_t.
dt
));
32
33
static
int
const
KelvinVectorSize =
34
MathLib::KelvinVector::kelvin_vector_dimensions
(DisplacementDim);
35
using
Invariants =
MathLib::KelvinVector::Invariants<KelvinVectorSize>
;
36
out.
beta_T_SR
=
37
Invariants::trace(out.
solid_linear_thermal_expansivity_vector
);
38
39
double
const
delta_T = T_data.
T
- T0();
40
out.
thermal_volume_strain
= out.
beta_T_SR
* delta_T;
41
}
42
43
template
struct
SolidThermalExpansionModel<2>
;
44
template
struct
SolidThermalExpansionModel<3>
;
45
}
// namespace ConstitutiveRelations
46
}
// namespace ProcessLib::TH2M
FormKelvinVector.h
SolidThermalExpansion.h
MaterialPropertyLib::Phase::property
Property const & property(PropertyType const &p) const
Definition
Phase.cpp:53
MaterialPropertyLib::Property::value
virtual PropertyDataType value() const
Definition
Property.cpp:76
MaterialPropertyLib::VariableArray
Definition
VariableType.h:94
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:21
MathLib::KelvinVector::kelvin_vector_dimensions
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.
Definition
KelvinVector.h:24
ProcessLib::TH2M
Definition
Base.h:19
BaseLib::StrongType
Definition
StrongType.h:25
MathLib::KelvinVector::Invariants
Definition
KelvinVector.h:94
ProcessLib::ConstitutiveRelations::SpaceTimeData
Definition
Base.h:73
ProcessLib::ConstitutiveRelations::SpaceTimeData::x
ParameterLib::SpatialPosition x
Definition
Base.h:74
ProcessLib::ConstitutiveRelations::SpaceTimeData::t
double t
Definition
Base.h:75
ProcessLib::ConstitutiveRelations::SpaceTimeData::dt
double dt
Definition
Base.h:76
ProcessLib::TH2M::ConstitutiveRelations::MediaData
Definition
Base.h:36
ProcessLib::TH2M::ConstitutiveRelations::MediaData::solid
MaterialPropertyLib::Phase const & solid
Definition
Base.h:43
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData
Definition
SolidThermalExpansion.h:20
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData::solid_linear_thermal_expansivity_vector
KelvinVector< DisplacementDim > solid_linear_thermal_expansivity_vector
Definition
SolidThermalExpansion.h:21
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData::beta_T_SR
double beta_T_SR
Definition
SolidThermalExpansion.h:22
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionData::thermal_volume_strain
double thermal_volume_strain
Definition
SolidThermalExpansion.h:24
ProcessLib::TH2M::ConstitutiveRelations::SolidThermalExpansionModel
Definition
SolidThermalExpansion.h:29
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
SolidThermalExpansion.cpp:19
ProcessLib::TH2M::ConstitutiveRelations::TemperatureData
Definition
Base.h:49
ProcessLib::TH2M::ConstitutiveRelations::TemperatureData::T
double T
Definition
Base.h:50
ProcessLib
TH2M
ConstitutiveRelations
SolidThermalExpansion.cpp
Generated by
1.10.0