- 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
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).
EnergyFilter
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<<<{"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."}>>> = 'Energy'
[]
[]
[Filters<<<{"href": "../../syntax/Problem/Filters/index.html"}>>>]
[Energy]
type = EnergyFilter<<<{"description": "A 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'.", "href": "EnergyFilter.html"}>>>
# CASMO 2 group structure for testing. May result in some missed particles
energy_boundaries<<<{"description": "The energy boundaries to use to form energy bins. The boundaries must be provided in ascending order in terms of energy."}>>> = '0.0 6.25e-1 2.0e7'
[]
[]
[]
(cardinal/test/tests/neutronics/filters/energy/mesh.i)Input 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.