OGS
ProcessLib::TH2M::ConstitutiveRelations::ElasticTangentStiffnessModel< DisplacementDim > Struct Template Reference

Detailed Description

template<int DisplacementDim>
struct ProcessLib::TH2M::ConstitutiveRelations::ElasticTangentStiffnessModel< DisplacementDim >

Definition at line 15 of file TH2M/ConstitutiveRelations/ElasticTangentStiffnessModel.h.

#include <ElasticTangentStiffnessModel.h>

Public Member Functions

 ElasticTangentStiffnessModel (SolidConstitutiveRelation< DisplacementDim > const &solid_material)
void eval (SpaceTimeData const &x_t, TemperatureData const &T_data, ElasticTangentStiffnessData< DisplacementDim > &out) const

Private Attributes

SolidConstitutiveRelation< DisplacementDim > const & solid_material_

Constructor & Destructor Documentation

◆ ElasticTangentStiffnessModel()

Member Function Documentation

◆ eval()

template<int DisplacementDim>
void ProcessLib::TH2M::ConstitutiveRelations::ElasticTangentStiffnessModel< DisplacementDim >::eval ( SpaceTimeData const & x_t,
TemperatureData const & T_data,
ElasticTangentStiffnessData< DisplacementDim > & out ) const

Definition at line 13 of file TH2M/ConstitutiveRelations/ElasticTangentStiffnessModel.cpp.

16{
17 namespace MPL = MaterialPropertyLib;
18
21
22 auto const null_state = solid_material_.createMaterialStateVariables();
23 solid_material_.initializeInternalStateVariables(x_t.t, x_t.x, *null_state);
24
26
27 variable_array.stress.emplace<KV>(KV::Zero());
28 variable_array.mechanical_strain.emplace<KV>(KV::Zero());
29 variable_array.temperature = T_data.T;
30
31 variable_array_prev.stress.emplace<KV>(KV::Zero());
32 variable_array_prev.mechanical_strain.emplace<KV>(KV::Zero());
33 variable_array_prev.temperature = T_data.T_prev;
34
35 auto&& solution = solid_material_.integrateStress(
37
38 if (!solution)
39 {
40 OGS_FATAL("Computation of elastic tangent stiffness failed.");
41 }
42
43 out.stiffness_tensor = std::move(std::get<2>(*solution));
44}
#define OGS_FATAL(...)
Definition Error.h:19

References ProcessLib::ConstitutiveRelations::SpaceTimeData::dt, MaterialPropertyLib::VariableArray::mechanical_strain, OGS_FATAL, solid_material_, ProcessLib::TH2M::ConstitutiveRelations::ElasticTangentStiffnessData< DisplacementDim >::stiffness_tensor, MaterialPropertyLib::VariableArray::stress, ProcessLib::TH2M::ConstitutiveRelations::TemperatureData::T, ProcessLib::ConstitutiveRelations::SpaceTimeData::t, ProcessLib::TH2M::ConstitutiveRelations::TemperatureData::T_prev, MaterialPropertyLib::VariableArray::temperature, and ProcessLib::ConstitutiveRelations::SpaceTimeData::x.

Member Data Documentation

◆ solid_material_

template<int DisplacementDim>
SolidConstitutiveRelation<DisplacementDim> const& ProcessLib::TH2M::ConstitutiveRelations::ElasticTangentStiffnessModel< DisplacementDim >::solid_material_
private

The documentation for this struct was generated from the following files: