Viscoplastic flow rule
Overview
This class provides the interface

and associated partial derivatives.
is the scalar inelastic strain rate,
is the flow rule, and
is the hardening law.
The subscripts
indicates the part proportional to the
scalar inelastic strain rate,
the part proportional to the
temperature rate,
the part directly contributing towards the
total time derivative.
See Viscoplastic general flow rule for the specific definition of
each quantity.
The base class implementation by default provides zero for the
and
the
quantities, giving a standard model that evolves only in
proportion to the inelastic strain rate.
Static recovery or thermo-viscoplasticity requires the definition of the
time parts and temperature parts of the flow rule and/or hardening rule.
Implementations
- Superimposed viscoplastic flow rule
- Overview
- Parameters
- Class description
SuperimposedViscoPlasticFlowRuleSuperimposedViscoPlasticFlowRule::SuperimposedViscoPlasticFlowRule()SuperimposedViscoPlasticFlowRule::nmodels()SuperimposedViscoPlasticFlowRule::populate_hist()SuperimposedViscoPlasticFlowRule::init_hist()SuperimposedViscoPlasticFlowRule::y()SuperimposedViscoPlasticFlowRule::dy_ds()SuperimposedViscoPlasticFlowRule::dy_da()SuperimposedViscoPlasticFlowRule::g()SuperimposedViscoPlasticFlowRule::dg_ds()SuperimposedViscoPlasticFlowRule::dg_da()SuperimposedViscoPlasticFlowRule::g_time()SuperimposedViscoPlasticFlowRule::dg_ds_time()SuperimposedViscoPlasticFlowRule::dg_da_time()SuperimposedViscoPlasticFlowRule::g_temp()SuperimposedViscoPlasticFlowRule::dg_ds_temp()SuperimposedViscoPlasticFlowRule::dg_da_temp()SuperimposedViscoPlasticFlowRule::h()SuperimposedViscoPlasticFlowRule::dh_ds()SuperimposedViscoPlasticFlowRule::dh_da()SuperimposedViscoPlasticFlowRule::h_time()SuperimposedViscoPlasticFlowRule::dh_ds_time()SuperimposedViscoPlasticFlowRule::dh_da_time()SuperimposedViscoPlasticFlowRule::h_temp()SuperimposedViscoPlasticFlowRule::dh_ds_temp()SuperimposedViscoPlasticFlowRule::dh_da_temp()SuperimposedViscoPlasticFlowRule::type()SuperimposedViscoPlasticFlowRule::initialize()SuperimposedViscoPlasticFlowRule::parameters()
- Perzyna viscoplastic flow rule
- Overview
- Parameters
- Class description
PerzynaFlowRulePerzynaFlowRule::PerzynaFlowRule()PerzynaFlowRule::populate_hist()PerzynaFlowRule::init_hist()PerzynaFlowRule::y()PerzynaFlowRule::dy_ds()PerzynaFlowRule::dy_da()PerzynaFlowRule::g()PerzynaFlowRule::dg_ds()PerzynaFlowRule::dg_da()PerzynaFlowRule::h()PerzynaFlowRule::dh_ds()PerzynaFlowRule::dh_da()PerzynaFlowRule::type()PerzynaFlowRule::initialize()PerzynaFlowRule::parameters()
- Rate function
- Linear vicous flow rule
- Overview
- Parameters
- Class description
LinearViscousFlowLinearViscousFlow::LinearViscousFlow()LinearViscousFlow::populate_hist()LinearViscousFlow::init_hist()LinearViscousFlow::y()LinearViscousFlow::dy_ds()LinearViscousFlow::dy_da()LinearViscousFlow::g()LinearViscousFlow::dg_ds()LinearViscousFlow::dg_da()LinearViscousFlow::h()LinearViscousFlow::dh_ds()LinearViscousFlow::dh_da()LinearViscousFlow::type()LinearViscousFlow::initialize()LinearViscousFlow::parameters()
- Chaboche viscoplastic flow rule
- Overview
- Parameters
- Class description
ChabocheFlowRuleChabocheFlowRule::ChabocheFlowRule()ChabocheFlowRule::populate_hist()ChabocheFlowRule::init_hist()ChabocheFlowRule::y()ChabocheFlowRule::dy_ds()ChabocheFlowRule::dy_da()ChabocheFlowRule::g()ChabocheFlowRule::dg_ds()ChabocheFlowRule::dg_da()ChabocheFlowRule::h()ChabocheFlowRule::dh_ds()ChabocheFlowRule::dh_da()ChabocheFlowRule::h_time()ChabocheFlowRule::dh_ds_time()ChabocheFlowRule::dh_da_time()ChabocheFlowRule::h_temp()ChabocheFlowRule::dh_ds_temp()ChabocheFlowRule::dh_da_temp()ChabocheFlowRule::type()ChabocheFlowRule::initialize()ChabocheFlowRule::parameters()
- Fluidity model
- Yaguchi & Takahashi viscoplastic model for Grade 91 steel
- Overview
- Parameters
- Class description
YaguchiGr91FlowRuleYaguchiGr91FlowRule::YaguchiGr91FlowRule()YaguchiGr91FlowRule::populate_hist()YaguchiGr91FlowRule::init_hist()YaguchiGr91FlowRule::y()YaguchiGr91FlowRule::dy_ds()YaguchiGr91FlowRule::dy_da()YaguchiGr91FlowRule::g()YaguchiGr91FlowRule::dg_ds()YaguchiGr91FlowRule::dg_da()YaguchiGr91FlowRule::h()YaguchiGr91FlowRule::dh_ds()YaguchiGr91FlowRule::dh_da()YaguchiGr91FlowRule::h_time()YaguchiGr91FlowRule::dh_ds_time()YaguchiGr91FlowRule::dh_da_time()YaguchiGr91FlowRule::D()YaguchiGr91FlowRule::n()YaguchiGr91FlowRule::a10()YaguchiGr91FlowRule::C2()YaguchiGr91FlowRule::a2()YaguchiGr91FlowRule::g1()YaguchiGr91FlowRule::g2()YaguchiGr91FlowRule::m()YaguchiGr91FlowRule::br()YaguchiGr91FlowRule::bh()YaguchiGr91FlowRule::A()YaguchiGr91FlowRule::B()YaguchiGr91FlowRule::d()YaguchiGr91FlowRule::q()YaguchiGr91FlowRule::C1()YaguchiGr91FlowRule::type()YaguchiGr91FlowRule::initialize()YaguchiGr91FlowRule::parameters()
Class description
-
class ViscoPlasticFlowRule : public neml::HistoryNEMLObject
ABC describing viscoplastic flow.
Subclassed by neml::ChabocheFlowRule, neml::LinearViscousFlow, neml::PerzynaFlowRule, neml::SuperimposedViscoPlasticFlowRule, neml::WrappedViscoPlasticFlowRule, neml::YaguchiGr91FlowRule
Public Functions
-
ViscoPlasticFlowRule(ParameterSet ¶ms)
-
virtual void y(const double *const s, const double *const alpha, double T, double &yv) const = 0
Scalar flow rate.
-
virtual void dy_ds(const double *const s, const double *const alpha, double T, double *const dyv) const = 0
Derivative of scalar flow wrt stress.
-
virtual void dy_da(const double *const s, const double *const alpha, double T, double *const dyv) const = 0
Derivative of scalar flow wrt history.
-
virtual void g(const double *const s, const double *const alpha, double T, double *const gv) const = 0
Contribution towards the flow proportional to the scalar inelastic strain rate
-
virtual void dg_ds(const double *const s, const double *const alpha, double T, double *const dgv) const = 0
Derivative of g wrt stress.
-
virtual void dg_da(const double *const s, const double *const alpha, double T, double *const dgv) const = 0
Derivative of g wrt history.
-
virtual void g_time(const double *const s, const double *const alpha, double T, double *const gv) const
Contribution towards the flow proportional directly to time.
-
virtual void dg_ds_time(const double *const s, const double *const alpha, double T, double *const dgv) const
Derivative of g_time wrt stress.
-
virtual void dg_da_time(const double *const s, const double *const alpha, double T, double *const dgv) const
Derivative of g_time wrt history.
-
virtual void g_temp(const double *const s, const double *const alpha, double T, double *const gv) const
Contribution towards the flow proportional to the temperature rate.
-
virtual void dg_ds_temp(const double *const s, const double *const alpha, double T, double *const dgv) const
Derivative of g_temp wrt stress.
-
virtual void dg_da_temp(const double *const s, const double *const alpha, double T, double *const dgv) const
Derivative of g_temp wrt history.
-
virtual void h(const double *const s, const double *const alpha, double T, double *const hv) const = 0
Hardening rate proportional to the scalar inelastic strain rate.
-
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 rate proportional directly 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 rate 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.
-
virtual void override_guess(double *const guess)
Optional method to give a better initial guess.
-
ViscoPlasticFlowRule(ParameterSet ¶ms)