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.

warning:For 2D and 1D Simulations

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

FunctionalityReplaced ClassesAssociated Parameters
Scalar out-of-plan strain coupling with in-plane field variablesGeneralized Plane Strain Off-diagonal Kernelscalar_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 conditionGeneralized Plane Strain ScalarKernelscalar_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 variablesGeneralized Plane Strain UserObjectscalar_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 = traction_function
    factor = 1e5
  [../]
[../]
(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'
  [../]
[../]
(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'
[../]
(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

  • 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:NonlinearVariableName

    Options:

    Description:Scalar variable for the out-of-plane strain (in y direction for 1D Axisymmetric or in z direction for 2D Cartesian problems)

  • displacementsThe displacement variables

    C++ Type:std::vector

    Options:

    Description:The displacement variables

Required Parameters

  • temperatureThe temperature variable

    C++ Type:NonlinearVariableName

    Options:

    Description:The temperature variable

  • base_nameMaterial property base name

    C++ Type:std::string

    Options:

    Description:Material property base name

  • use_displaced_meshFalseWhether to use displaced mesh

    Default:False

    C++ Type:bool

    Options:

    Description:Whether to use displaced mesh

  • out_of_plane_pressure0Function used to prescribe pressure in the out-of-plane direction (y for 1D Axisymmetric or z for 2D Cartesian problems)

    Default:0

    C++ Type:FunctionName

    Options:

    Description:Function used to prescribe pressure in the out-of-plane direction (y for 1D Axisymmetric or z for 2D Cartesian problems)

  • inactiveIf specified blocks matching these identifiers will be skipped.

    C++ Type:std::vector

    Options:

    Description:If specified blocks matching these identifiers will be skipped.

  • factor1Scale factor applied to prescribed pressure

    Default:1

    C++ Type:double

    Options:

    Description:Scale factor applied to prescribed pressure

  • active__all__ If specified only the blocks named will be visited and made active

    Default:__all__

    C++ Type:std::vector

    Options:

    Description:If specified only the blocks named will be visited and made active

  • out_of_plane_directionzThe direction of the out-of-plane strain.

    Default:z

    C++ Type:MooseEnum

    Options:x y z

    Description:The direction of the out-of-plane strain.

  • blockThe list of ids of the blocks (subdomain) that the GeneralizedPlaneStrain kernels will be applied to

    C++ Type:std::vector

    Options:

    Description:The list of ids of the blocks (subdomain) that the GeneralizedPlaneStrain kernels will be applied to

Optional Parameters

Associated Actions

Available Actions