- displacementsThe displacement variables
C++ Type:std::vector<VariableName>
Controllable:No
Description:The displacement variables
- 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
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)
Generalized Plane Strain Action System
Set up the GeneralizedPlaneStrain environment
Description
This action sets up a generalized plane strain model. A detailed description of generalized plane strain model can be found in the formulation page.
GeneralizedPlaneStrain only works for 1D axisymmetric or 2D generalized plane strain cases. For 1D axisymmetric and 2D generalized plane strain cases in the x-y plane the number of displacement variables must be one or two displacements, respectively.
For 2D generalized plane strain cases in the x-z or y-z planes the number of displacement variables must be three.
Constructed MooseObjects
The GeneralizedPlaneStrain
Action is used to construct the kernels, user objects, and scalar out-of-plane variables in a consistent manner as required for a generalized plane strain simulation.
Functionality | Replaced Classes | Associated Parameters |
---|---|---|
Scalar out-of-plan strain coupling with in-plane field variables | Generalized Plane Strain Off-diagonal Kernel | scalar_out_of_plane_strain : a list of the scalar variables for the out-of-plane strain direction |
| | displacements : a string of the displacement field (in-plane) variables | |
| | temperature : a string of the temperature field variable | |
Out-of-plane scalar variable equilibrium condition | Generalized Plane Strain ScalarKernel | scalar_out_of_plane_strain : a list of the scalar variables for the out-of-plane strain direction |
| | out_of_plane_direction : the out-of-plane direction for the scalar out-of-plane strain | |
Residual and diagonal Jacobian calculation for scalar out-of-plane strain variables | Generalized Plane Strain UserObject | scalar_out_of_plane_strain : a list of the scalar variables for the out-of-plane strain direction |
Example Input Syntax
Subblocks
The subblocks of the GeneralizedPlaneStrain action are what triggers MOOSE objects to be built. If a generalized plane strain model is applied for the whole simulation domain, a single subblock should be used
[./GeneralizedPlaneStrain]
[./gps]
use_displaced_mesh = true
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz
out_of_plane_pressure_function = traction_function
pressure_factor = 1e5
[../]
[../]
(../moose/modules/tensor_mechanics/test/tests/generalized_plane_strain/out_of_plane_pressure.i)if different mesh subdomain has different generalized plane strain model, multiple subblocks with subdomain restrictions can be used.
[./GeneralizedPlaneStrain]
[./gps1]
use_displaced_mesh = true
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz1
block = '1'
[../]
[./gps2]
use_displaced_mesh = true
displacements = 'disp_x disp_y'
scalar_out_of_plane_strain = scalar_strain_zz2
block = '2'
[../]
[../]
(../moose/modules/tensor_mechanics/test/tests/generalized_plane_strain/generalized_plane_strain_squares.i)An example of using generalized plane strain action through the Tensor Mechanics master action with a different out_of_plane_direction
than the default of is given by:
[./generalized_plane_strain]
block = 1
strain = SMALL
scalar_out_of_plane_strain = scalar_strain_yy
out_of_plane_direction = y
planar_formulation = GENERALIZED_PLANE_STRAIN
eigenstrain_names = 'eigenstrain'
generate_output = 'stress_xx stress_xz stress_yy stress_zz strain_xx strain_xz strain_yy strain_zz'
[../]
(../moose/modules/tensor_mechanics/test/tests/2D_different_planes/gps_xz.i)Parameters supplied at the [Modules/TensorMechanics/GeneralizedPlaneStrain]
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>
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>
Controllable:No
Description:If specified only the blocks named will be visited and made active
- base_nameMaterial property base name
C++ Type:std::string
Controllable:No
Description:Material property base name
- blockThe list of ids of the blocks (subdomain) that the GeneralizedPlaneStrain kernels will be applied to
C++ Type:std::vector<SubdomainName>
Controllable:No
Description:The list of ids of the blocks (subdomain) that the GeneralizedPlaneStrain kernels will be applied to
- 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.
- extra_vector_tagsThe tag names for extra vectors that residual data should be saved into
C++ Type:std::vector<TagName>
Controllable:No
Description:The tag names for extra vectors that residual data should be saved into
- 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.
- out_of_plane_directionzThe direction of the out-of-plane strain.
Default:z
C++ Type:MooseEnum
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
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
Controllable:No
Description:Material used to prescribe pressure (applied toward the body) in the out-of-plane direction
- pressure_factorScale factor applied to prescribed out-of-plane pressure (both material and function)
C++ Type:double
Controllable:No
Description:Scale factor applied to prescribed out-of-plane pressure (both material and function)
- temperatureThe temperature variable
C++ Type:std::vector<VariableName>
Controllable:No
Description:The temperature variable
- use_displaced_meshFalseWhether to use displaced mesh
Default:False
C++ Type:bool
Controllable:No
Description:Whether to use displaced mesh
Optional Parameters
Associated Actions
Available Actions
- Tensor Mechanics App
- GeneralizedPlaneStrainActionSet up the GeneralizedPlaneStrain environment