Generalized Plane Strain Action

Description

This action simplifies the input file syntax for creating a generalized plane strain model. It creates the following MOOSE objects (i.e. Kernel, ScalarKernel and UserObject) related to the out-of-plane scalar variable.

Kernel

ScalarKernel

UserObject

Generalized Plane Strain and Reference Residual

Generalized plane strain problems may use ReferenceResidualProblem. In this case, a reference scalar variable is needed to correspond with the scalar strain variable.

[Problem]
  type = ReferenceResidualProblem
  extra_tag_vectors = 'ref'
  reference_vector = 'ref'
[]
(moose/modules/combined/test/tests/generalized_plane_strain_tm_contact/out_of_plane_pressure.i)

The reference scalar variable is set using the AuxScalarKernel Generalized Plane Strain Reference Residual using the Generalized Plane Strain UserObject.

[AuxScalarKernels]
  [./gps_ref_res]
    type = GeneralizedPlaneStrainReferenceResidual
    variable = saved_zz
    generalized_plane_strain = gps_GeneralizedPlaneStrainUserObject
  [../]
[]
(moose/modules/combined/test/tests/generalized_plane_strain_tm_contact/out_of_plane_pressure.i)

Input Parameters

  • displacementsThe displacement variables

    C++ 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)

Required 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

  • blockThe list of ids of the blocks (subdomain) that the GeneralizedPlaneStrain 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 GeneralizedPlaneStrain kernels will be applied to

  • 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

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

  • 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

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

    C++ Type:std::vector<VariableName>

    Unit:(no unit assumed)

    Controllable:No

    Description:The temperature variable

  • use_displaced_meshFalseWhether to use displaced mesh

    Default:False

    C++ Type:bool

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    Controllable:No

    Description:Adds user-defined labels for accessing object parameters via control logic.

Advanced Parameters