Documentation for version 0.5.4.

This commit is contained in:
Bryan Herman 2014-03-25 23:17:43 -04:00
parent 05a2002f36
commit 07c6fb7a17
64 changed files with 12150 additions and 438 deletions

BIN
_images/3dba.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

View file

@ -15,6 +15,6 @@ as debugging.
structures
styleguide
workflow
xml-fortran
xml-parsing
statepoint
voxel

View file

@ -4,6 +4,296 @@
State Point Binary File Specifications
======================================
-----------
Revision 11
-----------
**integer(4) FILETYPE_STATEPOINT**
Flags whether this file is a statepoint file or a particle restart file.
**integer(4) REVISION_STATEPOINT**
Revision of the binary state point file. Any time a change is made in the
format of the state-point file, this integer is incremented.
**integer(4) VERSION_MAJOR**
Major version number for OpenMC
**integer(4) VERSION_MINOR**
Minor version number for OpenMC
**integer(4) VERSION_RELEASE**
Release version number for OpenMC
**character(19) time_stamp**
Date and time the state point was written.
**character(255) path**
Absolute path to directory containing input files.
**integer(8) seed**
Pseudo-random number generator seed.
**integer(4) run_mode**
run mode used. The modes are described in constants.F90.
**integer(8) n_particles**
Number of particles used per generation.
**integer(4) n_batches**
Total number of batches (active + inactive).
**integer(4) current_batch**
The number of batches already simulated.
if (run_mode == MODE_EIGENVALUE)
**integer(4) n_inactive**
Number of inactive batches
**integer(4) gen_per_batch**
Number of generations per batch for criticality calculations
*do i = 1, current_batch \* gen_per_batch*
**real(8) k_generation(i)**
k-effective for the i-th total generation
*do i = 1, current_batch \* gen_per_batch*
**real(8) entropy(i)**
Shannon entropy for the i-th total generation
**real(8) k_col_abs**
Sum of product of collision/absorption estimates of k-effective
**real(8) k_col_tra**
Sum of product of collision/track-length estimates of k-effective
**real(8) k_abs_tra**
Sum of product of absorption/track-length estimates of k-effective
**real(8) k_combined(2)**
Mean and standard deviation of a combined estimate of k-effective
**integer(4) cmfd_on**
Flag that cmfd is on
if (cmfd_on)
**integer(4) cmfd % indices**
Indices for cmfd mesh (i,j,k,g)
**real(8) cmfd % k_cmfd(1:current_batch)**
CMFD eigenvalues
**real(8) cmfd % src(1:G,1:I,1:J,1:K)**
CMFD fission source
**real(8) cmfd % entropy(1:current_batch)**
CMFD estimate of Shannon entropy
**real(8) cmfd % balance(1:current_batch)**
RMS of the residual neutron balance equation on CMFD mesh
**real(8) cmfd % dom(1:current_batch)**
CMFD estimate of dominance ratio
**real(8) cmfd % scr_cmp(1:current_batch)**
RMS comparison of difference between OpenMC and CMFD fission source
**integer(4) n_meshes**
Number of meshes in tallies.xml file
*do i = 1, n_meshes*
**integer(4) meshes(i) % id**
Unique ID of mesh.
**integer(4) meshes(i) % type**
Type of mesh.
**integer(4) meshes(i) % n_dimension**
Number of dimensions for mesh (2 or 3).
**integer(4) meshes(i) % dimension(:)**
Number of mesh cells in each dimension.
**real(8) meshes(i) % lower_left(:)**
Coordinates of lower-left corner of mesh.
**real(8) meshes(i) % upper_right(:)**
Coordinates of upper-right corner of mesh.
**real(8) meshes(i) % width(:)**
Width of each mesh cell in each dimension.
**integer(4) n_tallies**
*do i = 1, n_tallies*
**integer(4) tallies(i) % id**
Unique ID of tally.
**integer(4) tallies(i) % n_realizations**
Number of realizations for the i-th tally.
**integer(4) size(tallies(i) % scores, 1)**
Total number of score bins for the i-th tally
**integer(4) size(tallies(i) % scores, 2)**
Total number of filter bins for the i-th tally
**integer(4) tallies(i) % n_filters**
*do j = 1, tallies(i) % n_filters*
**integer(4) tallies(i) % filter(j) % type**
Type of tally filter.
**integer(4) tallies(i) % filter(j) % n_bins**
Number of bins for filter.
**integer(4)/real(8) tallies(i) % filter(j) % bins(:)**
Value for each filter bin of this type.
**integer(4) tallies(i) % n_nuclide_bins**
Number of nuclide bins. If none are specified, this is just one.
*do j = 1, tallies(i) % n_nuclide_bins*
**integer(4) tallies(i) % nuclide_bins(j)**
Values of specified nuclide bins
**integer(4) tallies(i) % n_score_bins**
Number of scoring bins.
*do j = 1, tallies(i) % n_score_bins*
**integer(4) tallies(i) % score_bins(j)**
Values of specified scoring bins (e.g. SCORE_FLUX).
*do j = 1, tallies(i) % n_score_bins*
**integer(4) tallies(i) % scatt_order(j)**
Scattering Order specified scoring bins.
**integer(4) tallies(i) % n_score_bins**
Number of scoring bins without accounting for those added by
the scatter-pn command.
**integer(4) source_present**
Flag indicated if source bank is present in the file
**integer(4) n_realizations**
Number of realizations for global tallies.
**integer(4) N_GLOBAL_TALLIES**
Number of global tally scores
*do i = 1, N_GLOBAL_TALLIES*
**real(8) global_tallies(i) % sum**
Accumulated sum for the i-th global tally
**real(8) global_tallies(i) % sum_sq**
Accumulated sum of squares for the i-th global tally
**integer(4) tallies_on**
Flag indicated if tallies are present in the file.
if (tallies_on > 0)
*do i = 1, n_tallies*
*do k = 1, size(tallies(i) % scores, 2)*
*do j = 1, size(tallies(i) % scores, 1)*
**real(8) tallies(i) % scores(j,k) % sum**
Accumulated sum for the j-th score and k-th filter of the
i-th tally
**real(8) tallies(i) % scores(j,k) % sum_sq**
Accumulated sum of squares for the j-th score and k-th
filter of the i-th tally
if (run_mode == MODE_EIGENVALUE and source_present)
*do i = 1, n_particles*
**real(8) source_bank(i) % wgt**
Weight of the i-th source particle
**real(8) source_bank(i) % xyz(1:3)**
Coordinates of the i-th source particle.
**real(8) source_bank(i) % uvw(1:3)**
Direction of the i-th source particle
**real(8) source_bank(i) % E**
Energy of the i-th source particle.
-----------
Revision 10
-----------

View file

@ -60,7 +60,7 @@ features and bug fixes. The general steps for contributing are as follows:
repository with the same name under your personal account. As such, you can
commit to it as you please without disrupting other developers.
.. image:: ../../img/fork.png
.. image:: ../_images/fork.png
2. Clone your fork of OpenMC and create a branch that branches off of *develop*:
@ -77,7 +77,7 @@ features and bug fixes. The general steps for contributing are as follows:
4. Issue a pull request from GitHub and select the *develop* branch of
mit-crpg/openmc as the target.
.. image:: ../../img/pullrequest.png
.. image:: ../_images/pullrequest.png
At a minimum, you should describe what the changes you've made are and why
you are making them. If the changes are related to an oustanding issue, make

View file

@ -0,0 +1,38 @@
.. _devguide_xml-parsing:
=================
XML Input Parsing
=================
OpenMC relies on the FoX_ Fortran XML library for reading and intrepreting the
XML input files for geometry, materials, settings, tallies, etc. The use of an
XML format makes writing input files considerably more flexible than would
otherwise be possible.
With the FoX library, extending the user input files to include new tags is
fairly straightforward. The steps for modifying/adding input are as follows:
1. Add appropriate calls to procedures from the `xml_interface module`_, such as
``check_for_node``, ``get_node_value``, and ``get_node_array``. All input
reading is performed in the `input_xml module`_.
2. Make sure that your input can be categorized as one of the datatypes from
`XML Schema Part 2`_ and that parsing of the data appropriately reflects
this. For example, for a boolean_ value, true can be represented either by "true"
or by "1".
3. Add code to check the variable for any possible errors.
A set of `RELAX NG`_ schemata exists that enables real-time validation of input
files when using the GNU Emacs text editor. You should also modify the RELAX NG
schema for the file you changed (e.g. src/relaxng/geometry.rnc) so that
those who use Emacs can confirm whether their input is valid before they
run. You will need to be familiar with RELAX NG `compact syntax`_.
.. _FoX: https://github.com/andreww/fox
.. _xml_interface module: https://github.com/mit-crpg/openmc/blob/develop/src/xml_interface.F90
.. _input_xml module: https://github.com/mit-crpg/openmc/blob/develop/src/input_xml.F90
.. _XML Schema Part 2: http://www.w3.org/TR/xmlschema-2/
.. _boolean: http://www.w3.org/TR/xmlschema-2/#boolean
.. _RELAX NG: http://relaxng.org/
.. _compact syntax: http://relaxng.org/compact-tutorial-20030326.html

View file

@ -4,7 +4,7 @@
License Agreement
=================
Copyright © 2011-2013 Massachusetts Institute of Technology
Copyright © 2011-2014 Massachusetts Institute of Technology
Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the "Software"), to deal in

View file

@ -80,7 +80,7 @@ dashed box would need to be stored on a per-nuclide basis, and the union grid
would need to be stored once. This method is also referred to as *double
indexing* and is available as an option in Serpent (see paper by Leppanen_).
.. figure:: ../../img/uniongrid.svg
.. figure:: ../_images/uniongrid.*
:width: 600px
:align: center
:figclass: align-center

View file

@ -108,6 +108,40 @@ at plots of :math:`k_{eff}` and the Shannon entropy. A number of methods have
been proposed (see e.g. [Romano]_, [Ueki]_), but each of these is not without
problems.
---------------------------
Uniform Fission Site Method
---------------------------
Generally speaking, the variance of a Monte Carlo tally will be inversely
proportional to the number of events that score to the tally. In a reactor
problem, this implies that regions with low relative power density will have
higher variance that regions with high relative power density. One method to
circumvent the uneven distribution of relative errors is the uniform fission
site (UFS) method introduced by [Sutton]_. In this method, the portion of the
problem containing fissionable material is subdivided into a number of cells
(typically using a structured mesh). Rather than producing
.. math::
m = \frac{w}{k} \frac{\nu\Sigma_f}{\Sigma_t}
fission sites at each collision where :math:`w` is the weight of the neutron,
:math:`k` is the previous-generation estimate of the neutron multiplication
factor, :math:`\nu\Sigma_f` is the neutron production cross section, and
:math:`\Sigma_t` is the total cross section, in the UFS method we produce
.. math::
m_{UFS} = \frac{w}{k} \frac{\nu\Sigma_f}{\Sigma_t} \frac{v_i}{s_i}
fission sites at each collision where :math:`v_i` is the fraction of the total
volume occupied by cell :math:`i` and :math:`s_i` is the fraction of the fission
source contained in cell :math:`i`. To ensure that no bias is introduced, the
weight of each fission site stored in the fission bank is :math:`s_i/v_i` rather
than unity. By ensuring that the expected number of fission sites in each mesh
cell is constant, the collision density across all cells, and hence the variance
of tallies, is more uniform than it would be otherwise.
.. _Shannon entropy: https://laws.lanl.gov/vhosts/mcnp.lanl.gov/pdf_files/la-ur-06-3737_entropy.pdf
.. [Lieberoth] J. Lieberoth, "A Monte Carlo Technique to Solve the Static
@ -119,5 +153,9 @@ problems.
*Proc. International Conference on Mathematics, Computational Methods, and
Reactor Physics*, Saratoga Springs, New York (2009).
.. [Sutton] Daniel J. Kelly, Thomas M. Sutton, and Stephen C. Wilson, "MC21
Analysis of the Nuclear Energy Agency Monte Carlo Performance Benchmark
Problem," *Proc. PHYSOR 2012*, Knoxville, Tennessee, Apr. 15--20 (2012).
.. [Ueki] Taro Ueki, "On-the-Fly Judgments of Monte Carlo Fission Source
Convergence," *Trans. Am. Nucl. Soc.*, **98**, 512 (2008).

View file

@ -45,7 +45,7 @@ surface by a combination of the unique ID of the surface and a positive/negative
sign. The following illustration shows an example of an ellipse with unique ID 1
dividing space into two half-spaces.
.. figure:: ../../img/halfspace.svg
.. figure:: ../_images/halfspace.*
:align: center
:figclass: align-center
@ -60,7 +60,7 @@ half-space references whose intersection defines the region. The region is then
assigned a material defined elsewhere. The following illustration shows an
example of a cell defined as the intersection of an ellipse and two planes.
.. figure:: ../../img/union.svg
.. figure:: ../_images/union.*
:align: center
:figclass: align-center

View file

@ -65,7 +65,7 @@ in the case of an eigenvalue calculation). This idea is illustrated in
.. _figure-master-slave:
.. figure:: ../../img/master-slave.png
.. figure:: ../_images/master-slave.png
:align: center
:figclass: align-center
@ -122,7 +122,7 @@ needed. This concept is illustrated in :ref:`Figure 2
.. _figure-nearest-neighbor:
.. figure:: ../../img/nearest-neighbor.png
.. figure:: ../_images/nearest-neighbor.png
:align: center
:figclass: align-center
@ -203,7 +203,7 @@ communicated between adjacent nodes.
.. _figure-neighbor-example:
.. figure:: ../../img/nearest-neighbor-example.png
.. figure:: ../_images/nearest-neighbor-example.png
:align: center
:figclass: align-center

View file

@ -790,6 +790,7 @@ outgoing angle is
\mu = \frac{1}{A} \ln \left ( \xi_4 e^A + (1 - \xi_4) e^{-A} \right ).
.. _ace-law-61:
ACE Law 61 - Correlated Energy and Angle Distribution
+++++++++++++++++++++++++++++++++++++++++++++++++++++
@ -952,7 +953,7 @@ as
v_n \bar{\sigma} (v_n, T) = \int d\mathbf{v}_T v_r \sigma(v_r)
M (\mathbf{v}_T)
where :math:`v_n` is the magnitude of the velocity of the neutron,
:math:`\bar{\sigma}` is an effective cross section, :math:`T` is the temperature
of the target material, :math:`\mathbf{v}_T` is the velocity of the target
@ -1321,7 +1322,7 @@ given analytically by
\mu = 1 - \frac{E_i}{E}
where :math:`E_i` is the energy of the Bragg edge that scattered the neutron.
where :math:`E_i` is the energy of the Bragg edge that scattered the neutron.
Outgoing Angle for Incoherent Elastic Scattering
------------------------------------------------
@ -1348,18 +1349,24 @@ where the interpolation factor is defined as
Outgoing Energy and Angle for Inelastic Scattering
--------------------------------------------------
On each |sab| table, there is a correlated angle-energy secondary distribution
for neutron thermal inelastic scattering. While the documentation for the ACE
format implies that there are a series of equiprobable outgoing energies, the
outgoing energies may have non-uniform probability distribution. In particular,
if the thermal data were processed with :math:`iwt = 0` in NJOY, then the first
and last outgoing energies have a relative probability of 1, the second and
second to last energies have a relative probability of 4, and all other energies
have a relative probability of 10. The procedure to determine the outgoing
energy and angle is as such. First, the interpolation factor is determined from
equation :eq:`sab-interpolation-factor`. Then, an outgoing energy bin is sampled
either from a uniform distribution or from the aforementioned skewed
distribution. The outgoing energy is then interpolated between values
Each |sab| table provides a correlated angle-energy secondary distribution for
neutron thermal inelastic scattering. There are three representations used
in the ACE thermal scattering data: equiprobable discrete outgoing
energies, non-uniform yet still discrete outgoing energies, and continuous
outgoing energies with corresponding probability and cumulative distribution
functions provided in tabular format. These three representations all
represent the angular distribution in a common format, using a series of
discrete equiprobable outgoing cosines.
Equi-Probable Outgoing Energies
+++++++++++++++++++++++++++++++
If the thermal data was processed with :math:`iwt = 1` in NJOY, then the
outgoing energy spectra is represented in the ACE data as a set of discrete and
equiprobable outgoing energies. The procedure to determine the outgoing energy
and angle is as such. First, the interpolation factor is determined from
equation :eq:`sab-interpolation-factor`. Then, an outgoing energy bin is
sampled from a uniform distribution and then interpolated between values
corresponding to neighboring incoming energies:
.. math::
@ -1380,6 +1387,37 @@ uniformly and then the final cosine is interpolated on the incoming energy grid:
where :math:`\mu_{i,j,k}` is the k-th outgoing cosine corresponding to the j-th
outgoing energy and the i-th incoming energy.
Skewed Equi-Probable Outgoing Energies
++++++++++++++++++++++++++++++++++++++
If the thermal data was processed with :math:`iwt=0` in NJOY, then the
outgoing energy spectra is represented in the ACE data according to the
following: the first and last outgoing energies have a relative probability of
1, the second and second-to-last energies have a relative probability of 4, and
all other energies have a relative probability of 10. The procedure to
determine the outgoing energy and angle is similar to the method discussed
above, except that the sampled probability distribution is now skewed
accordingly.
Continuous Outgoing Energies
++++++++++++++++++++++++++++
If the thermal data was processed with :math:`iwt=2` in NJOY, then the
outgoing energy spectra is represented by a continuous outgoing energy spectra
in tabular form with linear-linear interpolation. The sampling of the outgoing
energy portion of this format is very similar to :ref:`ACE Law 61<ace-law-61>`,
but the sampling of the correlated angle is performed as it was in the other
two representations discussed in this sub-section. In the Law 61 algorithm,
we found an interpolation factor :math:`f`, statistically sampled an incoming
energy bin :math:`\ell`, and sampled an outgoing energy bin :math:`j` based on
the tabulated cumulative distribution function. Once the outgoing energy has
been determined with equation :eq:`ace-law-4-energy`, we then need to decide
which angular distribution data to use. Like the linear-linear interpolation
case in Law 61, the angular distribution closest to the sampled value of the
cumulative distribution function for the outgoing energy is utilized. The
actual algorithm utilized to sample the outgoing angle is shown in equation
:eq:`inelastic-angle`.
.. _probability_tables:
----------------------------------------------

View file

@ -25,7 +25,7 @@ Publications
Reaction Rate Kernel Density Estimators in OpenMC," *Trans. Am. Nucl. Soc.*,
**109**, 683-686 (2013).
- Paul K. Romano, Benoit Forget, Kord Smith, and Andrew Siegel, "On the user of
- Paul K. Romano, Benoit Forget, Kord Smith, and Andrew Siegel, "On the use of
tally servers in Monte Carlo simulations of light-water reactors,"
*Proc. Joint International Conference on Supercomputing in Nuclear
Applications and Monte Carlo*, Paris, France, Oct. 27--31 (2013).
@ -48,8 +48,8 @@ Publications
- Andrew R. Siegel, Kord Smith, Paul K. Romano, Benoit Forget, and Kyle Felker,
"Multi-core performance studies of a Monte Carlo neutron transport code,"
*Int. J. High Perform. Comput. Appl.*
(2013). `<http://dx.doi.org/10.1177/1094342013492179>`_
*Int. J. High Perform. Comput. Appl.*, **28** (1), 87--96
(2014). `<http://dx.doi.org/10.1177/1094342013492179>`_
- Paul K. Romano, Andrew R. Siegel, Benoit Forget, and Kord Smith, "Data
decomposition of Monte Carlo particle transport simulations via tally

