NuTo
Numerics Tool
Public Member Functions | List of all members
NuTo::Constitutive::ModifiedMisesStrainNorm< TDim > Class Template Reference

Equivalent strain (strain norm) based on the modified mises norm. More...

#include <ModifiedMisesStrainNorm.h>

Public Member Functions

 ModifiedMisesStrainNorm (double nu, double k, ePlaneState planeState=ePlaneState::PLANE_STRAIN)
 Constructor. More...
 
 ModifiedMisesStrainNorm (Material::Softening m, ePlaneState planeState=ePlaneState::PLANE_STRAIN)
 Constructor. More...
 
double Value (const NuTo::EngineeringStrain< TDim > &strain) const
 
Eigen::Matrix< double, Voigt::Dim(TDim), 1 > Derivative (const NuTo::EngineeringStrain< TDim > &strain) const
 
template<>
Eigen::Matrix< double, 1, 1 > Derivative (const NuTo::EngineeringStrain< 1 > &strain) const
 
template<>
Eigen::Matrix< double, 3, 1 > Derivative (const NuTo::EngineeringStrain< 2 > &strain) const
 
template<>
Eigen::Matrix< double, 6, 1 > Derivative (const NuTo::EngineeringStrain< 3 > &strain) const
 

Detailed Description

template<int TDim>
class NuTo::Constitutive::ModifiedMisesStrainNorm< TDim >

Equivalent strain (strain norm) based on the modified mises norm.

De Vree et al. "Comparision of nonlocal approaches in continuum damage mechanics", Computers & Structures, 1995. https://doi.org/10.1016/0045-7949(94)00501-S

It includes the value k in a way that expresses the ratio of the materials compressive to tensile strength: A uniaxial tensile strain and a k-times higher uniaxial compressive strain both lead to the same equivalent strain. With the strain tensor invariant I1 and the deviatoric strain tensor invariant J2, it reads

\[/ \varepsilon_\text{eq}(\boldsymbol \varepsilon) = \frac{k-1}{2k(1-2\nu)}I_1 + \frac{1}{2k}\sqrt{\left(\frac{k-1}{1-2\nu}I_1\right)^2 + \frac{2k}{(1+\nu)^2}J_2} \]

Template Parameters
TDimdimension 1,2,3

Constructor & Destructor Documentation

template<int TDim>
NuTo::Constitutive::ModifiedMisesStrainNorm< TDim >::ModifiedMisesStrainNorm ( double  nu,
double  k,
ePlaneState  planeState = ePlaneState::PLANE_STRAIN 
)
inline

Constructor.

Parameters
nuPoissons ratio
kratio of compressive strength to tensile strength, ~10 for concrete
planeStatePLANE_STRAIN or PLANE_STRESS

Constructor.

Parameters
msoftening material parameters
planeStatePLANE_STRAIN or PLANE_STRESS

Member Function Documentation

template<int TDim>
Eigen::Matrix<double, Voigt::Dim(TDim), 1> NuTo::Constitutive::ModifiedMisesStrainNorm< TDim >::Derivative ( const NuTo::EngineeringStrain< TDim > &  strain) const
Parameters
strainstrain to evaluate
Returns
the derivative of the modified Mises strain norm with respect to the strain
template<>
Eigen::Matrix< double, 1, 1 > NuTo::Constitutive::ModifiedMisesStrainNorm< 1 >::Derivative ( const NuTo::EngineeringStrain< 1 > &  strain) const
inline
template<>
Eigen::Matrix< double, 3, 1 > NuTo::Constitutive::ModifiedMisesStrainNorm< 2 >::Derivative ( const NuTo::EngineeringStrain< 2 > &  strain) const
inline
template<>
Eigen::Matrix< double, 6, 1 > NuTo::Constitutive::ModifiedMisesStrainNorm< 3 >::Derivative ( const NuTo::EngineeringStrain< 3 > &  strain) const
inline
template<int TDim>
double NuTo::Constitutive::ModifiedMisesStrainNorm< TDim >::Value ( const NuTo::EngineeringStrain< TDim > &  strain) const
inline
Parameters
strainstrain to evaluate
Returns
the value of the modified Mises strain norm

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