OGS
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveSetting< DisplacementDim > Struct Template Reference

Detailed Description

template<int DisplacementDim>
struct ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveSetting< DisplacementDim >

Definition at line 20 of file ConstitutiveSetting.h.

#include <ConstitutiveSetting.h>

Public Types

using GradientVectorType
 

Public Member Functions

void eval (ConstitutiveModels< DisplacementDim > &models, double const t, double const dt, ParameterLib::SpatialPosition const &x_position, MaterialPropertyLib::Medium const &medium, double const T_ref, DeformationGradientData< DisplacementDim > const &deformation_gradient_data, GradientVectorType const &deformation_gradient_prev, StatefulData< DisplacementDim > &state, StatefulDataPrev< DisplacementDim > const &prev_state, MaterialStateData< DisplacementDim > &mat_state, ConstitutiveTempData< DisplacementDim > &tmp, ConstitutiveData< DisplacementDim > &cd) const
 Evaluate the constitutive setting.
 

Member Typedef Documentation

◆ GradientVectorType

template<int DisplacementDim>
using ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveSetting< DisplacementDim >::GradientVectorType
Initial value:
Eigen::Matrix<
double,
DisplacementDim * DisplacementDim + (DisplacementDim == 2 ? 1 : 0), 1>

Definition at line 22 of file ConstitutiveSetting.h.

Member Function Documentation

◆ eval()

template<int DisplacementDim>
void ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveSetting< DisplacementDim >::eval ( ConstitutiveModels< DisplacementDim > & models,
double const t,
double const dt,
ParameterLib::SpatialPosition const & x_position,
MaterialPropertyLib::Medium const & medium,
double const T_ref,
DeformationGradientData< DisplacementDim > const & deformation_gradient_data,
GradientVectorType const & deformation_gradient_prev,
StatefulData< DisplacementDim > & state,
StatefulDataPrev< DisplacementDim > const & prev_state,
MaterialStateData< DisplacementDim > & mat_state,
ConstitutiveTempData< DisplacementDim > & tmp,
ConstitutiveData< DisplacementDim > & cd ) const

Evaluate the constitutive setting.

Definition at line 19 of file ConstitutiveSetting.cpp.

30{
31 namespace MPL = MaterialPropertyLib;
32
33 auto& deformation_gradient_data_prev = tmp.deformation_gradient_data_prev;
34 deformation_gradient_data_prev->deformation_gradient =
35 deformation_gradient_prev;
36 auto& rho_SR = tmp.rho_SR;
37
38 auto& s_mech_data = cd.s_mech_data;
39 auto& volumetric_body_force = cd.volumetric_body_force;
40
41 Temperature const T{T_ref};
42 SpaceTimeData const x_t{x_position, t, dt};
43 MediaData const media_data{medium};
44
45 assertEvalArgsUnique(models.s_mech_model);
46 models.s_mech_model.eval(
47 x_t, T, deformation_gradient_data, deformation_gradient_data_prev,
48 mat_state, prev_state.stress_data, state.stress_data, s_mech_data);
49
50 assertEvalArgsUnique(models.rho_S_model);
51 models.rho_S_model.eval(x_t, media_data, T, rho_SR);
52
53 assertEvalArgsUnique(models.gravity_model);
54 models.gravity_model.eval(rho_SR, volumetric_body_force);
55}
BaseLib::StrongType< double, struct TemperatureTag > Temperature
Definition Base.h:64
constexpr void assertEvalArgsUnique(Model const &)
Definition Invoke.h:49

References ProcessLib::LargeDeformation::assertEvalArgsUnique(), ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveTempData< DisplacementDim >::deformation_gradient_data_prev, ProcessLib::LargeDeformation::SolidDensityModel::eval(), ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveModels< DisplacementDim >::gravity_model, ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveModels< DisplacementDim >::rho_S_model, ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveTempData< DisplacementDim >::rho_SR, ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveData< DisplacementDim >::s_mech_data, ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveModels< DisplacementDim >::s_mech_model, ProcessLib::LargeDeformation::ConstitutiveRelations::StatefulData< DisplacementDim >::stress_data, ProcessLib::LargeDeformation::ConstitutiveRelations::StatefulDataPrev< DisplacementDim >::stress_data, and ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveData< DisplacementDim >::volumetric_body_force.

Referenced by ProcessLib::LargeDeformation::LargeDeformationLocalAssembler< ShapeFunction, DisplacementDim >::updateConstitutiveRelations().


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