Scalar damage, defined in rate form¶
Overview¶
This object further simplifies a :cpp:class`neml::ScalarDamage` model to provide the updated damage value by integrating the damage rate. The model then defines the updated damage as

where
is the damage rate, defined in a subclass with
the damage_rate method. The associated derivatives of the updated damage
with respect to the current damage, the stress, and the strain and defined
analogously.
Implementations¶
- Modular creep damage
- Classical creep damage
- Larson Miller Damage
Class description¶
-
class ScalarDamageRate : public neml::ScalarDamage¶
Damage model where you provide the damage rate.
Subclassed by neml::ClassicalCreepDamage, neml::LarsonMillerCreepDamage, neml::ModularCreepDamage
Public Functions
-
ScalarDamageRate(ParameterSet ¶ms)¶
-
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¶
The combined damage variable.
-
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 with respect to 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 with respect to 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 with respect to stress.
-
virtual void damage_rate(double d, const double *const e, const double *const s, double T, double t, double *const dd) const = 0¶
The damage rate.
-
virtual void ddamage_rate_dd(double d, const double *const e, const double *const s, double T, double t, double *const dd) const = 0¶
Derivative of damage rate wrt damage.
-
virtual void ddamage_rate_de(double d, const double *const e, const double *const s, double T, double t, double *const dd) const = 0¶
Derivative of damage rate wrt strain.
-
virtual void ddamage_rate_ds(double d, const double *const e, const double *const s, double T, double t, double *const dd) const = 0¶
Derivative of damage rate wrt stress.
-
ScalarDamageRate(ParameterSet ¶ms)¶