Kinematic hardening

Overview

This object provides the interface for all simple kinematic hardening models. These models provide a \mathbf{q} consisting of a single backstress \mathbf{X}, implemented as a length 6 Mandel vector representing a full 2nd order tensor. The function maps between this backstress and similar backstrain \bm{\chi}, likewise implemented with a length 6 Mandel vector representing a full 2nd order tensor.

The interface is

\mathbf{X}, \frac{\partial\mathbf{X}}{\partial \bm{\chi}}
\leftarrow
\mathcal{K}\left(\bm{\chi}, T\right).

Implementations

Class description

class KinematicHardeningRule : public neml::HardeningRule

Base class for pure kinematic hardening.

Subclassed by neml::LinearKinematicHardeningRule

Public Functions

KinematicHardeningRule(ParameterSet &params)
virtual void populate_hist(History &h) const

Setup the internal state.

virtual void init_hist(History &h) const

Initialize the history.

virtual void q(const double *const alpha, double T, double *const qv) const = 0

Map between the backstrain and the backstress.

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

Derivative of the map.