AddFilterAction

commentnote

AddFilterAction can only add filters to problems which contain a OpenMCCellAverageProblem in the [Problem] block. Otherwise, attempting to add a filter will result in an error.

Overview

The AddFilterAction action is responsible for adding filters which can be accessed by local tallies. This is done with the [Filters] block in a Cardinal input file.

Example Input File Syntax

As an example, an EnergyFilter and PolarAngleFilter are added in the [Problem/Filters] block which are then used by a MeshTally.

[Problem]
  type = OpenMCCellAverageProblem
  verbose = true
  power = 1e4
  temperature_blocks = '100'
  cell_level = 0
  initial_properties = xml

  source_rate_normalization = 'kappa_fission'

  [Tallies]
    [Heating]
      type = CellTally
      score = 'kappa_fission'
      blocks = '100 200'
    []
    [Flux]
      type = CellTally
      score = 'flux'
      blocks = '100 200'
      filters = 'Energy Polar'
    []
  []

  [Filters]
    [Energy]
      type = EnergyFilter
      # CASMO 2 group structure for testing. May result in some missed particles
      energy_boundaries = '0.0 6.25e-1 2.0e7'
    []
    [Polar]
      type = PolarAngleFilter
      num_equal_divisions = 2
    []
  []
[]
(test/tests/neutronics/filters/multi_filter.i)

Available Filter Objects

  • Cardinal App
  • AzimuthalAngleFilterA 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'.
  • EnergyFilterA class which provides a thin wrapper around an OpenMC EnergyFilter. Energy bins can either be manually specified in 'energy_boundaries' or picked from a list provided in 'group_structure'.
  • FromXMLFilterA class which provides a thin wrapper around an arbitrary OpenMC filter.
  • PolarAngleFilterA class which provides a thin wrapper around an OpenMC PolarFilter. Bins can either be equally spaced by setting 'num_equal_divisions', or a set of polar angles can be provided by setting 'polar_angle_boundaries'.

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

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

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.

  • isObjectActionTrueIndicates that this is a MooseObjectAction.

    Default:True

    C++ Type:bool

    Controllable:No

    Description:Indicates that this is a MooseObjectAction.

Advanced Parameters