OGS
SmallDeformation/ConstitutiveRelations/ConstitutiveSetting.h
Go to the documentation of this file.
1
// SPDX-FileCopyrightText: Copyright (c) OpenGeoSys Community (opengeosys.org)
2
// SPDX-License-Identifier: BSD-3-Clause
3
4
#pragma once
5
6
#include "
ConstitutiveData.h
"
7
#include "
ConstitutiveModels.h
"
8
#include "
MaterialState.h
"
9
10
namespace
ProcessLib::SmallDeformation
11
{
12
namespace
ConstitutiveRelations
13
{
14
template
<
int
DisplacementDim>
15
struct
ConstitutiveSetting
16
{
18
void
init
();
19
21
void
eval
(
ConstitutiveModels<DisplacementDim>
& models,
double
const
t,
22
double
const
dt,
ParameterLib::SpatialPosition
const
& x_position,
23
MaterialPropertyLib::Medium
const
& medium,
double
const
T_ref,
24
KelvinVector<DisplacementDim>
const
& eps,
25
KelvinVector<DisplacementDim>
const
& eps_prev,
26
StatefulData<DisplacementDim>
& state,
27
StatefulDataPrev<DisplacementDim>
const
& prev_state,
28
MaterialStateData<DisplacementDim>
& mat_state,
29
ConstitutiveTempData<DisplacementDim>
& tmp,
30
OutputData<DisplacementDim>
& out,
31
ConstitutiveData<DisplacementDim>
& cd)
const
;
32
};
33
34
extern
template
struct
ConstitutiveSetting<2>
;
35
extern
template
struct
ConstitutiveSetting<3>
;
36
}
// namespace ConstitutiveRelations
37
}
// namespace ProcessLib::SmallDeformation
ConstitutiveData.h
ConstitutiveModels.h
MaterialState.h
MaterialPropertyLib::Medium
Definition
Medium.h:24
ParameterLib::SpatialPosition
Definition
SpatialPosition.h:21
ProcessLib::SmallDeformation::MaterialStateData
Definition
SmallDeformation/ConstitutiveRelations/MaterialState.h:12
ProcessLib::ConstitutiveRelations::KelvinVector
KV::KelvinVectorType< DisplacementDim > KelvinVector
Definition
ConstitutiveRelations/Base.h:17
ProcessLib::SmallDeformation::ConstitutiveRelations
Definition
SmallDeformation/ConstitutiveRelations/ConstitutiveData.h:17
ProcessLib::SmallDeformation::ConstitutiveRelations::StatefulDataPrev
ProcessLib::ConstitutiveRelations::PrevStateOf< StatefulData< DisplacementDim > > StatefulDataPrev
Definition
SmallDeformation/ConstitutiveRelations/ConstitutiveData.h:23
ProcessLib::SmallDeformation::ConstitutiveRelations::StatefulData
std::tuple< StressData< DisplacementDim > > StatefulData
Data whose state must be tracked by the process.
Definition
SmallDeformation/ConstitutiveRelations/ConstitutiveData.h:20
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveData
std::tuple< SolidMechanicsDataStateless< DisplacementDim >, VolumetricBodyForce< DisplacementDim > > ConstitutiveData
Data that is needed for the equation system assembly.
Definition
SmallDeformation/ConstitutiveRelations/ConstitutiveData.h:33
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveModels
std::tuple< SolidMechanicsModel< DisplacementDim >, SolidDensityModel, GravityModel< DisplacementDim > > ConstitutiveModels
Constitutive models used for assembly.
Definition
SmallDeformation/ConstitutiveRelations/ConstitutiveModels.h:18
ProcessLib::SmallDeformation::ConstitutiveRelations::OutputData
std::tuple< StrainData< DisplacementDim >, FreeEnergyDensityData > OutputData
Data that is needed for output purposes, but not directly for the assembly.
Definition
SmallDeformation/ConstitutiveRelations/ConstitutiveData.h:28
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveTempData
std::tuple< PrevState< StrainData< DisplacementDim > >, SolidDensity > ConstitutiveTempData
Definition
SmallDeformation/ConstitutiveRelations/ConstitutiveData.h:40
ProcessLib::SmallDeformation
Definition
SmallDeformation/ConstitutiveRelations/Base.h:10
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveSetting
Definition
SmallDeformation/ConstitutiveRelations/ConstitutiveSetting.h:16
ProcessLib::SmallDeformation::ConstitutiveRelations::ConstitutiveSetting::init
void init()
Initialize the constitutive setting and check evaluation order.
Definition
SmallDeformation/ConstitutiveRelations/ConstitutiveSetting.cpp:41
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
SmallDeformation/ConstitutiveRelations/ConstitutiveSetting.cpp:47
ProcessLib
SmallDeformation
ConstitutiveRelations
ConstitutiveSetting.h
Generated by
1.14.0