View file

@ -48,7 +48,12 @@ following commands in a terminal:
sudo make install
This will build an executable named ``openmc`` and install it (by default in
/usr/local/bin).
/usr/local/bin). If you do not have administrator privileges, the last command
can be replaced with a local install, e.g.
.. code-block:: sh
make install -e prefix=$HOME/.local
.. _GitHub: https://github.com/mit-crpg/openmc
.. _git: http://git-scm.com

View file

@ -10,6 +10,7 @@ bugs fixed, and known issues for each successive release.
.. toctree::
:maxdepth: 1
notes_0.5.4
notes_0.5.3
notes_0.5.2
notes_0.5.1

View file

@ -0,0 +1,64 @@
.. _notes_0.5.4:
==============================
Release Notes for OpenMC 0.5.4
==============================
-------------------
System Requirements
-------------------
There are no special requirements for running the OpenMC code. As of this
release, OpenMC has been tested on a variety of Linux distributions, Mac OS X,
and Microsoft Windows 7. Memory requirements will vary depending on the size of
the problem at hand (mostly on the number of nuclides in the problem).
------------
New Features
------------
- Source sites outside geometry are resampled
- XML-Fortran backend replaced by FoX XML
- Ability to write particle track files
- Handle lost particles more gracefully (via particle track files)
- Multiple random number generator streams
- Mesh tally plotting utility converted to use Tkinter rather than PyQt
- Script added to download ACE data from NNDC
- Mixed ASCII/binary cross_sections.xml now allowed
- Expanded options for writing source bank
- Re-enabled ability to use source file as starting source
- S(a,b) recalculation avoided when same nuclide and S(a,b) table are accessed
---------
Bug Fixes
---------
- 32c03c_: Check for valid data in cross_sections.xml
- c71ef5_: Fix bug in statepoint.py
- 8884fb_: Check for all ZAIDs for S(a,b) tables
- b38af0_: Fix XML reading on multiple levels of input
- d28750_: Fix bug in convert_xsdir.py
- cf567c_: ENDF/B-VI data checked for compatibility
- 6b9461_: Fix p_valid sampling inside of sample_energy
.. _32c03c: https://github.com/mit-crpg/openmc/commit/32c03c
.. _c71ef5: https://github.com/mit-crpg/openmc/commit/c71ef5
.. _8884fb: https://github.com/mit-crpg/openmc/commit/8884fb
.. _b38af0: https://github.com/mit-crpg/openmc/commit/b38af0
.. _d28750: https://github.com/mit-crpg/openmc/commit/d28750
.. _cf567c: https://github.com/mit-crpg/openmc/commit/cf567c
.. _6b9461: https://github.com/mit-crpg/openmc/commit/6b9461
------------
Contributors
------------
This release contains new contributions from the following people:
- `Sterling Harper <smharper@mit.edu>`_
- `Bryan Herman <bherman@mit.edu>`_
- `Nick Horelik <nhorelik@mit.edu>`_
- `Adam Nelson <nelsonag@umich.edu>`_
- `Paul Romano <paul.k.romano@gmail.com>`_
- `Tuomas Viitanen <tuomas.viitanen@vtt.fi>`_
- `Jon Walsh <walshjon@mit.edu>`_

View file

@ -198,19 +198,26 @@ tally data, this option can significantly improve the parallel efficiency.
--------------------
The ``<output>`` element determines what output files should be written to disk
during the run. This element has no attributes or sub-elements and should be set
to a list of strings separated by spaces. Valid options are "summary",
"cross-sections", and "tallies". For example, if you want the summary and cross
sections summary file to be written, this element should be given as:
during the run. The sub-elements are described below, where "true" will write
out the file and "false" will not.
.. code-block:: xml
:cross_sections:
Writes out an ASCII summary file of the cross sections that were read in.
<output>summary cross_sections</output>
*Default*: false
.. note:: The tally results will be written to a binary/HDF5 state point file by
default.
:summary:
Writes out an ASCII summary file describing all of the user input files that
were read in.
*Default*: "tallies"
*Default*: false
:tallies:
Write out an ASCII file of tally results.
*Default*: true
.. note:: The tally results will always be written to a binary/HDF5 state point file.
``<output_path>`` Element
-------------------------
@ -257,7 +264,9 @@ attributes/sub-elements:
:file:
If this attribute is given, it indicates that the source is to be read from
a binary source file whose path is given by the value of this element
a binary source file whose path is given by the value of this element. Note,
the number of source sites needs to be the same as the number of particles
simulated in a fission source generation.
*Default*: None
@ -341,8 +350,10 @@ attributes/sub-elements:
The ``<state_point>`` element indicates at what batches a state point file
should be written. A state point file can be used to restart a run or to get
tally results at any batch. This element has the following
attributes/sub-elements:
tally results at any batch. The default behavior when using this tag is to
write out the source bank in the state_point file. This behavior can be
customized by using the ``<source_point>`` element. This element has the
following attributes/sub-elements:
:batches:
A list of integers separated by spaces indicating at what batches a state
@ -357,19 +368,54 @@ attributes/sub-elements:
*Default*: None
``<source_point>`` Element
--------------------------
The ``<source_point>`` element indicates at what batches the source bank
should be written. The source bank can be either written out within a state
point file or separately in a source point file. This element has the following
attributes/sub-elements:
:batches:
A list of integers separated by spaces indicating at what batches a state
point file should be written. It should be noted that if source_separate
tag is not set to "true", this list must be a subset of state point batches.
*Default*: Last batch only
:interval:
A single integer :math:`n` indicating that a state point should be written
every :math:`n` batches. This option can be given in lieu of listing
batches explicitly. It should be noted that if source_separate tag is not
set to "true", this value should produce a list of batches that is a subset
of state point batches.
*Default*: None
:source_separate:
If this element is set to "true", a separate binary source file will be
If this element is set to "true", a separate binary source point file will be
written. Otherwise, the source sites will be written in the state point
directly.
*Default*: false
:source_write: If this element is set to "false", source sites are not written
to the state point file. This can substantially reduce the size of state
points if large numbers of particles per batch are used.
:source_write:
If this element is set to "false", source sites are not written
to the state point or source point file. This can substantially reduce the
size of state points if large numbers of particles per batch are used.
*Default*: true
:overwrite_latest:
If this element is set to "true", a source point file containing
the source bank will be written out to a separate file named
``source.binary`` or ``source.h5`` depending on if HDF5 is enabled.
This file will be overwritten at every single batch so that the latest
source bank will be available. It should be noted that a user can set both
this element to "true" and specify batches to write a permanent source bank.
*Default*: false
``<survival_biasing>`` Element
------------------------------
@ -1045,7 +1091,7 @@ sub-elements:
the PNG format can often times reduce the file size by orders of
magnitude without any loss of image quality. Likewise,
high-resolution voxel files produced by OpenMC can be quite large,
but the equivalent SILO files will by significantly smaller.
but the equivalent SILO files will be significantly smaller.
*Default*: "slice"

View file

@ -78,7 +78,7 @@ Prerequisites
./configure --prefix=/opt/hdf5/1.8.11-gnu --enable-fortran \
--enable-fortran2003 --enable-parallel
You may omit '--enable-parallel' if you want to compile HDF5_ in serial.
You may omit ``--enable-parallel`` if you want to compile HDF5_ in serial.
* PETSc_ for CMFD acceleration
@ -93,7 +93,7 @@ Prerequisites
--with-fortran-datatypes
The BLAS/LAPACK library is not required to be downloaded and can be linked
explicitly (e.g., Intel MLK library).
explicitly (e.g., Intel MKL library).
* git_ version control software for obtaining source code
@ -189,7 +189,15 @@ the root directory of the source code:
sudo make install
This will build an executable named ``openmc`` and install it (by default in
/usr/local/bin).
/usr/local/bin). If you do not have administrative privileges, you can install
OpenMC locally by replacing the last command with:
.. code-block:: sh
make install -e prefix=$HOME/.local
The ``prefix`` variable can be changed to any path for which you have
write-access.
Compiling on Windows
--------------------
@ -264,10 +272,27 @@ Cross Section Configuration
In order to run a simulation with OpenMC, you will need cross section data for
each nuclide in your problem. Since OpenMC uses ACE format cross sections, you
can use nuclear data that was processed with NJOY, such as that distributed with
MCNP_ or Serpent_. The TALYS-based evaluated nuclear data library, TENDL_, is
can use nuclear data that was processed with NJOY_, such as that distributed
with MCNP_ or Serpent_. Several sources provide free processed ACE data as
described below. The TALYS-based evaluated nuclear data library, TENDL_, is also
openly available in ACE format.
Using ENDF/B-VII.1 Cross Sections from NNDC
-------------------------------------------
The NNDC_ provides ACE data from the ENDF/B-VII.1 neutron and thermal scattering
sublibraries at four temperatures processed using NJOY_. To use this data with
OpenMC, a script is provided with OpenMC that will automatically download,
extract, and set up a confiuration file:
.. code-block:: sh
cd openmc/data
python get_nndc_data.py
At this point, you should set the :envvar:`CROSS_SECTIONS` environment variable
to the absolute path of the file ``openmc/data/nndc/cross_sections.xml``.
Using JEFF Cross Sections from OECD/NEA
---------------------------------------
@ -314,6 +339,8 @@ distribution to the location of the Serpent cross sections. Then, either set the
environment variable to the absolute path of the ``cross_sections_serpent.xml``
file.
.. _NJOY: http://t2.lanl.gov/nis/codes.shtml
.. _NNDC: http://www.nndc.bnl.gov/endf/b7.1/acefiles.html
.. _NEA: http://www.oecd-nea.org
.. _JEFF: http://www.oecd-nea.org/dbdata/jeff/
.. _here: http://www.oecd-nea.org/dbdata/pubs/jeff312-cd.html

View file

@ -5,11 +5,11 @@ Data Processing and Visualization
=================================
This section is intended to explain in detail the recommended procedures for
carrying out common tasks with OpenMC. While several utilities of varying
complexity are provided to help automate the process, in many cases it will be
extremely beneficial to do some coding in Python to quickly obtain results. In
these cases, and for many of the provided utilities, it is necessary for your
Python installation to contain:
carrying out common post-processing tasks with OpenMC. While several utilities
of varying complexity are provided to help automate the process, in many cases
it will be extremely beneficial to do some coding in Python to quickly obtain
results. In these cases, and for many of the provided utilities, it is necessary
for your Python installation to contain:
* [1]_ `Numpy <http://www.numpy.org/>`_
* [1]_ `Scipy <http://www.scipy.org/>`_
@ -38,9 +38,58 @@ running OpenMC with the -plot or -p command-line option (See
Plotting in 2D
--------------
.. image:: ../../img/atr.png
.. image:: ../_images/atr.png
:height: 200px
See below for a simple example of a plots xml file that demonstrates the
capabilities of 2D slice plots. Here we assume that there is a ``geometry.xml``
file containing 7 cells.
.. code-block:: xml
<?xml version="1.0" encoding="UTF-8"?>
<plots>
<plot id="1" type="slice" color="cell" basis="xy">
<filename> myplot </filename>
<origin> 0 0 </origin>
<width> 10 10 </width>
<pixels> 2000 2000 </pixels>
<background> 0 0 0 </background>
<col_spec id="1" rgb="198 226 255"/>
<col_spec id="2" rgb="255 218 185"/>
<col_spec id="3" rgb="255 255 255"/>
<col_spec id="4" rgb="101 101 101"/>
<col_spec id="7" rgb="123 123 231"/>
<mask background="255 255 255">
<components> 1 3 4 5 6 </components>
</mask>
</plot>
</plots>
In this example, OpenMC will produce a plot named ``myplot.ppm`` when run in
plotting mode. The picture will be on the xy-plane, depicting the rectangle
between points (-5,-5) and (5,5) with 2000 pixels along each dimension. The
color of each pixel is determined by placing a particle at the center of that
pixel and using OpenMC's internal ``find_cell`` routine (the same one used for
particle tracking during simulation) to determine the cell and material at that
location. In this example, pixels are 10/2000=0.005 cm wide, so points will be
at (-4.9975,-4.9975), (-4.9950,-4.9975), (-4.9925,-4.9975), etc. This is pointed
out to demonstrate that this plot may miss any features smaller than 0.005 cm,
since they could exist between pixel centers. More pixels can be used to resolve
finer features, but could result in larger files.
The ``background``, ``col_spec``, and ``mask`` elements define how to set pixel
colors based on the cell ids at each pixel center. In this example, RGB colors
are specified for cells 1,2,3,4, and 7, a random color will be assigned to cells
5 and 6, and a black background color (``rgb="0 0 0"``) will be applied to
locations where no cell is defined. However, the ``mask`` element here says that
only cells 1,3,4,5, and 6 should be displayed, with other cells taking a white
color (``rgb="255 255 255"``), which overrides the ``col_spec`` for cell 2 and
the random color assigned to cell 7.
After running OpenMC to obtain PPM files, images should be saved to another
format before using them elsewhere. This cuts down the size of the file by
orders of magnitude. Most image viewers and editors that can view PPM images
@ -53,18 +102,45 @@ Ubuntu: ``sudo apt-get install imagemagick``). Images are then converted like:
.. code-block:: sh
convert plot.ppm plot.png
convert myplot.ppm myplot.png
Plotting in 3D
--------------
.. image:: ../../img/3dgeomplot.png
.. image:: ../_images/3dgeomplot.png
:height: 200px
See below for a simple example of a plots xml file that demonstrates the
capabilities of 3D voxel plots.
.. code-block:: xml
<?xml version="1.0" encoding="UTF-8"?>
<plots>
<plot id="1" type="voxel" color="mat">
<filename> myplot </filename>
<origin> 0 0 0 </origin>
<width> 10 10 10 </width>
<pixels> 500 500 500 </pixels>
</plot>
</plots>
Voxel plots are built the same way 2D slice plots are, by determining the cell
or material id of a particle at the center of each voxel. In this example, the
space covered is the cube between the points (-5,-5,-5) and (5,5,5), with voxel
centers 10/500 = 0.02 cm apart. The binary VOXEL files that are produced do not
specify any color - instead containing only material or cell ids (material id
in this example) - and thus the ``background``, ``col_spec``, and ``mask``
elements are not used. If no cell is found at a voxel center, an id of -1 is
stored.
The binary VOXEL files output by OpenMC can not be viewed directly by any
existing viewers. In order to view them, they must be converted into a standard
mesh format that can be viewed in ParaView, Visit, etc. The provided utility
voxel.py accomplishes this for SILO:
mesh format that can be viewed in ParaView, Visit, etc. This typically will
compress the size of the file significantly. The provided utility voxel.py
accomplishes this for SILO:
.. code-block:: sh
@ -88,13 +164,21 @@ or
Users can process the binary into any other format if desired by following the
example of voxel.py. For the binary file structure, see :ref:`devguide_voxel`.
Once processed into a standard 3D file format, colors and masks can be defined
using the stored id numbers to better explore the geometry. The process for
doing this will depend on the 3D viewer, but should be straightforward.
.. image:: ../_images/3dba.png
:height: 200px
.. note:: 3D voxel plotting can be very computer intensive for the viewing
program (Visit, Paraview, etc.) if the number of voxels is large (>10
million or so). Thus if you want an accurate picture that renders
smoothly, consider using only one voxel in a certain direction. For
instance, the 3D pin lattice figure above was generated with a
500x500x1 voxel mesh, which allows for resolution of the cylinders
without wasting too many voxels on the axial dimension.
instance, the 3D pin lattice figure at the beginning of this section
was generated with a 500x500x1 voxel mesh, which allows for resolution
of the cylinders without wasting too many voxels on the axial
dimension.
-------------------
@ -162,7 +246,7 @@ tasks will be described here in the following sections.
Plotting in 2D
--------------
.. image:: ../../img/plotmeshtally.png
.. image:: ../_images/plotmeshtally.png
:height: 200px
For simple viewing of 2D slices of a mesh plot, the utility plot_mesh_tally.py
@ -170,7 +254,7 @@ is provided. This utility provides an interactive GUI to explore and plot
mesh tallies for any scores and filter bins. It requires statepoint.py, as well
as `PyQt <http://www.riverbankcomputing.com/software/pyqt>`_.
.. image:: ../../img/fluxplot.png
.. image:: ../_images/fluxplot.png
:height: 200px
Alternatively, the user can write their own Python script to manipulate the data
@ -249,7 +333,7 @@ two heatmaps in the previous figure.
Plotting in 3D
--------------
.. image:: ../../img/3dcore.png
.. image:: ../_images/3dcore.png
:height: 200px
As with 3D plots of the geometry, meshtally data needs to be put into a standard
@ -357,7 +441,7 @@ and dumped to MATLAB in one step.
Particle Track Visualization
----------------------------
.. image:: ../../img/Tracks.png
.. image:: ../_images/Tracks.png
:height: 200px
OpenMC can dump particle tracks—the position of particles as they are
@ -391,3 +475,51 @@ usage of track.py is "track.py track*.binary" which will use the data from all
binary track files in the directory to write a "track.pvtp" VTK output file.
The .pvtp file can then be read and plotted by 3d visualization programs such as
Paraview.
----------------------
Source Site Processing
----------------------
For eigenvalue problems, OpenMC will store information on the fission source
sites in the statepoint file by default. For each source site, the weight,
position, sampled direction, and sampled energy are stored. To extract this data
from a statepoint file, the statepoint.py Python module can be used. Below is an
example of an interactive ipython session using the statepoint.py Python module:
.. code-block:: python
In [1]: import statepoint
In [2]: sp = statepoint.StatePoint('statepoint.100.h5')
In [3]: sp.read_source()
In [4]: len(sp.source)
Out[4]: 1000
In [5]: sp.source[0:10]
Out[5]:
[<SourceSite: xyz=[ 2.21980946 -8.92686048 87.93720485] at E=0.932923263566>,
<SourceSite: xyz=[ 2.21980946 -8.92686048 87.93720485] at E=0.349240220512>,
<SourceSite: xyz=[-31.21542213 -30.26762771 72.10845757] at E=3.75843584486>,
<SourceSite: xyz=[-31.21542213 -30.26762771 72.10845757] at E=0.80550137267>,
<SourceSite: xyz=[ 0.18805099 -69.13376508 103.67726838] at E=1.67922461097>,
<SourceSite: xyz=[ 0.18805099 -69.13376508 103.67726838] at E=1.16304110199>,
<SourceSite: xyz=[ -50.42189115 -9.96571672 123.34077905] at E=0.710937974074>,
<SourceSite: xyz=[ -32.80427668 -15.49316628 125.26301151] at E=1.61907104162>,
<SourceSite: xyz=[ 53.20376026 -15.38643708 120.58071044] at E=3.33962024907>,
<SourceSite: xyz=[ 53.20376026 -15.38643708 120.58071044] at E=1.90185680329>]
In [6]: site = sp.source[0]
In [7]: site.weight
Out[7]: 1.0
In [8]: site.xyz
Out[8]: array([ 2.21980946, -8.92686048, 87.93720485])
In [9]: site.uvw
Out[9]: array([ 0.06740523, 0.50612814, 0.85982024])
In [10]: site.E
Out[10]: 0.93292326356564159

