- displacementsThe displacement variablesC++ Type:std::vector<VariableName> Unit:(no unit assumed) 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 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) 
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.
Table 1: Correspondence Among Action Functionality and MooseObjects for the GeneralizedPlaneStrain Action
| 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
  [../]
[../]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'
  [../]
[../]An example of using generalized plane strain action through the Solid Mechanics quasi static physics 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'
[../]Parameters supplied at the [Physics/SolidMechanics/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 intoC++ 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 activeDefault:__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 nameC++ 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 toC++ Type:std::vector<SubdomainName> Controllable:No Description:The list of ids of the blocks (subdomain) that the GeneralizedPlaneStrain kernels will be applied to 
- extra_vector_tagsThe tag names for extra vectors that residual data should be saved intoC++ 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 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 directionDefault: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 
- 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) 
- temperatureThe temperature variableC++ Type:std::vector<VariableName> Unit:(no unit assumed) Controllable:No Description:The temperature variable 
- use_displaced_meshFalseWhether to use displaced meshDefault:False C++ Type:bool Controllable:No Description:Whether to use displaced mesh 
Optional Parameters
- 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. 
Advanced Parameters
Associated Actions
Available Actions
- Solid Mechanics App
- GeneralizedPlaneStrainActionSet up the GeneralizedPlaneStrain environment