OGS
IntegrationPointData.h
Go to the documentation of this file.
1
11#pragma once
12
15
16namespace ProcessLib
17{
18namespace SmallDeformationNonlocal
19{
20template <typename BMatricesType, typename ShapeMatricesType,
21 int DisplacementDim>
23{
29 solid_material.createMaterialStateVariables())
30 {
31 auto const& msv =
33 DisplacementDim>&>(*material_state_variables);
34
35 eps_p_V = &msv.eps_p.V;
36 eps_p_D_xx = &msv.eps_p.D[0];
37 }
38
39 typename BMatricesType::BMatrixType b_matrices;
40 typename BMatricesType::KelvinVectorType sigma, sigma_prev;
41 typename BMatricesType::KelvinVectorType eps, eps_prev;
43 double damage = 0;
44 double damage_prev = 0;
45 double kappa_d_prev = 0;
46
48 std::unique_ptr<typename MaterialLib::Solids::MechanicsBase<
49 DisplacementDim>::MaterialStateVariables>
51
52 typename BMatricesType::KelvinMatrixType C;
53 typename ShapeMatricesType::NodalRowVectorType N;
54 typename ShapeMatricesType::GlobalDimNodalMatrixType dNdx;
55
56 double const* eps_p_V; // Used for the secondary variables output.
57 double const* eps_p_D_xx; // Used for the secondary variables output.
58
60 {
61 eps_prev = eps;
65 material_state_variables->pushBackState();
66 }
67
69};
70
71} // namespace SmallDeformationNonlocal
72} // namespace ProcessLib
MaterialLib::Solids::Ehlers::SolidEhlers< DisplacementDim > & solid_material
ShapeMatricesType::GlobalDimNodalMatrixType dNdx
std::unique_ptr< typename MaterialLib::Solids::MechanicsBase< DisplacementDim >::MaterialStateVariables > material_state_variables
IntegrationPointData(MaterialLib::Solids::Ehlers::SolidEhlers< DisplacementDim > &solid_material)