View file

@ -19,25 +19,6 @@ you are using a compiler that does not support type-bound procedures from
Fortran 2003. This affects any version of gfortran prior to 4.6. Downloading and
installing the latest gfortran_ compiler should resolve this problem.
Fatal Error: Wrong module version '4' (expected '9') for file 'xml_data_cmfd_t.mod' opened at (1)
*************************************************************************************************
The `.mod` modules files that are created by gfortran are versioned and
sometimes are usually not backwards compatible. If gfortran is upgraded and the
modules files for xml-fortran source files are not deleted, this error may
occur. To fix this, clear out all module and object files with :program:`make
distclean` and then recompiling.
Fatal Error: File 'xml_data_cmfd_t.mod' opened at (1) is not a GFORTRAN module file
***********************************************************************************
When OpenMC compiles, the first thing it needs to do is compile source in the
xml-fortran subdirectory. If you compiled everything with a compiler other than
gfortran, performed a :program:`make clean`, and then tried to :program:`make`
with gfortran, the xml-fortran modules would have been compiled with a different
compiler. To fix this, try clearing out all module and object files with
:program:`make distclean` and then recompiling.
gfortran: unrecognized option '-cpp'
************************************
@ -98,6 +79,14 @@ with the :envvar:`CROSS_SECTIONS` environment variable. It is recommended to add
a line in your ``.profile`` or ``.bash_profile`` setting the
:envvar:`CROSS_SECTIONS` environment variable.
ERROR: Invalid usage of L(I) in ACE data; Consider using more recent data set.
******************************************************************************
The cross-sections requested in ``materials.xml`` do not conform to the current
standard format. This typically happens with fissionable nuclides in a ``.6*c``
library as distributed with MCNP. Please try a newer library such as any from
the ``.7*c`` set.
Geometry Debugging
******************
@ -126,8 +115,8 @@ have many particles travelling through them there will not be many locations
where overlaps are checked for in that region. The user should refer to the
output after a geometry debug run to see how many checks were performed in each
cell, and then adjust the number of starting particles or starting source
distributions accordingly to achieve good coverage.
distributions accordingly to achieve good coverage.
ERROR: After particle __ crossed surface __ it could not be located in any cell and it did not leak.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

View file

@ -200,11 +200,11 @@ dt:hover > a.headerlink {
visibility: visible;
}
div.content p.caption {
div.body p.caption {
text-align: inherit;
}
div.content td {
div.body td {
text-align: left;
}
@ -301,7 +301,7 @@ p.admonition-title {
font-weight: bold;
}
div.content p.centered {
div.body p.centered {
text-align: center;
margin-top: 25px;
}
@ -513,7 +513,7 @@ img.math {
vertical-align: middle;
}
div.content div.math p {
div.body div.math p {
text-align: center;
}
@ -526,7 +526,7 @@ span.eqno {
@media print {
div.document,
div.documentwrapper,
div.contentwrapper {
div.bodywrapper {
margin: 0 !important;
width: 100%;
}

9536
_static/jquery.js vendored

File diff suppressed because it is too large Load diff

File diff suppressed because it is too large Load diff

View file

@ -76,7 +76,7 @@
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -86,18 +86,19 @@ as debugging.</p>
<li class="toctree-l2"><a class="reference internal" href="workflow.html#private-development">3.4. Private Development</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="xml-fortran.html">4. xml-fortran Input Parsing</a></li>
<li class="toctree-l1"><a class="reference internal" href="xml-parsing.html">4. XML Input Parsing</a></li>
<li class="toctree-l1"><a class="reference internal" href="statepoint.html">5. State Point Binary File Specifications</a><ul>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-10">5.1. Revision 10</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-9">5.2. Revision 9</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-8">5.3. Revision 8</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-7">5.4. Revision 7</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-6">5.5. Revision 6</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-5">5.6. Revision 5</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-4">5.7. Revision 4</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-3">5.8. Revision 3</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-2">5.9. Revision 2</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-1">5.10. Revision 1</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-11">5.1. Revision 11</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-10">5.2. Revision 10</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-9">5.3. Revision 9</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-8">5.4. Revision 8</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-7">5.5. Revision 7</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-6">5.6. Revision 6</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-5">5.7. Revision 5</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-4">5.8. Revision 4</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-3">5.9. Revision 3</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-2">5.10. Revision 2</a></li>
<li class="toctree-l2"><a class="reference internal" href="statepoint.html#revision-1">5.11. Revision 1</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="voxel.html">6. Voxel Plot Binary File Specifications</a><ul>
@ -124,7 +125,7 @@ as debugging.</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -30,7 +30,7 @@
<link rel="top" title="OpenMC Documentation" href="../index.html" />
<link rel="up" title="Developers Guide" href="index.html" />
<link rel="next" title="6. Voxel Plot Binary File Specifications" href="voxel.html" />
<link rel="prev" title="4. xml-fortran Input Parsing" href="xml-fortran.html" />
<link rel="prev" title="4. XML Input Parsing" href="xml-parsing.html" />
</head>
<body>
<div class="header">
@ -41,7 +41,7 @@
<div class="topnav">
<p>
«&#160;&#160;<a href="xml-fortran.html">4. xml-fortran Input Parsing</a>
«&#160;&#160;<a href="xml-parsing.html">4. XML Input Parsing</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
@ -54,8 +54,251 @@
<div class="section" id="state-point-binary-file-specifications">
<span id="devguide-statepoint"></span><h1>5. State Point Binary File Specifications<a class="headerlink" href="#state-point-binary-file-specifications" title="Permalink to this headline"></a></h1>
<div class="section" id="revision-11">
<h2>5.1. Revision 11<a class="headerlink" href="#revision-11" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) FILETYPE_STATEPOINT</strong></p>
<blockquote>
<div>Flags whether this file is a statepoint file or a particle restart file.</div></blockquote>
<p><strong>integer(4) REVISION_STATEPOINT</strong></p>
<blockquote>
<div>Revision of the binary state point file. Any time a change is made in the
format of the state-point file, this integer is incremented.</div></blockquote>
<p><strong>integer(4) VERSION_MAJOR</strong></p>
<blockquote>
<div>Major version number for OpenMC</div></blockquote>
<p><strong>integer(4) VERSION_MINOR</strong></p>
<blockquote>
<div>Minor version number for OpenMC</div></blockquote>
<p><strong>integer(4) VERSION_RELEASE</strong></p>
<blockquote>
<div>Release version number for OpenMC</div></blockquote>
<p><strong>character(19) time_stamp</strong></p>
<blockquote>
<div>Date and time the state point was written.</div></blockquote>
<p><strong>character(255) path</strong></p>
<blockquote>
<div>Absolute path to directory containing input files.</div></blockquote>
<p><strong>integer(8) seed</strong></p>
<blockquote>
<div>Pseudo-random number generator seed.</div></blockquote>
<p><strong>integer(4) run_mode</strong></p>
<blockquote>
<div>run mode used. The modes are described in constants.F90.</div></blockquote>
<p><strong>integer(8) n_particles</strong></p>
<blockquote>
<div>Number of particles used per generation.</div></blockquote>
<p><strong>integer(4) n_batches</strong></p>
<blockquote>
<div>Total number of batches (active + inactive).</div></blockquote>
<p><strong>integer(4) current_batch</strong></p>
<blockquote>
<div>The number of batches already simulated.</div></blockquote>
<p>if (run_mode == MODE_EIGENVALUE)</p>
<blockquote>
<div><p><strong>integer(4) n_inactive</strong></p>
<blockquote>
<div>Number of inactive batches</div></blockquote>
<p><strong>integer(4) gen_per_batch</strong></p>
<blockquote>
<div>Number of generations per batch for criticality calculations</div></blockquote>
<p><em>do i = 1, current_batch * gen_per_batch</em></p>
<blockquote>
<div><p><strong>real(8) k_generation(i)</strong></p>
<blockquote>
<div>k-effective for the i-th total generation</div></blockquote>
</div></blockquote>
<p><em>do i = 1, current_batch * gen_per_batch</em></p>
<blockquote>
<div><p><strong>real(8) entropy(i)</strong></p>
<blockquote>
<div>Shannon entropy for the i-th total generation</div></blockquote>
</div></blockquote>
<p><strong>real(8) k_col_abs</strong></p>
<blockquote>
<div>Sum of product of collision/absorption estimates of k-effective</div></blockquote>
<p><strong>real(8) k_col_tra</strong></p>
<blockquote>
<div>Sum of product of collision/track-length estimates of k-effective</div></blockquote>
<p><strong>real(8) k_abs_tra</strong></p>
<blockquote>
<div>Sum of product of absorption/track-length estimates of k-effective</div></blockquote>
<p><strong>real(8) k_combined(2)</strong></p>
<blockquote>
<div>Mean and standard deviation of a combined estimate of k-effective</div></blockquote>
<p><strong>integer(4) cmfd_on</strong></p>
<blockquote>
<div>Flag that cmfd is on</div></blockquote>
<p>if (cmfd_on)</p>
<blockquote>
<div><p><strong>integer(4) cmfd % indices</strong></p>
<blockquote>
<div>Indices for cmfd mesh (i,j,k,g)</div></blockquote>
<p><strong>real(8) cmfd % k_cmfd(1:current_batch)</strong></p>
<blockquote>
<div>CMFD eigenvalues</div></blockquote>
<p><strong>real(8) cmfd % src(1:G,1:I,1:J,1:K)</strong></p>
<blockquote>
<div>CMFD fission source</div></blockquote>
<p><strong>real(8) cmfd % entropy(1:current_batch)</strong></p>
<blockquote>
<div>CMFD estimate of Shannon entropy</div></blockquote>
<p><strong>real(8) cmfd % balance(1:current_batch)</strong></p>
<blockquote>
<div>RMS of the residual neutron balance equation on CMFD mesh</div></blockquote>
<p><strong>real(8) cmfd % dom(1:current_batch)</strong></p>
<blockquote>
<div>CMFD estimate of dominance ratio</div></blockquote>
<p><strong>real(8) cmfd % scr_cmp(1:current_batch)</strong></p>
<blockquote>
<div>RMS comparison of difference between OpenMC and CMFD fission source</div></blockquote>
</div></blockquote>
</div></blockquote>
<p><strong>integer(4) n_meshes</strong></p>
<blockquote>
<div>Number of meshes in tallies.xml file</div></blockquote>
<p><em>do i = 1, n_meshes</em></p>
<blockquote>
<div><p><strong>integer(4) meshes(i) % id</strong></p>
<blockquote>
<div>Unique ID of mesh.</div></blockquote>
<p><strong>integer(4) meshes(i) % type</strong></p>
<blockquote>
<div>Type of mesh.</div></blockquote>
<p><strong>integer(4) meshes(i) % n_dimension</strong></p>
<blockquote>
<div>Number of dimensions for mesh (2 or 3).</div></blockquote>
<p><strong>integer(4) meshes(i) % dimension(:)</strong></p>
<blockquote>
<div>Number of mesh cells in each dimension.</div></blockquote>
<p><strong>real(8) meshes(i) % lower_left(:)</strong></p>
<blockquote>
<div>Coordinates of lower-left corner of mesh.</div></blockquote>
<p><strong>real(8) meshes(i) % upper_right(:)</strong></p>
<blockquote>
<div>Coordinates of upper-right corner of mesh.</div></blockquote>
<p><strong>real(8) meshes(i) % width(:)</strong></p>
<blockquote>
<div>Width of each mesh cell in each dimension.</div></blockquote>
</div></blockquote>
<p><strong>integer(4) n_tallies</strong></p>
<p><em>do i = 1, n_tallies</em></p>
<blockquote>
<div><p><strong>integer(4) tallies(i) % id</strong></p>
<blockquote>
<div>Unique ID of tally.</div></blockquote>
<p><strong>integer(4) tallies(i) % n_realizations</strong></p>
<blockquote>
<div>Number of realizations for the i-th tally.</div></blockquote>
<p><strong>integer(4) size(tallies(i) % scores, 1)</strong></p>
<blockquote>
<div>Total number of score bins for the i-th tally</div></blockquote>
<p><strong>integer(4) size(tallies(i) % scores, 2)</strong></p>
<blockquote>
<div>Total number of filter bins for the i-th tally</div></blockquote>
<p><strong>integer(4) tallies(i) % n_filters</strong></p>
<p><em>do j = 1, tallies(i) % n_filters</em></p>
<blockquote>
<div><p><strong>integer(4) tallies(i) % filter(j) % type</strong></p>
<blockquote>
<div>Type of tally filter.</div></blockquote>
<p><strong>integer(4) tallies(i) % filter(j) % n_bins</strong></p>
<blockquote>
<div>Number of bins for filter.</div></blockquote>
<p><strong>integer(4)/real(8) tallies(i) % filter(j) % bins(:)</strong></p>
<blockquote>
<div>Value for each filter bin of this type.</div></blockquote>
</div></blockquote>
<p><strong>integer(4) tallies(i) % n_nuclide_bins</strong></p>
<blockquote>
<div>Number of nuclide bins. If none are specified, this is just one.</div></blockquote>
<p><em>do j = 1, tallies(i) % n_nuclide_bins</em></p>
<blockquote>
<div><p><strong>integer(4) tallies(i) % nuclide_bins(j)</strong></p>
<blockquote>
<div>Values of specified nuclide bins</div></blockquote>
</div></blockquote>
<p><strong>integer(4) tallies(i) % n_score_bins</strong></p>
<blockquote>
<div>Number of scoring bins.</div></blockquote>
<p><em>do j = 1, tallies(i) % n_score_bins</em></p>
<blockquote>
<div><p><strong>integer(4) tallies(i) % score_bins(j)</strong></p>
<blockquote>
<div>Values of specified scoring bins (e.g. SCORE_FLUX).</div></blockquote>
</div></blockquote>
<p><em>do j = 1, tallies(i) % n_score_bins</em></p>
<blockquote>
<div><p><strong>integer(4) tallies(i) % scatt_order(j)</strong></p>
<blockquote>
<div>Scattering Order specified scoring bins.</div></blockquote>
</div></blockquote>
<p><strong>integer(4) tallies(i) % n_score_bins</strong></p>
<blockquote>
<div>Number of scoring bins without accounting for those added by
the scatter-pn command.</div></blockquote>
</div></blockquote>
<p><strong>integer(4) source_present</strong></p>
<blockquote>
<div>Flag indicated if source bank is present in the file</div></blockquote>
<p><strong>integer(4) n_realizations</strong></p>
<blockquote>
<div>Number of realizations for global tallies.</div></blockquote>
<p><strong>integer(4) N_GLOBAL_TALLIES</strong></p>
<blockquote>
<div>Number of global tally scores</div></blockquote>
<p><em>do i = 1, N_GLOBAL_TALLIES</em></p>
<blockquote>
<div><p><strong>real(8) global_tallies(i) % sum</strong></p>
<blockquote>
<div>Accumulated sum for the i-th global tally</div></blockquote>
<p><strong>real(8) global_tallies(i) % sum_sq</strong></p>
<blockquote>
<div>Accumulated sum of squares for the i-th global tally</div></blockquote>
</div></blockquote>
<p><strong>integer(4) tallies_on</strong></p>
<blockquote>
<div>Flag indicated if tallies are present in the file.</div></blockquote>
<p>if (tallies_on &gt; 0)</p>
<blockquote>
<div><p><em>do i = 1, n_tallies</em></p>
<blockquote>
<div><p><em>do k = 1, size(tallies(i) % scores, 2)</em></p>
<blockquote>
<div><p><em>do j = 1, size(tallies(i) % scores, 1)</em></p>
<blockquote>
<div><p><strong>real(8) tallies(i) % scores(j,k) % sum</strong></p>
<blockquote>
<div>Accumulated sum for the j-th score and k-th filter of the
i-th tally</div></blockquote>
<p><strong>real(8) tallies(i) % scores(j,k) % sum_sq</strong></p>
<blockquote>
<div>Accumulated sum of squares for the j-th score and k-th
filter of the i-th tally</div></blockquote>
</div></blockquote>
</div></blockquote>
</div></blockquote>
</div></blockquote>
<p>if (run_mode == MODE_EIGENVALUE and source_present)</p>
<blockquote>
<div><p><em>do i = 1, n_particles</em></p>
<blockquote>
<div><p><strong>real(8) source_bank(i) % wgt</strong></p>
<blockquote>
<div>Weight of the i-th source particle</div></blockquote>
<p><strong>real(8) source_bank(i) % xyz(1:3)</strong></p>
<blockquote>
<div>Coordinates of the i-th source particle.</div></blockquote>
<p><strong>real(8) source_bank(i) % uvw(1:3)</strong></p>
<blockquote>
<div>Direction of the i-th source particle</div></blockquote>
<p><strong>real(8) source_bank(i) % E</strong></p>
<blockquote>
<div>Energy of the i-th source particle.</div></blockquote>
</div></blockquote>
</div></blockquote>
</div>
<div class="section" id="revision-10">
<h2>5.1. Revision 10<a class="headerlink" href="#revision-10" title="Permalink to this headline"></a></h2>
<h2>5.2. Revision 10<a class="headerlink" href="#revision-10" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) FILETYPE_STATEPOINT</strong></p>
<blockquote>
<div>Flags whether this file is a statepoint file or a particle restart file.</div></blockquote>
@ -295,7 +538,7 @@ filter of the i-th tally</div></blockquote>
</div></blockquote>
</div>
<div class="section" id="revision-9">
<h2>5.2. Revision 9<a class="headerlink" href="#revision-9" title="Permalink to this headline"></a></h2>
<h2>5.3. Revision 9<a class="headerlink" href="#revision-9" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) FILETYPE_STATEPOINT</strong></p>
<blockquote>
<div>Flags whether this file is a statepoint file or a particle restart file.</div></blockquote>
@ -508,7 +751,7 @@ filter of the i-th tally</div></blockquote>
</div></blockquote>
</div>
<div class="section" id="revision-8">
<h2>5.3. Revision 8<a class="headerlink" href="#revision-8" title="Permalink to this headline"></a></h2>
<h2>5.4. Revision 8<a class="headerlink" href="#revision-8" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) REVISION_STATEPOINT</strong></p>
<blockquote>
<div>Revision of the binary state point file. Any time a change is made in the
@ -718,7 +961,7 @@ filter of the i-th tally</div></blockquote>
</div></blockquote>
</div>
<div class="section" id="revision-7">
<h2>5.4. Revision 7<a class="headerlink" href="#revision-7" title="Permalink to this headline"></a></h2>
<h2>5.5. Revision 7<a class="headerlink" href="#revision-7" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) REVISION_STATEPOINT</strong></p>
<blockquote>
<div>Revision of the binary state point file. Any time a change is made in the
@ -916,7 +1159,7 @@ filter of the i-th tally</div></blockquote>
</div></blockquote>
</div>
<div class="section" id="revision-6">
<h2>5.5. Revision 6<a class="headerlink" href="#revision-6" title="Permalink to this headline"></a></h2>
<h2>5.6. Revision 6<a class="headerlink" href="#revision-6" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) REVISION_STATEPOINT</strong></p>
<blockquote>
<div>Revision of the binary state point file. Any time a change is made in the
@ -1104,7 +1347,7 @@ filter of the i-th tally</div></blockquote>
</div></blockquote>
</div>
<div class="section" id="revision-5">
<h2>5.6. Revision 5<a class="headerlink" href="#revision-5" title="Permalink to this headline"></a></h2>
<h2>5.7. Revision 5<a class="headerlink" href="#revision-5" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) REVISION_STATEPOINT</strong></p>
<blockquote>
<div>Revision of the binary state point file. Any time a change is made in the
@ -1283,7 +1526,7 @@ filter of the i-th tally</div></blockquote>
</div></blockquote>
</div>
<div class="section" id="revision-4">
<h2>5.7. Revision 4<a class="headerlink" href="#revision-4" title="Permalink to this headline"></a></h2>
<h2>5.8. Revision 4<a class="headerlink" href="#revision-4" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) REVISION_STATEPOINT</strong></p>
<blockquote>
<div>Revision of the binary state point file. Any time a change is made in the
@ -1459,7 +1702,7 @@ filter of the i-th tally</div></blockquote>
</div></blockquote>
</div>
<div class="section" id="revision-3">
<h2>5.8. Revision 3<a class="headerlink" href="#revision-3" title="Permalink to this headline"></a></h2>
<h2>5.9. Revision 3<a class="headerlink" href="#revision-3" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) REVISION_STATEPOINT</strong></p>
<blockquote>
<div>Revision of the binary state point file. Any time a change is made in the
@ -1632,7 +1875,7 @@ filter of the i-th tally</div></blockquote>
</div></blockquote>
</div>
<div class="section" id="revision-2">
<h2>5.9. Revision 2<a class="headerlink" href="#revision-2" title="Permalink to this headline"></a></h2>
<h2>5.10. Revision 2<a class="headerlink" href="#revision-2" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) REVISION_STATEPOINT</strong></p>
<blockquote>
<div>Revision of the binary state point file. Any time a change is made in the
@ -1720,7 +1963,7 @@ the i-th tally</div></blockquote>
</div></blockquote>
</div>
<div class="section" id="revision-1">
<h2>5.10. Revision 1<a class="headerlink" href="#revision-1" title="Permalink to this headline"></a></h2>
<h2>5.11. Revision 1<a class="headerlink" href="#revision-1" title="Permalink to this headline"></a></h2>
<p><strong>integer(4) REVISION_STATEPOINT</strong></p>
<blockquote>
<div>Revision of the binary state point file. Any time a change is made in the
@ -1817,7 +2060,7 @@ the i-th tally</div></blockquote>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="xml-fortran.html">4. xml-fortran Input Parsing</a>
«&#160;&#160;<a href="xml-parsing.html">4. XML Input Parsing</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
@ -1828,7 +2071,7 @@ the i-th tally</div></blockquote>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -188,7 +188,7 @@ module</a> is of type MaterialMacroXS.</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -176,7 +176,7 @@ No: if ( variable==2 ) then</pre>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -117,7 +117,7 @@ cell not_found.</div></blockquote>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -29,7 +29,7 @@
<script type="text/javascript" src="../_static/theme_extras.js"></script>
<link rel="top" title="OpenMC Documentation" href="../index.html" />
<link rel="up" title="Developers Guide" href="index.html" />
<link rel="next" title="4. xml-fortran Input Parsing" href="xml-fortran.html" />
<link rel="next" title="4. XML Input Parsing" href="xml-parsing.html" />
<link rel="prev" title="2. Style Guide for OpenMC" href="styleguide.html" />
</head>
<body>
@ -45,7 +45,7 @@
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="xml-fortran.html">4. xml-fortran Input Parsing</a>&#160;&#160;»
<a href="xml-parsing.html">4. XML Input Parsing</a>&#160;&#160;»
</p>
</div>
@ -159,14 +159,14 @@ from your private repository into a public fork.</p>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="xml-fortran.html">4. xml-fortran Input Parsing</a>&#160;&#160;»
<a href="xml-parsing.html">4. XML Input Parsing</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

