For linear elasticity problems, the Tensor Mechanics module includes a small strain and total strain material ComputeSmallStrain. This material is useful for verifying material models with hand calculations because of the simplified strain calculations.

Linearized small strain theory assumes that the gradient of displacement with respect to position is much smaller than unity, and the squared displacement gradient term is neglected in the small strain definition to give:

$$$$\epsilon = \frac{1}{2} \left( u \nabla + \nabla u \right) \quad when \quad \frac{\partial u}{ \partial x} << 1$$$$

For more details on the linearized small strain assumption and derivation, see a Continuum Mechanics text such as Malvern (1969) or Bower(2012).

Total strain theories are path independent: in MOOSE, path independence means that the total strain, from the beginning of the entire simulation, is used to calculate stress and other material properties. Incremental theories, on the other hand, use the increment of strain at timestep to calculate stress. Because the total strain formulation `ComputeSmallStrain`

is path independent, no old values of strain or stress from the previous timestep are stored in MOOSE. For a comparison of total strain vs incremental strain theories with experimental data, see Shammamy and Sidebottom (1966).

The small and total strain material must be used in conjunction with a linearized elastic stress material, ComputeLinearElasticStress. An example portion of an input file using these two materials is shown below:

# Tensor Mechanics [Materials] [./strain] type = ComputeSmallStrain block = 0 displacements = 'disp_x disp_y disp_z' [../] [./stress] type = ComputeLinearElasticStress block = 0 [../] [./elasticity_tensor] type = ComputeIsotropicElasticityTensor block = 0 poissons_ratio = 0.3 youngs_modulus = 2.1e9 [../] []

Small total strain formulations for 1D spherically symmetric and 2D axisymmetric problems are also included in MOOSE; more information on these specialized materials can be found here.

The material combination `ComputeSmallStrain`

, `ComputeLinearElasticStress`

, and an elasticity tensor material will replace the Solid Mechanics `SolidModel`

or `Elastic`

option `formulation = linear`

. An equivalent solid mechanics input file to the Tensor Mechanics input file shown above is:

# Old Solid Mechanics Version [Materials] [./linelast] type = Elastic block = 0 disp_x = disp_x disp_y = disp_y disp_z = disp_z poissons_ratio = 0.3 youngs_modulus = 2.1e9 formulation = Linear [../] []