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 GlobalDim, unsigned NPoints>
27{
36
37 using GlobalDimVector = Eigen::Matrix<double, GlobalDim, 1>;
38
39 typename ShapeMatrixTypeDisplacement::NodalRowVectorType N_u;
40 typename ShapeMatrixTypeDisplacement::GlobalDimNodalMatrixType dNdx_u;
41 typename ShapeMatrixTypeDisplacement::template MatrixType<
42 GlobalDim, NPoints * GlobalDim>
44 typename BMatricesType::KelvinVectorType sigma_eff, sigma_eff_prev;
45 typename BMatricesType::KelvinVectorType eps, eps_prev;
46
47 typename ShapeMatrixTypePressure::NodalRowVectorType N_p;
48 typename ShapeMatrixTypePressure::GlobalDimNodalMatrixType dNdx_p;
49
51 std::unique_ptr<typename MaterialLib::Solids::MechanicsBase<
52 GlobalDim>::MaterialStateVariables>
54
55 typename BMatricesType::KelvinMatrixType C;
57
59
61 {
62 eps_prev = eps;
64 material_state_variables->pushBackState();
65 }
66
68};
69
70} // namespace HydroMechanics
71} // namespace LIE
72} // namespace ProcessLib
MaterialLib::Solids::MechanicsBase< GlobalDim > & solid_material
ShapeMatrixTypeDisplacement::template MatrixType< GlobalDim, NPoints *GlobalDim > H_u
ShapeMatrixTypeDisplacement::GlobalDimNodalMatrixType dNdx_u
std::unique_ptr< typename MaterialLib::Solids::MechanicsBase< GlobalDim >::MaterialStateVariables > material_state_variables
ShapeMatrixTypePressure::GlobalDimNodalMatrixType dNdx_p
IntegrationPointDataMatrix(MaterialLib::Solids::MechanicsBase< GlobalDim > &solid_material)