Coupled Pressure Action System

Set up pressure boundary condition using the CoupledPressureBC object.

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

  • displacementsThe string of displacements suitable for the problem statement

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The string of displacements suitable for the problem statement

  • pressureCoupled variable containing the pressure

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

    Unit:(no unit assumed)

    Controllable:No

    Description:Coupled variable containing the pressure

Required Parameters

  • 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

  • boundaryThe list of boundaries (ids or names) from the mesh where this object applies

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

    Controllable:No

    Description:The list of boundaries (ids or names) from the mesh where this object applies

  • enableTrueSet the enabled status of the BCs created by the Pressure action (defaults to true).

    Default:True

    C++ Type:bool

    Controllable:Yes

    Description:Set the enabled status of the BCs created by the Pressure action (defaults to true).

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

  • 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_meshFalseWhether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used. For small strain formulations pressure should be applied to the undisplaced mesh to obtain agreement with analytical benchmark solutions.

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether or not this object should use the displaced mesh for computation. Note that in the case this is true but no displacements are provided in the Mesh block the undisplaced mesh will still be used. For small strain formulations pressure should be applied to the undisplaced mesh to obtain agreement with analytical benchmark solutions.

Optional 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

  • 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

  • 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

Residual Output 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
  • CoupledPressureActionSet up pressure boundary condition using the CoupledPressureBC object.