Exponential damage¶
Overview¶
This object implements a “standard” damage model proportional to the dissipated inelastic energy. The damage function is

The standard damage model multiplies this function by the inelastic
strain rate in computing the damage update.
Because the dissipation rate is equal to
this model actually increases damage in proportion to the dissipation.
Parameters¶
Parameter |
Object type |
Description |
Default |
|---|---|---|---|
|
Elasticity model |
No |
|
|
Parameter |
No |
|
|
Parameter |
No |
|
|
Parameter |
No |
Class description¶
-
class ExponentialWorkDamage : public neml::StandardScalarDamage¶
Simple exponential damage model.
Public Functions
-
ExponentialWorkDamage(ParameterSet ¶ms)¶
Parameters are the elastic model, parameters W0, k0, and af, the base material model, the CTE, a solver tolerance, maximum number of iterations, and a verbosity flag.
-
virtual void f(const double *const s_np1, double d_np1, double T_np1, double &f) const¶
damage rate is (d + k0)**af / W0 * s_eq
-
virtual void df_ds(const double *const s_np1, double d_np1, double T_np1, double *const df) const¶
Derivative of damage wrt stress.
-
virtual void df_dd(const double *const s_np1, double d_np1, double T_np1, double &df) const¶
Derivative of damage wrt damage.
Public Static Functions
-
static std::string type()¶
String type for the object system.
-
static ParameterSet parameters()¶
Return the default parameters.
-
static std::unique_ptr<NEMLObject> initialize(ParameterSet ¶ms)¶
Initialize from a parameter set.
-
ExponentialWorkDamage(ParameterSet ¶ms)¶