The MOOSE tensor mechanics module is a library for simplifying the implementation of simulation tools that solve mechanics problems. It provides a simple approach for implementing even advanced mechanics models.
MOOSE has two mechanics modules: "tensor mechanics" and "solid mechanics". However, we are moving towards combining the two approaches over the next few months. The differences between the two modules are summarized in the following table.
|Tensor mechanics||Solid mechanics|
|Rank-two tensors are treated as general rank-two tensors||Rank-two tensors are treated as length 6 vectors|
|Elasticity tensor is treated as a rank-four tensor||Elasticity tensor is treated as a 6 by 6 matrix|
|Materials are typically treated as anisotropic||Materials are typically treated as isotropic|
|Used for both mesoscale and macroscale simulations||Undergoing deprecation; primarily used for macroscale simulations|
|Under development by various MOOSE-users at different institutions||Undergoing deprecation; primarily under development by the BISON team|
The plasticity models in the Tensor Mechanics module are described in the following sections. Each is valid for finite strains, and each has Hardening and Softening:
It is quite easy to add more UserObject based plasticity models to Tensor Mechanics. These are added as GeneralUserObjects: see How to add UserObject plasticity models. If desired, a user can then combine the new plasticity model with any other existing plasticity models in a multi-surface simulation without any further work.
In addition to the User Object based plasticity models, another set of plasticity and creep material models have been developed with the Discrete Material class, which allows for iterations within the material itself. These iterative materials are designated by
Recompute at the start of the class name.
The primary development of these Recompute material classes has been in the migration of code capabilities from Solid Mechanics to Tensor Mechanics. These classes use a Radial Return von Mises, or J2, approach to determine the inelastic (plastic or creep) strain increments at each time step. The advantage of the recompute materials is the ability to combine multiple inelastic stress calculations, such as creep and plasticity.
For examples of how to use TensorMechanics, please see the tensor_mechanics/tests directory. For instance, tensor_mechanics/tests/mohr_coulomb/uni_axial2.i contains an example of a uniaxial compression test where shear bands form, and this is described in the page Mohr-Coulomb: nonassociative