Isotropic hardening

Overview

This object provides the interface for all simple isotropic hardening models. These models all provide a \mathbf{q} vector consisting of a single entry, Q, the isotropic hardening variable. The function maps between a single “strain-like” variable \alpha and this scalar isotropic hardening variable. The interface is then

Q, \frac{\partial Q}{\partial \alpha}
\leftarrow
\mathcal{I}\left(\alpha, T \right).

Implementations

Class description

class IsotropicHardeningRule : public neml::HardeningRule

Isotropic hardening rules.

Subclassed by neml::CombinedIsotropicHardeningRule, neml::InterpolatedIsotropicHardeningRule, neml::LinearIsotropicHardeningRule, neml::PowerLawIsotropicHardeningRule, neml::VoceIsotropicHardeningRule

Public Functions

IsotropicHardeningRule(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 strain variables and the single isotropic hardening parameter

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

Derivative of the map.