Updated physics.rst in the methods manual

This commit is contained in:
Adam Nelson 2016-06-15 12:19:42 -04:00
parent 2fd10d1d53
commit 933fbb70d4
2 changed files with 109 additions and 18 deletions

View file

@ -51,6 +51,7 @@ implement a method of reducing the number of energy grid searches in order to
speed up the calculation.
Logarithmic Mapping
+++++++++++++++++++
To speed up energy grid searches, OpenMC uses logarithmic mapping technique
[Brown]_ to limit the range of energies that must be searched for each
@ -60,6 +61,7 @@ the nuclide energy grids. By default, OpenMC uses 8000 equal-lethargy segments
as recommended by Brown.
Other Methods
+++++++++++++
A good survey of other energy grid techniques, including unionized energy grids,
can be found in a paper by Leppanen_.
@ -68,7 +70,7 @@ can be found in a paper by Leppanen_.
Multi-Group Data
----------------
The data governing the interaction of neutrons with various nuclei or materials
The data governing the interaction of particles with various nuclei or materials
are represented using a multi-group library format specific to the OpenMC code.
The format is described in the MGXS library specification_
The data itself can be prepared via multiple paths including: generation via
@ -88,23 +90,23 @@ tallies are requested by the user, then the library must also contain the
fission cross section (:math:`\sigma_{f,g}`) or the fission energy release
cross section (:math:`\kappa\sigma_{f,g}`).
After a scattering collision, the outgoing neutron experiences a change in both
energy and angle. The probability of a neutron resulting in a given outgoing
After a scattering collision, the outgoing particle experiences a change in both
energy and angle. The probability of a particle resulting in a given outgoing
energy group (`g'`) given a certain incoming energy group (`g`) is provided
by the scattering matrix cross sections themselves. The angular information,
however, can be expressed either via Legendre expansion of the neutron's
however, can be expressed either via Legendre expansion of the particle's
change-in-angle (:math:`\mu`), a tabular representation of the probability of
a neutron experiencing a given :math:`\mu`, or a histogram representation of the
probability of a neutron experiencing a given :math:`\mu`. The formats used to
a particle experiencing a given :math:`\mu`, or a histogram representation of the
probability of a particle experiencing a given :math:`\mu`. The formats used to
represent these are described in the library format specification_.
Unlike the continuous-energy mode, the multi-group mode does not explicitly
track neutrons produced from scattering multiplication (i.e., :math:`(n,xn)`)
track particles produced from scattering multiplication (i.e., :math:`(n,xn)`)
reactions. These are instead accounted for by adjusting the weight of the
neutron after the collision such that the correct total weight is maintained.
particle after the collision such that the correct total weight is maintained.
The information for how to adjust this weight is optionally provided by the
`multiplicity` data which exists as a group-wise matrix. This data represents
the average number of neutrons emitted from a scattering reaction, given a
the average number of particles emitted from a scattering reaction, given a
scattering reaction has occurred:
.. math::
@ -113,16 +115,16 @@ scattering reaction has occurred:
\sigma_{s,g \arrow g'}}
This data is provided as a group-wise matrix since the probability of producing
multiple neutrons in a scattering reaction depends on both the incoming energy,
multiple particles in a scattering reaction depends on both the incoming energy,
`g`, and the sampled outgoing energy, `g'`.
If this scattering multiplication information is not provided in the library
then no weight adjustment will be performed. This is equivalent to neglecting
any additional neutrons produced in scattering multiplication reactions.
any additional particles produced in scattering multiplication reactions.
However, this assumption will result in a loss of accuracy since the total
neutron population would not be conserved. This reduction in accuracy due to
the loss in neutron conservation can be mitigated by reducing the absorption
cross section as needed to maintain neutron conservation. This adjustment can
particle population would not be conserved. This reduction in accuracy due to
the loss in particle conservation can be mitigated by reducing the absorption
cross section as needed to maintain particle conservation. This adjustment can
be done when generating the library, or by OpenMC. To have OpenMC perform the
adjustment, the total cross section (:math:`\sigma_{t,g}`) must be provided.
With this information, OpenMC will then adjust the absorption cross section as
@ -135,12 +137,12 @@ follows:
The above method is the same as is typically done with most deterministic methods.
Note that this method is less accurate than using the scattering multiplication
weight adjustment since simply reducing the absorption cross section does not
include any information about the outgoing energy of the neutrons produced in
include any information about the outgoing energy of the particles produced in
these reactions.
All of the data discussed in this section can be provided to the code
independent of the neutron's direction of motion (i.e., isotropic), or the data
can be provided as a tabular distribution of the polar and azimuthal neutron
independent of the particle's direction of motion (i.e., isotropic), or the data
can be provided as a tabular distribution of the polar and azimuthal particle
direction angles. The isotropic representation is the most commonly used,
however inaccuracies are to be expected especially near material interfaces
where a material has a very large cross sections relative to the other material

View file

@ -4,6 +4,12 @@
Physics
=======
There are limited differences between physics treatments used in the
continuous-energy and multi-group modes. If distinctions are necessary, each
of the following sections will provide an explanation of the differences.
Otherwise, replacing any references of the particle's energy (`E`) with
references to the particle's energy group (`g) will suffice.
-----------------------------------
Sampling Distance to Next Collision
-----------------------------------
@ -79,6 +85,10 @@ originating from :math:`(n,\gamma)` and other reactions.
Elastic Scattering
------------------
Note that the multi-group mode makes no distinction between elastic or
inelastic scattering reactions. The spceific multi-group scattering
implementation is discussed in the multi-group-scatter_ section.
Elastic scattering refers to the process by which a neutron scatters off a
nucleus and does not leave it in an excited. It is referred to as "elastic"
because in the center-of-mass system, the neutron does not actually lose
@ -170,6 +180,10 @@ final direction in the lab system.
Inelastic Scattering
--------------------
Note that the multi-group mode makes no distinction between elastic or
inelastic scattering reactions. The spceific multi-group scattering
implementation is discussed in the multi-group-scatter_ section.
The major algorithms for inelastic scattering were described in previous
sections. First, a scattering cosine is sampled using the algorithms in
:ref:`sample-angle`. Then an outgoing energy is sampled using the algorithms in
@ -186,12 +200,67 @@ secondary photons from nuclear de-excitation are tracked in OpenMC.
:math:`(n,xn)` Reactions
------------------------
Note that the multi-group mode makes no distinction between elastic or
inelastic scattering reactions. The specific multi-group scattering
implementation is discussed in the multi-group-scatter_ section.
These types of reactions are just treated as inelastic scattering and as such
are subject to the same procedure as described in :ref:`inelastic-scatter`. For
reactions with integral multiplicity, e.g., :math:`(n,2n)`, an appropriate
number of secondary neutrons are created. For reactions that have a multiplicity
given as a function of the incoming neutron energy (which occasionally occurs
for MT=5), the weight of the outgoing neutron is multiplied by the multiplcity.
for MT=5), the weight of the outgoing neutron is multiplied by the multiplicity.
.. _multi-group-scatter:
----------------------
Multi-Group Scattering
----------------------
In multi-group mode, a scattering collision requires that the outgoing energy
group of the simulated particle be selected from a probability distribution,
then the change-in-angle selected from a probability distribution according to
the outgoing energy group, and finally the particle's weight adjusted again
according to the outgoing energy group.
The first step in selecting an outgoing energy group for a particle in a given
incoming energy group is to select a random number (:math:`\xi`) between 0 and
1. This number is then compared to the cumulative distribution function
produced from the outgoing group (`g'`) data for the given incoming group (`g`):
.. math::
CDF = \sum_{g'=0}^{h}\Sigma_{s,g \arrow g'}
If the scattering data is represented as a Legendre expansion, then the
value of :math:`\Sigma_{s,g \arrow g'}` above is simply the 0th order. If the
data is provided as tabular or histogram data, then the value of
:math:`\Sigma_{s,g \arrow g'}` is the sum of all bins of data for a given `g`
and `g'` pair.
Now that the outgoing energy is known the change-in-angle, :math:`\mu` can be
determined. If the data is provided as a Legendre expansion, this is done by
rejection sampling of the probability distribution represented by the Legendre
series. For efficiency, the selected values of the PDF (:math:`f(\mu)`) are
chosen to be between 0 and the maximum value of :math:`f(\mu)` in the domain of
-1 to 1.
If the angular data is instead provided as a tabular representation, then the
value of :math:`\mu` is selected as described in the later angle-tabular_
section with a linear-linear interpolation scheme.
If the angular data is provided as a histogram representation, then
the value of :math:`\mu` is selected in a similar fashion to that described for
the selection of the outgoing energy (since the energy group representation is
simply a histogram representation) except the CDF is composed of the angular
bins and not the energy groups. However, since we are interested in a specific
value of :math:`\mu` instead of a group, then an angle selected from a uniform
distribution within from the chosen histogram bin.
The final step in the scattering treatment is to adjust the weight of the
neutron to account for any production of neutrons due to :math:`(n,xn)`
reactions. This data is obtained from the multiplicity data provided in the
multi-group cross section library for the material of interest.
The scaled value will default to 1.0 if no value is provided in the library.
.. _fission:
@ -271,10 +340,19 @@ position of the collision site are stored in an array called the fission
bank. In a subsequent generation, these fission bank sites are used as starting
source sites.
The above description is similar for the multi-group mode except the data are
provided as group-wise data instead of in a continuous-energy format. In this
case, the outgoing energy of the fission neutrons are represented as histograms
by way of either the nu-fission matrix or chi vector.
-----------------------------------------
Secondary Angles and Energy Distributions
-----------------------------------------
Note that this section is specific to continuous-energy mode since the
multi-group scattering process has already been described including the
secondary energy and angle sampling.
For any reactions with secondary neutrons, it is necessary to sample secondary
angle and energy distributions. This includes elastic and inelastic scattering,
fission, and :math:`(n,xn)` reactions. In some cases, the angle and energy
@ -890,6 +968,9 @@ space distribution at all, the :math:`(n,2n)` reaction with H-2.
Transforming a Particle's Coordinates
-------------------------------------
Since all the multi-group data exists in the laboratory frame of reference, this
section does not apply to the multi-group mode.
Once the cosine of the scattering angle :math:`\mu` has been sampled either from
a angle distribution or a correlated angle-energy distribution, we are still
left with the task of transforming the particle's coordinates. If the outgoing
@ -941,6 +1022,9 @@ the post-collision direction is calculated as
Effect of Thermal Motion on Cross Sections
------------------------------------------
Since all the multi-group data should be generated with thermal scattering
treatments already, this section does not apply to the multi-group mode.
When a neutron scatters off of a nucleus, it may often be assumed that the
target nucleus is at rest. However, the target nucleus will have motion
associated with its thermal vibration, even at absolute zero (This is due to the
@ -1272,6 +1356,8 @@ described fully in `Walsh et al.`_
|sab| Tables
------------
Note that |sab| tables are only applicable to continuous-energy transport.
For neutrons with thermal energies, generally less than 4 eV, the kinematics of
scattering can be affected by chemical binding and crystalline effects of the
target molecule. If these effects are not accounted for in a simulation, the
@ -1461,6 +1547,9 @@ actual algorithm utilized to sample the outgoing angle is shown in equation
Unresolved Resonance Region Probability Tables
----------------------------------------------
Note that unresolved resonance treatments are only applicable to
continuous-energy transport.
In the unresolved resonance energy range, resonances may be so closely spaced
that it is not possible for experimental measurements to resolve all
resonances. To properly account for self-shielding in this energy range, OpenMC