OGS
HydroMechanics/LocalAssembler/IntegrationPointDataMatrix.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 <memory>
7#include <vector>
8
10
11namespace ProcessLib
12{
13namespace LIE
14{
15namespace HydroMechanics
16{
17template <typename BMatricesType, typename ShapeMatrixTypeDisplacement,
18 typename ShapeMatrixTypePressure, int DisplacementDim,
19 unsigned NPoints>
21{
30
31 using DisplacementDimVector = Eigen::Matrix<double, DisplacementDim, 1>;
32
33 typename ShapeMatrixTypeDisplacement::NodalRowVectorType N_u;
34 typename ShapeMatrixTypeDisplacement::GlobalDimNodalMatrixType dNdx_u;
35 typename ShapeMatrixTypeDisplacement::template MatrixType<
36 DisplacementDim, NPoints * DisplacementDim>
38 typename BMatricesType::KelvinVectorType sigma_eff, sigma_eff_prev;
39 typename BMatricesType::KelvinVectorType eps, eps_prev;
40
41 typename ShapeMatrixTypePressure::NodalRowVectorType N_p;
42 typename ShapeMatrixTypePressure::GlobalDimNodalMatrixType dNdx_p;
43
45 typename ShapeMatrixTypePressure::GlobalDimVectorType;
46
48 std::unique_ptr<typename MaterialLib::Solids::MechanicsBase<
49 DisplacementDim>::MaterialStateVariables>
51
52 typename BMatricesType::KelvinMatrixType C;
54
56
58 {
59 eps_prev = eps;
61 material_state_variables->pushBackState();
62 }
63
65};
66
67} // namespace HydroMechanics
68} // namespace LIE
69} // namespace ProcessLib
IntegrationPointDataMatrix(MaterialLib::Solids::MechanicsBase< DisplacementDim > &solid_material)