SlipRule

Overview

These objects provide a relation between the stress, history, and temperature and the slip rate on each individual slip system as well as the history evolution. The interface used is:

\dot{\gamma}_{g,i}, \frac{\partial \dot{\gamma}_{g,i}}{\partial \bm{\sigma}}, \frac{\partial \dot{\gamma}_{g,i}}{\partial \mathbf{h}} \leftarrow \mathcal{G}\left( \bm{\sigma}, \mathbf{h}, \bm{\alpha}, T \right)

\dot{\mathbf{h}}, \frac{\partial \dot{\mathbf{h}}}{\partial \bm{\sigma}}, \frac{\partial \dot{\mathbf{h}}}{\partial \mathbf{h}} \leftarrow \mathcal{H}\left(\bm{\sigma}, \mathbf{h}, \bm{\alpha}, T \right)

where g indicates the slip group and i indicates the system within the group.

Implementations

Class description

class SlipRule : public neml::HistoryNEMLObject

Abstract base class for a slip rule.

Subclassed by neml::SlipMultiStrengthSlipRule

Public Functions

SlipRule(ParameterSet &params)
virtual double strength(const History &history, Lattice &L, double T, const History &fixed) const = 0

Helper for models that want an average strength.

virtual double slip(size_t g, size_t i, const Symmetric &stress, const Orientation &Q, const History &history, Lattice &L, double T, const History &fixed) const = 0

Slip rate on group g, system i.

virtual Symmetric d_slip_d_s(size_t g, size_t i, const Symmetric &stress, const Orientation &Q, const History &history, Lattice &L, double T, const History &fixed) const = 0

Derivative of the slip rate with respect to stress.

virtual History d_slip_d_h(size_t g, size_t i, const Symmetric &stress, const Orientation &Q, const History &history, Lattice &L, double T, const History &fixed) const = 0

Derivative of the slip rate with respect to history.

virtual History hist_rate(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &L, double T, const History &fixed) const = 0

History rate.

virtual History d_hist_rate_d_stress(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &L, double T, const History &fixed) const = 0

Derivative of the history rate with respect to the stress.

virtual History d_hist_rate_d_hist(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &L, double T, const History &fixed) const = 0

Derivative of the history rate with respect to the history.

double sum_slip(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &L, double T, const History &fixed) const

Calculate the sum of the absolute value of the slip rates.

Symmetric d_sum_slip_d_stress(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &L, double T, const History &fixed) const

Derivative of the sum of the absolute value of the slip rates wrt stress.

History d_sum_slip_d_hist(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &L, double T, const History &fixed) const

Derivative of the sum of the absolute value of the slip rate wrt history.

virtual bool use_nye() const

Whether this model uses the Nye tensor.