Voce isotropic hardening

Overview

This object provides the Voce isotropic hardening. The isotropic hardening variable is defined as

Q = -\sigma_0 -R \left( 1 - e^{-\delta \alpha} \right).

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

R

neml::Interpolate

Saturated hardening increase

No

d

neml::Interpolate

Saturation rate constant

No

Class description

class VoceIsotropicHardeningRule : public neml::IsotropicHardeningRule

Voce isotropic hardening.

Public Functions

VoceIsotropicHardeningRule(ParameterSet &params)

Parameters: initial yield stress, total increase amount, saturation speed constant

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

q = -s0 - R * (1 - exp(-d * 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 initial yield stress.

double R(double T) const

Getter for R.

double d(double T) const

Getter for d.

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.