Various different hardening or softening laws have been implemented as GeneraUserObjects, and it is very simple to implement others if you wish.

In this article, let $$p$$$denote the physical property of interest, such as yield strength, tensile strength, cohesion, friction angle, etc. Also let $$x$$$ denote the internal parameter that this is dependent upon. The following hardening laws have been implemented.

# Perfect plasticity

This is

p = \mbox{constant}

# Exponential

This is

p = p_{\infty} + (p_{0} - p_{\infty})e^{-r x} \ , where $$p_{\infty}$$$, $$p_{0}$$$ and $$r$$$are user-entered quantities. This is smooth, which is nice numerically, but it has the large disadvantage that algorithms can converge to $$x<0$$$, which is an unphysical region.

# Cut Exponential

This is

p = \left\{ \begin{array}{ll} p_{0} & \ \ \mbox{for}\ \ \ x<x_{0} \\ p_{\infty} + (p_{0} - p_{\infty})e^{-r(x-x_{0})} & \ \ \mbox{for}\ \ \ x\geq x_{0} \end{array} \right. Here $$x_{0}$$$, $$p_{0}$$$, $$p_{\infty}$$$and $$r$$$ are user-entered quantities. This has the advantage that plasticity algorithms do not converge to $$x<0$$$, but it is not smooth at $$x=x_{0}$$$ which can cause convergence problems.

# Gaussian

This is

p = \left\{ \begin{array}{ll} p_{0} & \ \ \ \mbox{for}\ \ \ x<x_{0} \\ p_{\infty} + (p_{0} - p_{\infty})e^{-r(x - x_{0})^{2}/2} & \ \ \ \mbox{for}\ \ \ x\geq x_{0} \end{array} \right. Here $$x_{0}$$$, $$p_{0}$$$, $$p_{\infty}$$$and $$r$$$ are user-entered quantities. This has very nice convergence properties: it is smooth and does not cause algorithms to enter the forbidden region $x<0$.

# Cubic

This is

p = \left\{ \begin{array} p p_{0} & \ \ \ \mbox{for} \ \ \ x\leq x_{0} \\ \alpha(x - x_{0} - \mbox{$\frac{L}{2}$})^{3} + \beta(x - x_{0} - \mbox{$\frac{L}{2}$}) + \mbox{$\frac{1}{2}$}(p_{0}+p_{\mathrm{res}}) & \ \ \ \mbox{for} \ \ \ x_{0}<x<x_{L} \\ p_{\mathrm{res}} & \ \ \ \mbox{for}\ \ \ x\geq x_{L} \end{array} \right. Here $$x_{0}$$$, $$x_{L}$$$, $$p_{0}$$$, $$p_{\mathrm{res}}$$$ are user-entered quantities. This has very nice convergence properties: it is smooth and does not cause algorithms to enter the forbidden region $$x<0$$$. The $$\alpha$$$ and $$\beta$$\$ parameters are chosen to fulfil the smoothness and continuity, namely \begin{array}{rcl} \alpha(x_{L}/2)^{3} & = & (p_{0} - p_{\mathrm{res}})/4 \\ \beta & = & -3\alpha(x_{L}/2)^{2} \end{array}