mirror of
https://github.com/openmc-dev/openmc.git
synced 2026-07-27 13:45:36 -04:00
Expand data structures in developer's guide.
This commit is contained in:
parent
78a5d1c432
commit
fd5cce1221
2 changed files with 71 additions and 1 deletions
|
|
@ -80,6 +80,71 @@ low-energy scattering, a :math:`S(\alpha,\beta)` can be associated with that
|
|||
material through the ``sab_table`` component. Again, this component contains the
|
||||
index in the ``sab_tables`` array from the `global module`_.
|
||||
|
||||
-------
|
||||
Nuclide
|
||||
-------
|
||||
|
||||
The Nuclide derived type stores cross section and interaction data for a nucleus
|
||||
and is defined in the `ace_header module`_. The ``energy`` component is an array
|
||||
that gives the discrete energies at which microscopic cross sections are
|
||||
tabulated. The actual microscopic cross sections are stored in a separate
|
||||
derived type, Reaction. An arrays of Reactions is present in the ``reactions``
|
||||
component. There are a few summary microscopic cross sections stored in other
|
||||
components, such as ``total``, ``elastic``, ``fission``, and ``nu_fission``.
|
||||
|
||||
If a Nuclide is fissionable, the prompt and delayed neutron yield and energy
|
||||
distributions are also stored on the Nuclide type. Many nuclides also have
|
||||
unresolved resonance probability table data. If present, this data is stored in
|
||||
the component ``urr_data`` of derived type UrrData. A complete description of
|
||||
the probability table method is given in :ref:`probability_tables`.
|
||||
|
||||
The list of nuclides present in a problem is stored in the ``nuclides`` array
|
||||
defined in the `global module`_.
|
||||
|
||||
----------
|
||||
SAlphaBeta
|
||||
----------
|
||||
|
||||
The SAlphaBeta derived type stores :math:`S(\alpha,\beta)` data to account for
|
||||
molecular binding effects when treating thermal scattering. Each SAlphaBeta
|
||||
table is associated with a specific nuclide as identified in the ``zaid``
|
||||
component. A complete description of the :math:`S(\alpha,\beta)` treatment can
|
||||
be found in :ref:`sab_tables`.
|
||||
|
||||
---------
|
||||
XsListing
|
||||
---------
|
||||
|
||||
The XsListing derived type stores information on the location of an ACE cross
|
||||
section table based on the data in cross_sections.xml and is defined in the
|
||||
`ace_header module`_. For each ``<ace_table>`` you see in cross_sections.xml,
|
||||
there is a XsListing with its information. When the user input is read, the
|
||||
array ``xs_listings`` in the `global module`_ that is of derived type XsListing
|
||||
is used to locate the ACE data to parse.
|
||||
|
||||
--------------
|
||||
NuclideMicroXS
|
||||
--------------
|
||||
|
||||
The NuclideMicroXS derived type, defined in the `ace_header module`_, acts as a
|
||||
'cache' for microscopic cross sections. As a particle is traveling through
|
||||
different materials, cross sections can be reused if the energy of the particle
|
||||
hasn't changed. The components ``total``, ``elastic``, ``absorption``,
|
||||
``fission``, and ``nu_fission`` represent those microscopic cross sections at
|
||||
the current energy of the particle for a given nuclide. An array ``micro_xs`` in
|
||||
the `global module`_ that is the same length as the ``nuclides`` array stores
|
||||
these cached cross sections for each nuclide in the problem.
|
||||
|
||||
---------------
|
||||
MaterialMacroXS
|
||||
---------------
|
||||
|
||||
In addition to the NuclideMicroXS type, there is also a MaterialMacroXS derived
|
||||
type, defined in the `ace_header module`_ that stored cached *macroscopic* cross
|
||||
sections for the current material. These macroscopic cross sections are used for
|
||||
both physics and tallying purposes. The variable ``material_xs`` in the `global
|
||||
module`_ is of type MaterialMacroXS.
|
||||
|
||||
|
||||
.. _derived types: http://nf.nci.org.au/training/FortranAdvanced/slides/slides.025.html
|
||||
.. _global module: https://github.com/mit-crpg/openmc/blob/master/src/global.F90
|
||||
|
|
@ -87,3 +152,4 @@ index in the ``sab_tables`` array from the `global module`_.
|
|||
.. _geometry_header module: https://github.com/mit-crpg/openmc/blob/master/src/geometry_header.F90
|
||||
.. _constants module: https://github.com/mit-crpg/openmc/blob/master/src/constants.F90
|
||||
.. _material_header module: https://github.com/mit-crpg/openmc/blob/master/src/material_header.F90
|
||||
.. _ace_header module: https://github.com/mit-crpg/openmc/blob/master/src/ace_header.F90
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue