Integrator::Mechanics ===================== :bdg-link-secondary-line:`src/Integrator/Mechanics.H <../../doxygen/Mechanics_8H_source.html>` This is a general purpose integrator that focuses on solving elasticity/mechanics equations in the absence of other multiphysics simulations. It is enabled by :code:`alamo.program=mechanics` if used on its own, in which case there is no prefix. If it is being used by another integrator, see that integrator to determine the value of :code:`[prefix]` (often equal to :code:`elastic`). This integrator inherits from :ref:`Integrator::Base::Mechanics`; see documentation for that integrator for additional parameters. :bdg-primary-line:`Model setup` There are two basic tools for setting up a mechanics problem in this integrator. 1. The :code:`eta` field: this is used to mix models of different types. Use :code:`nmodels` to specify how many material models to use, and then specify each model as :code:`model1`, :code:`model2`, etc. The type of moel is specified using the :code:`alamo.program.mechanics.model` input. Once you have done this, you must determine the spatial distribution of each model. This is done by choosing an IC for the eta field with :code:`ic.type`. The :code:`IC::Expression` is the most general and recommended. The models are then mixed linearly, i.e. .. math:: W_{\textrm{eff}} = \sum_{i=1}^N W_i\,\eta_i(\mathbf{x}) See the :ref:`Eshelby` test for an example of model mixing. 2. The :code:`psi` field: this is used specifically for cases where a "void" region is desired. Its usage is similar to the :code:`eta` case, and is conceptually similar in that it scales the model field to near-zero in order to mimic the (lack of) mechanical behavior in an empty region. It is important to use :code:`psi` here, for reasons that are discussed in detail in `this paper `__. The initialization of :code:`psi` is similar to that for :code:`eta`. See the :ref:`PlateHole` and :ref:`RubberPlateHole` for canonical exmaples. The :ref:`Integrator::Fracture` and :ref:`Integrator::TopOp` integrators are examples of integrators that leverage the psi property. :bdg-primary-line:`Body forces` currently have limited support due to the relatively low number of times they are needed. See the :ref:`Integrator::Base::Mechanics` documentation for detail. See the :ref:`TrigTest` test for examples of current body force implementation. :bdg-primary-line:`Boundary conditions` are implemented using the :ref:`BC::Operator::Elastic` classes. See the documentation on these classes for more detail. See any of the mechanics-based tests for examples of boundary condition application. .. raw:: html
nmodels
1 conditional

Number of elastic model varieties

Names by executable 4 executables, 4 uses
mechanics-2d-coverage-g++
nmodels
mechanics-3d-coverage-g++
nmodels
thermoelastic-2d-coverage-g++
el.nmodels
thermoelastic-3d-coverage-g++
el.nmodels
model
repeatable conditional

No documentation available.

Names by executable 4 executables, 4 uses
mechanics-2d-coverage-g++
model
mechanics-3d-coverage-g++
model
thermoelastic-2d-coverage-g++
el.model
thermoelastic-3d-coverage-g++
el.model
eta_ref_threshold
0.01 conditional

Refinement threshold for eta field

Names by executable 4 executables, 4 uses
mechanics-2d-coverage-g++
eta_ref_threshold
mechanics-3d-coverage-g++
eta_ref_threshold
thermoelastic-2d-coverage-g++
el.eta_ref_threshold
thermoelastic-3d-coverage-g++
el.eta_ref_threshold
ref_threshold
0.01 conditional

Refinement threshold for strain gradient

Names by executable 4 executables, 4 uses
mechanics-2d-coverage-g++
ref_threshold
mechanics-3d-coverage-g++
ref_threshold
thermoelastic-2d-coverage-g++
el.ref_threshold
thermoelastic-3d-coverage-g++
el.ref_threshold
model_neumann_boundary
0 1 conditional

Explicity impose neumann condition on model at domain boundaries (2d only)

Names by executable 4 executables, 4 uses
mechanics-2d-coverage-g++
model_neumann_boundary
mechanics-3d-coverage-g++
model_neumann_boundary
thermoelastic-2d-coverage-g++
el.model_neumann_boundary
thermoelastic-3d-coverage-g++
el.model_neumann_boundary