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

Detailed Description

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

Definition at line 20 of file ConstitutiveSetting.h.

#include <ConstitutiveSetting.h>

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, KelvinVector< DisplacementDim > const &eps, KelvinVector< DisplacementDim > const &eps_prev, StatefulData< DisplacementDim > &state, StatefulDataPrev< DisplacementDim > const &prev_state, MaterialStateData< DisplacementDim > &mat_state, ConstitutiveTempData< DisplacementDim > &tmp, OutputData< DisplacementDim > &out, ConstitutiveData< DisplacementDim > &cd) const
 Evaluate the constitutive setting.
 

Member Function Documentation

◆ eval()

template<int DisplacementDim>
void ProcessLib::SmallDeformation::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,
KelvinVector< DisplacementDim > const & eps,
KelvinVector< DisplacementDim > const & eps_prev,
StatefulData< DisplacementDim > & state,
StatefulDataPrev< DisplacementDim > const & prev_state,
MaterialStateData< DisplacementDim > & mat_state,
ConstitutiveTempData< DisplacementDim > & tmp,
OutputData< DisplacementDim > & out,
ConstitutiveData< DisplacementDim > & cd ) const

Evaluate the constitutive setting.

Definition at line 19 of file ConstitutiveSetting.cpp.

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

References ProcessLib::SmallDeformation::assertEvalArgsUnique(), ProcessLib::SmallDeformation::ConstitutiveRelations::OutputData< DisplacementDim >::eps_data, ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveTempData< DisplacementDim >::eps_data_prev, ProcessLib::SmallDeformation::SolidDensityModel::eval(), ProcessLib::SmallDeformation::ConstitutiveRelations::OutputData< DisplacementDim >::free_energy_density_data, ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveModels< DisplacementDim >::gravity_model, ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveModels< DisplacementDim >::rho_S_model, ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveTempData< DisplacementDim >::rho_SR, ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveData< DisplacementDim >::s_mech_data, ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveModels< DisplacementDim >::s_mech_model, ProcessLib::SmallDeformation::ConstitutiveRelations::StatefulData< DisplacementDim >::stress_data, ProcessLib::SmallDeformation::ConstitutiveRelations::StatefulDataPrev< DisplacementDim >::stress_data, and ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveData< DisplacementDim >::volumetric_body_force.

Referenced by ProcessLib::SmallDeformation::SmallDeformationLocalAssembler< ShapeFunction, DisplacementDim >::updateConstitutiveRelations().


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