Add user's guide section on normalizing tally results

This commit is contained in:
Paul Romano 2020-04-13 14:05:31 -05:00
parent b73f07655b
commit 767d65bddf

View file

@ -308,3 +308,63 @@ The following tables show all valid scores:
| |particle. This corresponds to MT=444 produced by |
| |NJOY's HEATR module. |
+----------------------+---------------------------------------------------+
------------------------------
Normalization of Tally Results
------------------------------
As described in :ref:`usersguide_scores`, all tally scores are normalized per
source particle simulated. However, for analysis of a given system, we usually
want tally scores in a more natural unit. For example, neutron flux is often
reported in units of particles/cm\ :sup:`2`\ -s. For a fixed source simulation,
it is usually straightforward to convert units if the source rate is known. For
example, if the system being modeled includes a source that is emitting 10\
:sup:`4` neutrons per second, the tally results just need to be multipled by 10\
:sup:`4`. This can either be done manually or using the
:attr:`openmc.Source.strength` attribute.
For a :math:`k`\ -eigenvalue calculation, normalizing tally results is not as
simple because the source rate is not actually known. Instead, we typically know
the system power, :math:`P`, which represents how much energy is deposited per
unit time. Most of this energy originates from fission, but a small percentage
also results from other reactions (e.g., photons emitted from :math:`(n,\gamma)`
reactions). The most rigorous method to normalize tally results is to run a
coupled neutron-photon calculation and tally the ``heating`` score over the
entire system. This score provides the heating rate in units of [eV/source],
which we'll denote :math:`H`. Then, calculate the heating rate in J/source as
.. math::
H' = 1.602\times10^{-19} \left [ \frac{\text{J}}{\text{eV}} \right ] \cdot H
\left [\frac{\text{eV}}{\text{source}} \right ].
Dividing the power by the observed heating rate then gives us a normalization
factor that can be applied to other tallies:
.. math::
f = \frac{P}{H'} = \frac{[\text{J}/\text{s}]}{[\text{J}/\text{source}]} =
\left [ \frac{\text{source}}{\text{s}} \right ].
With this normalization factor, we can then get the flux in typical units:
.. math::
\phi' = \frac{\phi}{fV} = \frac{[\text{particle-cm}/\text{source}]}
{[\text{source}/\text{s}][\text{cm}^3]} = \left [
\frac{\text{particle}}{\text{cm}^2\cdot\text{s}} \right ]
There are several slight variations on this procedure:
- Run a neutron-only calculation and estimate the total heating using the
``heating-local`` score (this requires that your nuclear data has local
heating data available, such as in the official data library at
https://openmc.org. See :ref:`methods_heating` for more information.)
- Run a neutron-only calculation and use the ``kappa-fission`` or
``fission-q-recoverable`` scores along with an estimate of the extra heating
due to neutron capture reactions.
- Calculate the overall fission rate and then used a fixed Q value to estimate
the heating rate.
Note that the only difference between these and the above procedures is in how
:math:`H'` is estimated.