github_edit: False

NonReflectingBC Syntax

The input file syntax for NonReflectingBC with the the [BCs] block provides syntax for creating the correct NonReflectingBC boundary condition objects for each spacial direction.

Example Usage

[BCs<<<{"href": "../index.html"}>>>]
  [./front]
    type = PresetDisplacement<<<{"description": "Prescribe the displacement on a given boundary in a given direction.", "href": "../../../source/bcs/PresetDisplacement.html"}>>>
    variable<<<{"description": "The name of the variable that this residual object operates on"}>>> = disp_x
    function<<<{"description": "Function describing the displacement."}>>> = x_vel
    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = front
    acceleration<<<{"description": "The acceleration variable."}>>> = accel_x
    velocity<<<{"description": "The velocity variable."}>>> = vel_x
    beta<<<{"description": "beta parameter for Newmark time integration."}>>> = 0.25
  [../]
  [./NonReflectingBC<<<{"href": "index.html"}>>>]
    [./back]
      displacements<<<{"description": "The vector of displacement variables. The size of this vector must be same as the number of dimensions."}>>> = 'disp_x disp_y disp_z'
      velocities<<<{"description": "The vector of velocity variables that are coupled to the displacement variables. The size of this vector must be same as that of displacements."}>>> = 'vel_x vel_y vel_z'
      accelerations<<<{"description": "The vector of acceleration variables that are coupled to the displacement variables. The size of this vector must be same as that of displacements."}>>> = 'accel_x accel_y accel_z'
      beta<<<{"description": "The beta parameter for Newmark time integration."}>>> = 0.25
      gamma<<<{"description": "The gamma parameter for Newmark time integration."}>>> = 0.5
      boundary<<<{"description": "The list of boundary IDs from the mesh where this boundary condition will be applied"}>>> = 'back'
      shear_wave_speed<<<{"description": "shear wave speed of the material."}>>> = 10.0
      p_wave_speed<<<{"description": "P-wave speed of the material."}>>> = 16.329931618554521
      density<<<{"description": "Density of the material."}>>> = 1.0
    [../]
  [../]
  [./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/nonreflecting_bc/non_reflecting_bc_test.i)

Input Parameters

  • betaThe beta parameter for Newmark time integration.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The beta parameter for Newmark time integration.

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

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:Density of the material.

  • gammaThe gamma parameter for Newmark time integration.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The gamma parameter for Newmark time integration.

  • p_wave_speedP-wave speed of the material.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:P-wave speed of the material.

  • shear_wave_speedshear wave speed of the material.

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:shear wave speed of the material.

Required Parameters

  • accelerationsThe vector of acceleration variables that are coupled to the displacement variables. The size of this vector must be same as that of displacements.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The vector of acceleration variables that are coupled to the displacement variables. The size of this vector must be same as that of displacements.

  • 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 for HHT time integration.

    Default:0

    C++ Type:double

    Unit:(no unit assumed)

    Controllable:No

    Description:The alpha parameter for HHT time integration.

  • displacementsThe vector of displacement variables. The size of this vector must be same as the number of dimensions.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The vector of displacement variables. The size of this vector must be same as the number of dimensions.

  • 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 that are coupled to the displacement variables. The size of this vector must be same as that of displacements.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The vector of velocity variables that are coupled to the displacement variables. The size of this vector must be same as that of displacements.

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