AzimuthalAngleFilter

commentnote

AzimuthalAngleFilter can only be added to problems when the input file contains a OpenMCCellAverageProblem in the [Problem] block. Otherwise, attempting to add this filter will result in an error.

Description

The AzimuthalAngleFilter object provides a thin wrapper around an OpenMC AzimuthalFilter which local tallies (added through the tally system) can access. Two bin options are available; equally spaced bins (setting num_equal_divisions) or custom bins (setting azimuthal_angle_boundaries).

Example Input File Syntax

As an example, a MeshTally named Flux applies an AzimuthalAngleFilter named Azimuthal to break the total flux up into two hemispheres.

[Problem<<<{"href": "../../syntax/Problem/index.html"}>>>]
  type = OpenMCCellAverageProblem
  verbose = true
  power = 1e4
  temperature_blocks = '100'
  cell_level = 0
  initial_properties = xml

  source_rate_normalization = 'kappa_fission'

  # Disable global normalization since we have a loosely fitting mesh tally.
  normalize_by_global_tally = false

  [Tallies<<<{"href": "../../syntax/Problem/Tallies/index.html"}>>>]
    [Heating]
      type = CellTally<<<{"description": "A class which implements distributed cell tallies.", "href": "../tallies/CellTally.html"}>>>
      score<<<{"description": "Score(s) to use in the OpenMC tallies. If not specified, defaults to 'kappa_fission'"}>>> = 'kappa_fission'
      block<<<{"description": "Subdomains for which to add tallies in OpenMC. If not provided, cell tallies will be applied over the entire mesh."}>>> = '100'
    []
    [Flux]
      type = MeshTally<<<{"description": "A class which implements unstructured mesh tallies.", "href": "../tallies/MeshTally.html"}>>>
      score<<<{"description": "Score(s) to use in the OpenMC tallies. If not specified, defaults to 'kappa_fission'"}>>> = 'flux'
      mesh_template<<<{"description": "Mesh tally template for OpenMC when using mesh tallies; at present, this mesh must exactly match the mesh used in the [Mesh] block because a one-to-one copy is used to get OpenMC's tally results on the [Mesh]."}>>> = ../../meshes/sphere.e
      mesh_translations = '0 0 0
                           0 0 4
                           0 0 8'
      filters<<<{"description": "External filters to add to this tally."}>>> = 'Azimuthal'
    []
  []

  [Filters<<<{"href": "../../syntax/Problem/Filters/index.html"}>>>]
    [Azimuthal]
      type = AzimuthalAngleFilter<<<{"description": "A class which provides a thin wrapper around an OpenMC AzimuthalFilter. Bins can either be equally spaced by setting 'num_equal_divisions', or a set of azimuthal angles can be provided by setting 'azimuthal_angle_boundaries'.", "href": "AzimuthalAngleFilter.html"}>>>
      num_equal_divisions<<<{"description": "The number of equally spaces subdivisions of $[-\\pi, \\pi)$ to use if equal subdivisions are desired."}>>> = 2
    []
  []
[]
(cardinal/test/tests/neutronics/filters/azimuthal/mesh.i)

Input Parameters

  • azimuthal_angle_boundariesThe azimuthal angle boundaries in $[-\pi, \pi)$ which must be provided in increasing order. If $-\pi$ and $\pi$ are not included this filter may result in some missed particles during normalization.

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

    Unit:(no unit assumed)

    Controllable:No

    Description:The azimuthal angle boundaries in $[-\pi, \pi)$ which must be provided in increasing order. If $-\pi$ and $\pi$ are not included this filter may result in some missed particles during normalization.

  • num_equal_divisionsThe number of equally spaces subdivisions of $[-\pi, \pi)$ to use if equal subdivisions are desired.

    C++ Type:unsigned int

    Controllable:No

    Description:The number of equally spaces subdivisions of $[-\pi, \pi)$ to use if equal subdivisions are desired.

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