Integrator::Mechanics
This is a general purpose integrator that focuses on solving
elasticity/mechanics equations in the absence of other multiphysics
simulations.
It is enabled by 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 [prefix] (often equal to elastic).
This integrator inherits from Integrator::Base::Mechanics; see documentation for that integrator for additional parameters.
Model setup There are two basic tools for setting up a mechanics problem in this integrator.
The
etafield: this is used to mix models of different types. Usenmodelsto specify how many material models to use, and then specify each model asmodel1,model2, etc. The type of moel is specified using thealamo.program.mechanics.modelinput.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
ic.type. TheIC::Expressionis the most general and recommended. The models are then mixed linearly, i.e.\[W_{\textrm{eff}} = \sum_{i=1}^N W_i\,\eta_i(\mathbf{x})\]See the Eshelby test for an example of model mixing.
The
psifield: this is used specifically for cases where a “void” region is desired. Its usage is similar to theetacase, 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 usepsihere, for reasons that are discussed in detail in this paper. The initialization ofpsiis similar to that foreta.See the PlateHole and RubberPlateHole for canonical exmaples. The Integrator::Fracture and Integrator::TopOp integrators are examples of integrators that leverage the psi property.
Body forces currently have limited support due to the relatively low number of times they are needed. See the Integrator::Base::Mechanics documentation for detail. See the TrigTest test for examples of current body force implementation.
Boundary conditions are implemented using the 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.
nmodels
Number of elastic model varieties
Names by executable 4 executables, 4 uses
nmodels
nmodels
el.nmodels
el.nmodels
model
No documentation available.
Names by executable 4 executables, 4 uses
model
model
el.model
el.model
eta_ref_threshold
Refinement threshold for eta field
Names by executable 4 executables, 4 uses
eta_ref_threshold
eta_ref_threshold
el.eta_ref_threshold
el.eta_ref_threshold
ref_threshold
Refinement threshold for strain gradient
Names by executable 4 executables, 4 uses
ref_threshold
ref_threshold
el.ref_threshold
el.ref_threshold
model_neumann_boundary
Explicity impose neumann condition on model at domain boundaries (2d only)
Names by executable 4 executables, 4 uses
model_neumann_boundary
model_neumann_boundary
el.model_neumann_boundary
el.model_neumann_boundary