Often in geological settings, rocks are deposited in layers, and between the layers there are joints, which are usually weak, and which we call "weak planes" here. Upon applying stresses/strains, these joints often fail by opening (Weak-plane tensile failure), or by shearing (Weak-plane shear failure).
This article uses notation defined in Plasticity and the Return-Map Algorithm
Define a vector, $$$n$$$, which is normal to the weak plane. The user may choose two options:
Usually the first choice would be made.
Denote the so-called "tensile strength" of the weak plane by $$$T$$$. It may be constant, or governed by some Hardening or Softening law. At the start of each "time-step" (increment), rotate $$$\sigma$$$ so that $$$n$$$ aligns with the $$$z$$$ axis. Denote the rotated stress by $$$\tilde{\sigma}$$$.
Then the tensile yield function is
$$$$f = \tilde{\sigma}_{zz} - T \ .$$$$
The flow potential is
$$$$r_{ij} = \frac{\partial f}{\partial \tilde{\sigma}_{ij}} \ ,$$$$
so this plasticity is associative. The hardening law is defined via
$$$$h = -1 \ ,$$$$
so that $$$q = q^{\mathrm{old}} + \gamma$$$, so that $$$q$$$ is the accumulated sum of $$$\gamma$$$ over all "time steps".
A number of tests have been implemented demonstrating that the MOOSE code correctly implements the return-map algorithm for weak-plane tensile plasticity, both for small strains and large strains. These are:
small_deform1. The normal direction is chosen $$$n=(0,0,1)$$$. A small displacement of magnitude 1E-6 m is applied to a single element. Youngs' modulus and tensile strength are set to 2 MPa and 1 Pa respectively. Then the trial stress has $$$\tilde{\sigma}_{zz}$$$ = 2 Pa, which is inadmissible, so the return-map algorithm is invoked. MOOSE results show that final stress value accurately returns to the yield surface.
small_deform2. The normal direction is chosen $$$n=(0,0,1)$$$. A small displacement of magnitude 1E-6 m is applied to a single element. Youngs' modulus and tensile strength are set to 2 MPa and 5 Pa respectively. Then the trial stress is $$$\tilde{\sigma}_{zz}$$$ = 2 Pa. Since this is less than tension cutoff, no plasticity should be observed, and the final stress should be equal to $$$\tilde{\sigma}_{zz}$$$ = 2 Pa.
large_deform1. The normal direction is chosen $$$n=(0,0,1)$$$, and it rotates with the mesh. A single element is rotated through 90 degrees about the $$$x$$$ axis, and then deformed in $$$z$$$ direction. No plastic deformation is observed, in agreement with expectations.
large_deform2. The normal direction is chosen $$$n=(0,0,1)$$$, and it rotates with the mesh. Youngs' modulus and tensile strength are set to 20 MPa and 1 MPa respectively. A single element is rotated through 45 degrees about the $$$x$$$ axis, and then deformed in $$$y=z$$$ direction. This should create a pure tensile load, and MOOSE returns to the correct point on the yield surface which is $$$$T/2 = \sigma_{zz} = \sigma_{yy} = \sigma_{yz} = 0.5\,\mbox{MPa} \ .$$$$
small_deform_hard1. This checks the internal-parameter evolution in the case of exponential hardening/softening. A single element is stretched with strain $$$$\epsilon_{zz} = t/10^{6} \ ,$$$$ The Young's modulus is chosen to be 20 MPa, and the tensile strength $$$T=10$$$ Pa. Two time steps are used. In the first $$$t$$$ is incremented from zero to 1. This means the trial stress will be $$$$\sigma^{\mathrm{trial}}_{zz} = 20\,\mbox{Pa} \ .$$$$ This stress is inadmissible, so it must return to $$$\sigma_{zz} = T = 10\,\mbox{Pa}$$$, and half the deformation is plastic, and half elastic, yielding $$$\epsilon_{zz}^{\mathrm{plastic}} = 0.5\times 10^{-6}$$$. In the second time step, $$$t$$$ is incremented from 1 to 2. This time the trial stress is $$$\sigma^{\mathrm{trial}}_{zz} = 30$$$Pa, and all the strain increment is plastic, yielding a total plastic strain after this step of $$$1.5\times 10^{-6}$$$. Moose produces the correct answer.
small_deform_hard2. This checks the solution of a exponential hardening problem. A single element is stretched with strain $$$\epsilon_{zz} = 10^{-6}$$$. The Young's modulus is chosen to be 20 MPa. The trial stress is $$$$\sigma_{zz}^{\mathrm{trial}} = 20\,\mbox{Pa} \ .$$$$ The initial value of the tensile strength is $$$T_{0} = 10$$$ Pa, the residual $$$T_{\mathrm{res}} = 0$$$, and the rate $$$\zeta = 10^6$$$. Therefore, the trial stress is inadmissible, and the following equations must be solved $$$$0 = f = \sigma_{zz} - 10\exp(-10^{6}q)$$$$ $$$$0 = \mbox{epp} = \gamma - (20 - \sigma_{zz})/(2\times 10^{7})$$$$ $$$$0 = \mbox{intnl} = q - \gamma$$$$ (Here is use the notation "epp" and "intnl" which is MOOSE-code notation described in Plasticity and the Return-Map Algorithm.) The solution is $$$q = \gamma = 0.768039\times 10^{-6}$$$, and $$$\sigma_{zz} = T = 4.63922$$$ Pa. Moose yields these results.
small_deform_hard3. The evolution of the tensile strength with exponential hardening is checked. A single unit-sized element is stretched in the $$$z$$$ direction with deformation $$$10^{-6}t$$$, and the Young's modulus is chosen to be 10 MPa. With the ever-increasing stretches, the yield-surface and the tensile strength are mapped out. The result is shown in the Figure below.
small_deform_hard_cubic. The evolution of the tensile strength with cubic hardening is checked in the same way as small_deform_hard3. The result is shown in the Figure below.