NuTo
Numerics Tool
Public Member Functions | Public Attributes | List of all members
NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution > Class Template Reference

Local damage law with an isotropic damage variable. More...

#include <LocalIsotropicDamage.h>

Inheritance diagram for NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution >:
NuTo::Laws::MechanicsInterface< TDim >

Public Member Functions

 LocalIsotropicDamage (LinearElasticDamage< TDim > elasticDamage, TDamageLaw damageLaw, TEvolution evolution)
 
 LocalIsotropicDamage (Material::Softening m, eDamageApplication damageApplication=eDamageApplication::FULL)
 
EngineeringStress< TDim > Stress (EngineeringStrain< TDim > strain, double deltaT, CellIds ids) const override
 
EngineeringTangent< TDim > Tangent (EngineeringStrain< TDim > strain, double deltaT, CellIds ids) const override
 
void Update (EngineeringStrain< TDim > strain, double deltaT, CellIds ids)
 

Public Attributes

LinearElasticDamage< TDim > mElasticDamage
 
TDamageLaw mDamageLaw
 
TEvolution mEvolution
 

Detailed Description

template<int TDim, typename TDamageLaw = Constitutive::DamageLawExponential, typename TEvolution = EvolutionImplicit<TDim>>
class NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution >

Local damage law with an isotropic damage variable.

\[ \boldsymbol \sigma = \left(1 - \omega(\kappa (\boldsymbol \varepsilon)\right) \boldsymbol \sigma_\text{elastic}(\boldsymbol \varepsilon) \]

following a policy based design (hopefully applied correctly...), where ...

Template Parameters
TDamageLawthe damage law provides the \(\omega(\kappa)\). This requires the methods .Damage(double) and .Derivative(double) to be implemented, e.g. NuTo::Constitutive::DamageLaw.
TEvolutionthe evolution equation \( \kappa(\boldsymbol \varepsilon) \). This requires the methods .Kappa(strain) and .DkappaDstrain(strain) to be implemented, e.g. NuTo::Laws::EvolutionImplicit.
TDimdimension

Constructor & Destructor Documentation

template<int TDim, typename TDamageLaw = Constitutive::DamageLawExponential, typename TEvolution = EvolutionImplicit<TDim>>
NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution >::LocalIsotropicDamage ( LinearElasticDamage< TDim >  elasticDamage,
TDamageLaw  damageLaw,
TEvolution  evolution 
)
inline
template<int TDim, typename TDamageLaw = Constitutive::DamageLawExponential, typename TEvolution = EvolutionImplicit<TDim>>
NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution >::LocalIsotropicDamage ( Material::Softening  m,
eDamageApplication  damageApplication = eDamageApplication::FULL 
)
inline

Member Function Documentation

template<int TDim, typename TDamageLaw = Constitutive::DamageLawExponential, typename TEvolution = EvolutionImplicit<TDim>>
EngineeringStress<TDim> NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution >::Stress ( EngineeringStrain< TDim >  strain,
double  deltaT,
CellIds  ids 
) const
inlineoverridevirtual
template<int TDim, typename TDamageLaw = Constitutive::DamageLawExponential, typename TEvolution = EvolutionImplicit<TDim>>
EngineeringTangent<TDim> NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution >::Tangent ( EngineeringStrain< TDim >  strain,
double  deltaT,
CellIds  ids 
) const
inlineoverridevirtual
template<int TDim, typename TDamageLaw = Constitutive::DamageLawExponential, typename TEvolution = EvolutionImplicit<TDim>>
void NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution >::Update ( EngineeringStrain< TDim >  strain,
double  deltaT,
CellIds  ids 
)
inline

Member Data Documentation

template<int TDim, typename TDamageLaw = Constitutive::DamageLawExponential, typename TEvolution = EvolutionImplicit<TDim>>
TDamageLaw NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution >::mDamageLaw
template<int TDim, typename TDamageLaw = Constitutive::DamageLawExponential, typename TEvolution = EvolutionImplicit<TDim>>
LinearElasticDamage<TDim> NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution >::mElasticDamage
template<int TDim, typename TDamageLaw = Constitutive::DamageLawExponential, typename TEvolution = EvolutionImplicit<TDim>>
TEvolution NuTo::Laws::LocalIsotropicDamage< TDim, TDamageLaw, TEvolution >::mEvolution

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