OGS
ProcessLib::SmallDeformation::ConstitutiveRelations::SolidMechanicsModel< DisplacementDim > Struct Template Reference

Detailed Description

template<int DisplacementDim>
struct ProcessLib::SmallDeformation::ConstitutiveRelations::SolidMechanicsModel< DisplacementDim >

Definition at line 29 of file SmallDeformation/ConstitutiveRelations/SolidMechanics.h.

#include <SolidMechanics.h>

Public Member Functions

 SolidMechanicsModel (SolidConstitutiveRelation< DisplacementDim > const &solid_material)
void eval (SpaceTimeData const &x_t, Temperature const &temperature, StrainData< DisplacementDim > const &eps_data, PrevState< StrainData< DisplacementDim > > const &eps_data_prev, MaterialStateData< DisplacementDim > &mat_state, PrevState< StressData< DisplacementDim > > const &stress_data_prev, StressData< DisplacementDim > &stress_data, SolidMechanicsDataStateless< DisplacementDim > &current_stateless, FreeEnergyDensityData &free_energy_density_data) const
auto getInternalVariables () const

Static Public Member Functions

static SolidMechanicsModel create (SolidConstitutiveRelation< DisplacementDim > const &solid_material)

Private Attributes

SolidConstitutiveRelation< DisplacementDim > const & solid_material_

Constructor & Destructor Documentation

◆ SolidMechanicsModel()

Member Function Documentation

◆ create()

template<int DisplacementDim>
SolidMechanicsModel ProcessLib::SmallDeformation::ConstitutiveRelations::SolidMechanicsModel< DisplacementDim >::create ( SolidConstitutiveRelation< DisplacementDim > const & solid_material)
inlinestatic

◆ eval()

template<int DisplacementDim>
void ProcessLib::SmallDeformation::ConstitutiveRelations::SolidMechanicsModel< DisplacementDim >::eval ( SpaceTimeData const & x_t,
Temperature const & temperature,
StrainData< DisplacementDim > const & eps_data,
PrevState< StrainData< DisplacementDim > > const & eps_data_prev,
MaterialStateData< DisplacementDim > & mat_state,
PrevState< StressData< DisplacementDim > > const & stress_data_prev,
StressData< DisplacementDim > & stress_data,
SolidMechanicsDataStateless< DisplacementDim > & current_stateless,
FreeEnergyDensityData & free_energy_density_data ) const

Definition at line 11 of file SmallDeformation/ConstitutiveRelations/SolidMechanics.cpp.

21{
22 namespace MPL = MaterialPropertyLib;
23
24 // current state
26 {
27 // thermodynamic forces
28 variables.stress = stress_data.sigma;
29 variables.mechanical_strain = eps_data.eps;
30
31 // external state variables
32 variables.temperature = *temperature;
33 }
34
35 // previous state
37 {
38 // thermodynamic forces
39 variables_prev.stress = stress_data_prev->sigma;
40 variables_prev.mechanical_strain = eps_data_prev->eps;
41
42 // external state variables
43 variables_prev.temperature = *temperature;
44 }
45
46 auto solution = solid_material_.integrateStress(
48 *mat_state.material_state_variables);
49
50 if (!solution)
51 {
52 OGS_FATAL("Computation of local constitutive relation failed.");
53 }
54
55 std::tie(stress_data.sigma, mat_state.material_state_variables,
56 current_stateless.stiffness_tensor) = std::move(*solution);
57
58 free_energy_density_data.free_energy_density =
59 solid_material_.computeFreeEnergyDensity(
60 x_t.t, x_t.x, x_t.dt, eps_data.eps, stress_data.sigma,
61 *mat_state.material_state_variables);
62}
#define OGS_FATAL(...)
Definition Error.h:19

References ProcessLib::ConstitutiveRelations::SpaceTimeData::dt, ProcessLib::ConstitutiveRelations::StrainData< DisplacementDim >::eps, ProcessLib::SmallDeformation::FreeEnergyDensityData::free_energy_density, ProcessLib::SmallDeformation::MaterialStateData< DisplacementDim >::material_state_variables, MaterialPropertyLib::VariableArray::mechanical_strain, OGS_FATAL, ProcessLib::ConstitutiveRelations::StressData< DisplacementDim >::sigma, solid_material_, ProcessLib::SmallDeformation::ConstitutiveRelations::SolidMechanicsDataStateless< DisplacementDim >::stiffness_tensor, MaterialPropertyLib::VariableArray::stress, ProcessLib::ConstitutiveRelations::SpaceTimeData::t, MaterialPropertyLib::VariableArray::temperature, and ProcessLib::ConstitutiveRelations::SpaceTimeData::x.

◆ getInternalVariables()

template<int DisplacementDim>
auto ProcessLib::SmallDeformation::ConstitutiveRelations::SolidMechanicsModel< DisplacementDim >::getInternalVariables ( ) const
inline

Definition at line 47 of file SmallDeformation/ConstitutiveRelations/SolidMechanics.h.

48 {
49 return solid_material_.getInternalVariables();
50 }

References solid_material_.

Member Data Documentation

◆ solid_material_

template<int DisplacementDim>
SolidConstitutiveRelation<DisplacementDim> const& ProcessLib::SmallDeformation::ConstitutiveRelations::SolidMechanicsModel< DisplacementDim >::solid_material_
private

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