OGS
ElasticTangentStiffnessModel.cpp
Go to the documentation of this file.
1
11
#include "
ElasticTangentStiffnessModel.h
"
12
13
namespace
ProcessLib::ThermoRichardsMechanics
14
{
15
namespace
ConstitutiveStress_StrainTemperature
16
{
17
template
<
int
DisplacementDim>
18
void
ElasticTangentStiffnessModel<DisplacementDim>::eval
(
19
SpaceTimeData
const
& x_t,
TemperatureData<DisplacementDim>
const
& T_data,
20
ElasticTangentStiffnessData<DisplacementDim>
& out)
const
21
{
22
namespace
MPL
=
MaterialPropertyLib
;
23
24
MPL::VariableArray
variable_array;
25
MPL::VariableArray
variable_array_prev;
26
27
auto
const
null_state = solid_material_.createMaterialStateVariables();
28
solid_material_.initializeInternalStateVariables(x_t.
t
, x_t.
x
, *null_state);
29
30
using
KV
=
KelvinVector<DisplacementDim>
;
31
32
variable_array.
stress
.emplace<
KV
>(KV::Zero());
33
variable_array.
mechanical_strain
.emplace<
KV
>(KV::Zero());
34
variable_array.
temperature
= T_data.
T
;
35
36
variable_array_prev.
stress
.emplace<
KV
>(KV::Zero());
37
variable_array_prev.
mechanical_strain
.emplace<
KV
>(KV::Zero());
38
variable_array_prev.
temperature
= T_data.
T_prev
;
39
40
auto
&& solution = solid_material_.integrateStress(
41
variable_array_prev, variable_array, x_t.
t
, x_t.
x
, x_t.
dt
, *null_state);
42
43
if
(!solution)
44
{
45
OGS_FATAL
(
"Computation of elastic tangent stiffness failed."
);
46
}
47
48
out.
C_el
= std::move(std::get<2>(*solution));
49
}
50
51
template
struct
ElasticTangentStiffnessModel<2>
;
52
template
struct
ElasticTangentStiffnessModel<3>
;
53
}
// namespace ConstitutiveStress_StrainTemperature
54
}
// namespace ProcessLib::ThermoRichardsMechanics
OGS_FATAL
#define OGS_FATAL(...)
Definition
Error.h:26
ElasticTangentStiffnessModel.h
MaterialPropertyLib::VariableArray
Definition
VariableType.h:97
MaterialPropertyLib::VariableArray::mechanical_strain
KelvinVector mechanical_strain
Definition
VariableType.h:180
MaterialPropertyLib::VariableArray::stress
KelvinVector stress
Definition
VariableType.h:187
MaterialPropertyLib::VariableArray::temperature
double temperature
Definition
VariableType.h:188
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:21
MathLib::KelvinVector
Definition
KelvinVector-impl.h:16
ProcessLib::ThermoRichardsMechanics
Definition
Base.h:20
ProcessLib::ThermoRichardsMechanics::KelvinVector
KV::KelvinVectorType< DisplacementDim > KelvinVector
Definition
Base.h:26
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::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::ElasticTangentStiffnessData
Definition
ElasticTangentStiffnessData.h:21
ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::ElasticTangentStiffnessData::C_el
KelvinMatrix< DisplacementDim > C_el
Definition
ElasticTangentStiffnessData.h:22
ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::ElasticTangentStiffnessModel
Definition
ElasticTangentStiffnessModel.h:23
ProcessLib::ThermoRichardsMechanics::ConstitutiveStress_StrainTemperature::ElasticTangentStiffnessModel::eval
void eval(SpaceTimeData const &x_t, TemperatureData< DisplacementDim > const &T_data, ElasticTangentStiffnessData< DisplacementDim > &out) const
Definition
ElasticTangentStiffnessModel.cpp:18
ProcessLib::ThermoRichardsMechanics::TemperatureData
Definition
Base.h:68
ProcessLib::ThermoRichardsMechanics::TemperatureData::T
double T
Definition
Base.h:69
ProcessLib::ThermoRichardsMechanics::TemperatureData::T_prev
double T_prev
Definition
Base.h:70
ProcessLib
ThermoRichardsMechanics
ConstitutiveStress_StrainTemperature
ElasticTangentStiffnessModel.cpp
Generated by
1.12.0