- estimatorType of tally estimator to use in OpenMC
C++ Type:MooseEnum
Controllable:No
Description:Type of tally estimator to use in OpenMC
- filtersExternal filters to add to this tally.
C++ Type:std::vector<std::string>
Controllable:No
Description:External filters to add to this tally.
- mesh_templateMesh 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].
C++ Type:std::string
Controllable:No
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].
- mesh_translationCoordinate to which this mesh should be translated. Units must match those used to define the [Mesh].
C++ Type:libMesh::Point
Controllable:No
Description:Coordinate to which this mesh should be translated. Units must match those used to define the [Mesh].
- nameAuxiliary variable name(s) to use for OpenMC tallies. If not specified, defaults to the names of the scores
C++ Type:std::vector<std::string>
Controllable:No
Description:Auxiliary variable name(s) to use for OpenMC tallies. If not specified, defaults to the names of the scores
- outputUNRELAXED field(s) to output from OpenMC for each tally score. unrelaxed_tally_std_dev will write the standard deviation of each tally into auxiliary variables named *_std_dev. Unrelaxed_tally will write the raw unrelaxed tally into auxiliary variables named *_raw (replace * with 'name').
C++ Type:MultiMooseEnum
Controllable:No
Description:UNRELAXED field(s) to output from OpenMC for each tally score. unrelaxed_tally_std_dev will write the standard deviation of each tally into auxiliary variables named *_std_dev. Unrelaxed_tally will write the raw unrelaxed tally into auxiliary variables named *_raw (replace * with 'name').
- scoreScore(s) to use in the OpenMC tallies. If not specified, defaults to 'kappa_fission'
C++ Type:MultiMooseEnum
Controllable:No
Description:Score(s) to use in the OpenMC tallies. If not specified, defaults to 'kappa_fission'
- triggerTrigger criterion to determine when OpenMC simulation is complete based on tallies. If multiple scores are specified in 'score, this same trigger is applied to all scores.
C++ Type:MultiMooseEnum
Controllable:No
Description:Trigger criterion to determine when OpenMC simulation is complete based on tallies. If multiple scores are specified in 'score, this same trigger is applied to all scores.
- trigger_ignore_zeros0 Whether tally bins with zero scores are ignored when computing the tally trigger. If only one value of 'trigger_ignore_zeros' is provided, that value is applied to all tally scores.
Default:0
C++ Type:std::vector<bool>
Controllable:No
Description:Whether tally bins with zero scores are ignored when computing the tally trigger. If only one value of 'trigger_ignore_zeros' is provided, that value is applied to all tally scores.
- trigger_thresholdThreshold for the tally trigger
C++ Type:std::vector<double>
Controllable:No
Description:Threshold for the tally trigger
MeshTally
MeshTally
can only be added to problems when the input files contains a OpenMCCellAverageProblem in the [Problem]
block. Otherwise, attempting to add this tally will result in an error.
Description
The MeshTally
class wraps an OpenMC tally with an unstructured libMesh filter to directly enable tallying on an unstructured mesh. There are two options when using a MeshTally
:
Do nothing, in which case OpenMC will tally on the
[Mesh]
Specify a
mesh_template
, which provides a path to a mesh file
For the mesh_template
option, it is possible to translate the same mesh to multiple locations in the OpenMC geometry (while only taking up the memory needed to store a single mesh) using the mesh_translations
or mesh_translations_file
parameters provided by the tallies block. This is a useful feature for geometries that consist of many repeated geometry units, such as pebble bed and pin fuel systems.
At present, unstructured mesh tallies are copied directly to the [Mesh]
(without doing any type of nearest-node lookup). Suppose the mesh template consists of a mesh for a pincell with elements that you have translated to 3 different locations, giving a total of tally bins. Because a direct copy is used to transfer the mesh tally results to the [Mesh]
, the first elements in the [Mesh]
must exactly match the elements in the mesh tally (except for a possible mesh scaling, as described in Mesh Scaling ). This equivalence is required for the direct copy to be accurate - otherwise, the mesh tally results would be transferred to incorrect regions of space.
Cardinal supports several tally scores which can be specified in the score
parameter when adding a tally. Options include:
heating
: total nuclear heatingheating_local
: same as theheating
score, except that energy from secondary photons is deposited locallykappa_fission
: recoverable energy from fission, including prompt sources (fission fragments, prompt neutrons, prompt gammas) and delayed sources (delayed neutrons, delayed gammas, delayed betas). Neutrino energy is neglected. The energy from photons is assumed to deposit locally.fission_q_prompt
: the prompt components of thekappa_fission
score, except that the energy released is a function of the incident energy by linking to optional fission energy release data.fission_q_recoverable
: same as thekappa_fission
score, except that the score depends on the incident energy by linking to optional fission energy release datadamage_energy
: damage energy productionflux
: particle scalar fluxH3_production
: tritium production reaction ratetotal
: the total reaction rateabsorption
: the absorption reaction ratescatter
: the scatter reaction ratefission
: the fission reaction rate
For more information on the specific meanings of these various scores, please consult the OpenMC tally documentation. The names of the tally auxvariables added by the OpenMCCellAverageProblem can be modified by specifying a name for each score in name
.
This tally is capable of controlling OpenMC execution through the use of tally triggers. Tallies currently support active batch termination through a relative error indicator, which can be enabled by setting trigger
to rel_err
for each score in the tally. Scores which do not need to control active batch termination can have a value of none
set. If enabled, an appropriate relative error must be set for each score in trigger_threshold
.
Certain aspects of tally results can be output as auxiliary variables to the mesh:
unrelaxed_tally
: unrelaxed tally; this will append_raw
to the tally name and output to the mesh mirrorunrelaxed_tally_std_dev
: unrelaxed tally standard deviation; this will append_std_dev
to the tally and output to the mesh mirror
At present time, libMesh unstructured mesh tallies only support collision
and analog
estimators. Attempting to set estimator
to tracklength
will result in a warning; the MeshTally
will then manually reset the estimator to collision
to prevent OpenMC from throwing an error.
Example Input File Syntax
As an example, this MeshTally
scores kappa_fission
(the default tally score) on the unstructured mesh found in mesh_in.e
and stores it in a variable called heat_source
. The [Tallies]
block adds three MeshTally
classes, each one located at a different point specified in mesh_translations
which corresponds to the centroid of a fuel pebble.
[Problem]
type = OpenMCCellAverageProblem
verbose = true
power = 1500.0
temperature_blocks = '0'
normalize_by_global_tally = false
cell_level = 1
scaling = 100.0
[Tallies]
[heat_source]
type = MeshTally
mesh_translations = '0 0 0.02
0 0 0.06
0 0 0.10'
mesh_template = mesh_in.e
name = heat_source
[]
[]
[]
(tutorials/pebbles/openmc_um.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.
Advanced Parameters
Input Files
- (test/tests/neutronics/dagmc/mesh_tallies/csg_step_2/openmc.i)
- (test/tests/neutronics/mesh_tally/no_coupling.i)
- (test/tests/neutronics/filters/polar/mesh_sum.i)
- (test/tests/openmc_errors/mesh_translations/invalid_row.i)
- (test/tests/neutronics/dagmc/mesh_tallies/direct_tally.i)
- (test/tests/neutronics/dagmc/mesh_tallies/with_scaling.i)
- (test/tests/neutronics/filters/energy/mesh.i)
- (test/tests/neutronics/mesh_tally/one_mesh_global.i)
- (tutorials/csg_to_cad/openmc.i)
- (test/tests/neutronics/dagmc/missing_graveyard.i)
- (test/tests/neutronics/filters/polar/mesh.i)
- (tutorials/lwr_solid/openmc_um.i)
- (test/tests/neutronics/mesh_tally/different_units_and_translations.i)
- (test/tests/neutronics/dagmc/incompatible_geom/mismatch/openmc.i)
- (tutorials/msfr/openmc.i)
- (test/tests/neutronics/symmetry/wrong_uo.i)
- (test/tests/neutronics/filters/mesh_sum_gold.i)
- (test/tests/openmc_errors/mesh_tally/incorrect_scaling.i)
- (test/tests/neutronics/dagmc/mesh_tallies/disjoint_bins.i)
- (test/tests/neutronics/mesh_tally/one_mesh_no_input_file.i)
- (test/tests/neutronics/tally_system/multi_mesh_relax.i)
- (test/tests/neutronics/relaxation/mesh_tallies/output_fission_tally.i)
- (test/tests/neutronics/dagmc/no_symmetry.i)
- (tutorials/tokamak/openmc.i)
- (test/tests/neutronics/tally_system/multi_mesh_triggers.i)
- (test/tests/neutronics/filters/azimuthal/mesh.i)
- (test/tests/neutronics/tally_system/multi_mesh.i)
- (test/tests/neutronics/mesh_tally/fission_tally_std_dev.i)
- (test/tests/neutronics/tally_system/multi_diff.i)
- (test/tests/neutronics/heat_source/multi_tally_mesh.i)
- (test/tests/neutronics/mesh_tally/multiple_meshes_global.i)
- (test/tests/neutronics/filters/xml/mesh.i)
- (test/tests/neutronics/mesh_tally/multiple_meshes.i)
- (test/tests/neutronics/filters/energy/mesh_sum.i)
- (test/tests/neutronics/mesh_tally/one_mesh.i)
- (test/tests/neutronics/mesh_tally/different_units.i)
- (test/tests/openmc_errors/mesh_tally/incorrect_order.i)
- (test/tests/neutronics/triggers/mesh_tally_rel_err.i)
- (tutorials/pebbles/openmc_um.i)
- (test/tests/neutronics/feedback/lattice/non_material_fluid.i)
- (test/tests/openmc_errors/mesh_tally/incorrect_file.i)
- (tutorials/dagmc/openmc.i)
- (test/tests/neutronics/filters/azimuthal/mesh_sum.i)
- (test/tests/neutronics/dagmc/mesh_tallies/openmc.i)
- (test/tests/neutronics/dagmc/incompatible_geom/has_csg/openmc.i)
- (test/tests/neutronics/dagmc/mesh_tallies/csg_step_1/openmc.i)
- (doc/content/source/actions/multi_tally_example.i)
- (test/tests/neutronics/dagmc/mesh_tallies/one_bin.i)
- (test/tests/neutronics/relaxation/mesh_tallies/openmc.i)