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

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

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

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

Advanced Parameters