114
devguide/xml-parsing.html Normal file
View file

@ -0,0 +1,114 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>4. XML Input Parsing &mdash; OpenMC Documentation</title>
<link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/print.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.5.3',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/theme_extras.js"></script>
<link rel="top" title="OpenMC Documentation" href="../index.html" />
<link rel="up" title="Developers Guide" href="index.html" />
<link rel="next" title="5. State Point Binary File Specifications" href="statepoint.html" />
<link rel="prev" title="3. Development Workflow" href="workflow.html" />
</head>
<body>
<div class="header">
<a href="../index.html">
<img class="logo" src="../_static/openmc.png" alt="Logo"/>
</a>
</div>
<div class="topnav">
<p>
«&#160;&#160;<a href="workflow.html">3. Development Workflow</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="statepoint.html">5. State Point Binary File Specifications</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="xml-input-parsing">
<span id="devguide-xml-parsing"></span><h1>4. XML Input Parsing<a class="headerlink" href="#xml-input-parsing" title="Permalink to this headline"></a></h1>
<p>OpenMC relies on the <a class="reference external" href="https://github.com/andreww/fox">FoX</a> Fortran XML library for reading and intrepreting the
XML input files for geometry, materials, settings, tallies, etc. The use of an
XML format makes writing input files considerably more flexible than would
otherwise be possible.</p>
<p>With the FoX library, extending the user input files to include new tags is
fairly straightforward. The steps for modifying/adding input are as follows:</p>
<p>1. Add appropriate calls to procedures from the <a class="reference external" href="https://github.com/mit-crpg/openmc/blob/develop/src/xml_interface.F90">xml_interface module</a>, such as
<tt class="docutils literal"><span class="pre">check_for_node</span></tt>, <tt class="docutils literal"><span class="pre">get_node_value</span></tt>, and <tt class="docutils literal"><span class="pre">get_node_array</span></tt>. All input
reading is performed in the <a class="reference external" href="https://github.com/mit-crpg/openmc/blob/develop/src/input_xml.F90">input_xml module</a>.</p>
<p>2. Make sure that your input can be categorized as one of the datatypes from
<a class="reference external" href="http://www.w3.org/TR/xmlschema-2/">XML Schema Part 2</a> and that parsing of the data appropriately reflects
this. For example, for a <a class="reference external" href="http://www.w3.org/TR/xmlschema-2/#boolean">boolean</a> value, true can be represented either by &#8220;true&#8221;
or by &#8220;1&#8221;.</p>
<ol class="arabic simple" start="3">
<li>Add code to check the variable for any possible errors.</li>
</ol>
<p>A set of <a class="reference external" href="http://relaxng.org/">RELAX NG</a> schemata exists that enables real-time validation of input
files when using the GNU Emacs text editor. You should also modify the RELAX NG
schema for the file you changed (e.g. src/relaxng/geometry.rnc) so that
those who use Emacs can confirm whether their input is valid before they
run. You will need to be familiar with RELAX NG <a class="reference external" href="http://relaxng.org/compact-tutorial-20030326.html">compact syntax</a>.</p>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="workflow.html">3. Development Workflow</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="statepoint.html">5. State Point Binary File Specifications</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-30411614-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>

View file

