Scalar damage models

Overview

This object defines a scalar damage model with the interface

\omega_{n+1}, \frac{\partial \omega_{n+1}}{\partial \omega}, \frac{\partial \omega_{n+1}}{\partial \bm{\sigma}}, \frac{\partial \omega_{n+1}}{\partial \bm{\varepsilon}} \leftarrow \mathcal{W}\left( \omega_{n+1}, \omega{n}, \bm{\sigma}_{n+1}, \bm{\sigma}_{n} \bm{\varepsilon}_{n+1}, \bm{\varepsilon}_{n}, T_{n+1}, T_{n}, t_{n+1}, t_{n}, \right)

where \omega_{n+1} is the current value of the scalar damage parameter.

Implementations

Class description

class ScalarDamage : public neml::NEMLObject

Scalar damage model.

Subclassed by neml::CombinedDamage, neml::ScalarDamageRate, neml::StandardScalarDamage, neml::WorkDamage

Public Functions

ScalarDamage(ParameterSet &params)
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 = 0

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 = 0

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 = 0

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 = 0

Derivative with respect to stress.

inline virtual double d_init() const

Initial value of the damage, overrideable for models with singularities.