Merge pull request #871 from amandalund/separate_filters

Separate tally filters from tallies
This commit is contained in:
Paul Romano 2017-05-24 09:27:50 -05:00 committed by GitHub
commit 897db1389d
54 changed files with 3091 additions and 3311 deletions

View file

@ -4,7 +4,7 @@
State Point File Format
=======================
The current version of the statepoint file format is 16.0.
The current version of the statepoint file format is 17.0.
**/**
@ -92,6 +92,26 @@ The current version of the statepoint file format is 16.0.
- **width** (*double[]*) -- Width of each mesh cell in each
dimension.
**/tallies/filters/**
:Attributes: - **n_filters** (*int*) -- Number of filters in the problem.
- **ids** (*int[]*) -- User-defined unique ID of each filter.
**/tallies/filters/filter <uid>/**
:Datasets: - **type** (*char[]*) -- Type of the j-th filter. Can be 'universe',
'material', 'cell', 'cellborn', 'surface', 'mesh', 'energy',
'energyout', 'distribcell', 'mu', 'polar', 'azimuthal',
'delayedgroup', or 'energyfunction'.
- **n_bins** (*int*) -- Number of bins for the j-th filter. Not
present for 'energyfunction' filters.
- **bins** (*int[]* or *double[]*) -- Value for each filter bin of
this type. Not present for 'energyfunction' filters.
- **energy** (*double[]*) -- Energy grid points for energyfunction
interpolation. Only used for 'energyfunction' filters.
- **y** (*double[]*) -- Interpolant values for energyfunction
interpolation. Only used for 'energyfunction' filters.
**/tallies/derivatives/derivative <id>/**
:Datasets: - **independent variable** (*char[]*) -- Independent variable of
@ -105,6 +125,8 @@ The current version of the statepoint file format is 16.0.
:Datasets: - **n_realizations** (*int*) -- Number of realizations.
- **n_filters** (*int*) -- Number of filters used.
- **filters** (*int[]*) -- User-defined unique IDs of the filters on
the tally
- **nuclides** (*char[][]*) -- Array of nuclides to tally. Note that
if no nuclide is specified in the user input, a single 'total'
nuclide appears here.
@ -126,21 +148,6 @@ The current version of the statepoint file format is 16.0.
scoring bins, and the third dimension has two entries for the sum
and the sum-of-squares.
**/tallies/tally <uid>/filter <j>/**
:Datasets: - **type** (*char[]*) -- Type of the j-th filter. Can be 'universe',
'material', 'cell', 'cellborn', 'surface', 'mesh', 'energy',
'energyout', 'distribcell', 'mu', 'polar', 'azimuthal',
'delayedgroup', or 'energyfunction'.
- **n_bins** (*int*) -- Number of bins for the j-th filter. Not
present for 'energyfunction' filters.
- **bins** (*int[]* or *double[]*) -- Value for each filter bin of
this type. Not present for 'energyfunction' filters.
- **energy** (*double[]*) -- Energy grid points for energyfunction
interpolation. Only used for 'energyfunction' filters.
- **y** (*double[]*) -- Interpolant values for energyfunction
interpolation. Only used for 'energyfunction' filters.
**/runtime/**
All values are given in seconds and are measured on the master process.

View file

@ -18,8 +18,8 @@ filters can be used for a tally. The following types of filter are available:
cell, universe, material, surface, birth region, pre-collision energy,
post-collision energy, and an arbitrary structured mesh.
The three valid elements in the tallies.xml file are ``<tally>``, ``<mesh>``,
and ``<assume_separate>``.
The five valid elements in the tallies.xml file are ``<tally>``, ``<filter>``,
``<mesh>``, ``<derivative>``, and ``<assume_separate>``.
.. _tally:
@ -35,42 +35,8 @@ The ``<tally>`` element accepts the following sub-elements:
*Default*: ""
:filter:
Specify a filter that modifies tally behavior. Most tallies (e.g. ``cell``,
``energy``, and ``material``) restrict the tally so that only particles
within certain regions of phase space contribute to the tally. Others
(e.g. ``delayedgroup`` and ``energyfunction``) can apply some other function
to the scored values. This element and its attributes/sub-elements are
described below.
.. note::
You may specify zero, one, or multiple filters to apply to the tally. To
specify multiple filters, you must use multiple ``<filter>`` elements.
The ``filter`` element has the following attributes/sub-elements:
:type:
The type of the filter. Accepted options are "cell", "cellborn",
"material", "universe", "energy", "energyout", "mu", "polar",
"azimuthal", "mesh", "distribcell", "delayedgroup", and
"energyfunction".
:bins:
A description of the bins for each type of filter can be found in
:ref:`filter_types`.
:energy:
``energyfunction`` filters multiply tally scores by an arbitrary
function. The function is described by a piecewise linear-linear set of
(energy, y) values. This entry specifies the energy values. The function
will be evaluated as zero outside of the bounds of this energy grid.
(Only used for ``energyfunction`` filters)
:y:
``energyfunction`` filters multiply tally scores by an arbitrary
function. The function is described by a piecewise linear-linear set of
(energy, y) values. This entry specifies the y values. (Only used
for ``energyfunction`` filters)
:filters:
A space-separated list of the IDs of ``filter`` elements.
:nuclides:
If specified, the scores listed will be for particular nuclides, not the
@ -144,6 +110,41 @@ The ``<tally>`` element accepts the following sub-elements:
*Default*: None
--------------------
``<filter>`` Element
--------------------
Filters can be used to modify tally behavior. Most tallies (e.g. ``cell``,
``energy``, and ``material``) restrict the tally so that only particles
within certain regions of phase space contribute to the tally. Others
(e.g. ``delayedgroup`` and ``energyfunction``) can apply some other function
to the scored values. The ``filter`` element has the following
attributes/sub-elements:
:type:
The type of the filter. Accepted options are "cell", "cellborn",
"material", "universe", "energy", "energyout", "mu", "polar",
"azimuthal", "mesh", "distribcell", "delayedgroup", and
"energyfunction".
:bins:
A description of the bins for each type of filter can be found in
:ref:`filter_types`.
:energy:
``energyfunction`` filters multiply tally scores by an arbitrary
function. The function is described by a piecewise linear-linear set of
(energy, y) values. This entry specifies the energy values. The function
will be evaluated as zero outside of the bounds of this energy grid.
(Only used for ``energyfunction`` filters)
:y:
``energyfunction`` filters multiply tally scores by an arbitrary
function. The function is described by a piecewise linear-linear set of
(energy, y) values. This entry specifies the y values. (Only used
for ``energyfunction`` filters)
.. _filter_types:
Filter Types