- absolute_value_vector_tagsThe tag names for extra vectors that the absolute value of the residual should be accumulated into
C++ Type:std::vector<TagName>
Unit:(no unit assumed)
Controllable:No
Description:The tag names for extra vectors that the absolute value of the residual should be accumulated into
- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:If specified only the blocks named will be visited and made active
- base_nameMaterial property base name
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:Material property base name
- constraint_typesType of each constraint: stress or strain.
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Type of each constraint: stress or strain.
- decomposition_methodTaylorExpansionMethods to calculate the finite strain and rotation increments
Default:TaylorExpansion
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Methods to calculate the finite strain and rotation increments
- extra_vector_tagsThe tag names for extra vectors that residual data should be saved into
C++ Type:std::vector<TagName>
Unit:(no unit assumed)
Controllable:No
Description:The tag names for extra vectors that residual data should be saved into
- formulationTOTALSelect between the total Lagrangian (TOTAL) and updated Lagrangian (UPDATED) formulations for the new kernel system.
Default:TOTAL
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Select between the total Lagrangian (TOTAL) and updated Lagrangian (UPDATED) formulations for the new kernel system.
- global_strainName of the global strain material to be applied in this strain calculation. The global strain tensor is constant over the whole domain and allows visualization of the deformed shape with the periodic BC
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:Name of the global strain material to be applied in this strain calculation. The global strain tensor is constant over the whole domain and allows visualization of the deformed shape with the periodic BC
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:If specified blocks matching these identifiers will be skipped.
- new_systemFalseIf true use the new LagrangianStressDiverence kernels.
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:If true use the new LagrangianStressDiverence kernels.
- targetsFunctions giving the target values of each constraint.
C++ Type:std::vector<FunctionName>
Unit:(no unit assumed)
Controllable:No
Description:Functions giving the target values of each constraint.
- use_automatic_differentiationFalseFlag to use automatic differentiation (AD) objects when possible
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Flag to use automatic differentiation (AD) objects when possible
- use_displaced_meshFalseWhether to use displaced mesh in the kernels
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Whether to use displaced mesh in the kernels
- verboseFalseDisplay extra information.
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Display extra information.
- volumetric_locking_correctionFalseFlag to correct volumetric locking
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Flag to correct volumetric locking
Legacy Kernel-Only Tensor Mechanics Action
Set up stress divergence kernels with coordinate system aware logic
This legacy action is deprecated in favor of the new SolidMechanics/QuasiStatic syntax. See the description, example use, and parameters on the SolidMechanics/QuasiStatic action system page.
Description
The LegacyTensorMechanicsAction
is a convenience object that simplifies part of the solid mechanics system setup. It adds StressDivergence Kernels (for the current coordinate system).
Constructed MooseObjects
The Legacy Solid Mechanics Action is used to construct the kernels for the specified coordinate system.
Functionality | Replaced Classes | Associated Parameters |
---|---|---|
Calculate stress divergence equilibrium for the given coordinate system | StressDivergenceTensors or StressDivergenceRZTensors or StressDivergenceRSphericalTensors | displacements : a string of the displacement field variables |
Note that there are many variations for the calculation of the stress divergence. Review the theoretical introduction for the Stress Divergence. Pay particular attention to the setting of the use_displaced_mesh
parameter discussion; this parameter depends on the strain formulation used in the simulation.
We recommend that users employ the SolidMechanics/QuasiStatic whenever possible to ensure consistency between the test function gradients and the strain formulation selected.
Example Input File Syntax
[Kernels]
[SolidMechanics]
use_displaced_mesh = true
[../]
[]
(moose/modules/solid_mechanics/test/tests/elastic_patch/elastic_patch.i)Input Parameters
- add_variablesFalseAdd the displacement variables
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Add the displacement variables
- displacementsThe nonlinear displacement variables for the problem
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The nonlinear displacement variables for the problem
- scalingThe scaling to apply to the displacement variables
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The scaling to apply to the displacement variables
- temperatureThe temperature
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The temperature
Variables Parameters
- additional_generate_outputAdd scalar quantity output for stress and/or strain (will be appended to the list in `generate_output`)
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Add scalar quantity output for stress and/or strain (will be appended to the list in `generate_output`)
- additional_material_output_familySpecifies the family of FE shape functions to use for this variable.
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Specifies the family of FE shape functions to use for this variable.
- additional_material_output_orderSpecifies the order of the FE shape function to use for this variable.
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Specifies the order of the FE shape function to use for this variable.
- generate_outputAdd scalar quantity output for stress and/or strain
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Add scalar quantity output for stress and/or strain
- material_output_familySpecifies the family of FE shape functions to use for this variable.
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Specifies the family of FE shape functions to use for this variable.
- material_output_orderSpecifies the order of the FE shape function to use for this variable.
C++ Type:MultiMooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Specifies the order of the FE shape function to use for this variable.
Output Parameters
- automatic_eigenstrain_namesFalseCollects all material eigenstrains and passes to required strain calculator within TMA internally.
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Collects all material eigenstrains and passes to required strain calculator within TMA internally.
- eigenstrain_namesList of eigenstrains to be applied in this strain calculation
C++ Type:std::vector<MaterialPropertyName>
Unit:(no unit assumed)
Controllable:No
Description:List of eigenstrains to be applied in this strain calculation
- incrementalFalseUse incremental or total strain (if not explicitly specified this defaults to incremental for finite strain and total for small strain)
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Use incremental or total strain (if not explicitly specified this defaults to incremental for finite strain and total for small strain)
- strainSMALLStrain formulation
Default:SMALL
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Strain formulation
- strain_base_nameThe base name used for the strain. If not provided, it will be set equal to base_name
C++ Type:std::string
Unit:(no unit assumed)
Controllable:No
Description:The base name used for the strain. If not provided, it will be set equal to base_name
- use_finite_deform_jacobianFalseJacobian for corrotational finite strain
Default:False
C++ Type:bool
Unit:(no unit assumed)
Controllable:No
Description:Jacobian for corrotational finite strain
Strain Parameters
- blockThe list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to
C++ Type:std::vector<SubdomainName>
Unit:(no unit assumed)
Controllable:No
Description:The list of ids of the blocks (subdomain) that the stress divergence kernels will be applied to
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Unit:(no unit assumed)
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- diag_save_inThe displacement diagonal preconditioner terms
C++ Type:std::vector<AuxVariableName>
Unit:(no unit assumed)
Controllable:No
Description:The displacement diagonal preconditioner terms
- save_inThe displacement residuals
C++ Type:std::vector<AuxVariableName>
Unit:(no unit assumed)
Controllable:No
Description:The displacement residuals
Advanced Parameters
- cylindrical_axis_point1Starting point for direction of axis of rotation for cylindrical stress/strain.
C++ Type:libMesh::Point
Unit:(no unit assumed)
Controllable:No
Description:Starting point for direction of axis of rotation for cylindrical stress/strain.
- cylindrical_axis_point2Ending point for direction of axis of rotation for cylindrical stress/strain.
C++ Type:libMesh::Point
Unit:(no unit assumed)
Controllable:No
Description:Ending point for direction of axis of rotation for cylindrical stress/strain.
- directionDirection stress/strain is calculated in
C++ Type:libMesh::Point
Unit:(no unit assumed)
Controllable:No
Description:Direction stress/strain is calculated in
- spherical_center_pointCenter point of the spherical coordinate system.
C++ Type:libMesh::Point
Unit:(no unit assumed)
Controllable:No
Description:Center point of the spherical coordinate system.
Coordinate System Parameters
- out_of_plane_directionzThe direction of the out-of-plane strain.
Default:z
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:The direction of the out-of-plane strain.
- out_of_plane_pressure_functionFunction used to prescribe pressure (applied toward the body) in the out-of-plane direction (y for 1D Axisymmetric or z for 2D Cartesian problems)
C++ Type:FunctionName
Unit:(no unit assumed)
Controllable:No
Description:Function used to prescribe pressure (applied toward the body) in the out-of-plane direction (y for 1D Axisymmetric or z for 2D Cartesian problems)
- out_of_plane_pressure_material0Material used to prescribe pressure (applied toward the body) in the out-of-plane direction
Default:0
C++ Type:MaterialPropertyName
Unit:(no unit assumed)
Controllable:No
Description:Material used to prescribe pressure (applied toward the body) in the out-of-plane direction
- out_of_plane_strainVariable for the out-of-plane strain for plane stress models
C++ Type:VariableName
Unit:(no unit assumed)
Controllable:No
Description:Variable for the out-of-plane strain for plane stress models
- planar_formulationNONEOut-of-plane stress/strain formulation
Default:NONE
C++ Type:MooseEnum
Unit:(no unit assumed)
Controllable:No
Description:Out-of-plane stress/strain formulation
- pressure_factorScale factor applied to prescribed out-of-plane pressure (both material and function)
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Scale factor applied to prescribed out-of-plane pressure (both material and function)
- scalar_out_of_plane_strainScalar variable for the out-of-plane strain (in y direction for 1D Axisymmetric or in z direction for 2D Cartesian problems)
C++ Type:VariableName
Unit:(no unit assumed)
Controllable:No
Description:Scalar variable for the out-of-plane strain (in y direction for 1D Axisymmetric or in z direction for 2D Cartesian problems)
Out-Of-Plane Stress/Strain Parameters
Associated Actions
Available Actions
- Solid Mechanics App
- LegacyTensorMechanicsActionSet up stress divergence kernels with coordinate system aware logic