mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-28 14:15:42 -04:00
Updated physics.rst in the methods manual
This commit is contained in:
parent
2fd10d1d53
commit
933fbb70d4
2 changed files with 109 additions and 18 deletions
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue