- 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 nonlinear displacement variables
C++ Type:std::vector<VariableName>
Controllable:No
Description:The nonlinear displacement variables
Cavity Pressure Action
Description
The CavityPressure
Action system is used to calculate the pressure from an ideal gas trapped within an internal volume.
The pressure in the cavity is computed based on the ideal gas law, (1) where is the internal pressure, is the moles of gas, is the ideal gas constant, is the temperature, and is the volume of the cavity.
The moles of gas, the temperature, and the cavity volume in Eq. (1) are free to change with time. The moles of gas at any time is the original amount of gas (computed based on original pressure, temperature, and volume) plus the amount in the cavity due to any gas injected during the simulation.
Constructed MooseObjects
The Cavity Pressure Action system consists of three separate actions, listed in the Associated Actions block below, which are all created within the same block.
Functionality | Replaced Classes | Associated Parameters |
---|---|---|
Calculation of the initial moles quantity | CavityPressureUserObject | volume : the name of the internal volume postprocessor |
R : the universal gas constant | ||
temperature : the name of the average temperature postprocessor | ||
Store the value of the initial moles | CavityPressurePostprocessor | output_initial_moles : the postprocessor name to used to report the initial moles of gas |
Calculation of the current internal pressure | CavityPressureUserObject | output : the name of the cavity pressure postprocessor |
Store the internal pressure value | CavityPressurePostprocessor | output : the name of the cavity pressure postprocessor |
Apply the calculated internal pressure traction | Pressure | boundary : the list of boundary IDs to which the pressure should be applied |
displacements : a string of the displacement variables to which the Pressure BC should be applied |
Example Input Syntax
[./CavityPressure]
[./1]
boundary = 100
initial_pressure = 100
material_input = materialInput
R = 8.314472
temperature = aveTempInterior
volume = internalVolume
startup_time = 0.5
output = ppress
save_in = 'pressure_residual_x pressure_residual_y pressure_residual_z'
[../]
[../]
(../moose/modules/combined/test/tests/cavity_pressure/3d.i)Postprocessors for both the average temperature and the internal volume are also required for the Cavity Pressure Action system. Note that the name of the postprocessors correspond to the arguments for the parameters temperature
and internal_volume
in the CavityPressure
block.
[./aveTempInterior]
type = SideAverageValue
boundary = 100
variable = temp
execute_on = 'initial linear'
[../]
(../moose/modules/combined/test/tests/cavity_pressure/3d.i)[./internalVolume]
type = InternalVolume
boundary = 100
execute_on = 'initial linear'
[../]
(../moose/modules/combined/test/tests/cavity_pressure/3d.i)Input 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
- 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.
- 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.
- outputThe name to use for the cavity pressure value
C++ Type:std::string
Controllable:No
Description:The name to use for the cavity pressure value
- save_inAuxiliary variables to save the displacement residuals
C++ Type:std::vector<AuxVariableName>
Controllable:No
Description:Auxiliary variables to save the displacement residuals
- 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 displaced mesh in the boundary condition
Default:True
C++ Type:bool
Controllable:No
Description:Whether to use displaced mesh in the boundary condition
Optional Parameters
Associated Actions
Available Actions
- Tensor Mechanics App
- CavityPressureActionAction to setup cavity pressure boundary condition
- CavityPressurePPActionThis Action creates a CavityPressurePostprocessor.
- CavityPressureUOActionAction to add user objects for cavity pressure