Tensor Mechanics Master Action System

Set up stress divergence kernels with coordinate system aware logic

The TensorMechanics Master Action is a convenience object that simplifies part of the mechanics system setup.

It applies to both the current kernel system based on the StressDivergenceTensors kernels and to the new kernel system based on the TotalLagrangianStressDivergence and UpdatedLagrangianStressDivergence kernels. Some options only apply to one or the other system, as outlined below.

It performs

  • Add StressDivergence Kernels (for the current coordinate system) – both systems, only Cartesian coordinates for the Lagrangian kernel system

  • Add WeakPlaneStress Kernel (for weak enforcement of the plane stress condition) – only the StressDivergenceTensors system

  • Add Strain calculation material (for the chosen strain model) – both systems

  • Correctly set use of displaced mesh – both systems

  • Optional: Setup of displacement variables (with the correct order for the current mesh) – both systems

  • Optional: Add AuxVariables and AuxKernels for various tensor components and quantity outputs – both systems

  • Optional: Set up out-of-plane stress/strain consistently – only the StressDivergenceTensors system

  • Optional: Automatic extraction of eigenstrain names from materials and correct application to proper blocks – both systems

  • Optional: Setup cell-average homogenization constraints on the simulation – only the new Lagrangian kernels

Constructed MooseObjects

The Tensor Mechanics Master Action is used to construct the kernels, displacement variables, and strain materials in a consistent manner as required for a continuum mechanics simulation simulation. Optionally it generates aux variables and auxkernels to aid in the output of tensor components and scalar quantities.

For the StressDivergenceTensors Kernels

Table 1: Correspondence Among Action Functionality and MooseObjects for the Tensor Mechanics Master Action, current kernel system

FunctionalityReplaced ClassesAssociated Parameters
Calculate stress divergence equilibrium for the given coordinate systemStressDivergenceTensors and optionally WeakPlaneStress or StressDivergenceRZTensors or StressDivergenceRSphericalTensorsdisplacements : a string of the displacement field variables
Add the displacement variablesVariablesadd_variables: boolean
Calculation of strain for the given coordinate systemComputeFiniteStrain or ComputePlaneFiniteStrain or ComputeAxisymmetric1DFiniteStrain or ComputeAxisymmetricRZFiniteStrainstrain: MooseEnum to select finite or strain formulations
ComputeSmallStrain or ComputePlaneSmallStrain or ComputeAxisymmetric1DSmallStrain or ComputeAxisymmetricRZSmallStrain
ComputeIncrementalStrain or ComputePlaneIncrementalStrain or ComputeAxisymmetric1DIncrementalStrain or ComputeAxisymmetricRZIncrementalStrainincremental : boolean for using a incremental strain formulation
Add AuxVariables and AuxKernels for various tensor component and quantity outputsMaterial Properties as well as AuxVariables and RankTwoAux or RankTwoScalarAux or RankFourAuxgenerate_output: a string of the quantities to add
Add Material Properties for various tensor component and quantity outputsgenerate_output: a string of the quantities to add
Add the optional global strain contribution to the strain calculationCouples the GlobalStrain systemglobal_strain: name of the material property that computes the global strain tensor

Note that there are many variations for the calculation of the stress divergence and the strain measure. Review the theoretical introduction for the Stress Divergence and the Strain Formulations for more information.

For the New Lagrangian Kernel system

Table 2: Correspondence Among Action Functionality and MooseObjects for the Tensor Mechanics Master Action, new kernel system

FunctionalityReplaced ClassesAssociated Parameters
Calculate stress divergence equilibrium for the given coordinate systemTotalLagrangianStressDivergence or UpdatedLagrangianStressDivergencedisplacements : a string of the displacement field variables, formulation : a MooseEnum controlling if the UPDATED or TOTAL Lagrangian formulation is used
Add the displacement variablesVariablesadd_variables: boolean
Calculation of strain for the given coordinate systemComputeLagrangianStrainstrain: MooseEnum to select finite or small kinematic formulations
Add AuxVariables and AuxKernels for various tensor component and quantity outputsMaterial Properties as well as AuxVariables and RankTwoAux or RankTwoScalarAux or RankFourAuxgenerate_output: a string of the quantities to add
Add Material Properties for various tensor component and quantity outputsgenerate_output: a string of the quantities to add
Add the optional homogenization constraintsAdds all objects required to impose the homogenization constraintsconstraint_types : MooseEnum controlling whether strain or stress constraints and imposed, targets : Functions providing the time-dependent targets
warningwarning

automatic_eigenstrain_names = true, the eigenstrain_names will be populated under restrictive conditions for classes such as CompositeEigenstrain, ComputeReducedOrderEigenstrain, and RankTwoTensorMaterialADConverter. The input components for these classes are not included in the "eigenstrain_names" passed to the TensorMechanicsAction. Set the automatic_eigenstrain_names = false and populate this list manually if these components need to be included.

Example Input File Syntax

New Kernel System

The following example sets up the new Lagrangian kernel system with a total Lagrangian formulation for a large displacement kinematics problem.

[Physics]
  [SolidMechanics]
    [QuasiStatic]
      [all]
        strain = SMALL
        add_variables = true
        new_system = true
        formulation = TOTAL
        volumetric_locking_correction = true
        generate_output = 'cauchy_stress_xx cauchy_stress_yy cauchy_stress_zz cauchy_stress_xy cauchy_stress_xz cauchy_stress_yz strain_xx strain_yy strain_zz strain_xy strain_xz strain_yz'
      []
    []
  []
[]
(moose/modules/solid_mechanics/test/tests/lagrangian/cartesian/total/action/action_L.i)

New Kernel System, with Homogenization Constraints

The following uses the action to setup homogenization constraints in a problem using the new kernel system.

[Physics]
  [SolidMechanics]
    [QuasiStatic]
      [all]
        strain = FINITE
        add_variables = true
        new_system = true
        formulation = TOTAL
        volumetric_locking_correction = false
        constraint_types = 'stress strain strain strain stress strain strain strain strain'
        targets = 'stress11 strain21 strain31 strain12 stress22 strain32 strain13 strain23 strain33'
        generate_output = 'pk1_stress_xx pk1_stress_xy pk1_stress_xz pk1_stress_yx pk1_stress_yy pk1_stress_yz pk1_stress_zx pk1_stress_zy pk1_stress_zz deformation_gradient_xx deformation_gradient_xy deformation_gradient_xz deformation_gradient_yx deformation_gradient_yy deformation_gradient_yz deformation_gradient_zx deformation_gradient_zy deformation_gradient_zz'
      []
    []
  []
[]
(moose/modules/solid_mechanics/test/tests/lagrangian/cartesian/total/homogenization/action/action_3d.i)

Subblocks

The subblocks of the Master action are what triggers MOOSE objects to be built. If none of the mechanics is subdomain restricted a single subblock can be used

[Physics]
  [SolidMechanics]
    [QuasiStatic]
      [./all]
        strain = FINITE
        add_variables = true
      [../]
    [../]
  []
[]
(moose/modules/solid_mechanics/test/tests/finite_strain_elastic/finite_strain_elastic_new_test.i)

if different mechanics models are needed, multiple subblocks with subdomain restrictions can be used.

[Physics]
  [SolidMechanics]
    [QuasiStatic]
      # parameters that apply to all subblocks are specified at this level. They
      # can be overwritten in the subblocks.
      add_variables = true
      strain = FINITE
      generate_output = 'stress_xx'

      [./block1]
        # the `block` parameter is only valid insde a subblock.
        block = 1
      [../]
      [./block2]
        block = 2
        # the `additional_generate_output` parameter is also only valid inside a
        # subblock. Values specified here are appended to the `generate_output`
        # parameter values.
        additional_generate_output = 'strain_yy'
      [../]
    []
  []
[]
(moose/modules/solid_mechanics/test/tests/action/two_block_new.i)

Parameters supplied at the [Physics/SolidMechanics/QuasiStatic] level act as defaults for the Master action subblocks.

Input Parameters

  • 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)

    Options:strain, stress, none

    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)

    Options:TaylorExpansion, EigenSolution, HughesWinget

    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)

    Options:TOTAL, UPDATED

    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

  • 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

