Combined isotropic/kinematic hardening

Overview

This object simply combines an isotropic hardening model and a kinematic hardening model to produce a combined hardening model suitable for yield surfaces that use combined isotropic and kinematic hardening.

All it does in concatenate the isotropic hardening variable Q and the kinematic backstress \mathbf{X} into the “stress-like” hardening vector

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

and likewise concatenates the “strain-like” history variables into a vector \bm{\alpha}.

Parameters

Parameter

Object type

Description

Default

iso

neml::IsotropicHardeningRule

Isotropic hardening rule

No

kin

neml::KinematicHardeningRule

Kinematic hardening rule

No

Class description

class CombinedHardeningRule : public neml::HardeningRule

Class to combine isotropic and kinematic hardening rules.

Public Functions

CombinedHardeningRule(ParameterSet &params)

Parameters: a isotropic hardening rule and a kinematic hardening rule.

virtual void populate_hist(History &h) const

Setup the internal state.

virtual void init_hist(History &h) const

Initialize the history.

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

q[0] = isotropic model, q[1:7] = kinematic model

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

Derivative of the map.

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.