EnergyFilter

commentnote

EnergyFilter 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 EnergyFilter object provides a thin wrapper around an OpenMC EnergyFilter which local tallies (added through the tally system) can access. Bins can be provided by setting energy_boundaries or by selecting an energy group structure in group_structure; more information on these group structures can be found in the OpenMC multi-group cross section documentation. The ordering of the bins in EnergyFilter can be reversed (set to be descending in terms of energy) by setting reverse_bins = true if you wish to use the conventional multi-group radiation transport formalism.

Example Input File Syntax

As an example, a MeshTally named Flux applies an EnergyFilter named Energy to break the total flux up into multi-group fluxes using the CASMO-2 group structure.

[Problem]
  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]
    [Heating]
      type = CellTally
      score = 'kappa_fission'
      blocks = '100'
    []
    [Flux]
      type = MeshTally
      score = 'flux'
      mesh_template = ../../meshes/sphere.e
      mesh_translations = '0 0 0
                           0 0 4
                           0 0 8'
      filters = 'Energy'
    []
  []

  [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'
    []
  []
[]
(test/tests/neutronics/filters/energy/mesh.i)

Input Parameters

  • energy_boundariesThe energy boundaries to use to form energy bins. The boundaries must be provided in ascending order in terms of energy.

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

    Controllable:No

    Description:The energy boundaries to use to form energy bins. The boundaries must be provided in ascending order in terms of energy.

  • group_structureThe energy group structure to use from a list of popular group structures.

    C++ Type:MooseEnum

    Options:CASMO_2, CASMO_4, CASMO_8, CASMO_16, CASMO_25, CASMO_40, VITAMIN_J_42, SCALE_44, MPACT_51, MPACT_60, MPACT_69, CASMO_70, XMAS_172, VITAMIN_J_175, SCALE_252, TRIPOLI_315, SHEM_361, CCFE_709, UKAEA_1102, ECCO_1968

    Controllable:No

    Description:The energy group structure to use from a list of popular group structures.

  • reverse_binsFalseWhether the bins should be output in reverse order. This is useful for comparing deterministic transport codes with Cardinal, where the convention is that energy groups are arranged in descending order (i.e. group 1 is fast, group 2 is thermal).

    Default:False

    C++ Type:bool

    Controllable:No

    Description:Whether the bins should be output in reverse order. This is useful for comparing deterministic transport codes with Cardinal, where the convention is that energy groups are arranged in descending order (i.e. group 1 is fast, group 2 is thermal).

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