Yield Functions

Specifies the shape of the yield surface, i.e. locus of points in stress-space where the response of the material is linear. Points outside of yield surface are not allowed. Yield surfaces can have parameters and internal variables which define its shape and location.

Yield Functions may define internal variables they need for their specification, as well as paramters. When specifying ASDPlasticMaterial or ASDPlasticMaterial3D instance, one must provide internal variables mentioned below, together with their hardening function.

Yield functions are also responsible for providing their stress-derivative (\(\mathbf{n} = \partial f / \partial \boldsymbol{\sigma}\)) as well as computing hardening term \(H\) in the plastic multiplier (see ASDPlasticTheory).

Note

When using ASDPlasticMaterial3D, yield function internal variables can be accessed directly using enhanced response queries. This provides detailed insight into material state evolution during analysis.

Available functions:

VonMises_YF

Defines a yield surface which corresponds to the Von Mises Yield Criterion. Its definition is:

\[ \begin{align}\begin{aligned}\newcommand{\vec}[1]{\boldsymbol{#1}} \newcommand{\state}{\sigma, \left\lbrace iv \right\rbrace, \left\lbrace param \right\rbrace } \newcommand{\matorvec}[2]{ \left[\begin{array}{#1} #2 \end{array}\right] } f(\vec{\sigma}) = \sqrt{ (\vec{s} - \vec{\alpha}) \cdot (\vec{s} - \vec{\alpha}) } - \sqrt{ \dfrac{2}{3}} k\\\vec{s} = \vec{\sigma} - p \vec{I}\end{aligned}\end{align} \]

Where \(p = -(\sigma_{11} + \sigma_{22} + \sigma_{33})/3\) is the mean stress (positive in compression), and \(\vec{I}\) is the Kronecker delta in Voigt notation (\(\vec{I} = \matorvec{cccccc}{1 & 1 & 1 & 0 & 0 & 0}^T\)). Finally, \(\vec{s}\) is the deviatoric part of the stress vector in Voigt notation.

Internal variables defined

IV Name

Type

Symbol

Description

BackStress

Rank-6 Tensor

\(\vec{\alpha}\)

Backstress, definining the location in stress space for the axis of the Von-Mises cylinder.

VonMisesRadius

Scalar

\(k\)

Shear strength, definining the radius of the Von-Mises cylinder in stress space.

Parameters required

None required for the yield function itself. Parameters are defined by the internal variable hardening functions and elasticity model.

Usage in ASDPlasticMaterial3D

When using VonMises_YF with ASDPlasticMaterial3D, you can access the internal variables using enhanced response queries:

  • VonMisesRadius - Current radius of the yield surface

  • BackStress - Current backstress tensor (6 components in Voigt notation)

These can be recorded using:

recorder Node -file vonmises_radius.out -time -node 1 -dof 1 VonMisesRadius
recorder Node -file backstress.out -time -node 1 -dof 1 BackStress

DruckerPrager_YF

Defines a yield surface which corresponds to the Drucker-Prager Yield Criterion. Its definition is:

\[f(\vec{\sigma}) = \sqrt{ (\vec{s} - \vec{\alpha}) \cdot (\vec{s} - \vec{\alpha}) } - \sqrt{ \dfrac{2}{3}} k p\]

Where all symbols are as before. In this case note that \(k\), defines the slope of the opening of the Drucker-Prager cone with respect to \(p\), thus now the radius of the cone at a given confinement is \(kp\).

Internal variables defined

It uses the same variables as the Von-Mises yield function, but the VonMisesRadius is now unitless and should be defined with respect to a reference confinement.

IV Name

Type

Symbol

Description

BackStress

Rank-6 Tensor

\(\vec{\alpha}\)

Backstress, definining the location in stress space for the axis of the Drucker-Prager cone.

VonMisesRadius

Scalar

\(k\)

Shear strength at reference confinement, definining the radius of the DruckerPrager cone in stress space as \(kp\)

Parameters required

Parameter Name

Type

Symbol

Description

Dilatancy

Scalar

\(D\)

Dilatancy parameter from plastic flow model (if used)

Usage in ASDPlasticMaterial3D

DruckerPrager_YF with ASDPlasticMaterial3D provides access to:

  • VonMisesRadius - Current strength parameter

  • BackStress - Current backstress tensor

Enhanced stress measures are particularly useful:

recorder Node -file p_stress.out -time -node 1 -dof 1 PStress
recorder Node -file j2_stress.out -time -node 1 -dof 1 J2Stress