SlipHardening

Overview

These objects provide the slip system strength required to complete the constitutive description when using a SlipStrengthSlipRule. The implementation assumes that the slip system strengths are functions only of the set of history variables and temperature. Additionally, these objects provide the definition of the history evolution rate equations and, ultimately, the definition of the model internal variables.

The interface is then:

\bar{\tau}_{g,i}, \frac{\partial \bar{\tau}_{g,i}}{\partial \mathbf{h}} \leftarrow \mathcal{T}\left(\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).

Implementations

Class description

class SlipHardening : public neml::HistoryNEMLObject

ABC for a slip hardening model.

Subclassed by neml::DislocationSpacingHardening, neml::FASlipHardening, neml::FixedStrengthHardening, neml::GeneralizedHuCocksHardening, neml::GeneralLinearHardening, neml::HuCocksHardening, neml::LANLTiModel, neml::SimpleLinearHardening, neml::SlipSingleHardening, neml::VocePerSystemHardening

Public Types

enum CacheType

Values:

enumerator BLANK
enumerator DOUBLE

Public Functions

SlipHardening(ParameterSet &params)
virtual std::vector<std::string> varnames() const = 0

Report your variable names.

virtual void set_varnames(std::vector<std::string> vars) = 0

Set new varnames.

virtual double hist_to_tau(size_t g, size_t i, const History &history, Lattice &L, double T, const History &fixed) const = 0

Map the set of history variables to the slip system hardening.

virtual History d_hist_to_tau(size_t g, size_t i, const History &history, Lattice &L, double T, const History &fixed) const = 0

Derivative of the map wrt to history, model variables.

virtual History d_hist_to_tau_ext(size_t g, size_t i, const History &history, Lattice &L, double T, const History &fixed, std::vector<std::string> ext) const

Derivative of the map wrt to history, external variables.

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

The rate of the history.

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

Derivative of the history wrt stress.

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

Derivative of the history wrt the history, model variables.

virtual History d_hist_d_h_ext(const Symmetric &stress, const Orientation &Q, const History &history, Lattice &L, double T, const SlipRule &R, const History &fixed, std::vector<std::string> ext) const

Derivative of this history wrt the history, external variables.

virtual bool use_nye() const

Whether this particular model uses the Nye tensor.

inline History blank_hist() const

Helper providing a blank (zero) history.

History cache(CacheType type) const

Helper accessing cached objects.