OGS
LargeDeformation/ConstitutiveRelations/Base.h
Go to the documentation of this file.
1
9
10#pragma once
11
12#include "BaseLib/StrongType.h"
19
21{
22
24namespace KV = MathLib::KelvinVector;
25
26template <int DisplacementDim>
27using KelvinVector = KV::KelvinVectorType<DisplacementDim>;
28
29template <int DisplacementDim>
30using KelvinMatrix = KV::KelvinMatrixType<DisplacementDim>;
31
32template <int DisplacementDim>
33using GlobalDimVector = Eigen::Vector<double, DisplacementDim>;
34
35template <int DisplacementDim>
37 Eigen::Matrix<double, DisplacementDim, DisplacementDim, Eigen::RowMajor>;
38
40template <int D>
45
47template <int D>
52
63
65
66template <int DisplacementDim>
68{
69 // TODO Move initialization to the local assembler.
72 double volume_ratio = 0;
73
74 static auto reflect()
75 {
77
78 return std::tuple{
80 "deformation_gradient", &Self::deformation_gradient),
82 &Self::volume_ratio)};
83 }
84};
85} // namespace ProcessLib::LargeDeformation
Eigen::Matrix< double, tensorSize(Dim), 1 > Tensor
Definition Tensor.h:52
static constexpr double nan
Convenience alias for not a number.
constexpr GlobalDimVector< D > DVnan()
Used to set a D dimensional vector to all not-a-number.
BaseLib::StrongType< double, struct TemperatureTag > Temperature
Eigen::Matrix< double, DisplacementDim, DisplacementDim, Eigen::RowMajor > GlobalDimMatrix
constexpr GlobalDimMatrix< D > DMnan()
Used to set a D x D matrix to all not-a-number.
Eigen::Vector< double, DisplacementDim > GlobalDimVector
KV::KelvinMatrixType< DisplacementDim > KelvinMatrix
KV::KelvinVectorType< DisplacementDim > KelvinVector
auto makeReflectionData(Accessor &&accessor)