Classical creep damage

Overview

This object implements the classical Hayhurst-Leckie-Rabotnov-Kachanov creep damage model [HL1977]. The damage update is given by

\dot{\omega} = \left(\frac{\sigma_{eff}}{A}\right)^\xi
   \left(1 - \omega\right)^{-\phi}

\sigma_{eff} = \sqrt{\frac{3}{2} \operatorname{dev}\left(\bm{\sigma}\right):\operatorname{dev}\left(\bm{\sigma}\right)}.

Parameters

Parameter

Object type

Description

Default

elastic

neml::LinearElasticModel

Elasticity model

No

A

neml::Interpolate

Parameter

No

xi

neml::Interpolate

Stress exponent

No

phi

neml::Interpolate

Damage exponent

No

Class description

class ClassicalCreepDamage : public neml::ScalarDamageRate

Classical Hayhurst-Leckie-Rabotnov-Kachanov damage.

Public Functions

ClassicalCreepDamage(ParameterSet &params)

Parameters are the elastic model, the parameters A, xi, phi, the base model, the CTE, the solver tolerance, maximum iterations, and the verbosity flag.

virtual void damage_rate(double d, const double *const e, const double *const s, double T, double t, double *const dd) const

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

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

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

Derivative of damage rate wrt stress.

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 &params)

Initialize from a parameter set.