OGS
ConstitutiveSetting.cpp
Go to the documentation of this file.
1
10
#include "
ConstitutiveSetting.h
"
11
12
#include "
Invoke.h
"
13
14
namespace
ProcessLib::LargeDeformation
15
{
16
namespace
ConstitutiveRelations
17
{
18
template
<
int
DisplacementDim>
19
void
ConstitutiveSetting<DisplacementDim>::eval
(
20
ConstitutiveModels<DisplacementDim>
& models,
double
const
t,
21
double
const
dt,
ParameterLib::SpatialPosition
const
& x_position,
22
MaterialPropertyLib::Medium
const
& medium,
double
const
T_ref,
23
DeformationGradientData<DisplacementDim>
const
& deformation_gradient_data,
24
GradientVectorType
const
& deformation_gradient_prev,
25
StatefulData<DisplacementDim>
& state,
26
StatefulDataPrev<DisplacementDim>
const
& prev_state,
27
MaterialStateData<DisplacementDim>
& mat_state,
28
ConstitutiveTempData<DisplacementDim>
& tmp,
29
ConstitutiveData<DisplacementDim>
& cd)
const
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
}
56
57
template
struct
ConstitutiveSetting<2>
;
58
template
struct
ConstitutiveSetting<3>
;
59
}
// namespace ConstitutiveRelations
60
}
// namespace ProcessLib::LargeDeformation
ConstitutiveSetting.h
Invoke.h
MaterialPropertyLib::Medium
Definition
Medium.h:32
ParameterLib::SpatialPosition
Definition
SpatialPosition.h:27
ProcessLib::LargeDeformation::MaterialStateData
Definition
MaterialState.h:18
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:21
ProcessLib::LargeDeformation
Definition
Base.h:21
ProcessLib::LargeDeformation::assertEvalArgsUnique
constexpr void assertEvalArgsUnique(Model const &)
Definition
Invoke.h:49
BaseLib::StrongType
Definition
StrongType.h:25
ProcessLib::ConstitutiveRelations::SpaceTimeData
Definition
Base.h:73
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveData
Data that is needed for the equation system assembly.
Definition
ConstitutiveData.h:69
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveData::volumetric_body_force
VolumetricBodyForce< DisplacementDim > volumetric_body_force
Definition
ConstitutiveData.h:71
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveData::s_mech_data
SolidMechanicsDataStateless< DisplacementDim > s_mech_data
Definition
ConstitutiveData.h:70
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveModels
Constitutive models used for assembly.
Definition
ConstitutiveModels.h:23
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveModels::rho_S_model
SolidDensityModel rho_S_model
Definition
ConstitutiveModels.h:34
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveModels::gravity_model
GravityModel< DisplacementDim > gravity_model
Definition
ConstitutiveModels.h:35
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveModels::s_mech_model
SolidMechanicsModel< DisplacementDim > s_mech_model
Definition
ConstitutiveModels.h:33
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveSetting
Definition
ConstitutiveSetting.h:21
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveSetting::eval
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.
Definition
ConstitutiveSetting.cpp:19
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveSetting::GradientVectorType
Eigen::Matrix< double, DisplacementDim *DisplacementDim+(DisplacementDim==2 ? 1 :0), 1 > GradientVectorType
Definition
ConstitutiveSetting.h:22
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveTempData
Definition
ConstitutiveData.h:78
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveTempData::deformation_gradient_data_prev
PrevState< DeformationGradientData< DisplacementDim > > deformation_gradient_data_prev
Definition
ConstitutiveData.h:81
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveTempData::rho_SR
SolidDensity rho_SR
Definition
ConstitutiveData.h:82
ProcessLib::LargeDeformation::ConstitutiveRelations::StatefulDataPrev
Data whose state must be tracked by the process.
Definition
ConstitutiveData.h:38
ProcessLib::LargeDeformation::ConstitutiveRelations::StatefulDataPrev::stress_data
PrevState< StressData< DisplacementDim > > stress_data
Definition
ConstitutiveData.h:39
ProcessLib::LargeDeformation::ConstitutiveRelations::StatefulData
Data whose state must be tracked by the process.
Definition
ConstitutiveData.h:24
ProcessLib::LargeDeformation::ConstitutiveRelations::StatefulData::stress_data
StressData< DisplacementDim > stress_data
Definition
ConstitutiveData.h:25
ProcessLib::LargeDeformation::DeformationGradientData
Definition
Base.h:68
ProcessLib::LargeDeformation::MediaData
Definition
Base.h:54
ProcessLib::LargeDeformation::SolidDensityModel::eval
void eval(SpaceTimeData const &x_t, MediaData const &media_data, Temperature const &temperature, SolidDensity &out) const
Definition
SolidDensity.cpp:14
ProcessLib
LargeDeformation
ConstitutiveRelations
ConstitutiveSetting.cpp
Generated by
1.12.0