@ -61,7 +61,7 @@
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="usersguide/install.html#index-0">CROSS_SECTIONS</a>, <a href="usersguide/install.html#index-1">[1]</a>, <a href="usersguide/install.html#index-2">[2]</a>, <a href="usersguide/input.html#index-0">[3]</a>, <a href="usersguide/troubleshoot.html#index-2">[4]</a>, <a href="usersguide/troubleshoot.html#index-3">[5]</a>
<dt><a href="usersguide/install.html#index-0">CROSS_SECTIONS</a>, <a href="usersguide/install.html#index-1">[1]</a>, <a href="usersguide/install.html#index-2">[2]</a>, <a href="usersguide/install.html#index-3">[3]</a>, <a href="usersguide/input.html#index-0">[4]</a>, <a href="usersguide/troubleshoot.html#index-2">[5]</a>, <a href="usersguide/troubleshoot.html#index-3">[6]</a>
</dt>
</dl></td>
@ -77,7 +77,7 @@
<dd><dl>
<dt><a href="usersguide/install.html#index-0">CROSS_SECTIONS</a>, <a href="usersguide/install.html#index-1">[1]</a>, <a href="usersguide/install.html#index-2">[2]</a>, <a href="usersguide/input.html#index-0">[3]</a>, <a href="usersguide/troubleshoot.html#index-2">[4]</a>, <a href="usersguide/troubleshoot.html#index-3">[5]</a>
<dt><a href="usersguide/install.html#index-0">CROSS_SECTIONS</a>, <a href="usersguide/install.html#index-1">[1]</a>, <a href="usersguide/install.html#index-2">[2]</a>, <a href="usersguide/install.html#index-3">[3]</a>, <a href="usersguide/input.html#index-0">[4]</a>, <a href="usersguide/troubleshoot.html#index-2">[5]</a>, <a href="usersguide/troubleshoot.html#index-3">[6]</a>
</dt>
@ -125,7 +125,7 @@
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -91,7 +91,7 @@ free to send a message to the User&#8217;s Group <a class="reference external" h
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -53,7 +53,7 @@
<div class="section" id="license-agreement">
<span id="license"></span><h1>License Agreement<a class="headerlink" href="#license-agreement" title="Permalink to this headline"></a></h1>
<p>Copyright © 2011-2013 Massachusetts Institute of Technology</p>
<p>Copyright © 2011-2014 Massachusetts Institute of Technology</p>
<p>Permission is hereby granted, free of charge, to any person obtaining a copy of
this software and associated documentation files (the &#8220;Software&#8221;), to deal in
the Software without restriction, including without limitation the rights to
@ -86,7 +86,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -144,7 +144,7 @@ indexing</em> and is available as an option in Serpent (see paper by <a class="r
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -135,6 +135,33 @@ assessing source convergence to relieve the burden on the user of having to look
at plots of <img class="math" src="../_images/math/56a4ca4edce4a1ea8da11edbc5adc54ed45163b2.png" alt="k_{eff}"/> and the Shannon entropy. A number of methods have
been proposed (see e.g. <a class="reference internal" href="#romano">[Romano]</a>, <a class="reference internal" href="#ueki">[Ueki]</a>), but each of these is not without
problems.</p>
</div>
</div>
<div class="section" id="uniform-fission-site-method">
<h2>7.3. Uniform Fission Site Method<a class="headerlink" href="#uniform-fission-site-method" title="Permalink to this headline"></a></h2>
<p>Generally speaking, the variance of a Monte Carlo tally will be inversely
proportional to the number of events that score to the tally. In a reactor
problem, this implies that regions with low relative power density will have
higher variance that regions with high relative power density. One method to
circumvent the uneven distribution of relative errors is the uniform fission
site (UFS) method introduced by <a class="reference internal" href="#sutton">[Sutton]</a>. In this method, the portion of the
problem containing fissionable material is subdivided into a number of cells
(typically using a structured mesh). Rather than producing</p>
<div class="math">
<p><img src="../_images/math/825c96dcbeb27ebc9e14257965efa983bc6b99ac.png" alt="m = \frac{w}{k} \frac{\nu\Sigma_f}{\Sigma_t}"/></p>
</div><p>fission sites at each collision where <img class="math" src="../_images/math/9ee4b825a2e36ae093ed7be5e4851ef453b34914.png" alt="w"/> is the weight of the neutron,
<img class="math" src="../_images/math/8c325612684d41304b9751c175df7bcc0f61f64f.png" alt="k"/> is the previous-generation estimate of the neutron multiplication
factor, <img class="math" src="../_images/math/59fe8adcb949ed284a61f0e73d9ae158f3693592.png" alt="\nu\Sigma_f"/> is the neutron production cross section, and
<img class="math" src="../_images/math/b5e850feb16eb83bd01af5524126befff31f202b.png" alt="\Sigma_t"/> is the total cross section, in the UFS method we produce</p>
<div class="math">
<p><img src="../_images/math/726296a60ed94af0d0692814ccdacc6339e0ced2.png" alt="m_{UFS} = \frac{w}{k} \frac{\nu\Sigma_f}{\Sigma_t} \frac{v_i}{s_i}"/></p>
</div><p>fission sites at each collision where <img class="math" src="../_images/math/85ffd98b4eaea58a8db38fd0047e3a1d7c5661a0.png" alt="v_i"/> is the fraction of the total
volume occupied by cell <img class="math" src="../_images/math/34857b3ba74ce5cd8607f3ebd23e9015908ada71.png" alt="i"/> and <img class="math" src="../_images/math/d3b63c17213f84d730e0de1f8c08597f7a648e37.png" alt="s_i"/> is the fraction of the fission
source contained in cell <img class="math" src="../_images/math/34857b3ba74ce5cd8607f3ebd23e9015908ada71.png" alt="i"/>. To ensure that no bias is introduced, the
weight of each fission site stored in the fission bank is <img class="math" src="../_images/math/5aac3b66c0da4612a56b68682465c9ed801b6276.png" alt="s_i/v_i"/> rather
than unity. By ensuring that the expected number of fission sites in each mesh
cell is constant, the collision density across all cells, and hence the variance
of tallies, is more uniform than it would be otherwise.</p>
<table class="docutils citation" frame="void" id="lieberoth" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
@ -152,6 +179,14 @@ Source Convergence in Monte Carlo Criticality Calculations,&#8221;
Reactor Physics</em>, Saratoga Springs, New York (2009).</td></tr>
</tbody>
</table>
<table class="docutils citation" frame="void" id="sutton" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
<tr><td class="label"><a class="fn-backref" href="#id4">[Sutton]</a></td><td>Daniel J. Kelly, Thomas M. Sutton, and Stephen C. Wilson, &#8220;MC21
Analysis of the Nuclear Energy Agency Monte Carlo Performance Benchmark
Problem,&#8221; <em>Proc. PHYSOR 2012</em>, Knoxville, Tennessee, Apr. 15&#8211;20 (2012).</td></tr>
</tbody>
</table>
<table class="docutils citation" frame="void" id="ueki" rules="none">
<colgroup><col class="label" /><col /></colgroup>
<tbody valign="top">
@ -160,7 +195,6 @@ Convergence,&#8221; <em>Trans. Am. Nucl. Soc.</em>, <strong>98</strong>, 512 (20
</tbody>
</table>
</div>
</div>
</div>
@ -179,7 +213,7 @@ Convergence,&#8221; <em>Trans. Am. Nucl. Soc.</em>, <strong>98</strong>, 512 (20
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -630,7 +630,7 @@ w' = w + \frac{2 (\bar{x}u + \bar{y}v - R^2\bar{z}w)}{R^2 (1 + R^2) \bar{z}}"/><
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -155,6 +155,7 @@
<li class="toctree-l3"><a class="reference internal" href="eigenvalue.html#diagnosing-convergence-with-shannon-entropy">7.2.1. Diagnosing Convergence with Shannon Entropy</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="eigenvalue.html#uniform-fission-site-method">7.3. Uniform Fission Site Method</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="parallelization.html">8. Parallelization</a><ul>
@ -188,7 +189,7 @@
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -180,7 +180,7 @@ and its variance is calculated.</li>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -526,7 +526,7 @@ Radiation Penetration Calculations on a Parallel Computer,&#8221;
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -590,7 +590,7 @@ outgoing angle is</p>
<p><span class="eqno">(50)</span><img src="../_images/math/9375035003057c0d471bcf75f7ebc69ee5d489b0.png" alt="\mu = \frac{1}{A} \ln \left ( \xi_4 e^A + (1 - \xi_4) e^{-A} \right )."/></p>
</div></div>
<div class="section" id="ace-law-61-correlated-energy-and-angle-distribution">
<h4>5.7.2.8. ACE Law 61 - Correlated Energy and Angle Distribution<a class="headerlink" href="#ace-law-61-correlated-energy-and-angle-distribution" title="Permalink to this headline"></a></h4>
<span id="ace-law-61"></span><h4>5.7.2.8. ACE Law 61 - Correlated Energy and Angle Distribution<a class="headerlink" href="#ace-law-61-correlated-energy-and-angle-distribution" title="Permalink to this headline"></a></h4>
<p>This law is very similar to ACE Law 44 in the sense that the outgoing angle of
the neutron is correlated to the outgoing energy and is not sampled from a
separate distribution. In this case though, rather than being determined from an
@ -981,18 +981,22 @@ cosine is</p>
</div></div>
<div class="section" id="outgoing-energy-and-angle-for-inelastic-scattering">
<h3>5.10.4. Outgoing Energy and Angle for Inelastic Scattering<a class="headerlink" href="#outgoing-energy-and-angle-for-inelastic-scattering" title="Permalink to this headline"></a></h3>
<p>On each S(<img class="math" src="../_images/math/de50da7a7a67e43cbe2548fb3e6b03740a27b89a.png" alt="\alpha,\beta,T"/>) table, there is a correlated angle-energy secondary distribution
for neutron thermal inelastic scattering. While the documentation for the ACE
format implies that there are a series of equiprobable outgoing energies, the
outgoing energies may have non-uniform probability distribution. In particular,
if the thermal data were processed with <img class="math" src="../_images/math/13cffe9eab467ebc7be1aed494e60a6af38b9cbb.png" alt="iwt = 0"/> in NJOY, then the first
and last outgoing energies have a relative probability of 1, the second and
second to last energies have a relative probability of 4, and all other energies
have a relative probability of 10. The procedure to determine the outgoing
energy and angle is as such. First, the interpolation factor is determined from
equation <a href="#equation-sab-interpolation-factor">(85)</a>. Then, an outgoing energy bin is sampled
either from a uniform distribution or from the aforementioned skewed
distribution. The outgoing energy is then interpolated between values
<p>Each S(<img class="math" src="../_images/math/de50da7a7a67e43cbe2548fb3e6b03740a27b89a.png" alt="\alpha,\beta,T"/>) table provides a correlated angle-energy secondary distribution for
neutron thermal inelastic scattering. There are three representations used
in the ACE thermal scattering data: equiprobable discrete outgoing
energies, non-uniform yet still discrete outgoing energies, and continuous
outgoing energies with corresponding probability and cumulative distribution
functions provided in tabular format. These three representations all
represent the angular distribution in a common format, using a series of
discrete equiprobable outgoing cosines.</p>
<div class="section" id="equi-probable-outgoing-energies">
<h4>5.10.4.1. Equi-Probable Outgoing Energies<a class="headerlink" href="#equi-probable-outgoing-energies" title="Permalink to this headline"></a></h4>
<p>If the thermal data was processed with <img class="math" src="../_images/math/0e4dbd41ad8ab7a2650a4194ff59939e6d4f8abf.png" alt="iwt = 1"/> in NJOY, then the
outgoing energy spectra is represented in the ACE data as a set of discrete and
equiprobable outgoing energies. The procedure to determine the outgoing energy
and angle is as such. First, the interpolation factor is determined from
equation <a href="#equation-sab-interpolation-factor">(85)</a>. Then, an outgoing energy bin is
sampled from a uniform distribution and then interpolated between values
corresponding to neighboring incoming energies:</p>
<div class="math" id="equation-inelastic-energy">
<p><span class="eqno">(86)</span><img src="../_images/math/3f8f6da4aab67655ddac5d3b3027e44a2c23436f.png" alt="E = E_{i,j} + f (E_{i+1,j} - E_{i,j})"/></p>
@ -1005,6 +1009,36 @@ uniformly and then the final cosine is interpolated on the incoming energy grid:
</div><p>where <img class="math" src="../_images/math/2d7f45fa99693dbe2948e840fb6aaf916beb0c27.png" alt="\mu_{i,j,k}"/> is the k-th outgoing cosine corresponding to the j-th
outgoing energy and the i-th incoming energy.</p>
</div>
<div class="section" id="skewed-equi-probable-outgoing-energies">
<h4>5.10.4.2. Skewed Equi-Probable Outgoing Energies<a class="headerlink" href="#skewed-equi-probable-outgoing-energies" title="Permalink to this headline"></a></h4>
<p>If the thermal data was processed with <img class="math" src="../_images/math/965401b23bcb1aa9e04b4500bcae95f290503c2a.png" alt="iwt=0"/> in NJOY, then the
outgoing energy spectra is represented in the ACE data according to the
following: the first and last outgoing energies have a relative probability of
1, the second and second-to-last energies have a relative probability of 4, and
all other energies have a relative probability of 10. The procedure to
determine the outgoing energy and angle is similar to the method discussed
above, except that the sampled probability distribution is now skewed
accordingly.</p>
</div>
<div class="section" id="continuous-outgoing-energies">
<h4>5.10.4.3. Continuous Outgoing Energies<a class="headerlink" href="#continuous-outgoing-energies" title="Permalink to this headline"></a></h4>
<p>If the thermal data was processed with <img class="math" src="../_images/math/ec4a657166917824fa53265e75eb1beaedf3450b.png" alt="iwt=2"/> in NJOY, then the
outgoing energy spectra is represented by a continuous outgoing energy spectra
in tabular form with linear-linear interpolation. The sampling of the outgoing
energy portion of this format is very similar to <a class="reference internal" href="#ace-law-61"><em>ACE Law 61</em></a>,
but the sampling of the correlated angle is performed as it was in the other
two representations discussed in this sub-section. In the Law 61 algorithm,
we found an interpolation factor <img class="math" src="../_images/math/bb2c93730dbb48558bb3c4738c956c4e8f816437.png" alt="f"/>, statistically sampled an incoming
energy bin <img class="math" src="../_images/math/63c17c295325f731666c7d74952b563a01e00fcc.png" alt="\ell"/>, and sampled an outgoing energy bin <img class="math" src="../_images/math/8122aa89ea6e80784c6513d22787ad86e36ad0cc.png" alt="j"/> based on
the tabulated cumulative distribution function. Once the outgoing energy has
been determined with equation <a href="#equation-ace-law-4-energy">(38)</a>, we then need to decide
which angular distribution data to use. Like the linear-linear interpolation
case in Law 61, the angular distribution closest to the sampled value of the
cumulative distribution function for the outgoing energy is utilized. The
actual algorithm utilized to sample the outgoing angle is shown in equation
<a href="#equation-inelastic-angle">(87)</a>.</p>
</div>
</div>
</div>
<div class="section" id="unresolved-resonance-region-probability-tables">
<span id="probability-tables"></span><h2>5.11. Unresolved Resonance Region Probability Tables<a class="headerlink" href="#unresolved-resonance-region-probability-tables" title="Permalink to this headline"></a></h2>
@ -1179,7 +1213,7 @@ book can be obtained for free from the <a class="reference external" href="http:
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -129,7 +129,7 @@ Different Sizes and Good Lattice Structures,&#8221; <em>Math. Comput.</em>, <str
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -426,7 +426,7 @@ in Statistics - Simulation and Computation, 16 (4), pp. 1123-1132 (1987).</td></
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

Binary file not shown.

View file

@ -70,7 +70,7 @@ Estimate Dominance Ratio and Adjoint,&#8221; <em>Trans. Am. Nucl. Soc.</em>, <st
<li>Timothy P. Burke, Brian C. Kiedrowski, and William R. Martin, &#8220;Flux and
Reaction Rate Kernel Density Estimators in OpenMC,&#8221; <em>Trans. Am. Nucl. Soc.</em>,
<strong>109</strong>, 683-686 (2013).</li>
<li>Paul K. Romano, Benoit Forget, Kord Smith, and Andrew Siegel, &#8220;On the user of
<li>Paul K. Romano, Benoit Forget, Kord Smith, and Andrew Siegel, &#8220;On the use of
tally servers in Monte Carlo simulations of light-water reactors,&#8221;
<em>Proc. Joint International Conference on Supercomputing in Nuclear
Applications and Monte Carlo</em>, Paris, France, Oct. 27&#8211;31 (2013).</li>
@ -89,8 +89,8 @@ Conference on Supercomputing in Nuclear Applications and Monte Carlo</em>, Paris
France, Oct. 27&#8211;31 (2013).</li>
<li>Andrew R. Siegel, Kord Smith, Paul K. Romano, Benoit Forget, and Kyle Felker,
&#8220;Multi-core performance studies of a Monte Carlo neutron transport code,&#8221;
<em>Int. J. High Perform. Comput. Appl.</em>
(2013). <a class="reference external" href="http://dx.doi.org/10.1177/1094342013492179">http://dx.doi.org/10.1177/1094342013492179</a></li>
<em>Int. J. High Perform. Comput. Appl.</em>, <strong>28</strong> (1), 87&#8211;96
(2014). <a class="reference external" href="http://dx.doi.org/10.1177/1094342013492179">http://dx.doi.org/10.1177/1094342013492179</a></li>
<li>Paul K. Romano, Andrew R. Siegel, Benoit Forget, and Kord Smith, &#8220;Data
decomposition of Monte Carlo particle transport simulations via tally
servers,&#8221; <em>J. Comput. Phys.</em>, <strong>252</strong>, 20&#8211;36
@ -139,7 +139,7 @@ Carlo Criticality Calculations,&#8221; <em>Nucl. Sci. Eng.</em>, <strong>170</st
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -83,7 +83,11 @@ sudo make install
</pre></div>
</div>
<p>This will build an executable named <tt class="docutils literal"><span class="pre">openmc</span></tt> and install it (by default in
/usr/local/bin).</p>
/usr/local/bin). If you do not have administrator privileges, the last command
can be replaced with a local install, e.g.</p>
<div class="highlight-sh"><div class="highlight"><pre>make install -e <span class="nv">prefix</span><span class="o">=</span><span class="nv">$HOME</span>/.local
</pre></div>
</div>
</div>
</div>
@ -103,7 +107,7 @@ sudo make install
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -28,7 +28,7 @@
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/theme_extras.js"></script>
<link rel="top" title="OpenMC Documentation" href="../index.html" />
<link rel="next" title="Release Notes for OpenMC 0.5.3" href="notes_0.5.3.html" />
<link rel="next" title="Release Notes for OpenMC 0.5.4" href="notes_0.5.4.html" />
<link rel="prev" title="Quick Install Guide" href="../quickinstall.html" />
</head>
<body>
@ -44,7 +44,7 @@
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="notes_0.5.3.html">Release Notes for OpenMC 0.5.3</a>&#160;&#160;»
<a href="notes_0.5.4.html">Release Notes for OpenMC 0.5.4</a>&#160;&#160;»
</p>
</div>
@ -57,6 +57,7 @@
bugs fixed, and known issues for each successive release.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="notes_0.5.4.html">Release Notes for OpenMC 0.5.4</a></li>
<li class="toctree-l1"><a class="reference internal" href="notes_0.5.3.html">Release Notes for OpenMC 0.5.3</a></li>
<li class="toctree-l1"><a class="reference internal" href="notes_0.5.2.html">Release Notes for OpenMC 0.5.2</a></li>
<li class="toctree-l1"><a class="reference internal" href="notes_0.5.1.html">Release Notes for OpenMC 0.5.1</a></li>
@ -79,14 +80,14 @@ bugs fixed, and known issues for each successive release.</p>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="notes_0.5.3.html">Release Notes for OpenMC 0.5.3</a>&#160;&#160;»
<a href="notes_0.5.4.html">Release Notes for OpenMC 0.5.4</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -101,7 +101,7 @@ can now be successfully run in OpenMC.</li>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -113,7 +113,7 @@ the source bank to be of type Bank rather than of type Particle.</li>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -110,7 +110,7 @@ nuclide on the material.</li>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -107,7 +107,7 @@ the problem at hand (mostly on the number of nuclides in the problem).</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -104,7 +104,7 @@ to turn them on with &lt;output&gt; tag in settings.xml file.</li>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -107,7 +107,7 @@ tangent to a surface.</li>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -104,7 +104,7 @@ the problem at hand (mostly on the number of nuclides in the problem).</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -109,7 +109,7 @@ the problem at hand (mostly on the number of nuclides in the problem).</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -30,7 +30,7 @@
<link rel="top" title="OpenMC Documentation" href="../index.html" />
<link rel="up" title="Release Notes" href="index.html" />
<link rel="next" title="Release Notes for OpenMC 0.5.2" href="notes_0.5.2.html" />
<link rel="prev" title="Release Notes" href="index.html" />
<link rel="prev" title="Release Notes for OpenMC 0.5.4" href="notes_0.5.4.html" />
</head>
<body>
<div class="header">
@ -41,7 +41,7 @@
<div class="topnav">
<p>
«&#160;&#160;<a href="index.html">Release Notes</a>
«&#160;&#160;<a href="notes_0.5.4.html">Release Notes for OpenMC 0.5.4</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
@ -97,7 +97,7 @@ passed in</li>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="index.html">Release Notes</a>
«&#160;&#160;<a href="notes_0.5.4.html">Release Notes for OpenMC 0.5.4</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
@ -108,7 +108,7 @@ passed in</li>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -0,0 +1,141 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Release Notes for OpenMC 0.5.4 &mdash; OpenMC Documentation</title>
<link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
<link rel="stylesheet" href="../_static/print.css" type="text/css" />
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.5.3',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
};
</script>
<script type="text/javascript" src="../_static/jquery.js"></script>
<script type="text/javascript" src="../_static/underscore.js"></script>
<script type="text/javascript" src="../_static/doctools.js"></script>
<script type="text/javascript" src="../_static/theme_extras.js"></script>
<link rel="top" title="OpenMC Documentation" href="../index.html" />
<link rel="up" title="Release Notes" href="index.html" />
<link rel="next" title="Release Notes for OpenMC 0.5.3" href="notes_0.5.3.html" />
<link rel="prev" title="Release Notes" href="index.html" />
</head>
<body>
<div class="header">
<a href="../index.html">
<img class="logo" src="../_static/openmc.png" alt="Logo"/>
</a>
</div>
<div class="topnav">
<p>
«&#160;&#160;<a href="index.html">Release Notes</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="notes_0.5.3.html">Release Notes for OpenMC 0.5.3</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="release-notes-for-openmc-0-5-4">
<span id="notes-0-5-4"></span><h1>Release Notes for OpenMC 0.5.4<a class="headerlink" href="#release-notes-for-openmc-0-5-4" title="Permalink to this headline"></a></h1>
<div class="section" id="system-requirements">
<h2>System Requirements<a class="headerlink" href="#system-requirements" title="Permalink to this headline"></a></h2>
<p>There are no special requirements for running the OpenMC code. As of this
release, OpenMC has been tested on a variety of Linux distributions, Mac OS X,
and Microsoft Windows 7. Memory requirements will vary depending on the size of
the problem at hand (mostly on the number of nuclides in the problem).</p>
</div>
<div class="section" id="new-features">
<h2>New Features<a class="headerlink" href="#new-features" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li>Source sites outside geometry are resampled</li>
<li>XML-Fortran backend replaced by FoX XML</li>
<li>Ability to write particle track files</li>
<li>Handle lost particles more gracefully (via particle track files)</li>
<li>Multiple random number generator streams</li>
<li>Mesh tally plotting utility converted to use Tkinter rather than PyQt</li>
<li>Script added to download ACE data from NNDC</li>
<li>Mixed ASCII/binary cross_sections.xml now allowed</li>
<li>Expanded options for writing source bank</li>
<li>Re-enabled ability to use source file as starting source</li>
<li>S(a,b) recalculation avoided when same nuclide and S(a,b) table are accessed</li>
</ul>
</div>
<div class="section" id="bug-fixes">
<h2>Bug Fixes<a class="headerlink" href="#bug-fixes" title="Permalink to this headline"></a></h2>
<ul class="simple">
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/32c03c">32c03c</a>: Check for valid data in cross_sections.xml</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/c71ef5">c71ef5</a>: Fix bug in statepoint.py</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/8884fb">8884fb</a>: Check for all ZAIDs for S(a,b) tables</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/b38af0">b38af0</a>: Fix XML reading on multiple levels of input</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/d28750">d28750</a>: Fix bug in convert_xsdir.py</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/cf567c">cf567c</a>: ENDF/B-VI data checked for compatibility</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/6b9461">6b9461</a>: Fix p_valid sampling inside of sample_energy</li>
</ul>
</div>
<div class="section" id="contributors">
<h2>Contributors<a class="headerlink" href="#contributors" title="Permalink to this headline"></a></h2>
<p>This release contains new contributions from the following people:</p>
<ul class="simple">
<li><a class="reference external" href="mailto:smharper&#37;&#52;&#48;mit&#46;edu">Sterling Harper</a></li>
<li><a class="reference external" href="mailto:bherman&#37;&#52;&#48;mit&#46;edu">Bryan Herman</a></li>
<li><a class="reference external" href="mailto:nhorelik&#37;&#52;&#48;mit&#46;edu">Nick Horelik</a></li>
<li><a class="reference external" href="mailto:nelsonag&#37;&#52;&#48;umich&#46;edu">Adam Nelson</a></li>
<li><a class="reference external" href="mailto:paul&#46;k&#46;romano&#37;&#52;&#48;gmail&#46;com">Paul Romano</a></li>
<li><a class="reference external" href="mailto:tuomas&#46;viitanen&#37;&#52;&#48;vtt&#46;fi">Tuomas Viitanen</a></li>
<li><a class="reference external" href="mailto:walshjon&#37;&#52;&#48;mit&#46;edu">Jon Walsh</a></li>
</ul>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="index.html">Release Notes</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="notes_0.5.3.html">Release Notes for OpenMC 0.5.3</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-30411614-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</body>
</html>

