Pressure Action System

Set up Pressure boundary conditions

Description

The Pressure Action, given in the input file as simply Pressure, is designed to simplify the input file when several variables have the same pressure boundary condition magnitude applied in the normal component. Hydrostatic stress is a good example of a use case for the Pressure Action.

Constructed MooseObjects

The Pressure Action is used to construct the Pressure boundary condition in all directions.

Table 1: Correspondence Among Action Functionality and MooseObjects

FunctionalityReplaced ClassesAssociated Parameters
A pressure traction forcePressure BCdisplacements : a string of the displacement variables to which the Pressure BC should be applied

The Pressure Action only applies the pressure traction in the same component direction as the displacements variables are listed. That is, for the argument displacements = 'disp_x disp_y disp_z', the Pressure Action will create three separate Pressure BCs:

  • For the variable disp_x, the parameter setting component = 0 is used

  • For the variable disp_y, the parameter setting component = 1 is used

  • For the variable disp_z, the parameter setting component = 2 is used

commentnote:Displacement Variable-Component Relationship is Relative

Note that the location of each of the variables in the displacements string determines the value of the corresponding component.

As in the Pressure boundary condition, the magnitude of the Pressure boundary condition can be specified as either a scalar (use the input parameter factor) or a function parameter.

The use of the automatic differentiation boundary condition ADPressure can optionally be selected via the use_automatic_differentiation input parameter.

Example Input Syntax

[./Pressure]
  [./Side1]
    boundary = 1
    function = rampConstant
    displacements = 'disp_x disp_y disp_z'
  [../]
  [./Side2]
    boundary = 2
    function = zeroRamp
    displacements = 'disp_x disp_y disp_z'
    factor = 2.0
  [../]
  [./Side3]
    boundary = 3
    function = rampUnramp
    displacements = 'disp_x disp_y disp_z'
  [../]
[../]
(moose/modules/tensor_mechanics/test/tests/pressure/pressure_test.i)

Input Parameters

  • boundaryThe list of boundary IDs from the mesh where the pressure will be applied

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

    Controllable:No

    Description:The list of boundary IDs from the mesh where the pressure will be applied

  • displacementsThe displacements appropriate for the simulation geometry and coordinate system

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

    Controllable:No

    Description:The displacements appropriate for the simulation geometry and coordinate system

Required Parameters

  • absolute_value_vector_tagsThe tags for the vectors this residual object should fill with the absolute value of the residual contribution

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

    Controllable:No

    Description:The tags for the vectors this residual object should fill with the absolute value of the residual contribution

  • 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

  • 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 extra tags for the vectors this Kernel should fill

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

    Controllable:No

    Description:The extra tags for the vectors this Kernel should fill

  • factor1The factor to use in computing the pressure

    Default:1

    C++ Type:double

    Controllable:No

    Description:The factor to use in computing the pressure

  • functionThe function that describes the pressure

    C++ Type:FunctionName

    Controllable:No

    Description:The function that describes the pressure

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

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

  • save_in_disp_xThe save_in variables for x displacement

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

    Controllable:No

    Description:The save_in variables for x displacement

  • save_in_disp_yThe save_in variables for y displacement

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

    Controllable:No

    Description:The save_in variables for y displacement

  • save_in_disp_zThe save_in variables for z displacement

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

    Controllable:No

    Description:The save_in variables for z displacement

  • use_automatic_differentiationFalseFlag to use automatic differentiation (AD) objects when possible

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Flag to use automatic differentiation (AD) objects when possible

  • use_displaced_meshTrueWhether to use the displaced mesh.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether to use the displaced mesh.

Optional Parameters

Associated Actions

Available Actions