Simple hardening rules

Overview

These rules are intended for use with associative plasticity, where the evolution rate of each hardening variable is determined by the map between the “strain-like” history variable and the “stress-like” internal variable that feeds into the yield surface. These models implement the interface

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

where \bm{\alpha} are the actual “strain-like” history variables tracked and maintained by the model and \mathbf{q} are the stress-like internal variables provided to the yield surface.

Implementations

Class description

class HardeningRule : public neml::HistoryNEMLObject

Interface for a generic hardening rule.

Subclassed by neml::CombinedHardeningRule, neml::IsotropicHardeningRule, neml::KinematicHardeningRule

Public Functions

HardeningRule(ParameterSet &params)
virtual void q(const double *const alpha, double T, double *const qv) const = 0

The map between strain-like and stress-like variables.

virtual void dq_da(const double *const alpha, double T, double *const dqv) const = 0

The derivative of the map.