Creep models
Overview
Creep models in NEML relate stress and strain to a creep strain rate. This means they do not maintain a set of internal history variables. Currently, they are only used in conduction with a standard NEML material model through the creep+plasticity metamodel.
NEML creep models fulfill the interface

So the creep strain rate can depend on the stress, the total strain, time, and temperature.
Implementations
- J2 creep
- Overview
- Scalar creep models
- Scalar creep models
- Overview
- Implementations
- Power law creep
- Power law creep
- Regime switching Kocks-Mecking creep
- Norton-Bailey creep
- Mukherjee creep
- Overview
- Parameters
- Class description
MukherjeeCreepMukherjeeCreep::MukherjeeCreep()MukherjeeCreep::g()MukherjeeCreep::dg_ds()MukherjeeCreep::dg_de()MukherjeeCreep::A()MukherjeeCreep::n()MukherjeeCreep::D0()MukherjeeCreep::Q()MukherjeeCreep::b()MukherjeeCreep::k()MukherjeeCreep::R()MukherjeeCreep::type()MukherjeeCreep::initialize()MukherjeeCreep::parameters()
- Generic creep law
- Blackburn minimum creep rate model
- Swindeman minimum creep rate model
- Minimum creep law for 2.25Cr-1Mo steel
- Class description
- Scalar creep models
- Class description
Class description
-
class CreepModel : public neml::NEMLObject, public neml::Solvable
Interface to creep models.
Subclassed by neml::J2CreepModel
Public Functions
-
CreepModel(ParameterSet ¶ms)
Parameters are a solver tolerance, the maximum allowable iterations, and a verbosity flag
-
void update(const double *const s_np1, double *const e_np1, const double *const e_n, double T_np1, double T_n, double t_np1, double t_n, double *const A_np1)
Use the creep rate function to update the creep strain.
-
virtual void f(const double *const s, const double *const e, double t, double T, double *const f) const = 0
The creep rate as a function of stress, strain, time, and temperature.
-
virtual void df_ds(const double *const s, const double *const e, double t, double T, double *const df) const = 0
The derivative of the creep rate wrt stress.
-
virtual void df_de(const double *const s, const double *const e, double t, double T, double *const df) const = 0
The derivative of the creep rate wrt strain.
-
virtual void df_dt(const double *const s, const double *const e, double t, double T, double *const df) const
The derivative of the creep rate wrt time, defaults to zero.
-
virtual void df_dT(const double *const s, const double *const e, double t, double T, double *const df) const
The derivative of the creep rate wrt temperature, defaults to zero.
-
void make_trial_state(const double *const s_np1, const double *const e_n, double T_np1, double T_n, double t_np1, double t_n, CreepModelTrialState &ts) const
Setup a trial state for the solver.
-
virtual size_t nparams() const
Number of solver parameters.
-
virtual void init_x(double *const x, TrialState *ts)
Setup the initial guess for the solver.
-
virtual void RJ(const double *const x, TrialState *ts, double *const R, double *const J)
The nonlinear residual and jacobian to solve.
-
CreepModel(ParameterSet ¶ms)