OGS
MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim > Struct Template Reference

Detailed Description

template<int DisplacementDim>
struct MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >

Definition at line 221 of file Ehlers.h.

#include <Ehlers.h>

Inheritance diagram for MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >:
[legend]
Collaboration diagram for MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >:
[legend]

Public Types

using Invariants = MathLib::KelvinVector::Invariants<KelvinVectorSize>
 
using KelvinVector
 

Public Member Functions

void setInitialConditions ()
 
void pushBackState () override
 
double getEquivalentPlasticStrain () const override
 
- Public Member Functions inherited from MaterialLib::Solids::MechanicsBase< DisplacementDim >::MaterialStateVariables
virtual ~MaterialStateVariables ()=default
 

Public Attributes

PlasticStrain< KelvinVectoreps_p
 plastic part of the state.
 
Damage damage
 damage part of the state.
 
PlasticStrain< KelvinVectoreps_p_prev
 plastic part of the state.
 
Damage damage_prev
 damage part of the state.
 
 EIGEN_MAKE_ALIGNED_OPERATOR_NEW
 

Static Public Attributes

static int const KelvinVectorSize
 

Friends

std::ostream & operator<< (std::ostream &os, StateVariables< DisplacementDim > const &m)
 

Member Typedef Documentation

◆ Invariants

template<int DisplacementDim>
using MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >::Invariants = MathLib::KelvinVector::Invariants<KelvinVectorSize>

Definition at line 240 of file Ehlers.h.

◆ KelvinVector

template<int DisplacementDim>
using MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >::KelvinVector
Initial value:
Eigen::Matrix< double, kelvin_vector_dimensions(DisplacementDim), 1, Eigen::ColMajor > KelvinVectorType

Definition at line 241 of file Ehlers.h.

Member Function Documentation

◆ getEquivalentPlasticStrain()

template<int DisplacementDim>
double MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >::getEquivalentPlasticStrain ( ) const
overridevirtual

Reimplemented from MaterialLib::Solids::MechanicsBase< DisplacementDim >::MaterialStateVariables.

Definition at line 52 of file Ehlers.cpp.

53{
54 return std::sqrt(2.0 / 3.0 * Invariants::FrobeniusNorm(eps_p.D.eval()));
55}
PlasticStrain< KelvinVector > eps_p
plastic part of the state.
Definition Ehlers.h:244
static double FrobeniusNorm(Eigen::Matrix< double, KelvinVectorSize, 1 > const &deviatoric_v)
Get the norm of the deviatoric stress.

◆ pushBackState()

◆ setInitialConditions()

Friends And Related Symbol Documentation

◆ operator<<

template<int DisplacementDim>
std::ostream & operator<< ( std::ostream & os,
StateVariables< DisplacementDim > const & m )
friend

Definition at line 252 of file Ehlers.h.

254 {
255 os << "State:\n"
256 << "eps_p_D: " << m.eps_p.D << "\n"
257 << "eps_p_eff: " << m.eps_p.eff << "\n"
258 << "kappa_d: " << m.damage.kappa_d() << "\n"
259 << "damage: " << m.damage.value() << "\n"
260 << "eps_p_D_prev: " << m.eps_p_prev.D << "\n"
261 << "eps_p_eff_prev: " << m.eps_p_prev.eff << "\n"
262 << "kappa_d_prev: " << m.damage_prev.kappa_d() << "\n"
263 << "damage_prev: " << m.damage_prev.value() << "\n";
264 return os;
265 }

Member Data Documentation

◆ damage

◆ damage_prev

◆ EIGEN_MAKE_ALIGNED_OPERATOR_NEW

template<int DisplacementDim>
MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >::EIGEN_MAKE_ALIGNED_OPERATOR_NEW

Definition at line 268 of file Ehlers.h.

◆ eps_p

◆ eps_p_prev

◆ KelvinVectorSize

template<int DisplacementDim>
int const MaterialLib::Solids::Ehlers::StateVariables< DisplacementDim >::KelvinVectorSize
static
Initial value:
=
constexpr int kelvin_vector_dimensions(int const displacement_dim)
Kelvin vector dimensions for given displacement dimension.

Definition at line 238 of file Ehlers.h.


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