Nonassociative hardening rules
Overview
This object provides the interface for a generic nonassociative hardening rule. The interface is:

Here
is a map between the history variables
and the “stress-like” hardening variables needed for the yield stress.
Usually these will be an isotropic hardening variable
and a
kinematic backstress
.
The functions
,
,
and
are the parts of the history evolution rate
that are proportional to the scalar inelastic strain rate, the temperature
rate, and time, respectively.
For more information see Chaboche viscoplastic flow rule and
Rate independent nonassociative flow.
Implementations
- Chaboche nonassociative hardening
- Overview
- Parameters
- Class description
ChabocheChaboche::Chaboche()Chaboche::ninter()Chaboche::populate_hist()Chaboche::init_hist()Chaboche::q()Chaboche::dq_da()Chaboche::h()Chaboche::dh_ds()Chaboche::dh_da()Chaboche::h_time()Chaboche::dh_ds_time()Chaboche::dh_da_time()Chaboche::h_temp()Chaboche::dh_ds_temp()Chaboche::dh_da_temp()Chaboche::n()Chaboche::c()Chaboche::type()Chaboche::initialize()Chaboche::parameters()
- Gamma models
- ChabocheVoceRecovery: a special variant of the Chaboche model
- Overview
- Parameters
- Class description
ChabocheVoceRecoveryChabocheVoceRecovery::ChabocheVoceRecovery()ChabocheVoceRecovery::ninter()ChabocheVoceRecovery::populate_hist()ChabocheVoceRecovery::init_hist()ChabocheVoceRecovery::q()ChabocheVoceRecovery::dq_da()ChabocheVoceRecovery::h()ChabocheVoceRecovery::dh_ds()ChabocheVoceRecovery::dh_da()ChabocheVoceRecovery::h_time()ChabocheVoceRecovery::dh_ds_time()ChabocheVoceRecovery::dh_da_time()ChabocheVoceRecovery::h_temp()ChabocheVoceRecovery::dh_ds_temp()ChabocheVoceRecovery::dh_da_temp()ChabocheVoceRecovery::n()ChabocheVoceRecovery::type()ChabocheVoceRecovery::initialize()ChabocheVoceRecovery::parameters()
Class description
-
class NonAssociativeHardening : public neml::HistoryNEMLObject
ABC of a non-associative hardening rule.
Subclassed by neml::Chaboche, neml::ChabocheVoceRecovery
Public Functions
-
NonAssociativeHardening(ParameterSet ¶ms)
-
virtual size_t ninter() const = 0
How many stress-like variables.
-
virtual void q(const double *const alpha, double T, double *const qv) const = 0
Map from strain to stress.
-
virtual void dq_da(const double *const alpha, double T, double *const qv) const = 0
Derivative of the map.
-
virtual void h(const double *const s, const double *const alpha, double T, double *const hv) const = 0
Hardening proportional to the equivalent inelastic strain.
-
virtual void dh_ds(const double *const s, const double *const alpha, double T, double *const dhv) const = 0
Derivative of h wrt stress.
-
virtual void dh_da(const double *const s, const double *const alpha, double T, double *const dhv) const = 0
Derivative of h wrt history.
-
virtual void h_time(const double *const s, const double *const alpha, double T, double *const hv) const
Hardening proportional to time.
-
virtual void dh_ds_time(const double *const s, const double *const alpha, double T, double *const dhv) const
Derivative of h_time wrt stress.
-
virtual void dh_da_time(const double *const s, const double *const alpha, double T, double *const dhv) const
Derivative of h_time wrt history.
-
virtual void h_temp(const double *const s, const double *const alpha, double T, double *const hv) const
Hardening proportional to the temperature rate.
-
virtual void dh_ds_temp(const double *const s, const double *const alpha, double T, double *const dhv) const
Derivative of h_temp wrt stress.
-
virtual void dh_da_temp(const double *const s, const double *const alpha, double T, double *const dhv) const
Derivative of h_temp wrt history.
-
NonAssociativeHardening(ParameterSet ¶ms)