View file

@ -86,7 +86,7 @@
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

File diff suppressed because one or more lines are too long

View file

@ -186,7 +186,7 @@ and <a class="reference external" href="http://www.hss.doe.gov/nuclearsafety/tec
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -74,9 +74,10 @@ essential aspects of using OpenMC to perform neutronic simulations.</p>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="install.html#cross-section-configuration">2.3. Cross Section Configuration</a><ul>
<li class="toctree-l3"><a class="reference internal" href="install.html#using-jeff-cross-sections-from-oecd-nea">2.3.1. Using JEFF Cross Sections from OECD/NEA</a></li>
<li class="toctree-l3"><a class="reference internal" href="install.html#using-cross-sections-from-mcnp">2.3.2. Using Cross Sections from MCNP</a></li>
<li class="toctree-l3"><a class="reference internal" href="install.html#using-cross-sections-from-serpent">2.3.3. Using Cross Sections from Serpent</a></li>
<li class="toctree-l3"><a class="reference internal" href="install.html#using-endf-b-vii-1-cross-sections-from-nndc">2.3.1. Using ENDF/B-VII.1 Cross Sections from NNDC</a></li>
<li class="toctree-l3"><a class="reference internal" href="install.html#using-jeff-cross-sections-from-oecd-nea">2.3.2. Using JEFF Cross Sections from OECD/NEA</a></li>
<li class="toctree-l3"><a class="reference internal" href="install.html#using-cross-sections-from-mcnp">2.3.3. Using Cross Sections from MCNP</a></li>
<li class="toctree-l3"><a class="reference internal" href="install.html#using-cross-sections-from-serpent">2.3.4. Using Cross Sections from Serpent</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="install.html#running-openmc">2.4. Running OpenMC</a><ul>
@ -104,12 +105,13 @@ essential aspects of using OpenMC to perform neutronic simulations.</p>
<li class="toctree-l3"><a class="reference internal" href="input.html#seed-element">3.2.13. <tt class="docutils literal"><span class="pre">&lt;seed&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#source-element">3.2.14. <tt class="docutils literal"><span class="pre">&lt;source&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#state-point-element">3.2.15. <tt class="docutils literal"><span class="pre">&lt;state_point&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#survival-biasing-element">3.2.16. <tt class="docutils literal"><span class="pre">&lt;survival_biasing&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#threads-element">3.2.17. <tt class="docutils literal"><span class="pre">&lt;threads&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#trace-element">3.2.18. <tt class="docutils literal"><span class="pre">&lt;trace&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#track-element">3.2.19. <tt class="docutils literal"><span class="pre">&lt;track&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#uniform-fs-element">3.2.20. <tt class="docutils literal"><span class="pre">&lt;uniform_fs&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#verbosity-element">3.2.21. <tt class="docutils literal"><span class="pre">&lt;verbosity&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#source-point-element">3.2.16. <tt class="docutils literal"><span class="pre">&lt;source_point&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#survival-biasing-element">3.2.17. <tt class="docutils literal"><span class="pre">&lt;survival_biasing&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#threads-element">3.2.18. <tt class="docutils literal"><span class="pre">&lt;threads&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#trace-element">3.2.19. <tt class="docutils literal"><span class="pre">&lt;trace&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#track-element">3.2.20. <tt class="docutils literal"><span class="pre">&lt;track&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#uniform-fs-element">3.2.21. <tt class="docutils literal"><span class="pre">&lt;uniform_fs&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#verbosity-element">3.2.22. <tt class="docutils literal"><span class="pre">&lt;verbosity&gt;</span></tt> Element</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="input.html#geometry-specification-geometry-xml">3.3. Geometry Specification &#8211; geometry.xml</a><ul>
@ -167,23 +169,23 @@ essential aspects of using OpenMC to perform neutronic simulations.</p>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="processing.html#particle-track-visualization">4.3. Particle Track Visualization</a></li>
<li class="toctree-l2"><a class="reference internal" href="processing.html#source-site-processing">4.4. Source Site Processing</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="troubleshoot.html">5. Troubleshooting</a><ul>
<li class="toctree-l2"><a class="reference internal" href="troubleshoot.html#problems-with-compilation">5.1. Problems with Compilation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#undefined-reference-to-vtab">5.1.1. undefined reference to `_vtab$...</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#fatal-error-wrong-module-version-4-expected-9-for-file-xml-data-cmfd-t-mod-opened-at-1">5.1.2. Fatal Error: Wrong module version &#8216;4&#8217; (expected &#8216;9&#8217;) for file &#8216;xml_data_cmfd_t.mod&#8217; opened at (1)</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#fatal-error-file-xml-data-cmfd-t-mod-opened-at-1-is-not-a-gfortran-module-file">5.1.3. Fatal Error: File &#8216;xml_data_cmfd_t.mod&#8217; opened at (1) is not a GFORTRAN module file</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#gfortran-unrecognized-option-cpp">5.1.4. gfortran: unrecognized option &#8216;-cpp&#8217;</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#f951-error-unrecognized-command-line-option-fbacktrace">5.1.5. f951: error: unrecognized command line option &#8220;-fbacktrace&#8221;</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#make-1-ifort-command-not-found">5.1.6. make[1]: ifort: Command not found</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#make-1-pgf90-command-not-found">5.1.7. make[1]: pgf90: Command not found</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#gfortran-unrecognized-option-cpp">5.1.2. gfortran: unrecognized option &#8216;-cpp&#8217;</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#f951-error-unrecognized-command-line-option-fbacktrace">5.1.3. f951: error: unrecognized command line option &#8220;-fbacktrace&#8221;</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#make-1-ifort-command-not-found">5.1.4. make[1]: ifort: Command not found</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#make-1-pgf90-command-not-found">5.1.5. make[1]: pgf90: Command not found</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="troubleshoot.html#problems-with-simulations">5.2. Problems with Simulations</a><ul>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#segmentation-fault">5.2.1. Segmentation Fault</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#error-no-cross-sections-xml-file-was-specified-in-settings-xml-or-in-the-cross-sections-environment-variable">5.2.2. ERROR: No cross_sections.xml file was specified in settings.xml or in the CROSS_SECTIONS environment variable.</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#geometry-debugging">5.2.3. Geometry Debugging</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#error-invalid-usage-of-l-i-in-ace-data-consider-using-more-recent-data-set">5.2.3. ERROR: Invalid usage of L(I) in ACE data; Consider using more recent data set.</a></li>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#geometry-debugging">5.2.4. Geometry Debugging</a></li>
</ul>
</li>
</ul>
@ -208,7 +210,7 @@ essential aspects of using OpenMC to perform neutronic simulations.</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -251,20 +251,32 @@ tally data, this option can significantly improve the parallel efficiency.</p>
<div class="section" id="output-element">
<h3>3.2.9. <tt class="docutils literal"><span class="pre">&lt;output&gt;</span></tt> Element<a class="headerlink" href="#output-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;output&gt;</span></tt> element determines what output files should be written to disk
during the run. This element has no attributes or sub-elements and should be set
to a list of strings separated by spaces. Valid options are &#8220;summary&#8221;,
&#8220;cross-sections&#8221;, and &#8220;tallies&#8221;. For example, if you want the summary and cross
sections summary file to be written, this element should be given as:</p>
during the run. The sub-elements are described below, where &#8220;true&#8221; will write
out the file and &#8220;false&#8221; will not.</p>
<blockquote>
<div><div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;output&gt;</span>summary cross_sections<span class="nt">&lt;/output&gt;</span>
</pre></div>
</div>
<div><table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">cross_sections:</th><td class="field-body"><p class="first">Writes out an ASCII summary file of the cross sections that were read in.</p>
<p><em>Default</em>: false</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">summary:</th><td class="field-body"><p class="first">Writes out an ASCII summary file describing all of the user input files that
were read in.</p>
<p><em>Default</em>: false</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">tallies:</th><td class="field-body"><p class="first">Write out an ASCII file of tally results.</p>
<p class="last"><em>Default</em>: true</p>
</td>
</tr>
</tbody>
</table>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">The tally results will be written to a binary/HDF5 state point file by
default.</p>
<p class="last">The tally results will always be written to a binary/HDF5 state point file.</p>
</div>
<p><em>Default</em>: &#8220;tallies&#8221;</p>
</div></blockquote>
</div>
<div class="section" id="output-path-element">
@ -310,7 +322,9 @@ attributes/sub-elements:</p>
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">file:</th><td class="field-body"><p class="first">If this attribute is given, it indicates that the source is to be read from
a binary source file whose path is given by the value of this element</p>
a binary source file whose path is given by the value of this element. Note,
the number of source sites needs to be the same as the number of particles
simulated in a fission source generation.</p>
<p><em>Default</em>: None</p>
</td>
</tr>
@ -404,8 +418,10 @@ c E e^{-E/a} dE"/>.</p>
<h3>3.2.15. <tt class="docutils literal"><span class="pre">&lt;state_point&gt;</span></tt> Element<a class="headerlink" href="#state-point-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;state_point&gt;</span></tt> element indicates at what batches a state point file
should be written. A state point file can be used to restart a run or to get
tally results at any batch. This element has the following
attributes/sub-elements:</p>
tally results at any batch. The default behavior when using this tag is to
write out the source bank in the state_point file. This behavior can be
customized by using the <tt class="docutils literal"><span class="pre">&lt;source_point&gt;</span></tt> element. This element has the
following attributes/sub-elements:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
@ -419,20 +435,59 @@ point file should be written.</p>
<tr class="field-even field"><th class="field-name">interval:</th><td class="field-body"><p class="first">A single integer <img class="math" src="../_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> indicating that a state point should be written
every <img class="math" src="../_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> batches. This option can be given in lieu of listing
batches explicitly.</p>
<p class="last"><em>Default</em>: None</p>
</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
<div class="section" id="source-point-element">
<h3>3.2.16. <tt class="docutils literal"><span class="pre">&lt;source_point&gt;</span></tt> Element<a class="headerlink" href="#source-point-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;source_point&gt;</span></tt> element indicates at what batches the source bank
should be written. The source bank can be either written out within a state
point file or separately in a source point file. This element has the following
attributes/sub-elements:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">batches:</th><td class="field-body"><p class="first">A list of integers separated by spaces indicating at what batches a state
point file should be written. It should be noted that if source_separate
tag is not set to &#8220;true&#8221;, this list must be a subset of state point batches.</p>
<p><em>Default</em>: Last batch only</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">interval:</th><td class="field-body"><p class="first">A single integer <img class="math" src="../_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> indicating that a state point should be written
every <img class="math" src="../_images/math/174fadd07fd54c9afe288e96558c92e0c1da733a.png" alt="n"/> batches. This option can be given in lieu of listing
batches explicitly. It should be noted that if source_separate tag is not
set to &#8220;true&#8221;, this value should produce a list of batches that is a subset
of state point batches.</p>
<p><em>Default</em>: None</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name" colspan="2">source_separate:</th></tr>
<tr class="field-odd field"><td>&nbsp;</td><td class="field-body"><p class="first">If this element is set to &#8220;true&#8221;, a separate binary source file will be
<tr class="field-odd field"><td>&nbsp;</td><td class="field-body"><p class="first">If this element is set to &#8220;true&#8221;, a separate binary source point file will be
written. Otherwise, the source sites will be written in the state point
directly.</p>
<p><em>Default</em>: false</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">source_write:</th><td class="field-body"><p class="first">If this element is set to &#8220;false&#8221;, source sites are not written
to the state point file. This can substantially reduce the size of state
points if large numbers of particles per batch are used.</p>
<p class="last"><em>Default</em>: true</p>
to the state point or source point file. This can substantially reduce the
size of state points if large numbers of particles per batch are used.</p>
<p><em>Default</em>: true</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name" colspan="2">overwrite_latest:</th></tr>
<tr class="field-odd field"><td>&nbsp;</td><td class="field-body"><p class="first">If this element is set to &#8220;true&#8221;, a source point file containing
the source bank will be written out to a separate file named
<tt class="docutils literal"><span class="pre">source.binary</span></tt> or <tt class="docutils literal"><span class="pre">source.h5</span></tt> depending on if HDF5 is enabled.
This file will be overwritten at every single batch so that the latest
source bank will be available. It should be noted that a user can set both
this element to &#8220;true&#8221; and specify batches to write a permanent source bank.</p>
<p class="last"><em>Default</em>: false</p>
</td>
</tr>
</tbody>
@ -440,7 +495,7 @@ points if large numbers of particles per batch are used.</p>
</div></blockquote>
</div>
<div class="section" id="survival-biasing-element">
<h3>3.2.16. <tt class="docutils literal"><span class="pre">&lt;survival_biasing&gt;</span></tt> Element<a class="headerlink" href="#survival-biasing-element" title="Permalink to this headline"></a></h3>
<h3>3.2.17. <tt class="docutils literal"><span class="pre">&lt;survival_biasing&gt;</span></tt> Element<a class="headerlink" href="#survival-biasing-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;survival_biasing&gt;</span></tt> element has no attributes and has an accepted value
of &#8220;true&#8221; or &#8220;false&#8221;. If set to &#8220;true&#8221;, this option will enable the use of
survival biasing, otherwise known as implicit capture or absorption.</p>
@ -448,14 +503,14 @@ survival biasing, otherwise known as implicit capture or absorption.</p>
<div><em>Default</em>: false</div></blockquote>
</div>
<div class="section" id="threads-element">
<span id="trace"></span><h3>3.2.17. <tt class="docutils literal"><span class="pre">&lt;threads&gt;</span></tt> Element<a class="headerlink" href="#threads-element" title="Permalink to this headline"></a></h3>
<span id="trace"></span><h3>3.2.18. <tt class="docutils literal"><span class="pre">&lt;threads&gt;</span></tt> Element<a class="headerlink" href="#threads-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;threads&gt;</span></tt> element indicates the number of OpenMP threads to be used for
a simulation. It has no attributes and accepts a positive integer value.</p>
<blockquote>
<div><em>Default</em>: None (Determined by environment variable <span class="target" id="index-1"></span><tt class="xref std std-envvar docutils literal"><span class="pre">OMP_NUM_THREADS</span></tt>)</div></blockquote>
</div>
<div class="section" id="trace-element">
<h3>3.2.18. <tt class="docutils literal"><span class="pre">&lt;trace&gt;</span></tt> Element<a class="headerlink" href="#trace-element" title="Permalink to this headline"></a></h3>
<h3>3.2.19. <tt class="docutils literal"><span class="pre">&lt;trace&gt;</span></tt> Element<a class="headerlink" href="#trace-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;trace&gt;</span></tt> element can be used to print out detailed information about a
single particle during a simulation. This element should be followed by three
integers: the batch number, generation number, and particle number.</p>
@ -463,13 +518,13 @@ integers: the batch number, generation number, and particle number.</p>
<div><em>Default</em>: None</div></blockquote>
</div>
<div class="section" id="track-element">
<span id="track"></span><h3>3.2.19. <tt class="docutils literal"><span class="pre">&lt;track&gt;</span></tt> Element<a class="headerlink" href="#track-element" title="Permalink to this headline"></a></h3>
<span id="track"></span><h3>3.2.20. <tt class="docutils literal"><span class="pre">&lt;track&gt;</span></tt> Element<a class="headerlink" href="#track-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;track&gt;</span></tt> element specifies particles for which OpenMC will output binary files describing particle position at every step of its transport. This element should be followed by triplets of integers. Each triplet describes one particle. The integers in each triplet specify the batch number, generation number, and particle number, respectively.</p>
<blockquote>
<div><em>Default</em>: None</div></blockquote>
</div>
<div class="section" id="uniform-fs-element">
<h3>3.2.20. <tt class="docutils literal"><span class="pre">&lt;uniform_fs&gt;</span></tt> Element<a class="headerlink" href="#uniform-fs-element" title="Permalink to this headline"></a></h3>
<h3>3.2.21. <tt class="docutils literal"><span class="pre">&lt;uniform_fs&gt;</span></tt> Element<a class="headerlink" href="#uniform-fs-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;uniform_fs&gt;</span></tt> element describes a mesh that is used for re-weighting
source sites at every generation based on the uniform fission site methodology
described in Kelly et al., &#8220;MC21 Analysis of the Nuclear Energy Agency Monte
@ -498,7 +553,7 @@ problem. It has the following attributes/sub-elements:</p>
</div></blockquote>
</div>
<div class="section" id="verbosity-element">
<h3>3.2.21. <tt class="docutils literal"><span class="pre">&lt;verbosity&gt;</span></tt> Element<a class="headerlink" href="#verbosity-element" title="Permalink to this headline"></a></h3>
<h3>3.2.22. <tt class="docutils literal"><span class="pre">&lt;verbosity&gt;</span></tt> Element<a class="headerlink" href="#verbosity-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;verbosity&gt;</span></tt> element tells the code how much information to display to
the standard output. A higher verbosity corresponds to more information being
displayed. This element takes the following attributes:</p>
@ -1120,7 +1175,7 @@ the resulting file sizes can be quite large. Saving the image in
the PNG format can often times reduce the file size by orders of
magnitude without any loss of image quality. Likewise,
high-resolution voxel files produced by OpenMC can be quite large,
but the equivalent SILO files will by significantly smaller.</p>
but the equivalent SILO files will be significantly smaller.</p>
</div>
<p class="last"><em>Default</em>: &#8220;slice&#8221;</p>
</td>
@ -1435,7 +1490,7 @@ turned on with &#8220;true&#8221; and off with &#8220;false&#8221;.</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -117,7 +117,7 @@ to use <a class="reference external" href="http://www.hdfgroup.org/HDF5/">HDF5</
./configure --prefix=/opt/hdf5/1.8.11-gnu --enable-fortran \
--enable-fortran2003 --enable-parallel</pre>
</div>
<p>You may omit &#8216;&#8211;enable-parallel&#8217; if you want to compile <a class="reference external" href="http://www.hdfgroup.org/HDF5/">HDF5</a> in serial.</p>
<p>You may omit <tt class="docutils literal"><span class="pre">--enable-parallel</span></tt> if you want to compile <a class="reference external" href="http://www.hdfgroup.org/HDF5/">HDF5</a> in serial.</p>
</li>
<li><p class="first"><a class="reference external" href="http://www.mcs.anl.gov/petsc/">PETSc</a> for CMFD acceleration</p>
<p>To enable CMFD acceleration, you will need to have <a class="reference external" href="http://www.mcs.anl.gov/petsc/">PETSc</a> (3.4.2 or higher)
@ -130,7 +130,7 @@ configuring <a class="reference external" href="http://www.mcs.anl.gov/petsc/">P
--with-fortran-datatypes</pre>
</div>
<p>The BLAS/LAPACK library is not required to be downloaded and can be linked
explicitly (e.g., Intel MLK library).</p>
explicitly (e.g., Intel MKL library).</p>
</li>
<li><p class="first"><a class="reference external" href="http://git-scm.com">git</a> version control software for obtaining source code</p>
</li>
@ -205,7 +205,13 @@ sudo make install
</pre></div>
</div>
<p>This will build an executable named <tt class="docutils literal"><span class="pre">openmc</span></tt> and install it (by default in
/usr/local/bin).</p>
/usr/local/bin). If you do not have administrative privileges, you can install
OpenMC locally by replacing the last command with:</p>
<div class="highlight-sh"><div class="highlight"><pre>make install -e <span class="nv">prefix</span><span class="o">=</span><span class="nv">$HOME</span>/.local
</pre></div>
</div>
<p>The <tt class="docutils literal"><span class="pre">prefix</span></tt> variable can be changed to any path for which you have
write-access.</p>
</div>
<div class="section" id="compiling-on-windows">
<h3>2.2.5. Compiling on Windows<a class="headerlink" href="#compiling-on-windows" title="Permalink to this headline"></a></h3>
@ -267,11 +273,25 @@ make
<h2>2.3. Cross Section Configuration<a class="headerlink" href="#cross-section-configuration" title="Permalink to this headline"></a></h2>
<p>In order to run a simulation with OpenMC, you will need cross section data for
each nuclide in your problem. Since OpenMC uses ACE format cross sections, you
can use nuclear data that was processed with NJOY, such as that distributed with
<a class="reference external" href="http://mcnp.lanl.gov">MCNP</a> or <a class="reference external" href="http://montecarlo.vtt.fi">Serpent</a>. The TALYS-based evaluated nuclear data library, <a class="reference external" href="ftp://ftp.nrg.eu/pub/www/talys/tendl2012/tendl2012.html">TENDL</a>, is
can use nuclear data that was processed with <a class="reference external" href="http://t2.lanl.gov/nis/codes.shtml">NJOY</a>, such as that distributed
with <a class="reference external" href="http://mcnp.lanl.gov">MCNP</a> or <a class="reference external" href="http://montecarlo.vtt.fi">Serpent</a>. Several sources provide free processed ACE data as
described below. The TALYS-based evaluated nuclear data library, <a class="reference external" href="ftp://ftp.nrg.eu/pub/www/talys/tendl2012/tendl2012.html">TENDL</a>, is also
openly available in ACE format.</p>
<div class="section" id="using-endf-b-vii-1-cross-sections-from-nndc">
<h3>2.3.1. Using ENDF/B-VII.1 Cross Sections from NNDC<a class="headerlink" href="#using-endf-b-vii-1-cross-sections-from-nndc" title="Permalink to this headline"></a></h3>
<p>The <a class="reference external" href="http://www.nndc.bnl.gov/endf/b7.1/acefiles.html">NNDC</a> provides ACE data from the ENDF/B-VII.1 neutron and thermal scattering
sublibraries at four temperatures processed using <a class="reference external" href="http://t2.lanl.gov/nis/codes.shtml">NJOY</a>. To use this data with
OpenMC, a script is provided with OpenMC that will automatically download,
extract, and set up a confiuration file:</p>
<div class="highlight-sh"><div class="highlight"><pre><span class="nb">cd </span>openmc/data
python get_nndc_data.py
</pre></div>
</div>
<p>At this point, you should set the <span class="target" id="index-0"></span><tt class="xref std std-envvar docutils literal"><span class="pre">CROSS_SECTIONS</span></tt> environment variable
to the absolute path of the file <tt class="docutils literal"><span class="pre">openmc/data/nndc/cross_sections.xml</span></tt>.</p>
</div>
<div class="section" id="using-jeff-cross-sections-from-oecd-nea">
<h3>2.3.1. Using JEFF Cross Sections from OECD/NEA<a class="headerlink" href="#using-jeff-cross-sections-from-oecd-nea" title="Permalink to this headline"></a></h3>
<h3>2.3.2. Using JEFF Cross Sections from OECD/NEA<a class="headerlink" href="#using-jeff-cross-sections-from-oecd-nea" title="Permalink to this headline"></a></h3>
<p>The <a class="reference external" href="http://www.oecd-nea.org">NEA</a> provides processed ACE data from the <a class="reference external" href="http://www.oecd-nea.org/dbdata/jeff/">JEFF</a> nuclear library upon
request. A DVD of the data can be requested <a class="reference external" href="http://www.oecd-nea.org/dbdata/pubs/jeff312-cd.html">here</a>. To use this data with OpenMC,
the following steps must be taken:</p>
@ -295,25 +315,25 @@ actual ACE files.</p>
within the <tt class="docutils literal"><span class="pre">cross_sections.xml</span></tt> file to lower-case.</p>
</li>
<li><p class="first">Either set the <a class="reference internal" href="input.html#cross-sections"><em>&lt;cross_sections&gt; Element</em></a> in a settings.xml file or the
<span class="target" id="index-0"></span><tt class="xref std std-envvar docutils literal"><span class="pre">CROSS_SECTIONS</span></tt> environment variable to the absolute path of the
<span class="target" id="index-1"></span><tt class="xref std std-envvar docutils literal"><span class="pre">CROSS_SECTIONS</span></tt> environment variable to the absolute path of the
<tt class="docutils literal"><span class="pre">cross_sections.xml</span></tt> file.</p>
</li>
</ol>
</div>
<div class="section" id="using-cross-sections-from-mcnp">
<h3>2.3.2. Using Cross Sections from MCNP<a class="headerlink" href="#using-cross-sections-from-mcnp" title="Permalink to this headline"></a></h3>
<h3>2.3.3. Using Cross Sections from MCNP<a class="headerlink" href="#using-cross-sections-from-mcnp" title="Permalink to this headline"></a></h3>
<p>To use cross sections distributed with MCNP, change the &lt;directory&gt; element in
the <tt class="docutils literal"><span class="pre">cross_sections.xml</span></tt> file in the root directory of the OpenMC distribution
to the location of the MCNP cross sections. Then, either set the
<a class="reference internal" href="input.html#cross-sections"><em>&lt;cross_sections&gt; Element</em></a> in a settings.xml file or the <span class="target" id="index-1"></span><tt class="xref std std-envvar docutils literal"><span class="pre">CROSS_SECTIONS</span></tt>
<a class="reference internal" href="input.html#cross-sections"><em>&lt;cross_sections&gt; Element</em></a> in a settings.xml file or the <span class="target" id="index-2"></span><tt class="xref std std-envvar docutils literal"><span class="pre">CROSS_SECTIONS</span></tt>
environment variable to the absolute path of the <tt class="docutils literal"><span class="pre">cross_sections.xml</span></tt> file.</p>
</div>
<div class="section" id="using-cross-sections-from-serpent">
<h3>2.3.3. Using Cross Sections from Serpent<a class="headerlink" href="#using-cross-sections-from-serpent" title="Permalink to this headline"></a></h3>
<h3>2.3.4. Using Cross Sections from Serpent<a class="headerlink" href="#using-cross-sections-from-serpent" title="Permalink to this headline"></a></h3>
<p>To use cross sections distributed with Serpent, change the &lt;directory&gt; element
in the <tt class="docutils literal"><span class="pre">cross_sections_serpent.xml</span></tt> file in the root directory of the OpenMC
distribution to the location of the Serpent cross sections. Then, either set the
<a class="reference internal" href="input.html#cross-sections"><em>&lt;cross_sections&gt; Element</em></a> in a settings.xml file or the <span class="target" id="index-2"></span><tt class="xref std std-envvar docutils literal"><span class="pre">CROSS_SECTIONS</span></tt>
<a class="reference internal" href="input.html#cross-sections"><em>&lt;cross_sections&gt; Element</em></a> in a settings.xml file or the <span class="target" id="index-3"></span><tt class="xref std std-envvar docutils literal"><span class="pre">CROSS_SECTIONS</span></tt>
environment variable to the absolute path of the <tt class="docutils literal"><span class="pre">cross_sections_serpent.xml</span></tt>
file.</p>
</div>
@ -408,7 +428,7 @@ schemas.xml file in your own OpenMC source directory.</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -55,11 +55,11 @@
<div class="section" id="data-processing-and-visualization">
<span id="usersguide-processing"></span><h1>4. Data Processing and Visualization<a class="headerlink" href="#data-processing-and-visualization" title="Permalink to this headline"></a></h1>
<p>This section is intended to explain in detail the recommended procedures for
carrying out common tasks with OpenMC. While several utilities of varying
complexity are provided to help automate the process, in many cases it will be
extremely beneficial to do some coding in Python to quickly obtain results. In
these cases, and for many of the provided utilities, it is necessary for your
Python installation to contain:</p>
carrying out common post-processing tasks with OpenMC. While several utilities
of varying complexity are provided to help automate the process, in many cases
it will be extremely beneficial to do some coding in Python to quickly obtain
results. In these cases, and for many of the provided utilities, it is necessary
for your Python installation to contain:</p>
<ul class="simple">
<li><a class="footnote-reference" href="#id8" id="id1">[1]</a> <a class="reference external" href="http://www.numpy.org/">Numpy</a></li>
<li><a class="footnote-reference" href="#id8" id="id2">[1]</a> <a class="reference external" href="http://www.scipy.org/">Scipy</a></li>
@ -103,6 +103,50 @@ running OpenMC with the -plot or -p command-line option (See
<div class="section" id="plotting-in-2d">
<h3>4.1.1. Plotting in 2D<a class="headerlink" href="#plotting-in-2d" title="Permalink to this headline"></a></h3>
<img alt="../_images/atr.png" src="../_images/atr.png" style="height: 200px;" />
<p>See below for a simple example of a plots xml file that demonstrates the
capabilities of 2D slice plots. Here we assume that there is a <tt class="docutils literal"><span class="pre">geometry.xml</span></tt>
file containing 7 cells.</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;plots&gt;</span>
<span class="nt">&lt;plot</span> <span class="na">id=</span><span class="s">&quot;1&quot;</span> <span class="na">type=</span><span class="s">&quot;slice&quot;</span> <span class="na">color=</span><span class="s">&quot;cell&quot;</span> <span class="na">basis=</span><span class="s">&quot;xy&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;filename&gt;</span> myplot <span class="nt">&lt;/filename&gt;</span>
<span class="nt">&lt;origin&gt;</span> 0 0 <span class="nt">&lt;/origin&gt;</span>
<span class="nt">&lt;width&gt;</span> 10 10 <span class="nt">&lt;/width&gt;</span>
<span class="nt">&lt;pixels&gt;</span> 2000 2000 <span class="nt">&lt;/pixels&gt;</span>
<span class="nt">&lt;background&gt;</span> 0 0 0 <span class="nt">&lt;/background&gt;</span>
<span class="nt">&lt;col_spec</span> <span class="na">id=</span><span class="s">&quot;1&quot;</span> <span class="na">rgb=</span><span class="s">&quot;198 226 255&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;col_spec</span> <span class="na">id=</span><span class="s">&quot;2&quot;</span> <span class="na">rgb=</span><span class="s">&quot;255 218 185&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;col_spec</span> <span class="na">id=</span><span class="s">&quot;3&quot;</span> <span class="na">rgb=</span><span class="s">&quot;255 255 255&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;col_spec</span> <span class="na">id=</span><span class="s">&quot;4&quot;</span> <span class="na">rgb=</span><span class="s">&quot;101 101 101&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;col_spec</span> <span class="na">id=</span><span class="s">&quot;7&quot;</span> <span class="na">rgb=</span><span class="s">&quot;123 123 231&quot;</span><span class="nt">/&gt;</span>
<span class="nt">&lt;mask</span> <span class="na">background=</span><span class="s">&quot;255 255 255&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;components&gt;</span> 1 3 4 5 6 <span class="nt">&lt;/components&gt;</span>
<span class="nt">&lt;/mask&gt;</span>
<span class="nt">&lt;/plot&gt;</span>
<span class="nt">&lt;/plots&gt;</span>
</pre></div>
</div>
<p>In this example, OpenMC will produce a plot named <tt class="docutils literal"><span class="pre">myplot.ppm</span></tt> when run in
plotting mode. The picture will be on the xy-plane, depicting the rectangle
between points (-5,-5) and (5,5) with 2000 pixels along each dimension. The
color of each pixel is determined by placing a particle at the center of that
pixel and using OpenMC&#8217;s internal <tt class="docutils literal"><span class="pre">find_cell</span></tt> routine (the same one used for
particle tracking during simulation) to determine the cell and material at that
location. In this example, pixels are 10/2000=0.005 cm wide, so points will be
at (-4.9975,-4.9975), (-4.9950,-4.9975), (-4.9925,-4.9975), etc. This is pointed
out to demonstrate that this plot may miss any features smaller than 0.005 cm,
since they could exist between pixel centers. More pixels can be used to resolve
finer features, but could result in larger files.</p>
<p>The <tt class="docutils literal"><span class="pre">background</span></tt>, <tt class="docutils literal"><span class="pre">col_spec</span></tt>, and <tt class="docutils literal"><span class="pre">mask</span></tt> elements define how to set pixel
colors based on the cell ids at each pixel center. In this example, RGB colors
are specified for cells 1,2,3,4, and 7, a random color will be assigned to cells
5 and 6, and a black background color (<tt class="docutils literal"><span class="pre">rgb=&quot;0</span> <span class="pre">0</span> <span class="pre">0&quot;</span></tt>) will be applied to
locations where no cell is defined. However, the <tt class="docutils literal"><span class="pre">mask</span></tt> element here says that
only cells 1,3,4,5, and 6 should be displayed, with other cells taking a white
color (<tt class="docutils literal"><span class="pre">rgb=&quot;255</span> <span class="pre">255</span> <span class="pre">255&quot;</span></tt>), which overrides the <tt class="docutils literal"><span class="pre">col_spec</span></tt> for cell 2 and
the random color assigned to cell 7.</p>
<p>After running OpenMC to obtain PPM files, images should be saved to another
format before using them elsewhere. This cuts down the size of the file by
orders of magnitude. Most image viewers and editors that can view PPM images
@ -111,17 +155,41 @@ convert to another format on the command line. This is easily accomplished with
the <tt class="docutils literal"><span class="pre">convert</span></tt> command available on most linux distributions as part of the
<a class="reference external" href="http://www.imagemagick.org/script/convert.php">ImageMagick</a> package. (On
Ubuntu: <tt class="docutils literal"><span class="pre">sudo</span> <span class="pre">apt-get</span> <span class="pre">install</span> <span class="pre">imagemagick</span></tt>). Images are then converted like:</p>
<div class="highlight-sh"><div class="highlight"><pre>convert plot.ppm plot.png
<div class="highlight-sh"><div class="highlight"><pre>convert myplot.ppm myplot.png
</pre></div>
</div>
</div>
<div class="section" id="plotting-in-3d">
<h3>4.1.2. Plotting in 3D<a class="headerlink" href="#plotting-in-3d" title="Permalink to this headline"></a></h3>
<img alt="../_images/3dgeomplot.png" src="../_images/3dgeomplot.png" style="height: 200px;" />
<p>See below for a simple example of a plots xml file that demonstrates the
capabilities of 3D voxel plots.</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;</span>
<span class="nt">&lt;plots&gt;</span>
<span class="nt">&lt;plot</span> <span class="na">id=</span><span class="s">&quot;1&quot;</span> <span class="na">type=</span><span class="s">&quot;voxel&quot;</span> <span class="na">color=</span><span class="s">&quot;mat&quot;</span><span class="nt">&gt;</span>
<span class="nt">&lt;filename&gt;</span> myplot <span class="nt">&lt;/filename&gt;</span>
<span class="nt">&lt;origin&gt;</span> 0 0 0 <span class="nt">&lt;/origin&gt;</span>
<span class="nt">&lt;width&gt;</span> 10 10 10 <span class="nt">&lt;/width&gt;</span>
<span class="nt">&lt;pixels&gt;</span> 500 500 500 <span class="nt">&lt;/pixels&gt;</span>
<span class="nt">&lt;/plot&gt;</span>
<span class="nt">&lt;/plots&gt;</span>
</pre></div>
</div>
<p>Voxel plots are built the same way 2D slice plots are, by determining the cell
or material id of a particle at the center of each voxel. In this example, the
space covered is the cube between the points (-5,-5,-5) and (5,5,5), with voxel
centers 10/500 = 0.02 cm apart. The binary VOXEL files that are produced do not
specify any color - instead containing only material or cell ids (material id
in this example) - and thus the <tt class="docutils literal"><span class="pre">background</span></tt>, <tt class="docutils literal"><span class="pre">col_spec</span></tt>, and <tt class="docutils literal"><span class="pre">mask</span></tt>
elements are not used. If no cell is found at a voxel center, an id of -1 is
stored.</p>
<p>The binary VOXEL files output by OpenMC can not be viewed directly by any
existing viewers. In order to view them, they must be converted into a standard
mesh format that can be viewed in ParaView, Visit, etc. The provided utility
voxel.py accomplishes this for SILO:</p>
mesh format that can be viewed in ParaView, Visit, etc. This typically will
compress the size of the file significantly. The provided utility voxel.py
accomplishes this for SILO:</p>
<div class="highlight-sh"><div class="highlight"><pre>&lt;openmc_root&gt;/src/utils/voxel.py myplot.voxel -o output.silo
</pre></div>
</div>
@ -140,15 +208,20 @@ easily obtained with <tt class="docutils literal"><span class="pre">sudo</span>
</ul>
<p>Users can process the binary into any other format if desired by following the
example of voxel.py. For the binary file structure, see <a class="reference internal" href="../devguide/voxel.html#devguide-voxel"><em>Voxel Plot Binary File Specifications</em></a>.</p>
<p>Once processed into a standard 3D file format, colors and masks can be defined
using the stored id numbers to better explore the geometry. The process for
doing this will depend on the 3D viewer, but should be straightforward.</p>
<img alt="../_images/3dba.png" src="../_images/3dba.png" style="height: 200px;" />
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">3D voxel plotting can be very computer intensive for the viewing
program (Visit, Paraview, etc.) if the number of voxels is large (&gt;10
million or so). Thus if you want an accurate picture that renders
smoothly, consider using only one voxel in a certain direction. For
instance, the 3D pin lattice figure above was generated with a
500x500x1 voxel mesh, which allows for resolution of the cylinders
without wasting too many voxels on the axial dimension.</p>
instance, the 3D pin lattice figure at the beginning of this section
was generated with a 500x500x1 voxel mesh, which allows for resolution
of the cylinders without wasting too many voxels on the axial
dimension.</p>
</div>
</div>
</div>
@ -411,6 +484,51 @@ binary track files in the directory to write a &#8220;track.pvtp&#8221; VTK outp
The .pvtp file can then be read and plotted by 3d visualization programs such as
Paraview.</p>
</div>
<div class="section" id="source-site-processing">
<h2>4.4. Source Site Processing<a class="headerlink" href="#source-site-processing" title="Permalink to this headline"></a></h2>
<p>For eigenvalue problems, OpenMC will store information on the fission source
sites in the statepoint file by default. For each source site, the weight,
position, sampled direction, and sampled energy are stored. To extract this data
from a statepoint file, the statepoint.py Python module can be used. Below is an
example of an interactive ipython session using the statepoint.py Python module:</p>
<div class="highlight-python"><div class="highlight"><pre><span class="n">In</span> <span class="p">[</span><span class="mi">1</span><span class="p">]:</span> <span class="kn">import</span> <span class="nn">statepoint</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">2</span><span class="p">]:</span> <span class="n">sp</span> <span class="o">=</span> <span class="n">statepoint</span><span class="o">.</span><span class="n">StatePoint</span><span class="p">(</span><span class="s">&#39;statepoint.100.h5&#39;</span><span class="p">)</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">3</span><span class="p">]:</span> <span class="n">sp</span><span class="o">.</span><span class="n">read_source</span><span class="p">()</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">4</span><span class="p">]:</span> <span class="nb">len</span><span class="p">(</span><span class="n">sp</span><span class="o">.</span><span class="n">source</span><span class="p">)</span>
<span class="n">Out</span><span class="p">[</span><span class="mi">4</span><span class="p">]:</span> <span class="mi">1000</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">5</span><span class="p">]:</span> <span class="n">sp</span><span class="o">.</span><span class="n">source</span><span class="p">[</span><span class="mi">0</span><span class="p">:</span><span class="mi">10</span><span class="p">]</span>
<span class="n">Out</span><span class="p">[</span><span class="mi">5</span><span class="p">]:</span>
<span class="p">[</span><span class="o">&lt;</span><span class="n">SourceSite</span><span class="p">:</span> <span class="n">xyz</span><span class="o">=</span><span class="p">[</span> <span class="mf">2.21980946</span> <span class="o">-</span><span class="mf">8.92686048</span> <span class="mf">87.93720485</span><span class="p">]</span> <span class="n">at</span> <span class="n">E</span><span class="o">=</span><span class="mf">0.932923263566</span><span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">SourceSite</span><span class="p">:</span> <span class="n">xyz</span><span class="o">=</span><span class="p">[</span> <span class="mf">2.21980946</span> <span class="o">-</span><span class="mf">8.92686048</span> <span class="mf">87.93720485</span><span class="p">]</span> <span class="n">at</span> <span class="n">E</span><span class="o">=</span><span class="mf">0.349240220512</span><span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">SourceSite</span><span class="p">:</span> <span class="n">xyz</span><span class="o">=</span><span class="p">[</span><span class="o">-</span><span class="mf">31.21542213</span> <span class="o">-</span><span class="mf">30.26762771</span> <span class="mf">72.10845757</span><span class="p">]</span> <span class="n">at</span> <span class="n">E</span><span class="o">=</span><span class="mf">3.75843584486</span><span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">SourceSite</span><span class="p">:</span> <span class="n">xyz</span><span class="o">=</span><span class="p">[</span><span class="o">-</span><span class="mf">31.21542213</span> <span class="o">-</span><span class="mf">30.26762771</span> <span class="mf">72.10845757</span><span class="p">]</span> <span class="n">at</span> <span class="n">E</span><span class="o">=</span><span class="mf">0.80550137267</span><span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">SourceSite</span><span class="p">:</span> <span class="n">xyz</span><span class="o">=</span><span class="p">[</span> <span class="mf">0.18805099</span> <span class="o">-</span><span class="mf">69.13376508</span> <span class="mf">103.67726838</span><span class="p">]</span> <span class="n">at</span> <span class="n">E</span><span class="o">=</span><span class="mf">1.67922461097</span><span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">SourceSite</span><span class="p">:</span> <span class="n">xyz</span><span class="o">=</span><span class="p">[</span> <span class="mf">0.18805099</span> <span class="o">-</span><span class="mf">69.13376508</span> <span class="mf">103.67726838</span><span class="p">]</span> <span class="n">at</span> <span class="n">E</span><span class="o">=</span><span class="mf">1.16304110199</span><span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">SourceSite</span><span class="p">:</span> <span class="n">xyz</span><span class="o">=</span><span class="p">[</span> <span class="o">-</span><span class="mf">50.42189115</span> <span class="o">-</span><span class="mf">9.96571672</span> <span class="mf">123.34077905</span><span class="p">]</span> <span class="n">at</span> <span class="n">E</span><span class="o">=</span><span class="mf">0.710937974074</span><span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">SourceSite</span><span class="p">:</span> <span class="n">xyz</span><span class="o">=</span><span class="p">[</span> <span class="o">-</span><span class="mf">32.80427668</span> <span class="o">-</span><span class="mf">15.49316628</span> <span class="mf">125.26301151</span><span class="p">]</span> <span class="n">at</span> <span class="n">E</span><span class="o">=</span><span class="mf">1.61907104162</span><span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">SourceSite</span><span class="p">:</span> <span class="n">xyz</span><span class="o">=</span><span class="p">[</span> <span class="mf">53.20376026</span> <span class="o">-</span><span class="mf">15.38643708</span> <span class="mf">120.58071044</span><span class="p">]</span> <span class="n">at</span> <span class="n">E</span><span class="o">=</span><span class="mf">3.33962024907</span><span class="o">&gt;</span><span class="p">,</span>
<span class="o">&lt;</span><span class="n">SourceSite</span><span class="p">:</span> <span class="n">xyz</span><span class="o">=</span><span class="p">[</span> <span class="mf">53.20376026</span> <span class="o">-</span><span class="mf">15.38643708</span> <span class="mf">120.58071044</span><span class="p">]</span> <span class="n">at</span> <span class="n">E</span><span class="o">=</span><span class="mf">1.90185680329</span><span class="o">&gt;</span><span class="p">]</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">6</span><span class="p">]:</span> <span class="n">site</span> <span class="o">=</span> <span class="n">sp</span><span class="o">.</span><span class="n">source</span><span class="p">[</span><span class="mi">0</span><span class="p">]</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">7</span><span class="p">]:</span> <span class="n">site</span><span class="o">.</span><span class="n">weight</span>
<span class="n">Out</span><span class="p">[</span><span class="mi">7</span><span class="p">]:</span> <span class="mf">1.0</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">8</span><span class="p">]:</span> <span class="n">site</span><span class="o">.</span><span class="n">xyz</span>
<span class="n">Out</span><span class="p">[</span><span class="mi">8</span><span class="p">]:</span> <span class="n">array</span><span class="p">([</span> <span class="mf">2.21980946</span><span class="p">,</span> <span class="o">-</span><span class="mf">8.92686048</span><span class="p">,</span> <span class="mf">87.93720485</span><span class="p">])</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">9</span><span class="p">]:</span> <span class="n">site</span><span class="o">.</span><span class="n">uvw</span>
<span class="n">Out</span><span class="p">[</span><span class="mi">9</span><span class="p">]:</span> <span class="n">array</span><span class="p">([</span> <span class="mf">0.06740523</span><span class="p">,</span> <span class="mf">0.50612814</span><span class="p">,</span> <span class="mf">0.85982024</span><span class="p">])</span>
<span class="n">In</span> <span class="p">[</span><span class="mi">10</span><span class="p">]:</span> <span class="n">site</span><span class="o">.</span><span class="n">E</span>
<span class="n">Out</span><span class="p">[</span><span class="mi">10</span><span class="p">]:</span> <span class="mf">0.93292326356564159</span>
</pre></div>
</div>
</div>
</div>
@ -429,7 +547,7 @@ Paraview.</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">

