From 933fbb70d449fd8493995f507d74ef5d3b0595d8 Mon Sep 17 00:00:00 2001 From: Adam Nelson Date: Wed, 15 Jun 2016 12:19:42 -0400 Subject: [PATCH] Updated physics.rst in the methods manual --- docs/source/methods/cross_sections.rst | 36 +++++----- docs/source/methods/physics.rst | 91 +++++++++++++++++++++++++- 2 files changed, 109 insertions(+), 18 deletions(-) diff --git a/docs/source/methods/cross_sections.rst b/docs/source/methods/cross_sections.rst index 71caa07b80..bb72a9c75e 100644 --- a/docs/source/methods/cross_sections.rst +++ b/docs/source/methods/cross_sections.rst @@ -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 diff --git a/docs/source/methods/physics.rst b/docs/source/methods/physics.rst index cc486ab67b..7edd656d62 100644 --- a/docs/source/methods/physics.rst +++ b/docs/source/methods/physics.rst @@ -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