Optional 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)

    Options:cauchy_stress_xx, cauchy_stress_xy, cauchy_stress_xz, cauchy_stress_yx, cauchy_stress_yy, cauchy_stress_yz, cauchy_stress_zx, cauchy_stress_zy, cauchy_stress_zz, creep_strain_xx, creep_strain_xy, creep_strain_xz, creep_strain_yx, creep_strain_yy, creep_strain_yz, creep_strain_zx, creep_strain_zy, creep_strain_zz, creep_stress_xx, creep_stress_xy, creep_stress_xz, creep_stress_yx, creep_stress_yy, creep_stress_yz, creep_stress_zx, creep_stress_zy, creep_stress_zz, deformation_gradient_xx, deformation_gradient_xy, deformation_gradient_xz, deformation_gradient_yx, deformation_gradient_yy, deformation_gradient_yz, deformation_gradient_zx, deformation_gradient_zy, deformation_gradient_zz, elastic_strain_xx, elastic_strain_xy, elastic_strain_xz, elastic_strain_yx, elastic_strain_yy, elastic_strain_yz, elastic_strain_zx, elastic_strain_zy, elastic_strain_zz, mechanical_strain_xx, mechanical_strain_xy, mechanical_strain_xz, mechanical_strain_yx, mechanical_strain_yy, mechanical_strain_yz, mechanical_strain_zx, mechanical_strain_zy, mechanical_strain_zz, pk1_stress_xx, pk1_stress_xy, pk1_stress_xz, pk1_stress_yx, pk1_stress_yy, pk1_stress_yz, pk1_stress_zx, pk1_stress_zy, pk1_stress_zz, pk2_stress_xx, pk2_stress_xy, pk2_stress_xz, pk2_stress_yx, pk2_stress_yy, pk2_stress_yz, pk2_stress_zx, pk2_stress_zy, pk2_stress_zz, plastic_strain_xx, plastic_strain_xy, plastic_strain_xz, plastic_strain_yx, plastic_strain_yy, plastic_strain_yz, plastic_strain_zx, plastic_strain_zy, plastic_strain_zz, small_stress_xx, small_stress_xy, small_stress_xz, small_stress_yx, small_stress_yy, small_stress_yz, small_stress_zx, small_stress_zy, small_stress_zz, strain_xx, strain_xy, strain_xz, strain_yx, strain_yy, strain_yz, strain_zx, strain_zy, strain_zz, stress_xx, stress_xy, stress_xz, stress_yx, stress_yy, stress_yz, stress_zx, stress_zy, stress_zz, effective_plastic_strain, effective_creep_strain, firstinv_stress, firstinv_cauchy_stress, firstinv_pk1_stress, firstinv_pk2_stress, firstinv_small_stress, firstinv_strain, hydrostatic_stress, hydrostatic_cauchy_stress, hydrostatic_pk1_stress, hydrostatic_pk2_stress, hydrostatic_small_stress, intensity_stress, intensity_cauchy_stress, intensity_pk1_stress, intensity_pk2_stress, intensity_small_stress, l2norm_mechanical_strain, l2norm_stress, l2norm_cauchy_stress, l2norm_pk1_stress, l2norm_strain, l2norm_elastic_strain, l2norm_plastic_strain, l2norm_creep_strain, max_principal_mechanical_strain, max_principal_stress, max_principal_cauchy_stress, max_principal_pk1_stress, max_principal_pk2_stress, max_principal_small_stress, max_principal_strain, maxshear_stress, maxshear_cauchy_stress, maxshear_pk1_stress, maxshear_pk2_stress, maxshear_small_stress, mid_principal_mechanical_strain, mid_principal_stress, mid_principal_cauchy_stress, mid_principal_pk1_stress, mid_principal_pk2_stress, mid_principal_small_stress, mid_principal_strain, min_principal_mechanical_strain, min_principal_stress, min_principal_cauchy_stress, min_principal_pk1_stress, min_principal_pk2_stress, min_principal_small_stress, min_principal_strain, secondinv_stress, secondinv_cauchy_stress, secondinv_pk1_stress, secondinv_pk2_stress, secondinv_small_stress, secondinv_strain, thirdinv_stress, thirdinv_cauchy_stress, thirdinv_pk1_stress, thirdinv_pk2_stress, thirdinv_small_stress, thirdinv_strain, triaxiality_stress, triaxiality_cauchy_stress, triaxiality_pk1_stress, triaxiality_pk2_stress, triaxiality_small_stress, volumetric_mechanical_strain, volumetric_strain, vonmises_stress, vonmises_cauchy_stress, vonmises_pk1_stress, vonmises_pk2_stress, directional_stress, directional_strain, axial_stress, axial_strain, axial_plastic_strain, axial_creep_strain, axial_elastic_strain, hoop_stress, hoop_strain, hoop_plastic_strain, hoop_creep_strain, hoop_elastic_strain, radial_stress, radial_strain, spherical_hoop_stress, spherical_hoop_strain, spherical_hoop_plastic_strain, spherical_hoop_creep_strain, spherical_hoop_elastic_strain, spherical_radial_stress, spherical_radial_strain

    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)

    Options:MONOMIAL, LAGRANGE

    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)

    Options:CONSTANT, FIRST, SECOND, THIRD, FOURTH, FIFTH, SIXTH, SEVENTH, EIGHTH, NINTH

    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)

    Options:cauchy_stress_xx, cauchy_stress_xy, cauchy_stress_xz, cauchy_stress_yx, cauchy_stress_yy, cauchy_stress_yz, cauchy_stress_zx, cauchy_stress_zy, cauchy_stress_zz, creep_strain_xx, creep_strain_xy, creep_strain_xz, creep_strain_yx, creep_strain_yy, creep_strain_yz, creep_strain_zx, creep_strain_zy, creep_strain_zz, creep_stress_xx, creep_stress_xy, creep_stress_xz, creep_stress_yx, creep_stress_yy, creep_stress_yz, creep_stress_zx, creep_stress_zy, creep_stress_zz, deformation_gradient_xx, deformation_gradient_xy, deformation_gradient_xz, deformation_gradient_yx, deformation_gradient_yy, deformation_gradient_yz, deformation_gradient_zx, deformation_gradient_zy, deformation_gradient_zz, elastic_strain_xx, elastic_strain_xy, elastic_strain_xz, elastic_strain_yx, elastic_strain_yy, elastic_strain_yz, elastic_strain_zx, elastic_strain_zy, elastic_strain_zz, mechanical_strain_xx, mechanical_strain_xy, mechanical_strain_xz, mechanical_strain_yx, mechanical_strain_yy, mechanical_strain_yz, mechanical_strain_zx, mechanical_strain_zy, mechanical_strain_zz, pk1_stress_xx, pk1_stress_xy, pk1_stress_xz, pk1_stress_yx, pk1_stress_yy, pk1_stress_yz, pk1_stress_zx, pk1_stress_zy, pk1_stress_zz, pk2_stress_xx, pk2_stress_xy, pk2_stress_xz, pk2_stress_yx, pk2_stress_yy, pk2_stress_yz, pk2_stress_zx, pk2_stress_zy, pk2_stress_zz, plastic_strain_xx, plastic_strain_xy, plastic_strain_xz, plastic_strain_yx, plastic_strain_yy, plastic_strain_yz, plastic_strain_zx, plastic_strain_zy, plastic_strain_zz, small_stress_xx, small_stress_xy, small_stress_xz, small_stress_yx, small_stress_yy, small_stress_yz, small_stress_zx, small_stress_zy, small_stress_zz, strain_xx, strain_xy, strain_xz, strain_yx, strain_yy, strain_yz, strain_zx, strain_zy, strain_zz, stress_xx, stress_xy, stress_xz, stress_yx, stress_yy, stress_yz, stress_zx, stress_zy, stress_zz, effective_plastic_strain, effective_creep_strain, firstinv_stress, firstinv_cauchy_stress, firstinv_pk1_stress, firstinv_pk2_stress, firstinv_small_stress, firstinv_strain, hydrostatic_stress, hydrostatic_cauchy_stress, hydrostatic_pk1_stress, hydrostatic_pk2_stress, hydrostatic_small_stress, intensity_stress, intensity_cauchy_stress, intensity_pk1_stress, intensity_pk2_stress, intensity_small_stress, l2norm_mechanical_strain, l2norm_stress, l2norm_cauchy_stress, l2norm_pk1_stress, l2norm_strain, l2norm_elastic_strain, l2norm_plastic_strain, l2norm_creep_strain, max_principal_mechanical_strain, max_principal_stress, max_principal_cauchy_stress, max_principal_pk1_stress, max_principal_pk2_stress, max_principal_small_stress, max_principal_strain, maxshear_stress, maxshear_cauchy_stress, maxshear_pk1_stress, maxshear_pk2_stress, maxshear_small_stress, mid_principal_mechanical_strain, mid_principal_stress, mid_principal_cauchy_stress, mid_principal_pk1_stress, mid_principal_pk2_stress, mid_principal_small_stress, mid_principal_strain, min_principal_mechanical_strain, min_principal_stress, min_principal_cauchy_stress, min_principal_pk1_stress, min_principal_pk2_stress, min_principal_small_stress, min_principal_strain, secondinv_stress, secondinv_cauchy_stress, secondinv_pk1_stress, secondinv_pk2_stress, secondinv_small_stress, secondinv_strain, thirdinv_stress, thirdinv_cauchy_stress, thirdinv_pk1_stress, thirdinv_pk2_stress, thirdinv_small_stress, thirdinv_strain, triaxiality_stress, triaxiality_cauchy_stress, triaxiality_pk1_stress, triaxiality_pk2_stress, triaxiality_small_stress, volumetric_mechanical_strain, volumetric_strain, vonmises_stress, vonmises_cauchy_stress, vonmises_pk1_stress, vonmises_pk2_stress, directional_stress, directional_strain, axial_stress, axial_strain, axial_plastic_strain, axial_creep_strain, axial_elastic_strain, hoop_stress, hoop_strain, hoop_plastic_strain, hoop_creep_strain, hoop_elastic_strain, radial_stress, radial_strain, spherical_hoop_stress, spherical_hoop_strain, spherical_hoop_plastic_strain, spherical_hoop_creep_strain, spherical_hoop_elastic_strain, spherical_radial_stress, spherical_radial_strain

    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)

    Options:MONOMIAL, LAGRANGE

    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)

    Options:CONSTANT, FIRST, SECOND, THIRD, FOURTH, FIFTH, SIXTH, SEVENTH, EIGHTH, NINTH

    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)

    Options:SMALL, FINITE

    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)

    Options:x, y, z

    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)

    Options:NONE, WEAK_PLANE_STRESS, PLANE_STRAIN, GENERALIZED_PLANE_STRAIN

    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