EnergyOutFilter

commentnote

EnergyOutFilter 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 EnergyOutFilter object provides a thin wrapper around an OpenMC EnergyoutFilter 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 EnergyOutFilter 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 CellTally named Scattering applies an EnergyOutFilter named EnergyOut to bin the outgoing energies from scattered particles into two groups using the CASMO-2 group structure.

[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'

  [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 200'
    []
    [Scattering]
      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'"}>>> = 'scatter'
      block<<<{"description": "Subdomains for which to add tallies in OpenMC. If not provided, cell tallies will be applied over the entire mesh."}>>> = '100 200'
      filters<<<{"description": "External filters to add to this tally."}>>> = 'EnergyOut'
      estimator<<<{"description": "Type of tally estimator to use in OpenMC"}>>> = 'analog'
    []
  []

  [Filters<<<{"href": "../../syntax/Problem/Filters/index.html"}>>>]
    [EnergyOut]
      type = EnergyOutFilter<<<{"description": "A class which provides a thin wrapper around an OpenMC EnergyOutFilter. Energy bins can either be manually specified in 'energy_boundaries' or picked from a list provided in 'group_structure'.", "href": "EnergyOutFilter.html"}>>>
      # CASMO 2 group structure for testing. May result in some missed particles
    []
  []
[]
(cardinal/test/tests/neutronics/filters/energy_out/cell.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>

    Unit:(no unit assumed)

    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