OGS
ConstitutiveSetting.cpp
Go to the documentation of this file.
1
10
#include "
ConstitutiveSetting.h
"
11
12
#include "
Invoke.h
"
13
14
namespace
ProcessLib::SmallDeformation
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
KelvinVector<DisplacementDim>
const
& eps,
24
KelvinVector<DisplacementDim>
const
& eps_prev,
25
StatefulData<DisplacementDim>
& state,
26
StatefulDataPrev<DisplacementDim>
const
& prev_state,
27
MaterialStateData<DisplacementDim>
& mat_state,
28
ConstitutiveTempData<DisplacementDim>
& tmp,
29
OutputData<DisplacementDim>
& out,
30
ConstitutiveData<DisplacementDim>
& cd)
const
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
}
60
61
template
struct
ConstitutiveSetting<2>
;
62
template
struct
ConstitutiveSetting<3>
;
63
}
// namespace ConstitutiveRelations
64
}
// namespace ProcessLib::SmallDeformation
ConstitutiveSetting.h
Invoke.h
MaterialPropertyLib::Medium
Definition
Medium.h:32
ParameterLib::SpatialPosition
Definition
SpatialPosition.h:27
ProcessLib::SmallDeformation::MaterialStateData
Definition
MaterialState.h:18
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:21
ProcessLib::SmallDeformation
Definition
Base.h:20
ProcessLib::SmallDeformation::assertEvalArgsUnique
constexpr void assertEvalArgsUnique(Model const &)
Definition
Invoke.h:49
ProcessLib::SmallDeformation::KelvinVector
KV::KelvinVectorType< DisplacementDim > KelvinVector
Definition
Base.h:26
BaseLib::StrongType
Definition
StrongType.h:25
ProcessLib::ConstitutiveRelations::SpaceTimeData
Definition
Base.h:73
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveData
Data that is needed for the equation system assembly.
Definition
ConstitutiveData.h:70
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveData::s_mech_data
SolidMechanicsDataStateless< DisplacementDim > s_mech_data
Definition
ConstitutiveData.h:71
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveData::volumetric_body_force
VolumetricBodyForce< DisplacementDim > volumetric_body_force
Definition
ConstitutiveData.h:72
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveModels
Constitutive models used for assembly.
Definition
ConstitutiveModels.h:23
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveModels::s_mech_model
SolidMechanicsModel< DisplacementDim > s_mech_model
Definition
ConstitutiveModels.h:33
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveModels::rho_S_model
SolidDensityModel rho_S_model
Definition
ConstitutiveModels.h:34
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveModels::gravity_model
GravityModel< DisplacementDim > gravity_model
Definition
ConstitutiveModels.h:35
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveSetting
Definition
ConstitutiveSetting.h:21
ProcessLib::SmallDeformation::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, 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
ConstitutiveSetting.cpp:19
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveTempData
Definition
ConstitutiveData.h:79
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveTempData::rho_SR
SolidDensity rho_SR
Definition
ConstitutiveData.h:81
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveTempData::eps_data_prev
PrevState< StrainData< DisplacementDim > > eps_data_prev
Definition
ConstitutiveData.h:80
ProcessLib::SmallDeformation::ConstitutiveRelations::OutputData
Data that is needed for output purposes, but not directly for the assembly.
Definition
ConstitutiveData.h:54
ProcessLib::SmallDeformation::ConstitutiveRelations::OutputData::free_energy_density_data
FreeEnergyDensityData free_energy_density_data
Definition
ConstitutiveData.h:56
ProcessLib::SmallDeformation::ConstitutiveRelations::OutputData::eps_data
StrainData< DisplacementDim > eps_data
Definition
ConstitutiveData.h:55
ProcessLib::SmallDeformation::ConstitutiveRelations::StatefulDataPrev
Data whose state must be tracked by the process.
Definition
ConstitutiveData.h:39
ProcessLib::SmallDeformation::ConstitutiveRelations::StatefulDataPrev::stress_data
PrevState< StressData< DisplacementDim > > stress_data
Definition
ConstitutiveData.h:40
ProcessLib::SmallDeformation::ConstitutiveRelations::StatefulData
Data whose state must be tracked by the process.
Definition
ConstitutiveData.h:25
ProcessLib::SmallDeformation::ConstitutiveRelations::StatefulData::stress_data
StressData< DisplacementDim > stress_data
Definition
ConstitutiveData.h:26
ProcessLib::SmallDeformation::MediaData
Definition
Base.h:35
ProcessLib::SmallDeformation::SolidDensityModel::eval
void eval(SpaceTimeData const &x_t, MediaData const &media_data, Temperature const &temperature, SolidDensity &out) const
Definition
SolidDensity.cpp:14
ProcessLib
SmallDeformation
ConstitutiveRelations
ConstitutiveSetting.cpp
Generated by
1.12.0