Dissipated work damage¶
Overview¶
This object implements a damage model based on a critical value of dissipated work:

The model has two parameters:
the critical work to failure,
as a function of the work rate, and
, a parameter controlling
the onset of the appearance of damage in the material flow stress.
In this implementation the critical work is provided as a NEML interpolate
function, meaning it can have a wide variety of functional forms.
In principle, the critical work might also depend on temperatures.
However, at least for one material (Alloy 617) the temperature dependence
is relatively negligible.
If requested the model will first take the log of the work rate
before passing it to the
function and uses
of the
returned value. This means the user is providing the function on a log-log
scale.
Parameters¶
Parameter |
Object type |
Description |
Default |
|---|---|---|---|
|
Elasticity model |
No |
|
|
Critical work |
No |
|
|
|
Damage exponent |
No |
|
|
Numerical offset |
|
|
|
Log transform the work to failure relation |
|
Class description¶
-
class WorkDamage : public neml::ScalarDamage¶
The isothermal form of my pet work-based damage model.
Public Functions
-
WorkDamage(ParameterSet ¶ms)¶
Parameters: elastic model, base model, CTE, solver tolerance, solver maximum number of iterations, verbosity flag
-
inline virtual double d_guess() const¶
Initial value of damage, overridable for models with singularities.
-
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 rate = n * d**((n-1)/n) * W_dot / W_crit
-
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.
-
inline virtual double d_init() const¶
Initial value of the damage, overrideable for models with singularities.
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.
-
WorkDamage(ParameterSet ¶ms)¶