OGS
LargeDeformation/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::LargeDeformation
11
{
12
namespace
ConstitutiveRelations
13
{
14
template
<
int
DisplacementDim>
15
struct
ConstitutiveSetting
16
{
17
using
GradientVectorType
= Eigen::Matrix<
18
double,
19
DisplacementDim * DisplacementDim + (DisplacementDim == 2 ? 1 : 0), 1>;
20
22
void
init
();
23
25
void
eval
(
ConstitutiveModels<DisplacementDim>
& models,
double
const
t,
26
double
const
dt,
ParameterLib::SpatialPosition
const
& x_position,
27
MaterialPropertyLib::Medium
const
& medium,
double
const
T_ref,
28
DeformationGradientData<DisplacementDim>
const
&
29
deformation_gradient_data,
30
GradientVectorType
const
& deformation_gradient_prev,
31
StatefulData<DisplacementDim>
& state,
32
StatefulDataPrev<DisplacementDim>
const
& prev_state,
33
MaterialStateData<DisplacementDim>
& mat_state,
34
ConstitutiveTempData<DisplacementDim>
& tmp,
35
ConstitutiveData<DisplacementDim>
& cd)
const
;
36
};
37
38
extern
template
struct
ConstitutiveSetting<2>
;
39
extern
template
struct
ConstitutiveSetting<3>
;
40
}
// namespace ConstitutiveRelations
41
}
// namespace ProcessLib::LargeDeformation
ConstitutiveData.h
ConstitutiveModels.h
MaterialState.h
MaterialPropertyLib::Medium
Definition
Medium.h:24
ParameterLib::SpatialPosition
Definition
SpatialPosition.h:21
ProcessLib::LargeDeformation::MaterialStateData
Definition
LargeDeformation/ConstitutiveRelations/MaterialState.h:12
ProcessLib::LargeDeformation::ConstitutiveRelations
Definition
LargeDeformation/ConstitutiveRelations/ConstitutiveData.h:16
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveData
std::tuple< SolidMechanicsDataStateless< DisplacementDim >, VolumetricBodyForce< DisplacementDim > > ConstitutiveData
Data that is needed for the equation system assembly.
Definition
LargeDeformation/ConstitutiveRelations/ConstitutiveData.h:33
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveModels
std::tuple< SolidMechanicsModel< DisplacementDim >, SolidDensityModel, GravityModel< DisplacementDim > > ConstitutiveModels
Constitutive models used for assembly.
Definition
LargeDeformation/ConstitutiveRelations/ConstitutiveModels.h:18
ProcessLib::LargeDeformation::ConstitutiveRelations::StatefulDataPrev
ProcessLib::ConstitutiveRelations::PrevStateOf< StatefulData< DisplacementDim > > StatefulDataPrev
Definition
LargeDeformation/ConstitutiveRelations/ConstitutiveData.h:22
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveTempData
std::tuple< PrevState< DeformationGradientData< DisplacementDim > >, SolidDensity > ConstitutiveTempData
Definition
LargeDeformation/ConstitutiveRelations/ConstitutiveData.h:40
ProcessLib::LargeDeformation::ConstitutiveRelations::StatefulData
std::tuple< StressData< DisplacementDim > > StatefulData
Data whose state must be tracked by the process.
Definition
LargeDeformation/ConstitutiveRelations/ConstitutiveData.h:19
ProcessLib::LargeDeformation
Definition
LargeDeformation/ConstitutiveRelations/Base.h:12
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveSetting
Definition
LargeDeformation/ConstitutiveRelations/ConstitutiveSetting.h:16
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveSetting::init
void init()
Initialize the constitutive setting and check evaluation order.
Definition
LargeDeformation/ConstitutiveRelations/ConstitutiveSetting.cpp:44
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
LargeDeformation/ConstitutiveRelations/ConstitutiveSetting.cpp:51
ProcessLib::LargeDeformation::ConstitutiveRelations::ConstitutiveSetting::GradientVectorType
Eigen::Matrix< double, DisplacementDim *DisplacementDim+(DisplacementDim==2 ? 1 :0), 1 > GradientVectorType
Definition
LargeDeformation/ConstitutiveRelations/ConstitutiveSetting.h:17
ProcessLib::LargeDeformation::DeformationGradientData
Definition
LargeDeformation/ConstitutiveRelations/Base.h:29
ProcessLib
LargeDeformation
ConstitutiveRelations
ConstitutiveSetting.h
Generated by
1.14.0