OGS
ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim > Struct Template Referencefinal

Detailed Description

template<typename BMatricesType, typename ShapeMatrixType, int DisplacementDim>
struct ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >

Definition at line 36 of file PhaseFieldFEM.h.

#include <PhaseFieldFEM.h>

Public Member Functions

 IntegrationPointData (MaterialLib::Solids::MechanicsBase< DisplacementDim > const &solid_material)
 
void pushBackState ()
 
template<typename DisplacementVectorType >
void updateConstitutiveRelation (double const t, ParameterLib::SpatialPosition const &x, double const, DisplacementVectorType const &, double const degradation, EnergySplitModel const energy_split_model)
 

Public Attributes

ShapeMatrixType::NodalRowVectorType N
 
ShapeMatrixType::GlobalDimNodalMatrixType dNdx
 
BMatricesType::KelvinVectorType eps
 
BMatricesType::KelvinVectorType eps_prev
 
BMatricesType::KelvinVectorType sigma_tensile
 
BMatricesType::KelvinVectorType sigma_compressive
 
BMatricesType::KelvinVectorType sigma
 
double strain_energy_tensile
 
double elastic_energy
 
MaterialLib::Solids::MechanicsBase< DisplacementDim > const & solid_material
 
std::unique_ptr< typename MaterialLib::Solids::MechanicsBase< DisplacementDim >::MaterialStateVariables > material_state_variables
 
BMatricesType::KelvinMatrixType C_tensile
 
BMatricesType::KelvinMatrixType C_compressive
 
double integration_weight
 
double history_variable
 
double history_variable_prev
 

Constructor & Destructor Documentation

◆ IntegrationPointData()

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::IntegrationPointData ( MaterialLib::Solids::MechanicsBase< DisplacementDim > const &  solid_material)
inlineexplicit

Definition at line 38 of file PhaseFieldFEM.h.

43  solid_material.createMaterialStateVariables())
44  {
45  }
MaterialLib::Solids::MechanicsBase< DisplacementDim > const & solid_material
Definition: PhaseFieldFEM.h:56
std::unique_ptr< typename MaterialLib::Solids::MechanicsBase< DisplacementDim >::MaterialStateVariables > material_state_variables
Definition: PhaseFieldFEM.h:59

Member Function Documentation

◆ pushBackState()

◆ updateConstitutiveRelation()

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
template<typename DisplacementVectorType >
void ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::updateConstitutiveRelation ( double const  t,
ParameterLib::SpatialPosition const &  x,
double const  ,
DisplacementVectorType const &  ,
double const  degradation,
EnergySplitModel const  energy_split_model 
)
inline

Definition at line 74 of file PhaseFieldFEM.h.

80  {
81  auto linear_elastic_mp =
83  DisplacementDim> const&>(solid_material)
84  .getMaterialProperties();
85 
86  auto const bulk_modulus = linear_elastic_mp.bulk_modulus(t, x);
87  auto const mu = linear_elastic_mp.mu(t, x);
88 
89  switch (energy_split_model)
90  {
92  {
95  MaterialLib::Solids::Phasefield::
96  calculateIsotropicDegradedStress<DisplacementDim>(
97  degradation, bulk_modulus, mu, eps);
98  break;
99  }
101  {
104  MaterialLib::Solids::Phasefield::
105  calculateVolDevDegradedStress<DisplacementDim>(
106  degradation, bulk_modulus, mu, eps);
107  break;
108  }
110  {
113  elastic_energy) = MaterialLib::Solids::Phasefield::
114  calculateIsotropicDegradedStressWithRankineEnergy<
115  DisplacementDim>(degradation, bulk_modulus, mu, eps);
116  break;
117  }
118  }
119 
122  }
static const double t
BMatricesType::KelvinVectorType sigma_tensile
Definition: PhaseFieldFEM.h:52
BMatricesType::KelvinMatrixType C_compressive
Definition: PhaseFieldFEM.h:61
BMatricesType::KelvinVectorType sigma
Definition: PhaseFieldFEM.h:53
BMatricesType::KelvinMatrixType C_tensile
Definition: PhaseFieldFEM.h:61

References MaterialPropertyLib::bulk_modulus, ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::C_compressive, ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::C_tensile, ProcessLib::PhaseField::EffectiveStress, ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::elastic_energy, ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::eps, ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::history_variable, ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::history_variable_prev, ProcessLib::PhaseField::Isotropic, ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::sigma, ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::sigma_tensile, ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::solid_material, ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::strain_energy_tensile, MathLib::t, and ProcessLib::PhaseField::VolDev.

Member Data Documentation

◆ C_compressive

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
BMatricesType::KelvinMatrixType ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::C_compressive

◆ C_tensile

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
BMatricesType::KelvinMatrixType ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::C_tensile

◆ dNdx

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
ShapeMatrixType::GlobalDimNodalMatrixType ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::dNdx

Definition at line 48 of file PhaseFieldFEM.h.

◆ elastic_energy

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
double ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::elastic_energy

◆ eps

◆ eps_prev

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
BMatricesType::KelvinVectorType ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::eps_prev

◆ history_variable

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
double ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::history_variable

◆ history_variable_prev

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
double ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::history_variable_prev

◆ integration_weight

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
double ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::integration_weight

Definition at line 62 of file PhaseFieldFEM.h.

◆ material_state_variables

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
std::unique_ptr<typename MaterialLib::Solids::MechanicsBase< DisplacementDim>::MaterialStateVariables> ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::material_state_variables

◆ N

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
ShapeMatrixType::NodalRowVectorType ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::N

Definition at line 47 of file PhaseFieldFEM.h.

◆ sigma

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
BMatricesType::KelvinVectorType ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::sigma

◆ sigma_compressive

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
BMatricesType::KelvinVectorType ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::sigma_compressive

Definition at line 52 of file PhaseFieldFEM.h.

◆ sigma_tensile

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
BMatricesType::KelvinVectorType ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::sigma_tensile

◆ solid_material

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
MaterialLib::Solids::MechanicsBase<DisplacementDim> const& ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::solid_material

◆ strain_energy_tensile

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
double ProcessLib::PhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::strain_energy_tensile

The documentation for this struct was generated from the following file: