OGS
LargeDeformation/ConstitutiveRelations/Base.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 "
MaterialLib/MPL/Medium.h
"
7
#include "
MaterialLib/MPL/Utils/Tensor.h
"
8
#include "
ProcessLib/ConstitutiveRelations/Base.h
"
9
#include "
ProcessLib/Reflection/ReflectionData.h
"
10
11
namespace
ProcessLib::LargeDeformation
12
{
13
14
using namespace
ProcessLib::ConstitutiveRelations
;
15
16
struct
MediaData
17
{
18
explicit
MediaData
(
MaterialPropertyLib::Medium
const
&
medium
)
19
:
medium
{
medium
},
20
solid
{
medium
.phase(
MaterialPropertyLib
::PhaseName::Solid)}
21
{
22
}
23
24
MaterialPropertyLib::Medium
const
&
medium
;
25
MaterialPropertyLib::Phase
const
&
solid
;
26
};
27
28
template
<
int
DisplacementDim>
29
struct
DeformationGradientData
30
{
31
// TODO Move initialization to the local assembler.
32
MaterialPropertyLib::Tensor<DisplacementDim>
deformation_gradient
=
33
MaterialPropertyLib::Tensor<DisplacementDim>::Zero
();
34
double
volume_ratio
= 0;
35
36
static
auto
reflect
()
37
{
38
using
Self =
DeformationGradientData<DisplacementDim>
;
39
40
return
std::tuple{
41
ProcessLib::Reflection::makeReflectionData
(
42
"deformation_gradient"
, &Self::deformation_gradient),
43
ProcessLib::Reflection::makeReflectionData
(
"volume_ratio"
,
44
&Self::volume_ratio)};
45
}
46
};
47
}
// namespace ProcessLib::LargeDeformation
Base.h
Medium.h
ReflectionData.h
Tensor.h
MaterialPropertyLib::Medium
Definition
Medium.h:24
MaterialPropertyLib::Phase
Definition
Phase.h:37
MaterialPropertyLib
Definition
ChemicalSolverInterface.h:98
MaterialPropertyLib::Tensor
Eigen::Matrix< double, tensorSize(Dim), 1 > Tensor
Definition
Tensor.h:46
ProcessLib::ConstitutiveRelations
Definition
ConstitutiveRelations/Base.h:13
ProcessLib::LargeDeformation
Definition
LargeDeformation/ConstitutiveRelations/Base.h:12
ProcessLib::Reflection::makeReflectionData
auto makeReflectionData(Accessor &&accessor)
Definition
ReflectionData.h:44
ProcessLib::LargeDeformation::DeformationGradientData
Definition
LargeDeformation/ConstitutiveRelations/Base.h:30
ProcessLib::LargeDeformation::DeformationGradientData::reflect
static auto reflect()
Definition
LargeDeformation/ConstitutiveRelations/Base.h:36
ProcessLib::LargeDeformation::DeformationGradientData::deformation_gradient
MaterialPropertyLib::Tensor< DisplacementDim > deformation_gradient
Definition
LargeDeformation/ConstitutiveRelations/Base.h:32
ProcessLib::LargeDeformation::DeformationGradientData::volume_ratio
double volume_ratio
Definition
LargeDeformation/ConstitutiveRelations/Base.h:34
ProcessLib::LargeDeformation::MediaData::medium
MaterialPropertyLib::Medium const & medium
Definition
LargeDeformation/ConstitutiveRelations/Base.h:24
ProcessLib::LargeDeformation::MediaData::MediaData
MediaData(MaterialPropertyLib::Medium const &medium)
Definition
LargeDeformation/ConstitutiveRelations/Base.h:18
ProcessLib::LargeDeformation::MediaData::solid
MaterialPropertyLib::Phase const & solid
Definition
LargeDeformation/ConstitutiveRelations/Base.h:25
ProcessLib
LargeDeformation
ConstitutiveRelations
Base.h
Generated by
1.14.0