• Mechanics is a complicated beast.
• There are currently 2 different implementations in Modules, and we are in the process of fully deprecating one of those.

• tensor_mechanics is our flexible and modular solid mechanics implementation (every new project should use this).
• solid_mechanics is a legacy module that is soon to be removed from MOOSE (do not use this).
• Axisymmetric coordinates (RZ) set up rotational symmetry around second coordinate component (the former "y" axis), so the domain must be rotated.

• To enable TensorMechanics we need to:
• Declare what the displacement variables should be (disp_r, disp_z)
[GlobalParams]
displacements = 'disp_r disp_z'
[]


• Turn on the TensorMechanics kernels, strain calculator, and displacement variables using the Master action
[Module/TensorMechanics/Master]
[./all]
# This block adds all of the proper Kernels, strain calculators, and Variables
# for TensorMechanics in the correct coordinate system (autodetected)
strain = FINITE
[../]
[]


• Turn on a elastic mechanics material:
[Materials] # blocks use global "displacements" parameter
[./elasticity_tensor]
type = ComputeIsotropicElasticityTensor
youngs_modulus = 200e9 # (Pa) from wikipedia
poissons_ratio = .3 # from wikipedia
block = 0
[../]
[./_elastic_stress]
type = ComputeFiniteStrainElasticStress
block = 0
[../]
[]


The strain calculator for the selected strain formulation and coordinate system is added automatically.

## Tensor Mechanics Input File

step09_mechanics/problems/step9.i