Perzyna viscoplastic flow rule
Overview
The Perzyna model is an associative viscoplastic model [P1966]. It is defined by:

where
is a flow surface, a hardening interface provides the
function, and
is a Rate function.
The notation
indicates the
Macaulay brackets.
The implementation uses the default zero values of the time and temperature rate
contributions and so the model evolves only as a function of the inelastic
strain rate.
The model maintains the set of history variables defined by the hardening model.
Parameters
Parameter |
Object type |
Description |
Default |
|---|---|---|---|
|
Flow surface interface |
No |
|
|
Hardening rule interface |
No |
|
|
Rate sensitivity function |
No |
Class description
-
class PerzynaFlowRule : public neml::ViscoPlasticFlowRule
Perzyna associative viscoplasticity.
Public Functions
-
PerzynaFlowRule(ParameterSet ¶ms)
Parameters: a flow surface, a hardening rule, and the rate sensitivity function
-
virtual void y(const double *const s, const double *const alpha, double T, double &yv) const
Scalar strain rate.
-
virtual void dy_ds(const double *const s, const double *const alpha, double T, double *const dyv) const
Derivative of y wrt stress.
-
virtual void dy_da(const double *const s, const double *const alpha, double T, double *const dyv) const
Derivative of y wrt history.
-
virtual void g(const double *const s, const double *const alpha, double T, double *const gv) const
Flow rule proportional to the scalar strain rate.
-
virtual void dg_ds(const double *const s, const double *const alpha, double T, double *const dgv) const
Derivative of g wrt stress.
-
virtual void dg_da(const double *const s, const double *const alpha, double T, double *const dgv) const
Derivative of g wrt history.
-
virtual void h(const double *const s, const double *const alpha, double T, double *const hv) const
Hardening rule proportional to the scalar strain rate.
-
virtual void dh_ds(const double *const s, const double *const alpha, double T, double *const dhv) const
Derivative of h wrt stress.
-
virtual void dh_da(const double *const s, const double *const alpha, double T, double *const dhv) const
Derivative of h wrt history.
Public Static Functions
-
static std::string type()
String type for the object system.
-
static std::unique_ptr<NEMLObject> initialize(ParameterSet ¶ms)
Default parameters.
-
static ParameterSet parameters()
Initialize from parameters.
-
PerzynaFlowRule(ParameterSet ¶ms)
Rate function
These functions define the rate sensitivity of the Peryna flow model. They have the form
where f is the current value of the flow surface.
-
class GFlow : public neml::NEMLObject
The “g” function in the Perzyna model — often a power law.
Subclassed by neml::GPowerLaw
Public Functions
-
GFlow(ParameterSet ¶ms)
-
virtual double g(double f, double T) const = 0
The value of g.
-
virtual double dg(double f, double T) const = 0
The derivative of g wrt to the flow surface.
-
GFlow(ParameterSet ¶ms)
Power law
This rate function implements simple power law

for some temperature-dependent rate sensitivity exponent
and fluidity
.
Parameters
Parameter |
Object type |
Description |
Default |
|---|---|---|---|
|
Rate sensitivity exponent |
No |
|
|
Fluidity |
No |
Class description
-
class GPowerLaw : public neml::GFlow
g is a power law
Public Functions
-
GPowerLaw(ParameterSet ¶ms)
Parameter: the power law exponent.
-
virtual double g(double f, double T) const
g = (f/eta)^n
-
virtual double dg(double f, double T) const
Derivative of g wrt f.
-
double n(double T) const
Helper, just return the power law exponent.
-
double eta(double T) const
Helper, just returns the fluidity.
Public Static Functions
-
static std::string type()
String type for the object system.
-
static std::unique_ptr<NEMLObject> initialize(ParameterSet ¶ms)
Default parameters.
-
static ParameterSet parameters()
Initialize from parameters.
-
GPowerLaw(ParameterSet ¶ms)