- AyFirst moment of area of the beam about y axis. Can be supplied as either a number or a variable name.
C++ Type:std::vector<VariableName>
Controllable:No
Description:First moment of area of the beam about y axis. Can be supplied as either a number or a variable name.
- AzFirst moment of area of the beam about z axis. Can be supplied as either a number or a variable name.
C++ Type:std::vector<VariableName>
Controllable:No
Description:First moment of area of the beam about z axis. Can be supplied as either a number or a variable name.
- IxSecond moment of area of the beam about x axis. Can be supplied as either a number or a variable name.
C++ Type:std::vector<VariableName>
Controllable:No
Description:Second moment of area of the beam about x axis. Can be supplied as either a number or a variable name.
- IySecond moment of area of the beam about y axis. Can be supplied as either a number or a variable name.
C++ Type:std::vector<VariableName>
Controllable:No
Description:Second moment of area of the beam about y axis. Can be supplied as either a number or a variable name.
- IzSecond moment of area of the beam about z axis. Can be supplied as either a number or a variable name.
C++ Type:std::vector<VariableName>
Controllable:No
Description:Second moment of area of the beam about z axis. Can be supplied as either a number or a variable name.
- accelerationsTranslational acceleration variables
C++ Type:std::vector<VariableName>
Controllable:No
Description:Translational acceleration variables
- active__all__ If specified only the blocks named will be visited and made active
Default:__all__
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified only the blocks named will be visited and made active
- add_dynamic_variablesFalseAdds translational and rotational velocity and acceleration aux variables and sets up the corresponding AuxKernels for calculating these variables using Newmark time integration. When dynamic_consistent_inertia, dynamic_nodal_rotational_inertia or dynamic_nodal_translational_inertia are set to true, these variables are automatically set up.
Default:False
C++ Type:bool
Controllable:No
Description:Adds translational and rotational velocity and acceleration aux variables and sets up the corresponding AuxKernels for calculating these variables using Newmark time integration. When dynamic_consistent_inertia, dynamic_nodal_rotational_inertia or dynamic_nodal_translational_inertia are set to true, these variables are automatically set up.
- add_variablesFalseAdd the displacement variables for truss elements and both displacement and rotation variables for beam elements.
Default:False
C++ Type:bool
Controllable:No
Description:Add the displacement variables for truss elements and both displacement and rotation variables for beam elements.
- alpha0alpha parameter for mass dependent numerical damping induced by HHT time integration scheme
Default:0
C++ Type:double
Controllable:No
Description:alpha parameter for mass dependent numerical damping induced by HHT time integration scheme
- areaCross-section area of the beam. Can be supplied as either a number or a variable name.
C++ Type:std::vector<VariableName>
Controllable:No
Description:Cross-section area of the beam. Can be supplied as either a number or a variable name.
- betabeta parameter for Newmark Time integration
C++ Type:double
Controllable:No
Description:beta parameter for Newmark Time integration
- boundaryThe list of boundary IDs from the mesh where the nodal mass/inertia will be applied.
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:The list of boundary IDs from the mesh where the nodal mass/inertia will be applied.
- control_tagsAdds user-defined labels for accessing object parameters via control logic.
C++ Type:std::vector<std::string>
Controllable:No
Description:Adds user-defined labels for accessing object parameters via control logic.
- densityName of Material Property or a constant real number defining the density of the beam.
C++ Type:MaterialPropertyName
Controllable:No
Description:Name of Material Property or a constant real number defining the density of the beam.
- diag_save_inThe displacement and rotational diagonal preconditioner terms
C++ Type:std::vector<AuxVariableName>
Controllable:No
Description:The displacement and rotational diagonal preconditioner terms
- displacementsThe nonlinear displacement variables for the problem
C++ Type:std::vector<VariableName>
Controllable:No
Description:The nonlinear displacement variables for the problem
- dynamic_consistent_inertiaFalseIf set to true, consistent mass and inertia matrices are used for the inertial force/torque calculations.
Default:False
C++ Type:bool
Controllable:No
Description:If set to true, consistent mass and inertia matrices are used for the inertial force/torque calculations.
- dynamic_nodal_rotational_inertiaFalseIf set to true, nodal inertia matrix is used for the inertial torque calculation.
Default:False
C++ Type:bool
Controllable:No
Description:If set to true, nodal inertia matrix is used for the inertial torque calculation.
- dynamic_nodal_translational_inertiaFalseIf set to true, nodal mass matrix is used for the inertial force calculation.
Default:False
C++ Type:bool
Controllable:No
Description:If set to true, nodal mass matrix is used for the inertial force calculation.
- eigenstrain_namesList of beam eigenstrains to be applied in this strain calculation.
C++ Type:std::vector<MaterialPropertyName>
Controllable:No
Description:List of beam eigenstrains to be applied in this strain calculation.
- eta0Name of material property or a constant real number defining the eta parameter for mass proportional Rayleigh damping.
Default:0
C++ Type:MaterialPropertyName
Controllable:No
Description:Name of material property or a constant real number defining the eta parameter for mass proportional Rayleigh damping.
- gammagamma parameter for Newmark Time integration
C++ Type:double
Controllable:No
Description:gamma parameter for Newmark Time integration
- inactiveIf specified blocks matching these identifiers will be skipped.
C++ Type:std::vector<std::string>
Controllable:No
Description:If specified blocks matching these identifiers will be skipped.
- nodal_IxxNodal moment of inertia in the x direction.
C++ Type:double
Controllable:No
Description:Nodal moment of inertia in the x direction.
- nodal_Ixy0Nodal moment of inertia in the xy direction.
Default:0
C++ Type:double
Controllable:No
Description:Nodal moment of inertia in the xy direction.
- nodal_Ixz0Nodal moment of inertia in the xz direction.
Default:0
C++ Type:double
Controllable:No
Description:Nodal moment of inertia in the xz direction.
- nodal_IyyNodal moment of inertia in the y direction.
C++ Type:double
Controllable:No
Description:Nodal moment of inertia in the y direction.
- nodal_Iyz0Nodal moment of inertia in the yz direction.
Default:0
C++ Type:double
Controllable:No
Description:Nodal moment of inertia in the yz direction.
- nodal_IzzNodal moment of inertia in the z direction.
C++ Type:double
Controllable:No
Description:Nodal moment of inertia in the z direction.
- nodal_massMass associated with the node
C++ Type:double
Controllable:No
Description:Mass associated with the node
- nodal_mass_fileThe file containing the nodal positions and the corresponding nodal masses.
C++ Type:FileName
Controllable:No
Description:The file containing the nodal positions and the corresponding nodal masses.
- nodal_x_orientationUnit vector along the x direction if different from global x direction.
C++ Type:libMesh::VectorValue<double>
Controllable:No
Description:Unit vector along the x direction if different from global x direction.
- nodal_y_orientationUnit vector along the y direction if different from global y direction.
C++ Type:libMesh::VectorValue<double>
Controllable:No
Description:Unit vector along the y direction if different from global y direction.
- rotation_typeSMALLRotation formulation
Default:SMALL
C++ Type:MooseEnum
Controllable:No
Description:Rotation formulation
- rotational_accelerationsRotational acceleration variables
C++ Type:std::vector<VariableName>
Controllable:No
Description:Rotational acceleration variables
- rotational_velocitiesRotational velocity variables
C++ Type:std::vector<VariableName>
Controllable:No
Description:Rotational velocity variables
- rotationsThe rotations appropriate for the simulation geometry and coordinate system
C++ Type:std::vector<VariableName>
Controllable:No
Description:The rotations appropriate for the simulation geometry and coordinate system
- save_inThe displacement and rotational residuals
C++ Type:std::vector<AuxVariableName>
Controllable:No
Description:The displacement and rotational residuals
- strain_typeSMALLStrain formulation
Default:SMALL
C++ Type:MooseEnum
Controllable:No
Description:Strain formulation
- trussFalseSet to true if the line elements are truss elements instead of the default beam elements.
Default:False
C++ Type:bool
Controllable:No
Description:Set to true if the line elements are truss elements instead of the default beam elements.
- use_displaced_meshFalseWhether to use displaced mesh in the kernels
Default:False
C++ Type:bool
Controllable:No
Description:Whether to use displaced mesh in the kernels
- velocitiesTranslational velocity variables
C++ Type:std::vector<VariableName>
Controllable:No
Description:Translational velocity variables
- y_orientationOrientation of the y direction along which Iyy is provided. This should be perpendicular to the axis of the beam.
C++ Type:libMesh::VectorValue<double>
Controllable:No
Description:Orientation of the y direction along which Iyy is provided. This should be perpendicular to the axis of the beam.
- zeta0Name of material property or a constant real number defining the zeta parameter for stiffness proportional Rayleigh damping.
Default:0
C++ Type:MaterialPropertyName
Controllable:No
Description:Name of material property or a constant real number defining the zeta parameter for stiffness proportional Rayleigh damping.
Line Element Action System
Sets up variables, stress divergence kernels and materials required for a static analysis with beam or truss elements. Also sets up aux variables, aux kernels, and consistent or nodal inertia kernels for dynamic analysis with beam elements.
Description
The LineElement Action is a convenience object that simplifies part of the mechanics/dynamics system setup for beam or truss elements.
Truss Elements: Constructed MooseObjects
The LineElement
Action can be used to construct the kernels, strain materials, and displacement variables for a simulation using Truss Elements.
A truss element is chosen by setting truss = true
in the input block.
Functionality | Replaced Classes | Associated Parameters |
---|---|---|
Create truss elements | (none) | truss = true |
Add the displacement variables | Variables | add_variables : boolean |
Calculation of stress divergence for a Truss element | StressDivergenceTensorsTruss | displacements : a string of the displacement variables |
Example Input Syntax (Truss Elements)
[Modules/TensorMechanics/LineElementMaster]
[Modules/TensorMechanics/LineElementMaster]
[Modules/TensorMechanics/LineElementMaster]
[./block]
truss = true
add_variables = true
displacements = 'disp_x disp_y disp_z'
area = area
block = '1 2'
save_in = 'react_x react_y react_z'
[../]
[]
[]
[]
(moose/modules/tensor_mechanics/test/tests/truss/truss_3d_action.i)Beam Elements: Constructed MooseObjects
By default, the LineElement
Action sets up the kernels, strain materials, displacement and rotation variables, and auxkernels for a simulation using Beam Elements. It also sets the boolean use_displaced_mesh
in a consistent manner for the kernels, nodalkernels, and materials.
Functionality | Replaced Classes | Associated Parameters |
---|---|---|
Add the displacement and rotation variables | Variables | add_variables : boolean |
Calculation of stress divergence for a Beam element | StressDivergenceBeam | displacements : a string of the displacement variables |
| | rotations : a string of the rotation variables | |
Calculation of strain | ComputeIncrementalBeamStrain or ComputeFiniteBeamStrain | strain_type : small or large strain formulation |
| | rotation_type : small or large rotation formulation | |
Calculation of inertial forces and moments with consistent mass / inertia matrices | InertialForceBeam | dynamic_consistent_inertia : boolean |
Calculation of inertial forces using nodal mass | NodalTranslationalInertia | dynamic_nodal_translational_inertia : boolean |
Calculation of inertial moments using nodal moment of inertia matrix | NodalRotationalInertia | dynamic_nodal_rotational_inertia : boolean |
Calculation of translational and rotational velocities | NewmarkVelAux | dynamic_consistent_inertia or dynamic_nodal_translational_inertia or dynamic_nodal_rotational_inertia or add_dynamic_variables | |
Calculation of translational and rotational accelerations | NewmarkAccelAux | dynamic_consistent_inertia or dynamic_nodal_translational_inertia or dynamic_nodal_rotational_inertia or add_dynamic_variables | |
Example Input Syntax (Beam Elements)
[Modules/TensorMechanics/LineElementMaster]
[Modules/TensorMechanics/LineElementMaster]
[Modules/TensorMechanics/LineElementMaster]
# parameters common to all blocks
add_variables = true
displacements = 'disp_x disp_y disp_z'
rotations = 'rot_x rot_y rot_z'
# Geometry parameters
area = 0.5
y_orientation = '0.0 1.0 0.0'
[./block_1]
Iy = 1e-5
Iz = 1e-5
block = 1
[../]
[./block_2]
Iy = 2e-5
Iz = 2e-5
block = 2
[../]
[]
[]
[]
(moose/modules/tensor_mechanics/test/tests/beam/action/2_block_common.i)Subblocks
The subblocks of the LineElement action are what trigger MOOSE objects to be built. If none of the mechanics is subdomain restricted a single subblock should be used, yet if different mechanics models are needed, multiple subblocks with subdomain restrictions can be used.
Parameters supplied at the [Modules/TensorMechanics/LineElementMaster]
level act as defaults for all the subblocks within that LineElement block.
Input Parameters
- blockThe list of ids of the blocks (subdomain) that the stress divergence, inertia kernels and materials will be applied to
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of ids of the blocks (subdomain) that the stress divergence, inertia kernels and materials will be applied to
Advanced Parameters
Associated Actions
Available Actions
- Tensor Mechanics App
- CommonLineElementActionSets up variables, stress divergence kernels and materials required for a static analysis with beam or truss elements. Also sets up aux variables, aux kernels, and consistent or nodal inertia kernels for dynamic analysis with beam elements.
- LineElementActionSets up variables, stress divergence kernels and materials required for a static analysis with beam or truss elements. Also sets up aux variables, aux kernels, and consistent or nodal inertia kernels for dynamic analysis with beam elements.