Rate independent flow rule
Overview
A rate independent flow rule provides the interface

is a yield surface,
is a
flow function defining the direction of plastic flow, and
is a history evolution function.
This interface is used to define a Rate independent plasticity model.
The base interface is entirely abstract. It maintains a set of history variables set by the specific implementation.
Implementations
- Rate independent associative flow
- Overview
- Parameters
- Class description
RateIndependentAssociativeFlowRateIndependentAssociativeFlow::RateIndependentAssociativeFlow()RateIndependentAssociativeFlow::populate_hist()RateIndependentAssociativeFlow::init_hist()RateIndependentAssociativeFlow::f()RateIndependentAssociativeFlow::df_ds()RateIndependentAssociativeFlow::df_da()RateIndependentAssociativeFlow::g()RateIndependentAssociativeFlow::dg_ds()RateIndependentAssociativeFlow::dg_da()RateIndependentAssociativeFlow::h()RateIndependentAssociativeFlow::dh_ds()RateIndependentAssociativeFlow::dh_da()RateIndependentAssociativeFlow::type()RateIndependentAssociativeFlow::initialize()RateIndependentAssociativeFlow::parameters()
- Rate independent nonassociative flow
- Overview
- Parameters
- Class description
RateIndependentNonAssociativeHardeningRateIndependentNonAssociativeHardening::RateIndependentNonAssociativeHardening()RateIndependentNonAssociativeHardening::populate_hist()RateIndependentNonAssociativeHardening::init_hist()RateIndependentNonAssociativeHardening::f()RateIndependentNonAssociativeHardening::df_ds()RateIndependentNonAssociativeHardening::df_da()RateIndependentNonAssociativeHardening::g()RateIndependentNonAssociativeHardening::dg_ds()RateIndependentNonAssociativeHardening::dg_da()RateIndependentNonAssociativeHardening::h()RateIndependentNonAssociativeHardening::dh_ds()RateIndependentNonAssociativeHardening::dh_da()RateIndependentNonAssociativeHardening::type()RateIndependentNonAssociativeHardening::initialize()RateIndependentNonAssociativeHardening::parameters()
Class description
-
class RateIndependentFlowRule : public neml::HistoryNEMLObject
ABC describing rate independent flow.
Subclassed by neml::RateIndependentAssociativeFlow, neml::RateIndependentNonAssociativeHardening
Public Functions
-
RateIndependentFlowRule(ParameterSet ¶ms)
-
virtual void f(const double *const s, const double *const alpha, double T, double &fv) const = 0
Yield surface.
-
virtual void df_ds(const double *const s, const double *const alpha, double T, double *const dfv) const = 0
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 = 0
Partial derivative of the surface wrt history.
-
virtual void g(const double *const s, const double *const alpha, double T, double *const gv) const = 0
Flow function.
-
virtual void dg_ds(const double *const s, const double *const alpha, double T, double *const dgv) const = 0
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 = 0
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 = 0
Hardening rule.
-
virtual void dh_ds(const double *const s, const double *const alpha, double T, double *const dhv) const = 0
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 = 0
Partial derivative of the hardening rule wrt. history.
-
RateIndependentFlowRule(ParameterSet ¶ms)