- boundaryThe list of boundary IDs from the mesh where this boundary condition will be applied.
C++ Type:std::vector<BoundaryName>
Controllable:No
Description:The list of boundary IDs from the mesh where this boundary condition will be applied.
- densityDensity of the underlying bedrock.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:Density of the underlying bedrock.
- displacementsThe displacement variables for the problem.
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The displacement variables for the problem.
- input_componentsThe directions in which the input ground motions are applied.
C++ Type:std::vector<unsigned int>
Controllable:No
Description:The directions in which the input ground motions are applied.
- p_wave_speedP-wave speed of the underlying bedrock.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:P-wave speed of the underlying bedrock.
- shear_wave_speedshear wave speed of the underlying bedrock.
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:shear wave speed of the underlying bedrock.
github_edit: False
SeismicForce Syntax
The input file syntax for SeismicForce with the the [BCs]
block provides syntax for creating the correct SeismicForce boundary conditions for each direction components specified.
In some cases, the ground excitation is measured at a rock outcrop (where rock is found at surface level and there is no soil above it). To apply this to a location where rock is say m deep and there is soil above it, a sideset is created at m depth and the ground excitation (converted into a stress) is applied at this depth. To apply ground excitation as a stress, the input function should be given as ground velocity. More details about the conversion of ground velocity to stress can be found in SeismicForce.
Example Usage
[BCs<<<{"href": "../index.html"}>>>]
[./SeismicForce<<<{"href": "index.html"}>>>]
[./front]
displacements<<<{"description": "The displacement variables for the problem."}>>> = 'disp_x disp_y disp_z'
input_components<<<{"description": "The directions in which the input ground motions are applied."}>>> = '0 1'
boundary<<<{"description": "The list of boundary IDs from the mesh where this boundary condition will be applied."}>>> = 'front'
velocity_functions<<<{"description": "The vector of function names that describes the input ground motions. Must be same size as input_component."}>>> = 'x_vel y_vel' # input velocity functions
shear_wave_speed<<<{"description": "shear wave speed of the underlying bedrock."}>>> = 1.0
p_wave_speed<<<{"description": "P-wave speed of the underlying bedrock."}>>> = 3.5
density<<<{"description": "Density of the underlying bedrock."}>>> = 1.0
[../]
[../]
[./back_x]
type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../../../source/bcs/DirichletBC.html"}>>>
variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_x
value<<<{"description": "Value of the BC"}>>> = 0.0
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = back
[../]
[./back_y]
type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../../../source/bcs/DirichletBC.html"}>>>
variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_y
value<<<{"description": "Value of the BC"}>>> = 0.0
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = back
[../]
[./back_z]
type = DirichletBC<<<{"description": "Imposes the essential boundary condition $u=g$, where $g$ is a constant, controllable value.", "href": "../../../source/bcs/DirichletBC.html"}>>>
variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_z
value<<<{"description": "Value of the BC"}>>> = 0.0
boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = back
[../]
[./Periodic<<<{"href": "../Periodic/index.html"}>>>]
[./left_right]
variable<<<{"description": "Variable for the periodic boundary condition"}>>> = 'disp_x disp_y disp_z'
primary<<<{"description": "Boundary ID associated with the primary boundary."}>>> = 'left'
secondary<<<{"description": "Boundary ID associated with the secondary boundary."}>>> = 'right'
translation<<<{"description": "Vector that translates coordinates on the primary boundary to coordinates on the secondary boundary."}>>> = '1 0 0'
[../]
[./top_bottom]
variable<<<{"description": "Variable for the periodic boundary condition"}>>> = 'disp_x disp_y disp_z'
primary<<<{"description": "Boundary ID associated with the primary boundary."}>>> = 'bottom'
secondary<<<{"description": "Boundary ID associated with the secondary boundary."}>>> = 'top'
translation<<<{"description": "Vector that translates coordinates on the primary boundary to coordinates on the secondary boundary."}>>> = '0 1 0'
[../]
[../]
[]
(test/tests/bcs/seismic_force/seismic_force_test_x_y.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
- alpha0The alpha parameter required for HHT time integration scheme.
Default:0
C++ Type:double
Unit:(no unit assumed)
Controllable:No
Description:The alpha parameter required for 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.
- velocitiesThe vector of velocity variables names. The input velocities can be obtained from this variable. The size of this vector must be same size as input_component.
C++ Type:std::vector<VariableName>
Unit:(no unit assumed)
Controllable:No
Description:The vector of velocity variables names. The input velocities can be obtained from this variable. The size of this vector must be same size as input_component.
- velocity_functionsThe vector of function names that describes the input ground motions. Must be same size as input_component.
C++ Type:std::vector<FunctionName>
Unit:(no unit assumed)
Controllable:No
Description:The vector of function names that describes the input ground motions. Must be same size as input_component.
Optional 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.