Linear isotropic hardening

Overview

This object provides simple linear isotropic hardening. The isotropic hardening variable is defined as

Q = -\sigma_0 -k \alpha.

The model requires a single history variable (\alpha) and maps to a single hardening variable (Q).

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

Parameter

Object type

Description

Default

s0

neml::Interpolate

Initial yield stress

No

k

neml::Interpolate

Linear hardening constant

No

Class description

class LinearIsotropicHardeningRule : public neml::IsotropicHardeningRule

Linear, isotropic hardening.

Public Functions

LinearIsotropicHardeningRule(ParameterSet &params)

Parameters: initial surface size and linear coefficient.

virtual void q(const double *const alpha, double T, double *const qv) const

q = -s0 - K * alpha[0]

virtual void dq_da(const double *const alpha, double T, double *const dqv) const

Derivative of map.

double s0(double T) const

Getter for the yield stress.

double K(double T) const

Getter for the linear coefficient.

Public Static Functions

static std::string type()

String type for the object system.

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

Initialize from a parameter set.

static ParameterSet parameters()

Default parameters.