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

Detailed Description

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

Definition at line 36 of file ThermoMechanicalPhaseFieldFEM.h.

#include <ThermoMechanicalPhaseFieldFEM.h>

Public Types

using Invariants
 

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 alpha, double const delta_T, double const degradation)
 

Public Attributes

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

Member Typedef Documentation

◆ Invariants

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
using ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::Invariants
Initial value:
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.

Definition at line 72 of file ThermoMechanicalPhaseFieldFEM.h.

Constructor & Destructor Documentation

◆ IntegrationPointData()

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

Definition at line 38 of file ThermoMechanicalPhaseFieldFEM.h.

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

Member Function Documentation

◆ pushBackState()

◆ updateConstitutiveRelation()

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

Definition at line 76 of file ThermoMechanicalPhaseFieldFEM.h.

83 {
84 eps_m.noalias() = eps - alpha * delta_T * Invariants::identity2;
85
86 auto linear_elastic_mp =
88 DisplacementDim> const&>(solid_material)
89 .getMaterialProperties();
90
91 auto const bulk_modulus = linear_elastic_mp.bulk_modulus(t, x);
92 auto const mu = linear_elastic_mp.mu(t, x);
93
97 DisplacementDim>(degradation, bulk_modulus, mu, eps_m);
98 }
std::tuple< MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinVectorType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, double, double, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim >, MathLib::KelvinVector::KelvinMatrixType< DisplacementDim > > calculateVolDevDegradedStress(double const degradation, double const bulk_modulus, double const mu, MathLib::KelvinVector::KelvinVectorType< DisplacementDim > const &eps)
static Eigen::Matrix< double, KelvinVectorSize, 1 > const identity2
Kelvin mapping of 2nd order identity tensor.

References ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::C_compressive, ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::C_tensile, MaterialLib::Solids::Phasefield::calculateVolDevDegradedStress(), ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::D, ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::elastic_energy, ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::eps, ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::eps_m, MathLib::KelvinVector::Invariants< KelvinVectorSize >::identity2, ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::sigma, ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::sigma_tensile, ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::solid_material, and ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::strain_energy_tensile.

Member Data Documentation

◆ C_compressive

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

◆ C_tensile

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

◆ D

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
BMatricesType::KelvinMatrixType ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::D

◆ dNdx

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

Definition at line 48 of file ThermoMechanicalPhaseFieldFEM.h.

◆ EIGEN_MAKE_ALIGNED_OPERATOR_NEW

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::EIGEN_MAKE_ALIGNED_OPERATOR_NEW

Definition at line 99 of file ThermoMechanicalPhaseFieldFEM.h.

◆ elastic_energy

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

◆ eps

◆ eps_m

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
BMatricesType::KelvinVectorType ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::eps_m

◆ eps_prev

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

◆ heatflux

template<typename BMatricesType , typename ShapeMatrixType , int DisplacementDim>
ShapeMatrixType::GlobalDimVectorType ProcessLib::ThermoMechanicalPhaseField::IntegrationPointData< BMatricesType, ShapeMatrixType, DisplacementDim >::heatflux

Definition at line 56 of file ThermoMechanicalPhaseFieldFEM.h.

◆ integration_weight

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

Definition at line 64 of file ThermoMechanicalPhaseFieldFEM.h.

◆ material_state_variables

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

◆ N

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

Definition at line 47 of file ThermoMechanicalPhaseFieldFEM.h.

◆ sigma

◆ sigma_compressive

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

Definition at line 53 of file ThermoMechanicalPhaseFieldFEM.h.

◆ sigma_tensile

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

◆ solid_material

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

◆ strain_energy_tensile

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

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