View file

@ -65,41 +65,24 @@ you are using a compiler that does not support type-bound procedures from
Fortran 2003. This affects any version of gfortran prior to 4.6. Downloading and
installing the latest <a class="reference external" href="http://gcc.gnu.org/wiki/GFortran">gfortran</a> compiler should resolve this problem.</p>
</div>
<div class="section" id="fatal-error-wrong-module-version-4-expected-9-for-file-xml-data-cmfd-t-mod-opened-at-1">
<h3>5.1.2. Fatal Error: Wrong module version &#8216;4&#8217; (expected &#8216;9&#8217;) for file &#8216;xml_data_cmfd_t.mod&#8217; opened at (1)<a class="headerlink" href="#fatal-error-wrong-module-version-4-expected-9-for-file-xml-data-cmfd-t-mod-opened-at-1" title="Permalink to this headline"></a></h3>
<p>The <cite>.mod</cite> modules files that are created by gfortran are versioned and
sometimes are usually not backwards compatible. If gfortran is upgraded and the
modules files for xml-fortran source files are not deleted, this error may
occur. To fix this, clear out all module and object files with <strong class="program">make
distclean</strong> and then recompiling.</p>
</div>
<div class="section" id="fatal-error-file-xml-data-cmfd-t-mod-opened-at-1-is-not-a-gfortran-module-file">
<h3>5.1.3. Fatal Error: File &#8216;xml_data_cmfd_t.mod&#8217; opened at (1) is not a GFORTRAN module file<a class="headerlink" href="#fatal-error-file-xml-data-cmfd-t-mod-opened-at-1-is-not-a-gfortran-module-file" title="Permalink to this headline"></a></h3>
<p>When OpenMC compiles, the first thing it needs to do is compile source in the
xml-fortran subdirectory. If you compiled everything with a compiler other than
gfortran, performed a <strong class="program">make clean</strong>, and then tried to <strong class="program">make</strong>
with gfortran, the xml-fortran modules would have been compiled with a different
compiler. To fix this, try clearing out all module and object files with
<strong class="program">make distclean</strong> and then recompiling.</p>
</div>
<div class="section" id="gfortran-unrecognized-option-cpp">
<h3>5.1.4. gfortran: unrecognized option &#8216;-cpp&#8217;<a class="headerlink" href="#gfortran-unrecognized-option-cpp" title="Permalink to this headline"></a></h3>
<h3>5.1.2. gfortran: unrecognized option &#8216;-cpp&#8217;<a class="headerlink" href="#gfortran-unrecognized-option-cpp" title="Permalink to this headline"></a></h3>
<p>You are probably using a version of the gfortran compiler that is too
old. Download and install the latest version of <a class="reference external" href="http://gcc.gnu.org/wiki/GFortran">gfortran</a>.</p>
</div>
<div class="section" id="f951-error-unrecognized-command-line-option-fbacktrace">
<h3>5.1.5. f951: error: unrecognized command line option &#8220;-fbacktrace&#8221;<a class="headerlink" href="#f951-error-unrecognized-command-line-option-fbacktrace" title="Permalink to this headline"></a></h3>
<h3>5.1.3. f951: error: unrecognized command line option &#8220;-fbacktrace&#8221;<a class="headerlink" href="#f951-error-unrecognized-command-line-option-fbacktrace" title="Permalink to this headline"></a></h3>
<p>You are probably using a version of the gfortran compiler that is too
old. Download and install the latest version of <a class="reference external" href="http://gcc.gnu.org/wiki/GFortran">gfortran</a>.</p>
</div>
<div class="section" id="make-1-ifort-command-not-found">
<h3>5.1.6. make[1]: ifort: Command not found<a class="headerlink" href="#make-1-ifort-command-not-found" title="Permalink to this headline"></a></h3>
<h3>5.1.4. make[1]: ifort: Command not found<a class="headerlink" href="#make-1-ifort-command-not-found" title="Permalink to this headline"></a></h3>
<p>You tried compiling with the Intel Fortran compiler and it was not found on your
<span class="target" id="index-0"></span><tt class="xref std std-envvar docutils literal"><span class="pre">PATH</span></tt>. If you have the Intel compiler installed, make sure the shell
can locate it (this can be tested with <strong class="program">which ifort</strong>).</p>
</div>
<div class="section" id="make-1-pgf90-command-not-found">
<h3>5.1.7. make[1]: pgf90: Command not found<a class="headerlink" href="#make-1-pgf90-command-not-found" title="Permalink to this headline"></a></h3>
<h3>5.1.5. make[1]: pgf90: Command not found<a class="headerlink" href="#make-1-pgf90-command-not-found" title="Permalink to this headline"></a></h3>
<p>You tried compiling with the PGI Fortran compiler and it was not found on your
<span class="target" id="index-1"></span><tt class="xref std std-envvar docutils literal"><span class="pre">PATH</span></tt>. If you have the PGI compiler installed, make sure the shell can
locate it (this can be tested with <strong class="program">which pgf90</strong>).</p>
@ -132,10 +115,17 @@ with the <span class="target" id="index-2"></span><tt class="xref std std-envvar
a line in your <tt class="docutils literal"><span class="pre">.profile</span></tt> or <tt class="docutils literal"><span class="pre">.bash_profile</span></tt> setting the
<span class="target" id="index-3"></span><tt class="xref std std-envvar docutils literal"><span class="pre">CROSS_SECTIONS</span></tt> environment variable.</p>
</div>
<div class="section" id="error-invalid-usage-of-l-i-in-ace-data-consider-using-more-recent-data-set">
<h3>5.2.3. ERROR: Invalid usage of L(I) in ACE data; Consider using more recent data set.<a class="headerlink" href="#error-invalid-usage-of-l-i-in-ace-data-consider-using-more-recent-data-set" title="Permalink to this headline"></a></h3>
<p>The cross-sections requested in <tt class="docutils literal"><span class="pre">materials.xml</span></tt> do not conform to the current
standard format. This typically happens with fissionable nuclides in a <tt class="docutils literal"><span class="pre">.6*c</span></tt>
library as distributed with MCNP. Please try a newer library such as any from
the <tt class="docutils literal"><span class="pre">.7*c</span></tt> set.</p>
</div>
<div class="section" id="geometry-debugging">
<h3>5.2.3. Geometry Debugging<a class="headerlink" href="#geometry-debugging" title="Permalink to this headline"></a></h3>
<h3>5.2.4. Geometry Debugging<a class="headerlink" href="#geometry-debugging" title="Permalink to this headline"></a></h3>
<div class="section" id="overlapping-cells">
<h4>5.2.3.1. Overlapping Cells<a class="headerlink" href="#overlapping-cells" title="Permalink to this headline"></a></h4>
<h4>5.2.4.1. Overlapping Cells<a class="headerlink" href="#overlapping-cells" title="Permalink to this headline"></a></h4>
<p>For fast run times, normal simulations do not check if the geometry is
incorrectly defined to have overlapping cells. This can lead to incorrect
results that may or may not be obvious when there are errors in the geometry
@ -160,7 +150,7 @@ cell, and then adjust the number of starting particles or starting source
distributions accordingly to achieve good coverage.</p>
</div>
<div class="section" id="error-after-particle-crossed-surface-it-could-not-be-located-in-any-cell-and-it-did-not-leak">
<h4>5.2.3.2. ERROR: After particle __ crossed surface __ it could not be located in any cell and it did not leak.<a class="headerlink" href="#error-after-particle-crossed-surface-it-could-not-be-located-in-any-cell-and-it-did-not-leak" title="Permalink to this headline"></a></h4>
<h4>5.2.4.2. ERROR: After particle __ crossed surface __ it could not be located in any cell and it did not leak.<a class="headerlink" href="#error-after-particle-crossed-surface-it-could-not-be-located-in-any-cell-and-it-did-not-leak" title="Permalink to this headline"></a></h4>
<p>This error can arise either if a problem is specified with no boundary
conditions or if there is an error in the geometry itself. First check to ensure
that all of the outer surfaces of your geometry have been given vacuum or
@ -202,7 +192,7 @@ created when particles are lost with this error.</p>
<div class="footer">
&copy; Copyright 2011-2013, Massachusetts Institute of Technology.
&copy; Copyright 2011-2014, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.3.
</div>
<script type="text/javascript">