Modular creep damage

Overview

This object implements the classical Hayhurst-Leckie-Rabotnov-Kachanov creep damage model [HL1977]. Specifically, it exactly replicates Eq. 2.6 in that paper, so that the implementation exactly replicates the analytic expressions in Eq. 2.5. The damage update is given by

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

where \sigma_{eff} is a modular effective stress, defined by a Effective stress object.

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

estress

neml::EffectiveStress

Effective stress

No

Class description

class ModularCreepDamage : public neml::ScalarDamageRate

Modular version of Hayhurst-Leckie-Rabotnov-Kachanov damage.

Public Functions

ModularCreepDamage(ParameterSet &params)
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.