- 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
- 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
Pressure
Applies a pressure on a given boundary in a given direction
Description
The boundary condition, Pressure
applies a force to a mesh boundary in the magnitude specified by the user. A component
of the normal vector to the mesh surface (0, 1, or 2 corresponding to the , , and vector components) is used to determine the direction in which to apply the traction. The boundary condition is typically applied to the displaced mesh.
The magnitude of the Pressure
boundary condition can be specified as either a scalar (use the input parameter factor
, which defaults to 1.0), a function
parameter, or a Postprocessor
name. If more than one of these are given, they are multiplied by one another.
A set of Pressure
boundary conditions applied to multiple variables in multiple components can be defined with the PressureAction.
Jacobian
Cartesian
Let be the number of nodes on a finite element face. Also, let be the shape function at node . Then the vector , which has dimension for a 3D model, is defined as where represents a scaling factor, is the normal vector, and where is the identity tensor.
To find the Jacobian, we take the variation of the term in the integral,
We define as where may be either or , the two parametric coordinates associated with the face of an element. has dimensions . This allows Since the values of the parametric coordinates are fixed according to the integration rule and do not vary, this term becomes zero. We are left with .
The normal vector is an outward unit vector at the integration points. We define where defined at the integration points with where is the vector of coordinates for node and is the vector of displacements for node .
If ,
We are left with
To take the cross product of a vector and a set of vectors in a matrix, we take the cross product of the vector with each vector in the matrix in turn. The th submatrix of is . This gives The integrand of the submatrix of the stiffness is
Spherical symmetry
For a problem using spherical symmetry, the Jacobian is much simpler. Here we have with . Here, is not a function of the displacements. The variation is
Axisymmetry
For 1D axisymmetry, we have with and a unit height. Here, is not a function of the displacements. The variation is
For 2D axisymmetry, we have with . However, both and depend on the displacements. Thus, we have
Example Input File Syntax
[BCs]
[outerPressure]
type = Pressure
boundary = right
variable = disp_r
factor = 2
[]
[]
(moose/modules/solid_mechanics/test/tests/1D_spherical/finiteStrain_1DSphere_hollow.i)Input 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>
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
Controllable:No
Description:If specified only the blocks named will be visited and made active
- extra_vector_tagsThe extra tags for the vectors this Kernel should fill
C++ Type:std::vector<TagName>
Unit:(no unit assumed)
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
Unit:(no unit assumed)
Controllable:No
Description:The factor to use in computing the pressure
- functionThe function that describes the pressure
C++ Type:FunctionName
Unit:(no unit assumed)
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
Unit:(no unit assumed)
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>
Unit:(no unit assumed)
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>
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_automatic_differentiationFalseFlag to use automatic differentiation (AD) objects when possible
Default:False
C++ Type:bool
Unit:(no unit assumed)
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
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.