Coupled Pressure Action System

Set up Coupled Pressure boundary conditions

Description

The Coupled Pressure Action, given in the input file as simply CoupledPressureBC, is designed to simplify the input file when several variables have the same pressure boundary condition magnitude applied in the normal component. Transfer of pressure variable from an multi-app is a good example of a use case for the Coupled Pressure Action.

Constructed MooseObjects

The Coupled Pressure Action is used to construct only the Coupled Pressure boundary condition.

Table 1: Correspondence Among Action Functionality and MooseObjects

FunctionalityReplaced ClassesAssociated Parameters
A pressure traction force given by a variableCoupled Pressure BCdisplacements : a string of the displacement variables to which the Coupled Pressure BC should be applied
pressure : a variable prescribing the pressure to 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.

Example Input Syntax

[./CoupledPressure]
  [./Side1]
    boundary = '1'
    pressure = pressure_1
    displacements = 'disp_x disp_y disp_z'
  [../]
  [./Side2]
    boundary = '2'
    pressure = pressure_2
    displacements = 'disp_x disp_y disp_z'
  [../]
[../]
(moose/modules/solid_mechanics/test/tests/coupled_pressure/coupled_pressure_test.i)

Input Parameters

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

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

    Unit:(no unit assumed)

    Controllable:No

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

Required Parameters

  • 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

  • displacementsThe displacements appropriate for the simulation geometry and coordinate system

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

    Unit:(no unit assumed)

    Controllable:No

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

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

  • pressureThe variable that contains the pressure

    C++ Type:VariableName

    Unit:(no unit assumed)

    Controllable:No

    Description:The variable that contains the pressure

  • save_in_disp_xThe save_in variables for x displacement

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

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    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>

    Unit:(no unit assumed)

    Controllable:No

    Description:The save_in variables for z displacement

  • use_displaced_meshTrueWhether to use the displaced mesh.

    Default:True

    C++ Type:bool

    Unit:(no unit assumed)

    Controllable:No

    Description:Whether to use the 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

Associated Actions

Available Actions