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
},
solid
{
medium
.phase(
"Solid"
)}
20
{
21
}
22
23
MaterialPropertyLib::Medium
const
&
medium
;
24
MaterialPropertyLib::Phase
const
&
solid
;
25
};
26
27
template
<
int
DisplacementDim>
28
struct
DeformationGradientData
29
{
30
// TODO Move initialization to the local assembler.
31
MaterialPropertyLib::Tensor<DisplacementDim>
deformation_gradient
=
32
MaterialPropertyLib::Tensor<DisplacementDim>::Zero
();
33
double
volume_ratio
= 0;
34
35
static
auto
reflect
()
36
{
37
using
Self =
DeformationGradientData<DisplacementDim>
;
38
39
return
std::tuple{
40
ProcessLib::Reflection::makeReflectionData
(
41
"deformation_gradient"
, &Self::deformation_gradient),
42
ProcessLib::Reflection::makeReflectionData
(
"volume_ratio"
,
43
&Self::volume_ratio)};
44
}
45
};
46
}
// namespace ProcessLib::LargeDeformation
Base.h
Medium.h
ReflectionData.h
Tensor.h
MaterialPropertyLib::Medium
Definition
Medium.h:24
MaterialPropertyLib::Phase
Definition
Phase.h:24
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:29
ProcessLib::LargeDeformation::DeformationGradientData::reflect
static auto reflect()
Definition
LargeDeformation/ConstitutiveRelations/Base.h:35
ProcessLib::LargeDeformation::DeformationGradientData::deformation_gradient
MaterialPropertyLib::Tensor< DisplacementDim > deformation_gradient
Definition
LargeDeformation/ConstitutiveRelations/Base.h:31
ProcessLib::LargeDeformation::DeformationGradientData::volume_ratio
double volume_ratio
Definition
LargeDeformation/ConstitutiveRelations/Base.h:33
ProcessLib::LargeDeformation::MediaData::medium
MaterialPropertyLib::Medium const & medium
Definition
LargeDeformation/ConstitutiveRelations/Base.h:23
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:24
ProcessLib
LargeDeformation
ConstitutiveRelations
Base.h
Generated by
1.14.0