Our last step will be to do a 3D simulation. To create the mesh, we will use the same 2D mesh, but extrude it using the MeshModifiers block in MOOSE. We will extrude the mesh by a thickness of 0.5 and mesh it with two elements across the thickness. Below the mesh block, add the block

[MeshModifiers]
[./extrude]
type = MeshExtruder
extrusion_vector = '0 0 0.5'
num_layers = 2
bottom_sideset = 'back'
top_sideset = 'front'
[../]
[]


To learn more about the MeshModifiers block, look here

Next, we need to convert our simulation from a 2D axisymmetric one to a 3D one. So, remove the Problem block and change disp_r to disp_x and disp_z to disp_y. Then, add the third displacement, disp_z to the displacements string in the GlobalParams block:

[GlobalParams]
displacements = 'disp_x disp_y disp_z'
[]


Also, add one more fixed boundary condition for disp_z with boundary = back in the BCs block. The 3D simulation will be significantly slower, so also decrease the end_time to 16 rather than 20.

Check your simulation against part_3.1.i.

Run the simulation. You may want to run it in parallel if you have the processors. To run in parallel on the command line, use the command

mpirun -np 8 ~/EXECUTABLE_PATH/tensor_mechanics-opt -i INPUT_FILE_NAME.i


You can also run in parallel using PEACOCK.

The z-displacements and the stress strain curve are shown on the right.

3D domain shaded by the z-displacement

Stress-strain curve from 3D domain