Rate independent associative flow¶
Overview¶
This interface implements an associative flow rule where both the flow function and the hardening rule are associated to the yield surface by the functional relations

These quantities have all been defined previous, except for the
function
.
This function maps the “strain-like” set of history vectors to the
“stress-like” set of internal variables that enter the yield surface [SH1997].
These “stress-like” internal variables are most commonly an isotropic
expansion/contraction of the yield surface and a kinematic backstress
shifting the yield surface in space.
A fully-associative flow rule of this type results in a model with favorable theoretical and numerical properties. For example, these models all obey Drucker’s postulate [D1959] and will have symmetric algorithmic tangents.
The hardening rule and yield surface are both defined with separate interfaces.
Parameters¶
Parameter |
Object type |
Description |
Default |
|---|---|---|---|
|
Yield surface interface |
No |
|
|
Hardening rule interface |
No |
Class description¶
-
class RateIndependentAssociativeFlow : public neml::RateIndependentFlowRule¶
Implementation of associative RI flow.
Public Functions
-
RateIndependentAssociativeFlow(ParameterSet ¶ms)¶
Parameters: yield surface and hardening rule.
-
virtual void f(const double *const s, const double *const alpha, double T, double &fv) const¶
Yield surface.
-
virtual void df_ds(const double *const s, const double *const alpha, double T, double *const dfv) const¶
Partial derivative of the surface wrt stress.
-
virtual void df_da(const double *const s, const double *const alpha, double T, double *const dfv) const¶
Partial derivative of the surface wrt history.
-
virtual void g(const double *const s, const double *const alpha, double T, double *const gv) const¶
Flow function.
-
virtual void dg_ds(const double *const s, const double *const alpha, double T, double *const dgv) const¶
Partial derivative of the flow function wrt stress.
-
virtual void dg_da(const double *const s, const double *const alpha, double T, double *const dgv) const¶
Partial derivative of the flow function wrt history.
-
virtual void h(const double *const s, const double *const alpha, double T, double *const hv) const¶
Hardening rule.
-
virtual void dh_ds(const double *const s, const double *const alpha, double T, double *const dhv) const¶
Partial derivative of the hardening rule wrt. stress.
-
virtual void dh_da(const double *const s, const double *const alpha, double T, double *const dhv) const¶
Partial derivative of the hardening rule wrt. history.
Public Static Functions
-
static std::string type()¶
String type for the object system.
-
static std::unique_ptr<NEMLObject> initialize(ParameterSet ¶ms)¶
Setup default parameters.
-
static ParameterSet parameters()¶
Initialize from a parameter set.
-
RateIndependentAssociativeFlow(ParameterSet ¶ms)¶