OGS
IntegrationPointDataMatrix.h
Go to the documentation of this file.
1
11#pragma once
12
13#include <memory>
14#include <vector>
15
17
18namespace ProcessLib
19{
20namespace LIE
21{
22namespace HydroMechanics
23{
24template <typename BMatricesType, typename ShapeMatrixTypeDisplacement,
25 typename ShapeMatrixTypePressure, int DisplacementDim,
26 unsigned NPoints>
28{
37
38 using DisplacementDimVector = Eigen::Matrix<double, DisplacementDim, 1>;
39
40 typename ShapeMatrixTypeDisplacement::NodalRowVectorType N_u;
41 typename ShapeMatrixTypeDisplacement::GlobalDimNodalMatrixType dNdx_u;
42 typename ShapeMatrixTypeDisplacement::template MatrixType<
43 DisplacementDim, NPoints * DisplacementDim>
45 typename BMatricesType::KelvinVectorType sigma_eff, sigma_eff_prev;
46 typename BMatricesType::KelvinVectorType eps, eps_prev;
47
48 typename ShapeMatrixTypePressure::NodalRowVectorType N_p;
49 typename ShapeMatrixTypePressure::GlobalDimNodalMatrixType dNdx_p;
50
52 typename ShapeMatrixTypePressure::GlobalDimVectorType;
53
55 std::unique_ptr<typename MaterialLib::Solids::MechanicsBase<
56 DisplacementDim>::MaterialStateVariables>
58
59 typename BMatricesType::KelvinMatrixType C;
61
63
65 {
66 eps_prev = eps;
68 material_state_variables->pushBackState();
69 }
70
72};
73
74} // namespace HydroMechanics
75} // namespace LIE
76} // namespace ProcessLib
std::unique_ptr< typename MaterialLib::Solids::MechanicsBase< DisplacementDim >::MaterialStateVariables > material_state_variables
MaterialLib::Solids::MechanicsBase< DisplacementDim > & solid_material
ShapeMatrixTypeDisplacement::template MatrixType< DisplacementDim, NPoints *DisplacementDim > H_u
ShapeMatrixTypePressure::GlobalDimNodalMatrixType dNdx_p
ShapeMatrixTypeDisplacement::GlobalDimNodalMatrixType dNdx_u
IntegrationPointDataMatrix(MaterialLib::Solids::MechanicsBase< DisplacementDim > &solid_material)
Eigen::Matrix< double, DisplacementDim, 1 > DisplacementDimVector
typename ShapeMatrixTypePressure::GlobalDimVectorType GlobalDimVectorType