Standard damage
Overview
This object implements a “standard” damage model where the single damage variable varies only with the scalar effective inelastic strain rate. This simplifies the damage update to

A separate interface defines the damage update function
.
Implementations
Class description
-
class StandardScalarDamage : public neml::ScalarDamage
A standard damage model where the damage rate goes as the plastic strain.
Subclassed by neml::ExponentialWorkDamage, neml::PowerLawDamage
Public Functions
-
StandardScalarDamage(ParameterSet ¶ms)
Parameters: elastic model, base model, CTE, solver tolerance, solver maximum number of iterations, verbosity flag
-
virtual void damage(double d_np1, double d_n, const double *const e_np1, const double *const e_n, const double *const s_np1, const double *const s_n, double T_np1, double T_n, double t_np1, double t_n, double *const dd) const
Damage, now only proportional to the inelastic effective strain.
-
virtual void ddamage_dd(double d_np1, double d_n, const double *const e_np1, const double *const e_n, const double *const s_np1, const double *const s_n, double T_np1, double T_n, double t_np1, double t_n, double *const dd) const
Derivative of damage wrt damage.
-
virtual void ddamage_de(double d_np1, double d_n, const double *const e_np1, const double *const e_n, const double *const s_np1, const double *const s_n, double T_np1, double T_n, double t_np1, double t_n, double *const dd) const
Derivative of damage wrt strain.
-
virtual void ddamage_ds(double d_np1, double d_n, const double *const e_np1, const double *const e_n, const double *const s_np1, const double *const s_n, double T_np1, double T_n, double t_np1, double t_n, double *const dd) const
Derivative of damage wrt stress.
-
virtual void f(const double *const s_np1, double d_np1, double T_np1, double &f) const = 0
The part of the damage rate proportional to the inelastic strain rate.
-
virtual void df_ds(const double *const s_np1, double d_np1, double T_np1, double *const df) const = 0
Derivative with respect to stress.
-
virtual void df_dd(const double *const s_np1, double d_np1, double T_np1, double &df) const = 0
Derivative with respect to damage.
-
StandardScalarDamage(ParameterSet ¶ms)