IsoKinJ2

Overview

This object implements standard J_2 plasticity. The yield function is

f\left(\bm{\sigma}, \mathbf{q}, T\right) =
   J_2\left(\bm{\sigma} + \mathbf{X}\right) + \sqrt{\frac{2}{3}} Q

J_2\left(\mathbf{Y}\right) = \sqrt{\frac{3}{2}
   \operatorname{dev}\left(\mathbf{Y}\right):
   \operatorname{dev}\left(\mathbf{Y}\right)}.

It assumes a “stress-like” history vector of

\mathbf{q}=\left[\begin{array}{cc}Q & \mathbf{X}\end{array}\right]

where Q is the isotropic hardening stress and \mathbf{X} is the backstress.

Warning

All of the NEML yield surfaces assume the opposite of the standard sign convention for isotropic and kinematic hardening. The hardening model is expected to return a negative value of the isotropic hardening stress and a negative value of the backstress.

Parameters

None.

Class description

class IsoKinJ2 : public neml::YieldSurface

Combined isotropic/kinematic hardening with a von Mises surface.

Public Functions

IsoKinJ2(ParameterSet &params)

No actual parameters.

virtual size_t nhist() const

Expects 7 history variables [isotropic 6-Mandel-vector-backstress].

virtual void f(const double *const s, const double *const q, double T, double &fv) const

J2(stress + backstress) + sqrt(2/3) * isotropic.

virtual void df_ds(const double *const s, const double *const q, double T, double *const df) const

Gradient wrt stress.

virtual void df_dq(const double *const s, const double *const q, double T, double *const df) const

Gradient wrt history.

virtual void df_dsds(const double *const s, const double *const q, double T, double *const ddf) const

Hessian dsds.

virtual void df_dqdq(const double *const s, const double *const q, double T, double *const ddf) const

Hessian dqdq.

virtual void df_dsdq(const double *const s, const double *const q, double T, double *const ddf) const

Hessian dsdq.

virtual void df_dqds(const double *const s, const double *const q, double T, double *const ddf) const

Hessian dqds.

Public Static Functions

static std::string type()

String type for object system.

static std::unique_ptr<NEMLObject> initialize(ParameterSet &params)

Initialize from a parameter set.

static ParameterSet parameters()

Default parameters.