Viscoplastic general flow rule¶
Overview¶
This class specializes the General flow rule interface to match the standard definition of a generic viscoplastic flow rule. It defines the stress and hardening rates as

A Elasticity models interface defines the stiffness tensor and a viscoplastic
flow rule interface defines the scalar flow rate
,
the flow functions
,
, and
and the hardening functions
,
, and
.
Parameters¶
Parameter |
Object type |
Description |
Default |
|---|---|---|---|
|
Elasticity model |
No |
|
|
Viscoplastic flow rule interface |
No |
Class description¶
-
class TVPFlowRule : public neml::GeneralFlowRule¶
Thermo-visco-plasticity.
Public Functions
-
TVPFlowRule(ParameterSet ¶ms)¶
Parameters: elastic model and a viscoplastic flow rule.
-
virtual void s(const double *const s, const double *const alpha, const double *const edot, double T, double Tdot, double *const sdot)¶
Stress rate.
-
virtual void ds_ds(const double *const s, const double *const alpha, const double *const edot, double T, double Tdot, double *const d_sdot)¶
Partial of stress rate wrt stress.
-
virtual void ds_da(const double *const s, const double *const alpha, const double *const edot, double T, double Tdot, double *const d_sdot)¶
Partial of stress rate wrt history.
-
virtual void ds_de(const double *const s, const double *const alpha, const double *const edot, double T, double Tdot, double *const d_sdot)¶
Partial of stress rate wrt strain rate.
-
virtual void a(const double *const s, const double *const alpha, const double *const edot, double T, double Tdot, double *const adot)¶
History rate.
-
virtual void da_ds(const double *const s, const double *const alpha, const double *const edot, double T, double Tdot, double *const d_adot)¶
Partial of history rate wrt stress.
-
virtual void da_da(const double *const s, const double *const alpha, const double *const edot, double T, double Tdot, double *const d_adot)¶
Partial of history rate wrt history.
-
virtual void da_de(const double *const s, const double *const alpha, const double *const edot, double T, double Tdot, double *const d_adot)¶
Partial of history rate wrt strain rate.
-
virtual void work_rate(const double *const s, const double *const alpha, const double *const edot, double T, double Tdot, double &p_rate)¶
The implementation needs to define inelastic dissipation.
-
virtual void elastic_strains(const double *const s_np1, double T_np1, double *const e_np1) const¶
The implementation needs to define elastic strain.
Set a new elastic model.
-
virtual void override_guess(double *const x)¶
Override the initial guess.
Public Static Functions
-
static std::string type()¶
String type for the object system.
-
static std::unique_ptr<NEMLObject> initialize(ParameterSet ¶ms)¶
Return default parameters.
-
static ParameterSet parameters()¶
Initialize from parameter set.
-
TVPFlowRule(ParameterSet ¶ms)¶