NuTo
Numerics Tool
Public Member Functions | Public Attributes | List of all members
NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw > Class Template Reference

Implicit gradient enhanced damage model Peerlings RHJ et al. More...

#include <GradientDamage.h>

Public Member Functions

 GradientDamage (DofType disp, ScalarDofType eeq, double c, Laws::LinearElasticDamage< TDim > linearElasticDamage, TDamageLaw damageLaw, Constitutive::ModifiedMisesStrainNorm< TDim > strainNorm, TInteraction interaction=TInteraction())
 ctor More...
 
 GradientDamage (DofType disp, ScalarDofType eeq, Material::Softening m, Laws::eDamageApplication damageApplication=Laws::eDamageApplication::FULL, TInteraction interaction=TInteraction())
 ctor More...
 
virtual ~GradientDamage ()=default
 
DofVector< double > Gradient (const CellIpData &data)
 
DofMatrix< double > Hessian0 (const CellIpData &data)
 
virtual void Update (const CellIpData &data)
 
virtual double Kappa (const CellIpData &data) const
 
virtual double DkappaDeeq (const CellIpData &data) const
 

Public Attributes

Eigen::MatrixXd mKappas
 
DofType mDisp
 
ScalarDofType mEeq
 
double mC
 
Laws::LinearElasticDamage< TDim > mLinearElasticDamage
 
TDamageLaw mDamageLaw
 
Constitutive::ModifiedMisesStrainNorm< TDim > mNorm
 
TInteraction mInteraction
 

Detailed Description

template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
class NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >

Implicit gradient enhanced damage model Peerlings RHJ et al.

https://dx.doi.org/10.1002/(SICI)1097-0207(19961015)39:19<3391::AID-NME7>3.0.CO;2-D

Template Parameters
TDimglobal dimension
TInteractioninteraction law that provides a damage dependent nonlocal parameter factor
TDamageLawdamage law that provides .Damage(double) and .Derivative(double)

Constructor & Destructor Documentation

template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::GradientDamage ( DofType  disp,
ScalarDofType  eeq,
double  c,
Laws::LinearElasticDamage< TDim >  linearElasticDamage,
TDamageLaw  damageLaw,
Constitutive::ModifiedMisesStrainNorm< TDim >  strainNorm,
TInteraction  interaction = TInteraction() 
)
inline

ctor

Parameters
dispdof type associated with displacements
eeqscalar dof type associated with nonlocal equivalent strains
cnonlocal parameter unit length squared
linearElasticDamagedamage law that avoids adding damage to the negative volumetric part
damageLawdamage law that provides .Damage(double) and .Derivative(double)
strainNormmodified mises strain norm
interactiondamage dependent nonlocal parameter factor
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::GradientDamage ( DofType  disp,
ScalarDofType  eeq,
Material::Softening  m,
Laws::eDamageApplication  damageApplication = Laws::eDamageApplication::FULL,
TInteraction  interaction = TInteraction() 
)
inline

ctor

Parameters
dispdof type associated with displacements
eeqscalar dof type associated with nonlocal equivalent strains
msoftening material parameter
damageApplicationoption to skip damaging the hydrostatic compressive part
interactiondamage dependent nonlocal parameter factor
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
virtual NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::~GradientDamage ( )
virtualdefault

Member Function Documentation

template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
virtual double NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::DkappaDeeq ( const CellIpData data) const
inlinevirtual
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
DofVector<double> NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::Gradient ( const CellIpData data)
inline
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
DofMatrix<double> NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::Hessian0 ( const CellIpData data)
inline
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
virtual double NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::Kappa ( const CellIpData data) const
inlinevirtual
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
virtual void NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::Update ( const CellIpData data)
inlinevirtual

Member Data Documentation

template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
double NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::mC
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
TDamageLaw NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::mDamageLaw
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
DofType NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::mDisp
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
ScalarDofType NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::mEeq
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
TInteraction NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::mInteraction
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
Eigen::MatrixXd NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::mKappas
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
Laws::LinearElasticDamage<TDim> NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::mLinearElasticDamage
template<int TDim, typename TInteraction = NonlocalInteraction::Constant, typename TDamageLaw = Constitutive::DamageLawExponential>
Constitutive::ModifiedMisesStrainNorm<TDim> NuTo::Integrands::GradientDamage< TDim, TInteraction, TDamageLaw >::mNorm

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