SlipPlaneDamage

These objects define an internal variable describing some damage process or measure of damage along a given slip plane. Specifically, the object defines the evolution rate of an internal variable describing the damage process on that plane along with the partial derivatives needed for an implicit integration of the rate equations.

Superclass description

class SlipPlaneDamage : public neml::NEMLObject

Slip plane damage functions.

Subclassed by neml::WorkPlaneDamage

Public Functions

SlipPlaneDamage(ParameterSet &params)
virtual double setup() const = 0

Initial value.

virtual double damage_rate(const std::vector<double> &shears, const std::vector<double> &sliprates, double normal_stress, double damage) = 0

Damage rate.

virtual std::vector<double> d_damage_rate_d_shear(const std::vector<double> &shears, const std::vector<double> &sliprates, double normal_stress, double damage) = 0

Derivative wrt shears.

virtual std::vector<double> d_damage_rate_d_slip(const std::vector<double> &shears, const std::vector<double> &sliprates, double normal_stress, double damage) = 0

Derivative wrt slip rates.

virtual double d_damage_rate_d_normal(const std::vector<double> &shears, const std::vector<double> &sliprates, double normal_stress, double damage) = 0

Derivative wrt the normal stress.

virtual double d_damage_rate_d_damage(const std::vector<double> &shears, const std::vector<double> &sliprates, double normal_stress, double damage) = 0

Derivative wrt the damage variable.

Individual models

WorkPlaneDamage

Overview

This model represents damage as evolving with the total dissipated inelastic work on all slip systems on the given slip plane. The rate form of the damage variable is then

\dot{d}^{\left(i\right)}=\sum_{j\in S_{i}}\tau_{j}\dot{\gamma}_{j}

where the index i is the slip plane, the set S_i are all the slip directions on that slip plane, \tau_j is the resolved shear on a given slip system, and \dot{\gamma}_j is the slip rate on the slip system.

Parameters

None

Class description

class WorkPlaneDamage : public neml::SlipPlaneDamage

Accumulated work.

Public Functions

WorkPlaneDamage(ParameterSet &params)
virtual double setup() const

Initial value.

virtual double damage_rate(const std::vector<double> &shears, const std::vector<double> &sliprates, double normal_stress, double damage)

Damage rate.

virtual std::vector<double> d_damage_rate_d_shear(const std::vector<double> &shears, const std::vector<double> &sliprates, double normal_stress, double damage)

Derivative wrt shears.

virtual std::vector<double> d_damage_rate_d_slip(const std::vector<double> &shears, const std::vector<double> &sliprates, double normal_stress, double damage)

Derivative wrt slip rates.

virtual double d_damage_rate_d_normal(const std::vector<double> &shears, const std::vector<double> &sliprates, double normal_stress, double damage)

Derivative wrt the normal stress.

virtual double d_damage_rate_d_damage(const std::vector<double> &shears, const std::vector<double> &sliprates, double normal_stress, double damage)

Derivative wrt the damage variable.

Public Static Functions

static std::string type()

String type for the object system.

static std::unique_ptr<NEMLObject> initialize(ParameterSet &params)

Initialize from a parameter set.

static ParameterSet parameters()

Default parameters.