Various fixes and updates in documentation

This commit is contained in:
Paul Romano 2019-10-04 14:00:22 -05:00
parent 86c081b28b
commit 5b195b6e9f
10 changed files with 125 additions and 130 deletions

View file

@ -109,7 +109,8 @@ The current version of the statepoint file format is 17.0.
**/tallies/tally <uid>/**
:Attributes: - **internal** (*int*) -- Flag indicating the presence of tally
:Attributes:
- **internal** (*int*) -- Flag indicating the presence of tally
data (0) or absence of tally data (1). All user defined
tallies will have a value of 0 unless otherwise instructed.

View file

@ -8,13 +8,14 @@ Cross Section Representations
Continuous-Energy Data
----------------------
The data governing the interaction of neutrons with
various nuclei for continous-energy problems are represented using the ACE
format which is used by MCNP_ and Serpent_. ACE-format data can be generated
with the NJOY_ nuclear data processing system which converts raw
`ENDF/B data`_ into linearly-interpolable data as required by most Monte Carlo
codes. The use of a standard cross section format allows for a direct comparison
of OpenMC with other codes since the same cross section libraries can be used.
In OpenMC, the data governing the interaction of neutrons with various nuclei
for continous-energy problems are represented using an HDF5 format that can be
produced by converting files in the ACE format, which is used by MCNP_ and
Serpent_. ACE-format data can be generated with the NJOY_ nuclear data
processing system, which converts raw `ENDF/B data`_ into linearly-interpolable
data as required by most Monte Carlo codes. Since ACE-format data can be
converted into OpenMC's HDF5 format, it is possible to perform direct comparison
of OpenMC with other codes using the same underlying nuclear data library.
The ACE format contains continuous-energy cross sections for the following types
of reactions: elastic scattering, fission (or first-chance fission,
@ -31,7 +32,7 @@ data can be used.
Energy Grid Methods
-------------------
The method by which continuous energy cross sections for each nuclide in a
The method by which continuous-energy cross sections for each nuclide in a
problem are stored as a function of energy can have a substantial effect on the
performance of a Monte Carlo simulation. Since the ACE format is based on
linearly-interpolable cross sections, each nuclide has cross sections tabulated
@ -72,9 +73,9 @@ Windowed Multipole Representation
---------------------------------
In addition to the usual pointwise representation of cross sections, OpenMC
offers support for an experimental data format called windowed multipole (WMP).
This data format requires less memory than pointwise cross sections, and it
allows on-the-fly Doppler broadening to arbitrary temperature.
offers support for an data format called windowed multipole (WMP). This data
format requires less memory than pointwise cross sections, and it allows
on-the-fly Doppler broadening to arbitrary temperature.
The multipole method was introduced by Hwang_ and the faster windowed multipole
method by Josey_. In the multipole format, cross section resonances are
@ -258,7 +259,7 @@ where a material has a very large cross sections relative to the other material
used to minimize this error.
Finally, the above options for representing the physics do not have to be
consistent across the problem. The number of groups and the structure, however,
consistent across the problem. The number of groups and the structure, however,
does have to be consistent across the data sets. That is to say that each
microscopic or macroscopic data set does not have to apply the same scattering
expansion, treatment of multiplicity or angular representation of the cross

View file

@ -4,11 +4,11 @@
Heating and Energy Deposition
=============================
As particles traverse a problem, some portion of their energy is deposited at
As particles traverse a problem, some portion of their energy is deposited at
collision sites. This energy is deposited when charged particles, including
electrons and recoil nuclei, undergo electromagnetic interactions with
surrounding electons and ions. The information describing how much energy
is deposited for a specific reaction is referred to as
is deposited for a specific reaction is referred to as
"heating numbers" and can be computed using a program like NJOY with the
``heatr`` module.
@ -108,7 +108,7 @@ Neutron Transport
For this case, OpenMC instructs ``heatr`` to produce heating coefficients
assuming that energy from photons, :math:`E_{\gamma, p}` and
:math:`E_{\gamma, d}`, is deposited at the fission site.
Let :math:`N901` represent the total heating number returned from this ``heatr``
Let :math:`N901` represent the total heating number returned from this ``heatr``
run with :math:`N918` reflecting fission heating computed from NJOY.
:math:`M901` represent the following modification
@ -119,7 +119,7 @@ run with :math:`N918` reflecting fission heating computed from NJOY.
+ E_{i, \gamma, d}\right]\sigma_{i, f}(E).
This modified heating data is stored as the MT=901 reaction and will be scored
if ``901`` is included in :attr:`openmc.Tally.scores`.
if ``heating-local`` is included in :attr:`openmc.Tally.scores`.
Coupled neutron-photon transport
--------------------------------
@ -146,4 +146,4 @@ References
.. [Mack97] Abdou, M.A., Maynard, C.W., and Wright, R.Q. MACK: computer
program to calculate neutron energy release parameters (fluence-to-kerma
factors) and multigroup neutron reaction cross sections from nuclear data
in ENDF Format. Oak Ridge National Laboratory report ORNL-TM-3994.
in ENDF Format. Oak Ridge National Laboratory report ORNL-TM-3994.

View file

@ -139,7 +139,7 @@ be performed before the run is finished. This include the following:
- If requested, a source file is written to disk.
- All allocatable arrays are deallocated.
- Dynamically-allocated memory should be freed.
.. _probability distributions: https://en.wikipedia.org/wiki/Probability_distribution
.. _Monte Carlo: https://en.wikipedia.org/wiki/Monte_Carlo_method

View file

@ -1298,11 +1298,10 @@ section over the range of velocities considered:
where it should be noted that the maximum is taken over the range :math:`[v_n -
4/\beta, 4_n + 4\beta]`. This method is known as Doppler broadening rejection
correction (DBRC) and was first introduced by `Becker et al.`_. OpenMC has an
implementation of DBRC as well as an accelerated sampling method that are
described fully in `Walsh et al.`_
implementation of DBRC as well as an accelerated sampling method that samples the `relative velocity`_ directly.
.. _Becker et al.: https://doi.org/10.1016/j.anucene.2008.12.001
.. _Walsh et al.: https://doi.org/10.1016/j.anucene.2014.01.017
.. _relative velocity: https://doi.org/10.1016/j.anucene.2017.12.044
.. _sab_tables:

View file

@ -2,6 +2,8 @@
:mod:`openmc.data` -- Nuclear Data Interface
--------------------------------------------
.. module:: openmc.data
Core Classes
------------
@ -13,15 +15,15 @@ and product yields.
:nosignatures:
:template: myclass.rst
openmc.data.IncidentNeutron
openmc.data.Reaction
openmc.data.Product
openmc.data.FissionEnergyRelease
openmc.data.DataLibrary
openmc.data.Decay
openmc.data.FissionProductYields
openmc.data.WindowedMultipole
openmc.data.ProbabilityTables
IncidentNeutron
Reaction
Product
FissionEnergyRelease
DataLibrary
Decay
FissionProductYields
WindowedMultipole
ProbabilityTables
The following classes are used for storing atomic data (incident photon cross
sections, atomic relaxation):
@ -31,9 +33,9 @@ sections, atomic relaxation):
:nosignatures:
:template: myclass.rst
openmc.data.IncidentPhoton
openmc.data.PhotonReaction
openmc.data.AtomicRelaxation
IncidentPhoton
PhotonReaction
AtomicRelaxation
The following classes are used for storing thermal neutron scattering data:
@ -43,10 +45,10 @@ The following classes are used for storing thermal neutron scattering data:
:nosignatures:
:template: myclass.rst
openmc.data.ThermalScattering
openmc.data.ThermalScatteringReaction
openmc.data.CoherentElastic
openmc.data.IncoherentElastic
ThermalScattering
ThermalScatteringReaction
CoherentElastic
IncoherentElastic
Core Functions
@ -57,12 +59,12 @@ Core Functions
:nosignatures:
:template: myfunction.rst
openmc.data.atomic_mass
openmc.data.gnd_name
openmc.data.linearize
openmc.data.thin
openmc.data.water_density
openmc.data.zam
atomic_mass
gnd_name
linearize
thin
water_density
zam
One-dimensional Functions
-------------------------
@ -72,13 +74,13 @@ One-dimensional Functions
:nosignatures:
:template: myclass.rst
openmc.data.Function1D
openmc.data.Tabulated1D
openmc.data.Polynomial
openmc.data.Combination
openmc.data.Sum
openmc.data.Regions1D
openmc.data.ResonancesWithBackground
Function1D
Tabulated1D
Polynomial
Combination
Sum
Regions1D
ResonancesWithBackground
Angle-Energy Distributions
--------------------------
@ -88,27 +90,27 @@ Angle-Energy Distributions
:nosignatures:
:template: myclass.rst
openmc.data.AngleEnergy
openmc.data.KalbachMann
openmc.data.CorrelatedAngleEnergy
openmc.data.UncorrelatedAngleEnergy
openmc.data.NBodyPhaseSpace
openmc.data.LaboratoryAngleEnergy
openmc.data.AngleDistribution
openmc.data.EnergyDistribution
openmc.data.ArbitraryTabulated
openmc.data.GeneralEvaporation
openmc.data.MaxwellEnergy
openmc.data.Evaporation
openmc.data.WattEnergy
openmc.data.MadlandNix
openmc.data.DiscretePhoton
openmc.data.LevelInelastic
openmc.data.ContinuousTabular
openmc.data.CoherentElasticAE
openmc.data.IncoherentElasticAE
openmc.data.IncoherentElasticAEDiscrete
openmc.data.IncoherentInelasticAEDiscrete
AngleEnergy
KalbachMann
CorrelatedAngleEnergy
UncorrelatedAngleEnergy
NBodyPhaseSpace
LaboratoryAngleEnergy
AngleDistribution
EnergyDistribution
ArbitraryTabulated
GeneralEvaporation
MaxwellEnergy
Evaporation
WattEnergy
MadlandNix
DiscretePhoton
LevelInelastic
ContinuousTabular
CoherentElasticAE
IncoherentElasticAE
IncoherentElasticAEDiscrete
IncoherentInelasticAEDiscrete
Resonance Data
--------------
@ -118,20 +120,20 @@ Resonance Data
:nosignatures:
:template: myclass.rst
openmc.data.Resonances
openmc.data.ResonanceRange
openmc.data.SingleLevelBreitWigner
openmc.data.MultiLevelBreitWigner
openmc.data.ReichMoore
openmc.data.RMatrixLimited
openmc.data.ResonanceCovariances
openmc.data.ResonanceCovarianceRange
openmc.data.SingleLevelBreitWignerCovariance
openmc.data.MultiLevelBreitWignerCovariance
openmc.data.ReichMooreCovariance
openmc.data.ParticlePair
openmc.data.SpinGroup
openmc.data.Unresolved
Resonances
ResonanceRange
SingleLevelBreitWigner
MultiLevelBreitWigner
ReichMoore
RMatrixLimited
ResonanceCovariances
ResonanceCovarianceRange
SingleLevelBreitWignerCovariance
MultiLevelBreitWignerCovariance
ReichMooreCovariance
ParticlePair
SpinGroup
Unresolved
ACE Format
----------
@ -144,8 +146,8 @@ Classes
:nosignatures:
:template: myclass.rst
openmc.data.ace.Library
openmc.data.ace.Table
ace.Library
ace.Table
Functions
+++++++++
@ -155,7 +157,7 @@ Functions
:nosignatures:
:template: myfunction.rst
openmc.data.ace.ascii_to_binary
ace.ascii_to_binary
ENDF Format
-----------
@ -168,7 +170,7 @@ Classes
:nosignatures:
:template: myclass.rst
openmc.data.endf.Evaluation
endf.Evaluation
Functions
+++++++++
@ -178,13 +180,13 @@ Functions
:nosignatures:
:template: myfunction.rst
openmc.data.endf.float_endf
openmc.data.endf.get_cont_record
openmc.data.endf.get_evaluations
openmc.data.endf.get_head_record
openmc.data.endf.get_tab1_record
openmc.data.endf.get_tab2_record
openmc.data.endf.get_text_record
endf.float_endf
endf.get_cont_record
endf.get_evaluations
endf.get_head_record
endf.get_tab1_record
endf.get_tab2_record
endf.get_text_record
NJOY Interface
--------------
@ -194,7 +196,7 @@ NJOY Interface
:nosignatures:
:template: myfunction.rst
openmc.data.njoy.run
openmc.data.njoy.make_pendf
openmc.data.njoy.make_ace
openmc.data.njoy.make_ace_thermal
njoy.run
njoy.make_pendf
njoy.make_ace
njoy.make_ace_thermal

View file

@ -1,11 +1,11 @@
.. _pythonapi_deplete:
.. module:: openmc.deplete
----------------------------------
:mod:`openmc.deplete` -- Depletion
----------------------------------
.. module:: openmc.deplete
Primary API
-----------

View file

@ -16,10 +16,10 @@ recommended to use one of the pregenerated libraries. Alternatively, if you have
ACE format data that was produced with NJOY_, such as that distributed with
MCNP_ or Serpent_, it can be converted to the HDF5 format using the :ref:`using
the Python API <create_xs_library>`. Several sources provide openly available
ACE data including the `ENDF/B`_, JEFF_, and TENDL_
libraries. In addition to tabulated cross sections in the HDF5 files, OpenMC
relies on :ref:`windowed multipole <windowed_multipole>` data to perform
on-the-fly Doppler broadening.
ACE data including the `ENDF/B`_, JEFF_, and TENDL_ libraries as well as the
`LANL Nuclear Data Team <https://nucleardata.lanl.gov/>`_. In addition to
tabulated cross sections in the HDF5 files, OpenMC relies on :ref:`windowed
multipole <windowed_multipole>` data to perform on-the-fly Doppler broadening.
In multi-group mode, OpenMC utilizes an HDF5-based library format which can be
used to describe nuclide- or material-specific quantities.
@ -30,11 +30,11 @@ Environment Variables
When :ref:`scripts_openmc` is run, it will look for several environment
variables that indicate where cross sections can be found. While the location of
cross sections can also be indicated through the :class:`openmc.Materials` class
(or in the :ref:`materials.xml <io_materials>` file), if you always use the same
set of cross section data, it is often easier to just set an environment
variable that will be picked up by default every time OpenMC is run. The
following environment variables are used:
cross sections can also be indicated through the
:attr:`openmc.Materials.cross_setion` attribute (or in the :ref:`materials.xml
<io_materials>` file), if you always use the same set of cross section data, it
is often easier to just set an environment variable that will be picked up by
default every time OpenMC is run. The following environment variables are used:
:envvar:`OPENMC_CROSS_SECTIONS`
Indicates the path to the :ref:`cross_sections.xml <io_cross_sections>`

View file

@ -121,11 +121,11 @@ For many regions, a bounding-box can be determined automatically::
While a bounding box can be determined for regions involving half-spaces of
spheres, cylinders, and axis-aligned planes, it generally cannot be determined
if the region involves cones, non-axis-aligned planes, or other exotic
second-order surfaces. For example, the :func:`openmc.get_hexagonal_prism`
second-order surfaces. For example, the :func:`openmc.model.hexagonal_prism`
function returns the interior region of a hexagonal prism; because it is bounded
by a :class:`openmc.Plane`, trying to get its bounding box won't work::
>>> hex = openmc.get_hexagonal_prism()
>>> hex = openmc.model.hexagonal_prism()
>>> hex.bounding_box
(array([-0.8660254, -inf, -inf]),
array([ 0.8660254, inf, inf]))
@ -374,7 +374,7 @@ code would work::
hexlat.universes = [outer_ring, middle_ring, inner_ring]
If you need to create a hexagonal boundary (composed of six planar surfaces) for
a hexagonal lattice, :func:`openmc.get_hexagonal_prism` can be used.
a hexagonal lattice, :func:`openmc.model.hexagonal_prism` can be used.
.. _usersguide_geom_export:
@ -396,6 +396,13 @@ if needed, lattices, the last step is to create an instance of
geom.root_universe = root_univ
geom.export_to_xml()
Note that it's not strictly required to manually create a root universe. You can
also pass a list of cells to the :class:`openmc.Geometry` constructor and it
will handle creating the unverse::
geom = openmc.Geometry([cell1, cell2, cell3])
geom.export_to_xml()
.. _constructive solid geometry: https://en.wikipedia.org/wiki/Constructive_solid_geometry
.. _quadratic surfaces: https://en.wikipedia.org/wiki/Quadric

View file

@ -221,26 +221,11 @@ selected::
settings.electron_treatment = 'led'
.. warning::
Currently, collision stopping powers used in the TTB approximation come from
the `NIST ESTAR database`_, which provides data for each element calculated
using by default the material density at standard temperature and pressure.
In OpenMC, stopping powers for compounds are calculated from this elemental
data using Bragg's additivity rule. However, this is not a good
approximation --- the collision stopping power is a function of certain
quantities, such as the mean excitation energy and particularly the density
effect correction, that depend on material properties. Data for constituent
elements in a compound cannot simply be summed together, but rather these
quantities should be calculated for the material. This treatment will be
especially poor when the density of a material is different from the
densities used in the NIST data.
.. note::
Some features related to photon transport are not currently implemented,
including:
* Tallying photon energy deposition.
* Properly accounting for energy deposition in coupled n-p calculations.
* Generating a photon source from a neutron calculation that can be used
for a later fixed source photon calculation.
* Photoneutron reactions.