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)