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,
21 typename ShapeMatricesType,
22 int DisplacementDim>
24{
30 solid_material.createMaterialStateVariables())
31 {
32 auto const& msv =
34 DisplacementDim>&>(*material_state_variables);
35
36 eps_p_V = &msv.eps_p.V;
37 eps_p_D_xx = &msv.eps_p.D[0];
38 }
39
40 typename BMatricesType::BMatrixType b_matrices;
41 typename BMatricesType::KelvinVectorType sigma, sigma_prev;
42 typename BMatricesType::KelvinVectorType eps, eps_prev;
44 double damage = 0;
45 double damage_prev = 0;
46 double kappa_d_prev = 0;
47
49 std::unique_ptr<typename MaterialLib::Solids::MechanicsBase<
50 DisplacementDim>::MaterialStateVariables>
52
53 typename BMatricesType::KelvinMatrixType C;
54 typename ShapeMatricesType::NodalRowVectorType N;
55 typename ShapeMatricesType::GlobalDimNodalMatrixType dNdx;
56
57 double const* eps_p_V; // Used for the secondary variables output.
58 double const* eps_p_D_xx; // Used for the secondary variables output.
59
61 {
62 eps_prev = eps;
66 material_state_variables->pushBackState();
67 }
68
70};
71
72} // namespace SmallDeformationNonlocal
73} // namespace ProcessLib
PlasticStrain< KelvinVector > eps_p
plastic part of the state.
Definition Ehlers.h:244
MaterialLib::Solids::Ehlers::SolidEhlers< DisplacementDim > & solid_material
std::unique_ptr< typename MaterialLib::Solids::MechanicsBase< DisplacementDim >::MaterialStateVariables > material_state_variables
IntegrationPointData(MaterialLib::Solids::Ehlers::SolidEhlers< DisplacementDim > &solid_material)