ReflectParticleBC

Reflective boundary condition for particles that ensures velocity data is consistent with its direction after reflection.

A Ray can only have a direction vector that has non-zero components consistent with the dimensionality of the spatial domain in which the simulation is being performed. However, it is often useful to retain three-dimensional velocity information regardless of the dimensionality of the spatial domain. This requires storing each component of the velocity vector as a seperate piece of RayData and the ReflectRayBC has no knowledge of this velocity data. As a result it will not be updated properly by the ReflectRayBC. This boundary condition performs the same operation as ReflectRayBC and then updates the particles velocity data ensuring it is consistent with the particles direction after reflection.

Example Input Syntax

[RayBCs<<<{"href": "../../syntax/RayBCs/index.html"}>>>]
  [reflect]
    type = ReflectParticleBC<<<{"description": "Reflective boundary condition for particles that ensures velocity data is consistent with its direction after reflection.", "href": "ReflectParticleBC.html"}>>>

    boundary<<<{"description": "The list of boundary IDs from the mesh where this object applies"}>>> = 'left right'
  []
[]
(test/tests/raybcs/1d.i)

Input Parameters

  • boundaryThe list of boundary IDs from the mesh where this object applies

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

    Controllable:No

    Description:The list of boundary IDs from the mesh where this object applies

Required Parameters

  • depends_onOther RayBCs that this RayBC depends on

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

    Controllable:No

    Description:Other RayBCs that this RayBC depends on

  • raysThe name of the Rays associated with this object; only used if Ray registration is enabled within the study. If no Rays are supplied, this object will be applied to all Rays.

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

    Controllable:No

    Description:The name of the Rays associated with this object; only used if Ray registration is enabled within the study. If no Rays are supplied, this object will be applied to all Rays.

  • studyThe RayTracingStudy associated with this object. If none provided, this will default to the one study that exists.

    C++ Type:UserObjectName

    Controllable:No

    Description:The RayTracingStudy associated with this object. If none provided, this will default to the one study that exists.

  • warn_non_planarTrueWhether or not to emit a warning if a Ray is being reflected on a non-planar side

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Whether or not to emit a warning if a Ray is being reflected on a non-planar side

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.

  • enableTrueSet the enabled status of the MooseObject.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Set the enabled status of the MooseObject.

Advanced Parameters

Input Files