Rate independent nonassociative flow¶
Overview¶
This interface implements a nonassociative flow rule where only the flow function is associated to the yield surface through the relation

The hardening rule is left as a generic interface providing the
rate of history variable evolution proportional to the equivalent
plastic strain rate,
.
Note that rate independent models cannot use hardening proportional to
time or temperature rate or else the model will not be rate independent!
This type of model is much more common than a fully nonassociative model where neither the flow rule or the hardening rule is associated to the yield surface. For example, classical Frederick-Armstrong hardening falls into this category [FA2007].
Parameters¶
Parameter |
Object type |
Description |
Default |
|---|---|---|---|
|
Yield surface interface |
No |
|
|
Nonassociative hardening rule interface |
No |
Class description¶
-
class RateIndependentNonAssociativeHardening : public neml::RateIndependentFlowRule¶
Associative plastic flow but non-associative hardening.
Public Functions
-
RateIndependentNonAssociativeHardening(ParameterSet ¶ms)¶
-
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.
-
RateIndependentNonAssociativeHardening(ParameterSet ¶ms)¶