Added lots of documentation.

This commit is contained in:
Paul Romano 2012-03-28 10:54:31 -04:00
parent 6ebe0115bc
commit 2d6e792175
45 changed files with 3490 additions and 718 deletions

View file

@ -8,6 +8,7 @@ Active development of the OpenMC Monte Carlo code is currently led by:
* `Paul Romano`_
* `Bryan Herman`_
* `Nick Horelik`_
Advisors to the project include:
@ -15,8 +16,9 @@ Advisors to the project include:
* `Kord Smith`_
* `Andrew Siegel`_
.. _Paul Romano: mailto:romano7@mit.edu
.. _Paul Romano: mailto:paul.k.romano@gmail.com
.. _Bryan Herman: mailto:bherman@mit.edu
.. _Nick Horelik: mailto:nhorelik@mit.edu
.. _Benoit Forget: mailto:bforget@mit.edu
.. _Kord Smith: mailto:kord@mit.edu
.. _Andrew Siegel: mailto:siegela@mcs.anl.gov

View file

@ -0,0 +1,16 @@
.. _devguide:
=================
Developer's Guide
=================
Welcome to the OpenMC Developer's Guide! This guide documents and explains the
structure of the OpenMC source code and how to do various development tasks such
as debugging.
.. toctree::
:numbered:
:maxdepth: 2
structures
xml-fortran

View file

@ -0,0 +1,6 @@
.. _devguide_structures:
===============
Data Structures
===============

View file

@ -0,0 +1,6 @@
.. _devguide_xml-fortran:
=========================
xml-fortran Input Parsing
=========================

View file

@ -8,14 +8,13 @@ constructive solid geometry with second-order surfaces. The particle interaction
data is based on ACE format cross sections, also used in the MCNP and Serpent
Monte Carlo codes.
The development of OpenMC began at the `Massachusetts Institute of Technology`_
within the `Computational Reactor Physics Group`_.
The development of OpenMC is led by the `Computational Reactor Physics Group`_
at the `Massachusetts Institute of Technology`_. For more information on OpenMC,
feel free to contact `Paul Romano`_.
For more information on OpenMC, feel free to contact `Paul Romano`_.
.. _Massachusetts Institute of Technology: http://web.mit.edu
.. _Computational Reactor Physics Group: http://crpg.mit.edu
.. _Paul Romano: mailto:romano7@mit.edu
.. _Massachusetts Institute of Technology: http://web.mit.edu
.. _Paul Romano: mailto:paul.k.romano@gmail.com
--------
Contents
@ -25,6 +24,9 @@ Contents
:maxdepth: 1
install
releasenotes/index
methods/index
usersguide/index
devguide/index
publications
developers

View file

@ -0,0 +1,24 @@
.. _methods_geometry:
========
Geometry
========
-------------------
Reflective Surfaces
-------------------
In general, a surface can be written in the form :math:`f(x,y,z) = 0`. If a
neutron is traveling in direction :math:`\vec{v}` and crosses a reflective
surface of the above form, it can be shown that the velocity vector will then
become
.. math::
\mathbf{v'} = \mathbf{v} - 2 (\mathbf{v} \cdot \hat{\mathbf{n}})
\hat{\mathbf{n}}
where :math:`\hat{\mathbf{n}}` is a unit vector normal to the surface at the
point of the surface crossing. The direction of the surface normal will be the
gradient to the surface at the point of crossing, i.e. :math:`\mathbf{n} =
\nabla f(x,y,z)`.

View file

@ -1,118 +1,18 @@
.. _methods:
===========
Methodology
===========
======================
Theory and Methodology
======================
The OpenMC code solves the neutron transport equation using the Monte Carlo
method whereby particles are tracked as they randomly move through a geometry,
undergoing collisions, and creating secondary particles.
-------------------
Reflective Surfaces
-------------------
.. toctree::
:numbered:
:maxdepth: 2
In general, a surface can be written in the form :math:`f(x,y,z) = 0`. If a
neutron is traveling in direction :math:`\vec{v}` and crosses a reflective
surface of the above form, it can be shown that the velocity vector will then
become
.. math::
\mathbf{v'} = \mathbf{v} - 2 (\mathbf{v} \cdot \hat{\mathbf{n}})
\hat{\mathbf{n}}
where :math:`\hat{\mathbf{n}}` is a unit vector normal to the surface at the
point of the surface crossing. The direction of the surface normal will be the
gradient to the surface at the point of crossing, i.e. :math:`\mathbf{n} =
\nabla f(x,y,z)`.
------------------------------
Free Gas Scattering Kinematics
------------------------------
When a neutron scatters off of a nucleus, many times it is assumed that the
target nucleus is at rest. However, if the material is at a temperature greater
than 0 K, it will have motion associated with the thermal vibration. Thus, the
velocity of the neutrno relative to the target nucleus is in general not the
same as the velocity of the neutron entering the collision.
The affect of the thermal motion on the interaction probability can be written
as
.. math::
:label: freegas1
v_n \sigma (v_n, T) = \int_0^\infty d\mathbf{v}_T \sigma(v_r, 0)
\mathbf{v}_r p(\mathbf{v}_T)
One assumption we can make here is that the velocity distribution for the
thermal motion is isotropic, i.e.
.. math::
:label: freegas2
p(\mathbf{v}_T) d\mathbf{v}_T = \frac{1}{4\pi} p(v_T) dv_T d\mu d\phi
With this assumption, we can now rewrite equation :eq:`freegas1` as
.. math::
:label: freegas3
v_n \sigma (v_n, T) = \frac{1}{2} \int_{-1}^1 d\mu \int\limits_{v_r > 0}
v_r \sigma (v_r, 0) p(v_T) dv_T
To change the outer variable of integration from :math:`\mu` to :math:`v_r`, we
can establish a relation between these variables based on the law of cosines.
.. math::
:label: lawcosine
2 v_n v_T \mu = v_n^2 + v_T^2 - v_r^2
The probability distribution for the magnitude of the velocity of the target
nucleus and the angle between the neutron and target velocity is
.. math::
:label: freegas4
P(v_T, \mu) = \frac{\sigma (v_r, 0) v_r P(v_T)}{2 \sigma (v_n, T) v_n}
It is normally assumed that :math:`\sigma (v_r, 0)` is constant over the range
of relative velocities of interest. This is a good assumption for almost all
cases since the elastic scattering cross section varies slowly with velocity for
light nuclei, and for heavy nuclei where large variations can occur due to
resonance scattering, the moderating effect is rather small. Nonetheless, this
assumption can cause incorrect answers in systems with U-238 where the low-lying
resonances can cause a significant amount of upscatter that would be ignored by
this assumption.
With this (sometimes incorrect) assumption, we see that the probability
distribution is proportional to
.. math::
:label: freegas5
P(v_T, \mu) \propto v_r P(v_T) = | v_n - v_T | P(v_T)
We can divide this probability distribution into two parts as such:
.. math::
:label: freegas6
P(v_T, \mu) &= f_1(v_T, \mu) f_2(v_T) \\
f_1(v_T, \mu) &= \frac{| v_n - v_T |}{\hat{f_1} (v_n + v_T)} \\
f_2(v_T) &= (v_n + v_T) P(v_T)
In general, any probability distribution function of the form :math:`p(x) =
f_1(x) f_2(x)` with :math:`f_1(x)` bounded can be sampled by sampling
:math:`x_s` from the distribution
.. math:: \frac{f_2(x)}{\int f_2(x) dx}
and accepting it with probability
.. math:: \frac{f_1(x_s)}{\max f_1(x)}
It is normally assumed that the velocity distribution of the target nucleus
assumes a Maxwellian distribution in velocity.
introduction
geometry
physics
tallies

View file

@ -0,0 +1,10 @@
.. _methods_introduction:
============
Introduction
============
---------------------
Criticality Algorithm
---------------------

View file

@ -0,0 +1,95 @@
.. _methods_physics:
=======
Physics
=======
------------------------------
Free Gas Scattering Kinematics
------------------------------
When a neutron scatters off of a nucleus, many times it is assumed that the
target nucleus is at rest. However, if the material is at a temperature greater
than 0 K, it will have motion associated with the thermal vibration. Thus, the
velocity of the neutrno relative to the target nucleus is in general not the
same as the velocity of the neutron entering the collision.
The affect of the thermal motion on the interaction probability can be written
as
.. math::
:label: freegas1
v_n \sigma (v_n, T) = \int_0^\infty d\mathbf{v}_T \sigma(v_r, 0)
\mathbf{v}_r p(\mathbf{v}_T)
One assumption we can make here is that the velocity distribution for the
thermal motion is isotropic, i.e.
.. math::
:label: freegas2
p(\mathbf{v}_T) d\mathbf{v}_T = \frac{1}{4\pi} p(v_T) dv_T d\mu d\phi
With this assumption, we can now rewrite equation :eq:`freegas1` as
.. math::
:label: freegas3
v_n \sigma (v_n, T) = \frac{1}{2} \int_{-1}^1 d\mu \int\limits_{v_r > 0}
v_r \sigma (v_r, 0) p(v_T) dv_T
To change the outer variable of integration from :math:`\mu` to :math:`v_r`, we
can establish a relation between these variables based on the law of cosines.
.. math::
:label: lawcosine
2 v_n v_T \mu = v_n^2 + v_T^2 - v_r^2
The probability distribution for the magnitude of the velocity of the target
nucleus and the angle between the neutron and target velocity is
.. math::
:label: freegas4
P(v_T, \mu) = \frac{\sigma (v_r, 0) v_r P(v_T)}{2 \sigma (v_n, T) v_n}
It is normally assumed that :math:`\sigma (v_r, 0)` is constant over the range
of relative velocities of interest. This is a good assumption for almost all
cases since the elastic scattering cross section varies slowly with velocity for
light nuclei, and for heavy nuclei where large variations can occur due to
resonance scattering, the moderating effect is rather small. Nonetheless, this
assumption can cause incorrect answers in systems with U-238 where the low-lying
resonances can cause a significant amount of upscatter that would be ignored by
this assumption.
With this (sometimes incorrect) assumption, we see that the probability
distribution is proportional to
.. math::
:label: freegas5
P(v_T, \mu) \propto v_r P(v_T) = | v_n - v_T | P(v_T)
We can divide this probability distribution into two parts as such:
.. math::
:label: freegas6
P(v_T, \mu) &= f_1(v_T, \mu) f_2(v_T) \\
f_1(v_T, \mu) &= \frac{| v_n - v_T |}{\hat{f_1} (v_n + v_T)} \\
f_2(v_T) &= (v_n + v_T) P(v_T)
In general, any probability distribution function of the form :math:`p(x) =
f_1(x) f_2(x)` with :math:`f_1(x)` bounded can be sampled by sampling
:math:`x_s` from the distribution
.. math:: \frac{f_2(x)}{\int f_2(x) dx}
and accepting it with probability
.. math:: \frac{f_1(x_s)}{\max f_1(x)}
It is normally assumed that the velocity distribution of the target nucleus
assumes a Maxwellian distribution in velocity.

View file

@ -0,0 +1,17 @@
.. _methods_tallies:
=======
Tallies
=======
----------------
Analog Estimator
----------------
----------------------
Track-length Estimator
----------------------
---------------
Surface Current
---------------

17
_sources/publications.txt Normal file
View file

@ -0,0 +1,17 @@
.. _publications:
============
Publications
============
- Paul K. Romano and Beonit Forget, "The OpenMC Monte Carlo Particle Transport
Code," *Annals of Nuclear Energy*, Submitted (2012).
- Andrew R. Siegel, Kord Smith, Paul K. Romano, Benoit Forget, and Kyle Felker,
"The effect of load imbalances on the performance of Monte Carlo codes in LWR
analysis", *Journal of Computational Physics*, Submitted (2012).
- Paul K. Romano and Benoit Forget, "Parallel Fission Bank Algorithms in Monte
Carlo Criticality Calculations," *Nuclear Science and Engineering*, **170**,
pp. 125--135 (2012). [`PDF
<http://web.mit.edu/romano7/www/nse_v170_n2_pp125-135.pdf>`_]

View file

@ -0,0 +1,15 @@
.. _releasenotes:
=============
Release Notes
=============
The release notes for OpenMC give a list of system requirements, new features,
bugs fixed, and known issues for each successive release.
.. toctree::
:maxdepth: 1
notes_0.4.2
notes_0.4.1
notes_0.4.0

View file

@ -0,0 +1,36 @@
.. _notes_0.4.0:
==============================
Release Notes for OpenMC 0.4.0
==============================
-------------------
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 as well as
Mac OS X. However, it has not been tested yet on any releases of Microsoft
Windows. Memory requirements will vary depending on the size of the problem at
hand (mostly on the number of nuclides in the problem).
------------
New Features
------------
- The probability table method for treatment of energy self-shielding in the
unresolved resonance range has been implemented and is now turned on by
default.
- Calculation of Shannon entropy for assessing convergence of the fission source
distribution.
- Ability to compile with the PGI Fortran compiler.
- Ability to run on IBM BlueGene/P machines.
- Completely rewrote how nested universes are handled. Geometry is now much more
robust.
---------
Bug Fixes
---------
- Many geometry errors have been fixed. The Monte Carlo performance benchmark
can now be successfully run in OpenMC.

View file

@ -0,0 +1,55 @@
.. _notes_0.4.1:
==============================
Release Notes for OpenMC 0.4.1
==============================
-------------------
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 as well as
Mac OS X. However, it has not been tested yet on any releases of Microsoft
Windows. Memory requirements will vary depending on the size of the problem at
hand (mostly on the number of nuclides in the problem).
------------
New Features
------------
- A batching method has been implemented so that statistics can be calculated
based on multiple generations instead of a single generation. This can help to
overcome problems with underpredicted variance in problems where there is
correlation between successive fission source iterations.
- Users now have the option to select a non-unionized energy grid for problems
with many nuclides where the use of a unionized grid is not feasible.
- Improved plotting capability (Nick Horelik). The plotting input is now in
``plots.xml`` instead of ``plot.xml``.
- Added multiple estimators for k-effective and added a global tally for
leakage.
- Moved cross section-related output into cross_sections.out.
- Improved timing capabilities.
- Can now use more than 2**31 - 1 particles per generation.
- Improved fission bank synchronization method. This also necessitated changing
the source bank to be of type Bank rather than of type Particle.
- Added HDF5 output (not complete yet).
- Major changes to tally implementation.
---------
Bug Fixes
---------
- `b206a8`_: Fixed subtle error in the sampling of energy distributions.
- `800742`_: Fixed error in sampling of angle and rotating angles.
- `a07c08`_: Fixed bug in linear-linear interpolation during sampling energy.
- `a75283`_: Fixed energy and energyout tally filters to support many bins.
- `95cfac`_: Fixed error in cell neighbor searches.
- `83a803`_: Fixed bug related to probability tables.
.. _b206a8: https://github.com/mit-crpg/openmc/commit/b206a8
.. _800742: https://github.com/mit-crpg/openmc/commit/800742
.. _a07c08: https://github.com/mit-crpg/openmc/commit/a07c08
.. _a75283: https://github.com/mit-crpg/openmc/commit/a75283
.. _95cfac: https://github.com/mit-crpg/openmc/commit/95cfac
.. _83a803: https://github.com/mit-crpg/openmc/commit/83a803

View file

@ -0,0 +1,46 @@
.. _notes_0.4.2:
==============================
Release Notes for OpenMC 0.4.2
==============================
.. note::
These release notes are for an upcoming release of OpenMC and are still
subject to change.
-------------------
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 as well as
Mac OS X. However, it has not been tested yet on any versions of Microsoft
Windows. Memory requirements will vary depending on the size of the problem at
hand (mostly on the number of nuclides in the problem).
------------
New Features
------------
- Reading/writing binary source files.
- Added more messages for <trace> or high verbosity.
- Estimator for diffusion coefficient.
- Ability to specify 'point' source type.
- Ability to change random number seed.
- User's can now specify units='sum' on a <density> tag. This tells the code
that the total material density is the sum of the atom fractions listed for
each nuclide on the material.
---------
Bug Fixes
---------
- `b2c40e`_: Fixed bug in incoming energy filter for track-length tallies.
- `5524fd`_: Mesh filter now works with track-length tallies.
- `d050c7`_: Added Bessel's correction to make estimate of variance unbiased.
- `2a5b9c`_: Fixed regression in plotting.
.. _b2c40e: https://github.com/mit-crpg/openmc/commit/b2c40e
.. _5524fd: https://github.com/mit-crpg/openmc/commit/5524fd
.. _d050c7: https://github.com/mit-crpg/openmc/commit/d050c7
.. _2a5b9c: https://github.com/mit-crpg/openmc/commit/2a5b9c

View file

@ -0,0 +1,156 @@
.. _usersguide_beginners:
============================
A Beginner's Guide to OpenMC
============================
--------------------
What does OpenMC do?
--------------------
In a nutshell, OpenMC simulates neutrons moving around randomly in a `nuclear
reactor`_ (or other fissile system). This is what's known as `Monte Carlo`_
simulation. Neutrons are important in nuclear reactors because they are the
particles that induce `fission`_ in uranium and other nuclides. Knowing the
behavior of neutrons allows you to figure out how often and where fission
occurs. The amount of energy released is then directly proportional to the
fission reaction rate since most heat is produced by fission. By simulating many
neutrons (millions or billions), it is possible to determine the average
behavior of these neutrons (or the behavior of the energy produced or any other
quantity one is interested in) very accurately.
Using Monte Carlo methods to determine the average behavior of various physical
quantities in a nuclear reactor is quite different from other means of solving
the same problem. The other class of methods for determining the behavior of
neutrons and reactions rates in a reactor is so-called `determinstic`_
methods. In these methods, the starting point is not randomly simulating
particles but rather writing an equation that describes the average behavior of
the particles. The equation that describes the average behavior of neutrons is
called the `neutron transport`_ equation. This equation is a seven-dimensional
equation (three for space, three for velocity, and one for time) and is very
difficult to solve directly. For all but the simplest problems, it is necessary
to make some sort of `discretization`_. As an example, we can divide up all
space into small sections which are homogeneous and then solve the equation on
those small sections. After these discretizations and various approximations,
one can arrive at forms that are suitable for solution on a computer. Among
these are discrete ordinates, method of characteristics, finite-difference
diffusion, and nodal methods.
So why choose Monte Carlo over deterministic methods? Each method has its pros
and cons. Let us first take a look at few of the salient pros and cons of
deterministic methods:
- **Pro**: Depending on what method is used, solution can be determined very
quickly.
- **Pro**: The solution is a global solution, i.e. we know the average behavior
everywhere.
- **Pro**: Once the problem is converged, the solution is known.
- **Con**: If the model is complex, it is necessary to do sophisticated mesh
generation.
- **Con**: It is necessary to generate multi-group cross sections which requires
knowing the solution *a priori*.
Now let's look at the pros and cons of Monte Carlo methods:
- **Pro**: No mesh generation is required to build geometry. By using
`constructive solid geometry`_, it's possible to build arbitrarily complex
models with curved surfaces.
- **Pro**: Monte Carlo methods can be used with either continuous-energy or
multi-group cross sections.
- **Pro**: Running simulations in parallel is conceptually very simple.
- **Con**: Because they related on repeated random sampling, they are
computationally very expensive.
- **Con**: A simulation doesn't automatically give you the global solution
everywhere -- you have to specifically ask for those quantities you want.
- **Con**: Even after the problem is converged, it is necessary to simulate
many particles to reduce stochastic uncertainty.
Because fewer approximations are made in solving a problem by the Monte Carlo
method, it is often seen as a "gold standard" which can be used as a benchmark
for a solution of the same problem by deterministic means. However, it comes at
the expense of a potentially longer simulation.
-----------------
How does it work?
-----------------
In order to do anything, the code first needs to have a model of some problem of
interest. This could be a nuclear reactor or any other physical system with
fissioning material. You, as the code user, will need to describe the model so
that the code can do something with it. A basic model consists of a few things:
- A description of the geometry -- the problem should be split up into regions
of homogeneous material.
- For each different material in the problem, a description of what nuclides are
in the material and at what density.
- Various parameters telling the code how many particles to simulate and what
options to use.
- A list of different physical quantities that the code should return at the end
of the simulation. Remember, in a Monte Carlo simulation, if you don't ask for
anything, it will not give you any answers (other than a few default
quantities).
-----------------------
What do I need to know?
-----------------------
If you are starting to work with OpenMC, there are a few things you should be
familiar with. Whether you plan on working in Linux, Mac OS X, or Windows, you
should be comfortable working in a command line environment. There are many
resources online for learning command line environments. If you are using Linux
or Mac OS X (also Unix-derived), `this tutorial
<http://www.ee.surrey.ac.uk/Teaching/Unix/>`_ will help you get acquianted with
commonly-used commands.
OpenMC uses a version control software called `git`_ to keep track of changes to
the code, document bugs and issues, and other development tasks. While you don't
necessarily have to have git installed in order to download and run OpenMC, it
makes it much easier to receive updates if you do have it installed and have a
basic understanding of how it works. There are a list of good `git tutorials`_
at the git documentation website. The `OpenMC source code`_ and documentation
are hosted at `GitHub`_. In order to receive updates to the code directly,
submit `bug reports`_, and perform other development tasks, you may want to sign
up for a free account on GitHub. Once you have an account, you can follow `these
instructions <http://help.github.com/set-up-git-redirect>`_ on how to set up
your computer for using GitHub.
If you are new to nuclear engineering, you may want to review the NRC's `Reactor
Concepts Manual`_. This manual describes the basics of nuclear power for
electricity generation, the fission process, and the overall systems in a
pressurized or boiling water reactor. Another resource that is a bit more
technical than the Reactor Concepts Manual but still at an elementary level is
the DOE Fundamentals Handbook on Nuclear Physics and Reactor Theory `Volume I`_
and `Volume II`_. You may also find it helpful to review the following terms:
- `Neutron cross section`_
- `Effective multiplication factor`_
- `Flux`_
.. _nuclear reactor: http://en.wikipedia.org/wiki/Nuclear_reactor
.. _Monte Carlo: http://en.wikipedia.org/wiki/Monte_Carlo_method
.. _fission: http://en.wikipedia.org/wiki/Nuclear_fission
.. _determinstic: http://en.wikipedia.org/wiki/Deterministic_algorithm
.. _neutron transport: http://en.wikipedia.org/wiki/Neutron_transport
.. _discretization: http://en.wikipedia.org/wiki/Discretization
.. _constructive solid geometry: http://en.wikipedia.org/wiki/Constructive_solid_geometry
.. _git: http://git-scm.com/
.. _git tutorials: http://git-scm.com/documentation
.. _Reactor Concepts Manual: http://web.mit.edu/romano7/www/reactor_concepts.pdf
.. _Volume I: http://www.hss.doe.gov/nuclearsafety/techstds/docs/handbook/h1019v1.pdf
.. _Volume II: http://www.hss.doe.gov/nuclearsafety/techstds/docs/handbook/h1019v2.pdf
.. _OpenMC source code: https://github.com/mit-crpg/openmc
.. _GitHub: https://github.com/
.. _bug reports: https://github.com/mit-crpg/openmc/issues
.. _Neutron cross section: http://en.wikipedia.org/wiki/Neutron_cross_section
.. _Effective multiplication factor: http://en.wikipedia.org/wiki/Effective_multiplication_factor
.. _Flux: http://en.wikipedia.org/wiki/Neutron_flux

View file

@ -8,6 +8,10 @@ Welcome to the OpenMC User's Guide! This tutorial will guide you through the
essential aspects of using OpenMC to perform neutronic simulations.
.. toctree::
:maxdepth: 2
:numbered:
:maxdepth: 3
beginners
setup
input
troubleshoot

View file

@ -1,8 +1,8 @@
.. _usersguide_input:
========================
Creating XML Input Files
========================
=======================
Writing XML Input Files
=======================
Unlike many other Monte Carlo codes which use an arbitrary-format ASCII file
with "cards" to specify a particular geometry, materials, and associated run
@ -12,7 +12,9 @@ to be exchanged efficiently between different programs and interfaces.
Anyone who has ever seen webpages written in HTML will be familiar with the
structure of XML whereby "tags" enclosed in angle brackets denote that a
particular piece of data will follow. Let us examine the follow example::
particular piece of data will follow. Let us examine the follow example:
.. code-block:: xml
<person>
<firstname>John</firstname>
@ -35,14 +37,190 @@ Overview of Files
-----------------
To assemble a complete model for OpenMC, one needs to create separate XML files
for the geometry, materials, and settings. Additionally, an optional tallies XML
file specifies physical quantities to be tallied. OpenMC expects that these
files are called:
for the geometry, materials, and settings. Additionally, there are two optional
input files. The first is a tallies XML file that specifies physical quantities
to be tallied. The second is a plots XML file that specifies regions of geometry
which should be plotted. OpenMC expects that these files are called:
* ``geometry.xml``
* ``materials.xml``
* ``setings.xml``
* ``tallies.xml``
* ``plots.xml``
--------------------------------------
Settings Specification -- settings.xml
--------------------------------------
All simulation parameters and miscellaneous options are specified in the
settings.xml file.
``<criticality>`` Element
-------------------------
The ``<criticality>`` element indicates that a criticality calculation should be
performed. It has the following attributes/sub-elements:
:batches:
The total number of batches, where each batch corresponds to multiple
fission source iterations. Batching is done to eliminate correlation between
realizations of random variables.
*Default*: None
:generations_per_batch:
The number of total fission source iterations per batch.
*Default*: 1
:inactive:
The number of inactive batches. In general, the starting cycles in a
criticality calculation can not be used to contribute to tallies since the
fission source distribution and eigenvalue are generally not converged
immediately.
*Default*: None
:particles:
The number of neutrons to simulate per fission source iteration.
*Default*: None
.. _cross_sections:
``<cross_sections>`` Element
----------------------------
The ``<cross_sections>`` element has no attributes and simply indicates the path
to an XML cross section listing file (usually named cross_sections.xml). If this
element is absent from the settings.xml file, the :envvar:`CROSS_SECTIONS`
environment variable will be used to find the path to the XML cross section
listing.
``<cutoff>`` Element
--------------------
The ``<cutoff>`` element indicates the weight cutoff used below which particles
undergo Russian roulette. Surviving particles are assigned a user-determined
weight. Note that weight cutoffs and Russian rouletting are not turned on by
default. This element has the following attributes/sub-elements:
:weight:
The weight below which particles undergo Russian roulette.
*Default*: 0.25
:weight_avg:
The weight that is assigned to particles that are not killed after Russian
roulette.
*Default*: 1.0
``<energy_grid>`` Element
-------------------------
The ``<energy_grid>`` element determines the treatment of the energy grid during
a simulation. Setting this element to "nuclide" will cause OpenMC to use a
nuclide's energy grid when determining what points to interpolate between for
determining cross sections (i.e. non-unionized energy grid). To use a unionized
energy grid, set this element to "union". Note that the unionized energy grid
treatment is slightly different than that employed in Serpent.
*Default*: union
``<entropy>`` Element
---------------------
The ``<entropy>`` element describes a mesh that is used for calculting Shannon
entropy. This mesh should cover all possible fissionable materials in the
problem. It has the following attributes/sub-elements:
:dimension:
The number of mesh cells in the x, y, and z directions, respectively.
*Default*: If this tag is not present, the number of mesh cells is
automatically determined by the code.
:lower_left:
The Cartersian coordinates of the lower-left corner of the mesh.
*Default*: None
:upper_right:
The Cartersian coordinates of the upper-right corner of the mesh.
*Default*: None
``<ptables>`` Element
---------------------
The ``<ptables>`` element determines whether probability tables should be used
in the unresolved resonance range if available. This element has no attributes
or sub-elements and can be set to either "off" or "on".
*Default*: on
``<seed>`` Element
------------------
The ``seed`` element is used to set the seed used for the linear congruential
pseudo-random number generator.
*Default*: 1
``<source>`` Element
--------------------
The ``source`` element gives information on an initial source guess for
criticality calculations. It takes the following attributes:
:type:
The type of source distribution. Setting this to "box" indicates that the
starting source should be sampled uniformly in a parallelepiped. Setting
this to "point" indicates that the starting source should be sampled from an
isotropic point source. Setting this to "file" indicates that the starting
source should be sampled from a ``source.binary`` file.
:coeffs:
For a "box" source distribution, ``coeffs`` should be given as six real
numbers, the first three of which specify the lower-left corner of a
parallelepiped and the last three of which specify the upper-right
corner. Source sites are sampled uniformly through that parallelepiped.
For a "point" source distribution, ``coeffs`` should be given as three real
numbers which specify the (x,y,z) location of an isotropic point source
For a "file" source distribution, ``coeffs`` should not be specified.
``<survival_biasing>`` Element
------------------------------
The ``<survival_biasing>`` element has no attributes and assumes wither the
value ``on`` or ``off``. If turned on, this option will enable the use of
survival biasing, otherwise known as implicit capture or absorption.
*Default*: off
``<trace>`` Element
-------------------
The ``<trace>`` 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.
*Default*: None
``<verbosity>`` Element
-----------------------
The ``<verbosity>`` 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:
:value:
The specified verbosity between 1 and 10.
*Default*: 5
--------------------------------------
Geometry Specification -- geometry.xml
@ -57,9 +235,11 @@ bounding surfaces.
Every geometry.xml must have an XML declaration at the beginning of the file and
a root element named geometry. Within the root element the user can define any
number of cells, surfaces, and lattices. Let us look at the following example::
number of cells, surfaces, and lattices. Let us look at the following example:
<?xml version="1.0">
.. code-block:: xml
<?xml version="1.0"?>
<geometry>
<!-- This is a comment -->
@ -83,7 +263,9 @@ At the beginning of this file is a comment, denoted by a tag starting with
may span multiple lines. One convenient feature of the XML input format is that
sub-elements of the ``cell`` and ``surface`` elements can also be equivalently
expressed of attributes of the original element, e.g. the geometry file above
could be written as::
could be written as:
.. code-block:: xml
<?xml version="1.0">
<geometry>
@ -94,10 +276,10 @@ could be written as::
</geometry>
``surface`` Element
-------------------
``<surface>`` Element
---------------------
Each ``surface`` element can have the following attributes or sub-elements:
Each ``<surface>`` element can have the following attributes or sub-elements:
:id:
A unique integer that can be used to identify the surface.
@ -105,8 +287,8 @@ Each ``surface`` element can have the following attributes or sub-elements:
*Default*: None
:type:
The type of the surfaces. This can be ``x-plane``, ``y-plane``, ``z-plane``,
``plane``, ``x-cylinder``, ``y-cylinder``, ``z-cylinder``, or ``sphere``.
The type of the surfaces. This can be "x-plane", "y-plane", "z-plane",
"plane", "x-cylinder", "y-cylinder", "z-cylinder", or "sphere".
*Default*: None
@ -117,10 +299,10 @@ Each ``surface`` element can have the following attributes or sub-elements:
*Default*: None
:boundary:
The boundary condition for the surface. This can be ``transmission``,
``vacuum``, or ``reflective``.
The boundary condition for the surface. This can be "transmission",
"vacuum", or "reflective".
*Default*: ``transmission``
*Default*: "transmission"
The following quadratic surfaces can be modeled:
@ -159,10 +341,10 @@ The following quadratic surfaces can be modeled:
A sphere of the form :math:`(x - x_0)^2 + (y - y_0)^2 + (z - z_0)^2 =
R^2`. The coefficients specified are ":math:`x_0 \: y_0 \: z_0 \: R`".
``cell`` Element
----------------
``<cell>`` Element
------------------
Each ``cell`` element can have the following attributes or sub-elements:
Each ``<cell>`` element can have the following attributes or sub-elements:
:id:
A unique integer that can be used to identify the surface.
@ -195,13 +377,13 @@ Each ``cell`` element can have the following attributes or sub-elements:
*Default*: None
``lattice`` Element
-------------------
``<lattice>`` Element
---------------------
The ``lattice`` can be used to represent repeating structures (e.g. fuel pins in
an assembly) or other geometry which naturally fits into a two-dimensional
The ``<lattice>`` can be used to represent repeating structures (e.g. fuel pins
in an assembly) or other geometry which naturally fits into a two-dimensional
structured mesh. Each cell within the lattice is filled with a specified
universe. A ``lattice`` accepts the following attributes or sub-elements:
universe. A ``<lattice>`` accepts the following attributes or sub-elements:
:id:
A unique integer that can be used to identify the surface.
@ -240,8 +422,8 @@ universe. A ``lattice`` accepts the following attributes or sub-elements:
Materials Specification -- materials.xml
----------------------------------------
``material`` Element
--------------------
``<material>`` Element
----------------------
Each ``material`` element can have the following attributes or sub-elements:
@ -249,12 +431,13 @@ Each ``material`` element can have the following attributes or sub-elements:
A unique integer that can be used to identify the material.
:density:
An element with attributes/sub-elements called ``value`` and ``units``. The
``value`` attribute is the numeric value of the density while the ``units``
can be "g/cm3", "kg/m3", "atom/b-cm", or "atom/cm3". For example, this could
be specified as::
<density value="4.5" units="g/cm3" />
can be "g/cm3", "kg/m3", "atom/b-cm", "atom/cm3", or "sum". The "sum" unit
indicates that the density should be calculated as the sum of the atom
fractions for each nuclide in the material. This should not be used in
conjunction with weight percents.
*Default*: None
@ -282,174 +465,18 @@ Each ``material`` element can have the following attributes or sub-elements:
*Default*: None
``default_xs`` Element
----------------------
``<default_xs>`` Element
------------------------
In some circumstances, the cross-section identifier may be the same for many or
all nuclides in a given problem. In this case, rather than specifying the
``xs=...`` attribute on every nuclide, a ``default_xs`` element can be used to
``xs=...`` attribute on every nuclide, a ``<default_xs>`` element can be used to
set the default cross-section identifier for any nuclide without an identifier
explicitly listed. This element has no attributes and accepts a 3-letter string
that indicates the default cross-section identifier, e.g. "70c".
*Default*: None
--------------------------------------
Settings Specification -- settings.xml
--------------------------------------
All simulation parameters and miscellaneous options are specified in the
settings.xml file.
``criticality`` Element
-----------------------
The ``criticality`` element indicates that a criticality calculation should be
performed. It has the following attributes/sub-elements:
:batches:
The total number of batches, where each batch corresponds to multiple
fission source iterations. Batching is done to eliminate correlation between
realizations of random variables.
*Default*: None
:generations_per_batch:
The number of total fission source iterations per batch.
*Default*: 1
:inactive:
The number of inactive batches. In general, the starting cycles in a
criticality calculation can not be used to contribute to tallies since the
fission source distribution and eigenvalue are generally not converged
immediately.
*Default*: None
:particles:
The number of neutrons to simulate per fission source iteration.
*Default*: None
``cross_sections`` Element
--------------------------
The ``cross_sections`` element has no attributes and simply indicates the path
to an XML cross section listing file (usually named cross_sections.xml). If this
element is absent from the settings.xml file, the environment variable
``CROSS_SECTIONS`` will be used to find the path to the XML cross section
listing.
``cutoff`` Element
------------------
The ``cutoff`` element indicates the weight cutoff used below which particles
undergo Russian roulette. Surviving particles are assigned a user-determined
weight. Note that weight cutoffs and Russian rouletting are not turned on by
default. This element has the following attributes/sub-elements:
:weight:
The weight below which particles undergo Russian roulette.
*Default*: 0.25
:weight_avg:
The weight that is assigned to particles that are not killed after Russian
roulette.
*Default*: 1.0
``energy_grid`` Element
-----------------------
The ``energy_grid`` element determines the treatment of the energy grid during a
simulation. Setting this element to "nuclide" will cause OpenMC to use a
nuclide's energy grid when determining what points to interpolate between for
determining cross sections (i.e. non-unionized energy grid). To use a unionized
energy grid, set this element to "union". Note that the unionized energy grid
treatment is slightly different than that employed in Serpent.
*Default*: union
``entropy`` Element
-------------------
This element describes a mesh that is used for calculting Shannon entropy. This
mesh should cover all possible fissionable materials in the problem. It has the
following attributes/sub-elements:
:dimension:
The number of mesh cells in the x, y, and z directions, respectively.
*Default*: If this tag is not present, the number of mesh cells is
automatically determined by the code.
:lower_left:
The Cartersian coordinates of the lower-left corner of the mesh.
*Default*: None
:upper_right:
The Cartersian coordinates of the upper-right corner of the mesh.
*Default*: None
``ptables`` Element
-------------------
The ``ptables`` element determines whether probability tables should be used in
the unresolved resonance range if available. This element has no attributes or
sub-elements and can be set to either "off" or "on".
*Default*: on
``source`` Element
------------------
The ``source`` element gives information on an initial source guess for
criticality calculations. It takes the following attributes:
:type:
The type of source distribution. Currently, the only accepted option is
"box"
:coeffs:
For a "box" source distribution, ``coeffs`` should be given as six integers,
the first three of which specify the lower-left corner of a parallelepiped
and the last three of which specify the upper-right corner. Source sites are
sampled uniformly through that parallelepiped.
``survival_biasing`` Element
----------------------------
The ``survival_biasing`` element has no attributes and assumes wither the
value ``on`` or ``off``. If turned on, this option will enable the use of
survival biasing, otherwise known as implicit capture or absorption.
*Default*: off
``trace`` Element
-----------------
The ``trace`` element can be used to print out detailed information about a
single particle during a simulation. This element should be followed by two
integers, the cycle and one for the particle number.
*Default*: None
``verbosity`` Element
---------------------
The ``verbosity`` 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:
:value:
The specified verbosity between 1 and 10.
*Default*: 5
------------------------------------
Tallies Specification -- tallies.xml
------------------------------------
@ -468,12 +495,12 @@ filters can be used for a tally. The following types of filter are available:
cell, universe, material, surface, birth region, pre-collision energy,
post-collision energy, and an arbitrary structured mesh.
The two valid elements in the tallies.xml file are ``tally`` and ``mesh``.
The two valid elements in the tallies.xml file are ``<tally>`` and ``<mesh>``.
``tally`` Element
-----------------
``<tally>`` Element
-------------------
The ``tally`` element accepts the following sub-elements:
The ``<tally>`` element accepts the following sub-elements:
:filters:
A list of filters to specify what region of phase space should contribute to
@ -553,11 +580,11 @@ The following responses can be tallied.
:nu-fission:
Total production of neutrons due to fission
``mesh`` Element
----------------
``<mesh>`` Element
------------------
If a structured mesh is desired as a filter for a tally, it must be specified in
a separate element with the tag name ``mesh``. This element has the following
a separate element with the tag name ``<mesh>``. This element has the following
attributes/sub-elements:
:type:
@ -574,8 +601,8 @@ attributes/sub-elements:
:width:
The width of mesh cells in each direction.
``assume_separate`` Element
---------------------------
``<assume_separate>`` Element
-----------------------------
In cases where the user needs to specify many different tallies each of which
are spatially separate, this tag can be used to cut down on some of the tally
@ -588,16 +615,16 @@ tallies. This element should be followed by "yes" or "no"
*Default*: no
-------------------------------------------
Geometry Plotting Specification -- plot.xml
-------------------------------------------
--------------------------------------------
Geometry Plotting Specification -- plots.xml
--------------------------------------------
A basic 2D plotting capability is available in OpenMC by creating a
plots.xml file and subsequently running with the command-line flag ``-plot``. The
root element of the plot.xml is simply ``<plots>`` and any number output
figures can be defined with ``<plot>`` sub-elements.
A basic 2D plotting capability is available in OpenMC by creating a plots.xml
file and subsequently running with the command-line flag ``-plot``. The root
element of the plots.xml is simply ``<plots>`` and any number output figures can
be defined with ``<plot>`` sub-elements.
``plot`` Element
``<plot>`` Element
------------------
Each plot must contain a combination of the following attributes or sub-elements:
@ -619,14 +646,14 @@ Each plot must contain a combination of the following attributes or sub-elements
*Default*: ``cell``
:origin:
Specifies the XYZ coordinate of the center of the plot. Should be 3 floats
separated by spaces.
Specifies the (x,y,z) coordinate of the center of the plot. Should be three
floats separated by spaces.
*Default*: None - Required entry
:width:
Specifies the width of the plot along each of the basis directions.
Should be 2 or 3 floats separated by spaces for 2D plots and 3D plots,
Specifies the width of the plot along each of the basis directions. Should
be two or three floats separated by spaces for 2D plots and 3D plots,
respectively.
*Default*: None - Required entry
@ -644,18 +671,18 @@ Each plot must contain a combination of the following attributes or sub-elements
*Default*: "slice"
``plot`` elements of ``type`` ``slice`` also contain the following attributes or
sub-elements:
``<plot>`` elements of ``type`` "slice" also contain the following attributes or
sub-elements:
:basis:
Keyword specifying the plane of the plot for ``slice`` type plots. Can be
one of: ``xy``, ``xz``, ``yz``.
one of: "xy", "xz", "yz".
*Default*: ``xy``
*Default*: "xy"
:pixels:
Specifies the number of pixes to be used along each of the basis directions for
``slice`` plots. Should be 2 integers separated by spaces.
Specifies the number of pixes to be used along each of the basis directions
for "slice" plots. Should be two integers separated by spaces.
.. warning:: The ``pixels`` input determines the output file size. For the PPM
format, 10 million pixels will result in a file just under 30 MB in
@ -667,16 +694,16 @@ sub-elements:
.. warning:: Geometry features along a basis direction smaller than ``width``/``pixels``
along that basis direction may not appear in the plot.
*Default*: None - Required entry for ``slice`` plots
*Default*: None - Required entry for "slice" plots
:background:
Specifies the RGB color of the regions where no OpenMC cell can be found. Should
be 3 integers deparated by spaces.
be three integers separated by spaces.
*Default*: 0 0 0 (white)
:col_spec:
Any number of this optional tag may be included in each ``plot`` element, which can
Any number of this optional tag may be included in each ``<plot>`` element, which can
override the default random colors for cells or materials. Each ``col_spec``
element must contain ``id`` and ``rgb`` sub-elements.

View file

@ -0,0 +1,132 @@
.. _usersguide_setup:
==============================
Installation and Configuration
==============================
-------------
Prerequisites
-------------
In order to compile OpenMC, you will need to have a Fortran compiler installed
on your machine. Since a number of Fortran 2003 features are used in the code,
it is recommended that you use the latest version of whatever compiler you
choose. For gfortran_, it is recommended that you use version 4.5.0 or above.
If you are using Debian or a Debian derivative such as Ubuntu, you can install
the gfortran compiler using the following command::
sudo apt-get install gfortran
To compile with support for parallel runs on a distributed-memory architecture,
you will need to have a valid implementation of MPI installed on your
machine. The code has been tested and is known to work with the latest versions
of both OpenMPI_ and MPICH2_. You may use older versions of MPI implementations
at your own risk. OpenMPI and/or MPICH2 can be installed on Debian derivatives
with::
sudo apt-get install mpich2
sudo apt-get install openmpi-bin
To compile with support for HDF5_ output (highly recommended), you will need to
have HDF5 installed on your computer. The installed version will need to have
been compiled with the same compiler you intend to compile OpenMC with.
.. _gfortran: http://gcc.gnu.org/wiki/GFortran
.. _OpenMPI: http://www.open-mpi.org
.. _MPICH2: http://www.mcs.anl.gov/mpi/mpich/
.. _HDF5: http://www.hdfgroup.org/HDF5/
--------------------
Obtaining the Source
--------------------
All OpenMC source code is hosted on GitHub_. This means that you will need to
have git_ installed on your computer in order to get source code and updates
directly from the repository. GitHub has a good set of `instructions
<http://help.github.com/set-up-git-redirect>`_ for how to set up git to work
with GitHub since this involves setting up ssh_ keys. With git installed and
setup, the following command will download the full source code from the GitHub
repository::
git clone git@github.com:mit-crpg/openmc.git
.. _GitHub: http://github.com
.. _git: http://git-scm.com
.. _ssh: http://en.wikipedia.org/wiki/Secure_Shell
-------------------
Build Configuration
-------------------
All configuration for OpenMC is done within the Makefile located in
``src/Makefile``. In the Makefile, you will see that there are a number of User
Options which can be changed. It is recommended that you do not change anything
else in the Makefile unless you are experienced with compiling and building
software using Makefiles. The following parameters can be set from the User
Options sections in the Makefile:
COMPILER
This variable tells the Makefile which compiler to use. Valid options are
gfortran, intel, pgi, ibm, and cray.
DEBUG
Enables debugging when compiling. The flags added are dependent on which
compiler is used.
PROFILE
Enables profiling using the GNU profiler, gprof.
OPTIMIZE
Enables high-optimization using compiler-dependent flags. For gfortran,
this compiles with -O3. For Intel Fortran, this compiles with -O3 as well as
interprocedural optimization.
USE_MPI
Enables parallel runs using the Message Passing Interface. Users should also
set the MPI_ROOT directory further down in the Makefile.
USE_HDF5
Enables HDF5 output in addition to normal screen and text file output. Users
should also set the HDF5_ROOT directory further down in the Makefile.
It is also possible to change these options from the command line itself. For
example, if you want to compile with DEBUG turned on without actually change the
Makefile, you can enter the following from a terminal::
make DEBUG=yes
---------
Compiling
---------
To compile the code, run the following commands from within the root directory
for OpenMC:
.. code-block:: sh
cd src
make
This will build an executable named ``openmc``.
---------------------------
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 distributed with MCNP or Serpent.
To use cross sections distributed with MCNP, change the <directory> element in
the ``cross_sections.xml`` file in the root directory of the OpenMC distribution
to the location of the MCNP cross-sections. Then, either set the
:ref:`cross_sections` in a settings.xml file or the :envvar:`CROSS_SECTIONS`
environment variable to the absolute path of the ``cross_sections.xml`` file.
Similarly, to use cross-sections distributed with Serpent, change the
<directory> element in the ``cross_sections_serpent.xml`` file in the root
directory of the OpenMC distribution to the location of the Serpent
cross-sections. Then, either set the :ref:`cross_sections` in a settings.xml
file or the :envvar:`CROSS_SECTIONS` environment variable to the absolute path
of the ``cross_sections_serpent.xml`` file.

View file

@ -0,0 +1,108 @@
.. _usersguide_troubleshoot:
======================
Troubleshooting OpenMC
======================
-------------------------
Problems with Compilation
-------------------------
If you are experiencing problems trying to compile OpenMC, first check if the
error you are receiving is among the following options.
Fatal Error: File 'xml_data_settings_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 modules and object files with
:program:`make distclean` and then recompiling.
gfortran: unrecognized option '-cpp'
************************************
You are probably using a version of the gfortran compiler that is too
old. Download and install the latestest version of gfortran_.
f951: error: unrecognized command line option "-fbacktrace"
***********************************************************
You are probably using a version of the gfortran compiler that is too
old. Download and install the latestest version of gfortran_.
make[1]: ifort: Command not found
*********************************
You tried compiling with the Intel Fortran compiler and it was not found on your
:envvar:`PATH`. If you have the Intel compiler installed, make sure the shell
can locate it (this can be tested with :program:`which ifort`).
make[1]: pgf90: Command not found
*********************************
You tried compiling with the PGI Fortran compiler and it was not found on your
:envvar:`PATH`. If you have the PGI compiler installed, make sure the shell can
locate it (this can be tested with :program:`which ifort`).
-------------------------
Problems with Simulations
-------------------------
Segmentation Fault
******************
A segmentation fault occurs when the program tries to access a variable in
memory that was outside the memory allocated for the program. The best way to
debug a segmentation fault is to re-compile OpenMC with debug options turned
on. First go to your ``openmc/src`` directory where OpenMC was compiled and type
the following commands:
.. code-block:: sh
make distclean
make DEBUG=yes
Now when you re-run your problem, it should report exactly where the program
failed. If after reading the debug output, you are still unsure why the program
failed, send an email to the OpenMC `developers
<mailto:paul.k.romano@gmail.com>`_.
ERROR: No cross_sections.xml file was specified in settings.xml or in the CROSS_SECTIONS environment variable.
**************************************************************************************************************
OpenMC needs to know where to find cross section data for each
nuclide. Information on what data is available and in what files is summarized
in a cross_sections.xml file. You need to tell OpenMC where to find the
cross_sections.xml file either with the :ref:`cross_sections` in settings.xml or
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: After particle __ crossed surface __ it could not be located in any cell and it did not leak.
****************************************************************************************************
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
reflective boundary conditions. If proper boundary conditions have been applied
and you still receive this error, it means that a surface/cell/lattice in your
geometry has been specified incorrectly or is missing.
The best way to debug this error is to turn on a trace for the particle getting
lost. After the error message, the code will display what batch, generation, and
particle number caused the error. In your settings.xml, add a <trace> tag
followed by the batch, generation, and particle number. This will give you
detailed output every time that particle enters a cell, crosses a boundary, or
has a collision. For example, if you received this error at cycle 5, generation
1, particle 4032, you would enter:
.. code-block:: xml
<trace>5 1 4032</trace>
.. _gfortran: http://gcc.gnu.org/wiki/GFortran

View file

@ -17,7 +17,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '0.3.2',
VERSION: '0.4.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -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="prev" title="Creating XML Input Files" href="usersguide/input.html" />
<link rel="prev" title="Publications" href="publications.html" />
</head>
<body>
<div class="header">
@ -39,7 +39,7 @@
<div class="topnav">
<p>
«&#160;&#160;<a href="usersguide/input.html">Creating XML Input Files</a>
«&#160;&#160;<a href="publications.html">Publications</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="index.html">Contents</a>
</p>
@ -52,8 +52,9 @@
<span id="developers"></span><h1>Development Team<a class="headerlink" href="#development-team" title="Permalink to this headline"></a></h1>
<p>Active development of the OpenMC Monte Carlo code is currently led by:</p>
<ul class="simple">
<li><a class="reference external" href="mailto:romano7&#37;&#52;&#48;mit&#46;edu">Paul Romano</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: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>
</ul>
<p>Advisors to the project include:</p>
<ul class="simple">
@ -68,16 +69,31 @@
<div class="bottomnav">
<p>
«&#160;&#160;<a href="usersguide/input.html">Creating XML Input Files</a>
«&#160;&#160;<a href="publications.html">Publications</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="index.html">Contents</a>
</p>
</div>
<div class="footer">
&copy; Copyright 2011, Massachusetts Institute of Technology.
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

101
devguide/index.html Normal file
View file

@ -0,0 +1,101 @@
<!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>Developers Guide &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.4.2',
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="next" title="1. Data Structures" href="structures.html" />
<link rel="prev" title="4. Troubleshooting OpenMC" href="../usersguide/troubleshoot.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="../usersguide/troubleshoot.html">4. Troubleshooting OpenMC</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="structures.html">1. Data Structures</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="developer-s-guide">
<span id="devguide"></span><h1>Developer&#8217;s Guide<a class="headerlink" href="#developer-s-guide" title="Permalink to this headline"></a></h1>
<p>Welcome to the OpenMC Developer&#8217;s Guide! This guide documents and explains the
structure of the OpenMC source code and how to do various development tasks such
as debugging.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="structures.html">1. Data Structures</a></li>
<li class="toctree-l1"><a class="reference internal" href="xml-fortran.html">2. xml-fortran Input Parsing</a></li>
</ul>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="../usersguide/troubleshoot.html">4. Troubleshooting OpenMC</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="structures.html">1. Data Structures</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

93
devguide/structures.html Normal file
View file

@ -0,0 +1,93 @@
<!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>1. Data Structures &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.4.2',
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="2. xml-fortran Input Parsing" href="xml-fortran.html" />
<link rel="prev" title="Developers Guide" 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">Developer&#8217;s Guide</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="xml-fortran.html">2. xml-fortran Input Parsing</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="data-structures">
<span id="devguide-structures"></span><h1>1. Data Structures<a class="headerlink" href="#data-structures" title="Permalink to this headline"></a></h1>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="index.html">Developer&#8217;s Guide</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="xml-fortran.html">2. xml-fortran Input Parsing</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

93
devguide/xml-fortran.html Normal file
View file

@ -0,0 +1,93 @@
<!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>2. xml-fortran 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.4.2',
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="Publications" href="../publications.html" />
<link rel="prev" title="1. Data Structures" href="structures.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="structures.html">1. Data Structures</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../publications.html">Publications</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="xml-fortran-input-parsing">
<span id="devguide-xml-fortran"></span><h1>2. xml-fortran Input Parsing<a class="headerlink" href="#xml-fortran-input-parsing" title="Permalink to this headline"></a></h1>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="structures.html">1. Data Structures</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../publications.html">Publications</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -19,7 +19,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '0.3.2',
VERSION: '0.4.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -51,8 +51,52 @@
<h1 id="index">Index</h1>
<div class="genindex-jumpbox">
<a href="#C"><strong>C</strong></a>
| <a href="#E"><strong>E</strong></a>
| <a href="#P"><strong>P</strong></a>
</div>
<h2 id="C">C</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="usersguide/input.html#index-0">CROSS_SECTIONS</a>, <a href="usersguide/setup.html#index-0">[1]</a>, <a href="usersguide/setup.html#index-1">[2]</a>, <a href="usersguide/troubleshoot.html#index-2">[3]</a>, <a href="usersguide/troubleshoot.html#index-3">[4]</a>
</dt>
</dl></td>
</tr></table>
<h2 id="E">E</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt>
environment variable
</dt>
<dd><dl>
<dt><a href="usersguide/input.html#index-0">CROSS_SECTIONS</a>, <a href="usersguide/setup.html#index-0">[1]</a>, <a href="usersguide/setup.html#index-1">[2]</a>, <a href="usersguide/troubleshoot.html#index-2">[3]</a>, <a href="usersguide/troubleshoot.html#index-3">[4]</a>
</dt>
<dt><a href="usersguide/troubleshoot.html#index-0">PATH</a>, <a href="usersguide/troubleshoot.html#index-1">[1]</a>
</dt>
</dl></dd>
</dl></td>
</tr></table>
<h2 id="P">P</h2>
<table style="width: 100%" class="indextable genindextable"><tr>
<td style="width: 33%" valign="top"><dl>
<dt><a href="usersguide/troubleshoot.html#index-0">PATH</a>, <a href="usersguide/troubleshoot.html#index-1">[1]</a>
</dt>
</dl></td>
</tr></table>
</div>
@ -64,9 +108,24 @@
</div>
<div class="footer">
&copy; Copyright 2011, Massachusetts Institute of Technology.
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -17,7 +17,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '0.3.2',
VERSION: '0.4.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -55,16 +55,19 @@ criticality calculations. It is capable of simulating 3D models based on
constructive solid geometry with second-order surfaces. The particle interaction
data is based on ACE format cross sections, also used in the MCNP and Serpent
Monte Carlo codes.</p>
<p>The development of OpenMC began at the <a class="reference external" href="http://web.mit.edu">Massachusetts Institute of Technology</a>
within the <a class="reference external" href="http://crpg.mit.edu">Computational Reactor Physics Group</a>.</p>
<p>For more information on OpenMC, feel free to contact <a class="reference external" href="mailto:romano7&#37;&#52;&#48;mit&#46;edu">Paul Romano</a>.</p>
<p>The development of OpenMC is led by the <a class="reference external" href="http://crpg.mit.edu">Computational Reactor Physics Group</a>
at the <a class="reference external" href="http://web.mit.edu">Massachusetts Institute of Technology</a>. For more information on OpenMC,
feel free to contact <a class="reference external" href="mailto:paul&#46;k&#46;romano&#37;&#52;&#48;gmail&#46;com">Paul Romano</a>.</p>
<div class="section" id="contents">
<h2>Contents<a class="headerlink" href="#contents" title="Permalink to this headline"></a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="install.html">Installation</a></li>
<li class="toctree-l1"><a class="reference internal" href="methods/index.html">Methodology</a></li>
<li class="toctree-l1"><a class="reference internal" href="releasenotes/index.html">Release Notes</a></li>
<li class="toctree-l1"><a class="reference internal" href="methods/index.html">Theory and Methodology</a></li>
<li class="toctree-l1"><a class="reference internal" href="usersguide/index.html">User&#8217;s Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="devguide/index.html">Developer&#8217;s Guide</a></li>
<li class="toctree-l1"><a class="reference internal" href="publications.html">Publications</a></li>
<li class="toctree-l1"><a class="reference internal" href="developers.html">Development Team</a></li>
</ul>
</div>
@ -83,9 +86,24 @@ within the <a class="reference external" href="http://crpg.mit.edu">Computationa
</div>
<div class="footer">
&copy; Copyright 2011, Massachusetts Institute of Technology.
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -17,7 +17,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '0.3.2',
VERSION: '0.4.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -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="Methodology" href="methods/index.html" />
<link rel="next" title="Release Notes" href="releasenotes/index.html" />
<link rel="prev" title="The OpenMC Monte Carlo Code" href="index.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="methods/index.html">Methodology</a>&#160;&#160;»
<a href="releasenotes/index.html">Release Notes</a>&#160;&#160;»
</p>
</div>
@ -141,14 +141,29 @@ make</pre>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="methods/index.html">Methodology</a>&#160;&#160;»
<a href="releasenotes/index.html">Release Notes</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011, Massachusetts Institute of Technology.
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

107
methods/geometry.html Normal file
View file

@ -0,0 +1,107 @@
<!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>2. Geometry &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.4.2',
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="Theory and Methodology" href="index.html" />
<link rel="next" title="3. Physics" href="physics.html" />
<link rel="prev" title="1. Introduction" href="introduction.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="introduction.html">1. Introduction</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="physics.html">3. Physics</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="geometry">
<span id="methods-geometry"></span><h1>2. Geometry<a class="headerlink" href="#geometry" title="Permalink to this headline"></a></h1>
<div class="section" id="reflective-surfaces">
<h2>2.1. Reflective Surfaces<a class="headerlink" href="#reflective-surfaces" title="Permalink to this headline"></a></h2>
<p>In general, a surface can be written in the form <img class="math" src="../_images/math/7a618bda1847d33ede0ff905641965782665226a.png" alt="f(x,y,z) = 0"/>. If a
neutron is traveling in direction <img class="math" src="../_images/math/0e25809cc8ec81373d3c46ff247a7c6d3a63dcaf.png" alt="\vec{v}"/> and crosses a reflective
surface of the above form, it can be shown that the velocity vector will then
become</p>
<div class="math">
<p><img src="../_images/math/ec1573ce905ac3e6758c191cd5c52441ed093cf8.png" alt="\mathbf{v'} = \mathbf{v} - 2 (\mathbf{v} \cdot \hat{\mathbf{n}})
\hat{\mathbf{n}}"/></p>
</div><p>where <img class="math" src="../_images/math/c784dcc2598753df9d694c4439b2320311b94dca.png" alt="\hat{\mathbf{n}}"/> is a unit vector normal to the surface at the
point of the surface crossing. The direction of the surface normal will be the
gradient to the surface at the point of crossing, i.e. <img class="math" src="../_images/math/c4301d4bf1894216758b926b70a378c73b059d9a.png" alt="\mathbf{n} =
\nabla f(x,y,z)"/>.</p>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="introduction.html">1. Introduction</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="physics.html">3. Physics</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -8,7 +8,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Methodology &mdash; OpenMC Documentation</title>
<title>Theory and Methodology &mdash; OpenMC Documentation</title>
<link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -17,7 +17,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.3.2',
VERSION: '0.4.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -28,8 +28,8 @@
<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="Users Guide" href="../usersguide/index.html" />
<link rel="prev" title="Installation" href="../install.html" />
<link rel="next" title="1. Introduction" href="introduction.html" />
<link rel="prev" title="Release Notes for OpenMC 0.4.0" href="../releasenotes/notes_0.4.0.html" />
</head>
<body>
<div class="header">
@ -40,91 +40,43 @@
<div class="topnav">
<p>
«&#160;&#160;<a href="../install.html">Installation</a>
«&#160;&#160;<a href="../releasenotes/notes_0.4.0.html">Release Notes for OpenMC 0.4.0</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../usersguide/index.html">User&#8217;s Guide</a>&#160;&#160;»
<a href="introduction.html">1. Introduction</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="methodology">
<span id="methods"></span><h1>Methodology<a class="headerlink" href="#methodology" title="Permalink to this headline"></a></h1>
<div class="section" id="theory-and-methodology">
<span id="methods"></span><h1>Theory and Methodology<a class="headerlink" href="#theory-and-methodology" title="Permalink to this headline"></a></h1>
<p>The OpenMC code solves the neutron transport equation using the Monte Carlo
method whereby particles are tracked as they randomly move through a geometry,
undergoing collisions, and creating secondary particles.</p>
<div class="section" id="reflective-surfaces">
<h2>Reflective Surfaces<a class="headerlink" href="#reflective-surfaces" title="Permalink to this headline"></a></h2>
<p>In general, a surface can be written in the form <img class="math" src="../_images/math/7a618bda1847d33ede0ff905641965782665226a.png" alt="f(x,y,z) = 0"/>. If a
neutron is traveling in direction <img class="math" src="../_images/math/0e25809cc8ec81373d3c46ff247a7c6d3a63dcaf.png" alt="\vec{v}"/> and crosses a reflective
surface of the above form, it can be shown that the velocity vector will then
become</p>
<div class="math">
<p><img src="../_images/math/ec1573ce905ac3e6758c191cd5c52441ed093cf8.png" alt="\mathbf{v'} = \mathbf{v} - 2 (\mathbf{v} \cdot \hat{\mathbf{n}})
\hat{\mathbf{n}}"/></p>
</div><p>where <img class="math" src="../_images/math/c784dcc2598753df9d694c4439b2320311b94dca.png" alt="\hat{\mathbf{n}}"/> is a unit vector normal to the surface at the
point of the surface crossing. The direction of the surface normal will be the
gradient to the surface at the point of crossing, i.e. <img class="math" src="../_images/math/c4301d4bf1894216758b926b70a378c73b059d9a.png" alt="\mathbf{n} =
\nabla f(x,y,z)"/>.</p>
</div>
<div class="section" id="free-gas-scattering-kinematics">
<h2>Free Gas Scattering Kinematics<a class="headerlink" href="#free-gas-scattering-kinematics" title="Permalink to this headline"></a></h2>
<p>When a neutron scatters off of a nucleus, many times it is assumed that the
target nucleus is at rest. However, if the material is at a temperature greater
than 0 K, it will have motion associated with the thermal vibration. Thus, the
velocity of the neutrno relative to the target nucleus is in general not the
same as the velocity of the neutron entering the collision.</p>
<p>The affect of the thermal motion on the interaction probability can be written
as</p>
<div class="math" id="equation-freegas1">
<p><span class="eqno">(1)</span><img src="../_images/math/db25952de85aad3ab2e5021f9bef21af86c4412b.png" alt="v_n \sigma (v_n, T) = \int_0^\infty d\mathbf{v}_T \sigma(v_r, 0)
\mathbf{v}_r p(\mathbf{v}_T)"/></p>
</div><p>One assumption we can make here is that the velocity distribution for the
thermal motion is isotropic, i.e.</p>
<div class="math" id="equation-freegas2">
<p><span class="eqno">(2)</span><img src="../_images/math/24b2a39a312faab1a8bdb1f47c259f55fa7ce423.png" alt="p(\mathbf{v}_T) d\mathbf{v}_T = \frac{1}{4\pi} p(v_T) dv_T d\mu d\phi"/></p>
</div><p>With this assumption, we can now rewrite equation <a href="#equation-freegas1">(1)</a> as</p>
<div class="math" id="equation-freegas3">
<p><span class="eqno">(3)</span><img src="../_images/math/8b08005bd89e764367f2bc021edb8a49adb05939.png" alt="v_n \sigma (v_n, T) = \frac{1}{2} \int_{-1}^1 d\mu \int\limits_{v_r &gt; 0}
v_r \sigma (v_r, 0) p(v_T) dv_T"/></p>
</div><p>To change the outer variable of integration from <img class="math" src="../_images/math/2d8c833ed800824727cd7bd2fb9de1a12ad7e674.png" alt="\mu"/> to <img class="math" src="../_images/math/d7894ae3288ad5bc502fe262d7a4da6475d65284.png" alt="v_r"/>, we
can establish a relation between these variables based on the law of cosines.</p>
<div class="math" id="equation-lawcosine">
<p><span class="eqno">(4)</span><img src="../_images/math/22894185a4626c5744e7def1ebf1a8cce3b4b75b.png" alt="2 v_n v_T \mu = v_n^2 + v_T^2 - v_r^2"/></p>
</div><p>The probability distribution for the magnitude of the velocity of the target
nucleus and the angle between the neutron and target velocity is</p>
<div class="math" id="equation-freegas4">
<p><span class="eqno">(5)</span><img src="../_images/math/14c6609efaa364753fa5a4e4107b712efc452d4f.png" alt="P(v_T, \mu) = \frac{\sigma (v_r, 0) v_r P(v_T)}{2 \sigma (v_n, T) v_n}"/></p>
</div><p>It is normally assumed that <img class="math" src="../_images/math/721e7751ac40592f56d87682fdfbeb87c369d639.png" alt="\sigma (v_r, 0)"/> is constant over the range
of relative velocities of interest. This is a good assumption for almost all
cases since the elastic scattering cross section varies slowly with velocity for
light nuclei, and for heavy nuclei where large variations can occur due to
resonance scattering, the moderating effect is rather small. Nonetheless, this
assumption can cause incorrect answers in systems with U-238 where the low-lying
resonances can cause a significant amount of upscatter that would be ignored by
this assumption.</p>
<p>With this (sometimes incorrect) assumption, we see that the probability
distribution is proportional to</p>
<div class="math" id="equation-freegas5">
<p><span class="eqno">(6)</span><img src="../_images/math/5789c1d317eacdee5178a4952472f30929d8712d.png" alt="P(v_T, \mu) \propto v_r P(v_T) = | v_n - v_T | P(v_T)"/></p>
</div><p>We can divide this probability distribution into two parts as such:</p>
<div class="math" id="equation-freegas6">
<p><span class="eqno">(7)</span><img src="../_images/math/e65fa53d0a31b171a144bb7486bd94fb2451165e.png" alt="P(v_T, \mu) &amp;= f_1(v_T, \mu) f_2(v_T) \\
f_1(v_T, \mu) &amp;= \frac{| v_n - v_T |}{\hat{f_1} (v_n + v_T)} \\
f_2(v_T) &amp;= (v_n + v_T) P(v_T)"/></p>
</div><p>In general, any probability distribution function of the form <img class="math" src="../_images/math/18b2137a12545c12040053d62af1f6a009747f7b.png" alt="p(x) =
f_1(x) f_2(x)"/> with <img class="math" src="../_images/math/81060fd5c50bb0771dc33e40b10a02530402154a.png" alt="f_1(x)"/> bounded can be sampled by sampling
<img class="math" src="../_images/math/548e5a87f82147560af3911d5fa37e1102c698ca.png" alt="x_s"/> from the distribution</p>
<div class="math">
<p><img src="../_images/math/85c312cfda33ddfaf27195ac27959dfdd00b170c.png" alt="\frac{f_2(x)}{\int f_2(x) dx}"/></p>
</div><p>and accepting it with probability</p>
<div class="math">
<p><img src="../_images/math/b28a4c74d4d8125ccf305eae582fd770bfa0dbd6.png" alt="\frac{f_1(x_s)}{\max f_1(x)}"/></p>
</div><p>It is normally assumed that the velocity distribution of the target nucleus
assumes a Maxwellian distribution in velocity.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="introduction.html">1. Introduction</a><ul>
<li class="toctree-l2"><a class="reference internal" href="introduction.html#criticality-algorithm">1.1. Criticality Algorithm</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="geometry.html">2. Geometry</a><ul>
<li class="toctree-l2"><a class="reference internal" href="geometry.html#reflective-surfaces">2.1. Reflective Surfaces</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="physics.html">3. Physics</a><ul>
<li class="toctree-l2"><a class="reference internal" href="physics.html#free-gas-scattering-kinematics">3.1. Free Gas Scattering Kinematics</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="tallies.html">4. Tallies</a><ul>
<li class="toctree-l2"><a class="reference internal" href="tallies.html#analog-estimator">4.1. Analog Estimator</a></li>
<li class="toctree-l2"><a class="reference internal" href="tallies.html#track-length-estimator">4.2. Track-length Estimator</a></li>
<li class="toctree-l2"><a class="reference internal" href="tallies.html#surface-current">4.3. Surface Current</a></li>
</ul>
</li>
</ul>
</div>
</div>
@ -133,18 +85,33 @@ assumes a Maxwellian distribution in velocity.</p>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="../install.html">Installation</a>
«&#160;&#160;<a href="../releasenotes/notes_0.4.0.html">Release Notes for OpenMC 0.4.0</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../usersguide/index.html">User&#8217;s Guide</a>&#160;&#160;»
<a href="introduction.html">1. Introduction</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011, Massachusetts Institute of Technology.
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

96
methods/introduction.html Normal file
View file

@ -0,0 +1,96 @@
<!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>1. Introduction &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.4.2',
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="Theory and Methodology" href="index.html" />
<link rel="next" title="2. Geometry" href="geometry.html" />
<link rel="prev" title="Theory and Methodology" 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">Theory and Methodology</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="geometry.html">2. Geometry</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="introduction">
<span id="methods-introduction"></span><h1>1. Introduction<a class="headerlink" href="#introduction" title="Permalink to this headline"></a></h1>
<div class="section" id="criticality-algorithm">
<h2>1.1. Criticality Algorithm<a class="headerlink" href="#criticality-algorithm" title="Permalink to this headline"></a></h2>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="index.html">Theory and Methodology</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="geometry.html">2. Geometry</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

149
methods/physics.html Normal file
View file

@ -0,0 +1,149 @@
<!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>3. Physics &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.4.2',
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="Theory and Methodology" href="index.html" />
<link rel="next" title="4. Tallies" href="tallies.html" />
<link rel="prev" title="2. Geometry" href="geometry.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="geometry.html">2. Geometry</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="tallies.html">4. Tallies</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="physics">
<span id="methods-physics"></span><h1>3. Physics<a class="headerlink" href="#physics" title="Permalink to this headline"></a></h1>
<div class="section" id="free-gas-scattering-kinematics">
<h2>3.1. Free Gas Scattering Kinematics<a class="headerlink" href="#free-gas-scattering-kinematics" title="Permalink to this headline"></a></h2>
<p>When a neutron scatters off of a nucleus, many times it is assumed that the
target nucleus is at rest. However, if the material is at a temperature greater
than 0 K, it will have motion associated with the thermal vibration. Thus, the
velocity of the neutrno relative to the target nucleus is in general not the
same as the velocity of the neutron entering the collision.</p>
<p>The affect of the thermal motion on the interaction probability can be written
as</p>
<div class="math" id="equation-freegas1">
<p><span class="eqno">(1)</span><img src="../_images/math/db25952de85aad3ab2e5021f9bef21af86c4412b.png" alt="v_n \sigma (v_n, T) = \int_0^\infty d\mathbf{v}_T \sigma(v_r, 0)
\mathbf{v}_r p(\mathbf{v}_T)"/></p>
</div><p>One assumption we can make here is that the velocity distribution for the
thermal motion is isotropic, i.e.</p>
<div class="math" id="equation-freegas2">
<p><span class="eqno">(2)</span><img src="../_images/math/24b2a39a312faab1a8bdb1f47c259f55fa7ce423.png" alt="p(\mathbf{v}_T) d\mathbf{v}_T = \frac{1}{4\pi} p(v_T) dv_T d\mu d\phi"/></p>
</div><p>With this assumption, we can now rewrite equation <a href="#equation-freegas1">(1)</a> as</p>
<div class="math" id="equation-freegas3">
<p><span class="eqno">(3)</span><img src="../_images/math/8b08005bd89e764367f2bc021edb8a49adb05939.png" alt="v_n \sigma (v_n, T) = \frac{1}{2} \int_{-1}^1 d\mu \int\limits_{v_r &gt; 0}
v_r \sigma (v_r, 0) p(v_T) dv_T"/></p>
</div><p>To change the outer variable of integration from <img class="math" src="../_images/math/2d8c833ed800824727cd7bd2fb9de1a12ad7e674.png" alt="\mu"/> to <img class="math" src="../_images/math/d7894ae3288ad5bc502fe262d7a4da6475d65284.png" alt="v_r"/>, we
can establish a relation between these variables based on the law of cosines.</p>
<div class="math" id="equation-lawcosine">
<p><span class="eqno">(4)</span><img src="../_images/math/22894185a4626c5744e7def1ebf1a8cce3b4b75b.png" alt="2 v_n v_T \mu = v_n^2 + v_T^2 - v_r^2"/></p>
</div><p>The probability distribution for the magnitude of the velocity of the target
nucleus and the angle between the neutron and target velocity is</p>
<div class="math" id="equation-freegas4">
<p><span class="eqno">(5)</span><img src="../_images/math/14c6609efaa364753fa5a4e4107b712efc452d4f.png" alt="P(v_T, \mu) = \frac{\sigma (v_r, 0) v_r P(v_T)}{2 \sigma (v_n, T) v_n}"/></p>
</div><p>It is normally assumed that <img class="math" src="../_images/math/721e7751ac40592f56d87682fdfbeb87c369d639.png" alt="\sigma (v_r, 0)"/> is constant over the range
of relative velocities of interest. This is a good assumption for almost all
cases since the elastic scattering cross section varies slowly with velocity for
light nuclei, and for heavy nuclei where large variations can occur due to
resonance scattering, the moderating effect is rather small. Nonetheless, this
assumption can cause incorrect answers in systems with U-238 where the low-lying
resonances can cause a significant amount of upscatter that would be ignored by
this assumption.</p>
<p>With this (sometimes incorrect) assumption, we see that the probability
distribution is proportional to</p>
<div class="math" id="equation-freegas5">
<p><span class="eqno">(6)</span><img src="../_images/math/5789c1d317eacdee5178a4952472f30929d8712d.png" alt="P(v_T, \mu) \propto v_r P(v_T) = | v_n - v_T | P(v_T)"/></p>
</div><p>We can divide this probability distribution into two parts as such:</p>
<div class="math" id="equation-freegas6">
<p><span class="eqno">(7)</span><img src="../_images/math/e65fa53d0a31b171a144bb7486bd94fb2451165e.png" alt="P(v_T, \mu) &amp;= f_1(v_T, \mu) f_2(v_T) \\
f_1(v_T, \mu) &amp;= \frac{| v_n - v_T |}{\hat{f_1} (v_n + v_T)} \\
f_2(v_T) &amp;= (v_n + v_T) P(v_T)"/></p>
</div><p>In general, any probability distribution function of the form <img class="math" src="../_images/math/18b2137a12545c12040053d62af1f6a009747f7b.png" alt="p(x) =
f_1(x) f_2(x)"/> with <img class="math" src="../_images/math/81060fd5c50bb0771dc33e40b10a02530402154a.png" alt="f_1(x)"/> bounded can be sampled by sampling
<img class="math" src="../_images/math/548e5a87f82147560af3911d5fa37e1102c698ca.png" alt="x_s"/> from the distribution</p>
<div class="math">
<p><img src="../_images/math/85c312cfda33ddfaf27195ac27959dfdd00b170c.png" alt="\frac{f_2(x)}{\int f_2(x) dx}"/></p>
</div><p>and accepting it with probability</p>
<div class="math">
<p><img src="../_images/math/b28a4c74d4d8125ccf305eae582fd770bfa0dbd6.png" alt="\frac{f_1(x_s)}{\max f_1(x)}"/></p>
</div><p>It is normally assumed that the velocity distribution of the target nucleus
assumes a Maxwellian distribution in velocity.</p>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="geometry.html">2. Geometry</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="tallies.html">4. Tallies</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

102
methods/tallies.html Normal file
View file

@ -0,0 +1,102 @@
<!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. Tallies &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.4.2',
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="Theory and Methodology" href="index.html" />
<link rel="next" title="Users Guide" href="../usersguide/index.html" />
<link rel="prev" title="3. Physics" href="physics.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="physics.html">3. Physics</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../usersguide/index.html">User&#8217;s Guide</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="tallies">
<span id="methods-tallies"></span><h1>4. Tallies<a class="headerlink" href="#tallies" title="Permalink to this headline"></a></h1>
<div class="section" id="analog-estimator">
<h2>4.1. Analog Estimator<a class="headerlink" href="#analog-estimator" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="track-length-estimator">
<h2>4.2. Track-length Estimator<a class="headerlink" href="#track-length-estimator" title="Permalink to this headline"></a></h2>
</div>
<div class="section" id="surface-current">
<h2>4.3. Surface Current<a class="headerlink" href="#surface-current" title="Permalink to this headline"></a></h2>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="physics.html">3. Physics</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../usersguide/index.html">User&#8217;s Guide</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

Binary file not shown.

102
publications.html Normal file
View file

@ -0,0 +1,102 @@
<!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>Publications &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.4.2',
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="next" title="Development Team" href="developers.html" />
<link rel="prev" title="2. xml-fortran Input Parsing" href="devguide/xml-fortran.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="devguide/xml-fortran.html">2. xml-fortran Input Parsing</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="developers.html">Development Team</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="publications">
<span id="id1"></span><h1>Publications<a class="headerlink" href="#publications" title="Permalink to this headline"></a></h1>
<ul class="simple">
<li>Paul K. Romano and Beonit Forget, &#8220;The OpenMC Monte Carlo Particle Transport
Code,&#8221; <em>Annals of Nuclear Energy</em>, Submitted (2012).</li>
<li>Andrew R. Siegel, Kord Smith, Paul K. Romano, Benoit Forget, and Kyle Felker,
&#8220;The effect of load imbalances on the performance of Monte Carlo codes in LWR
analysis&#8221;, <em>Journal of Computational Physics</em>, Submitted (2012).</li>
<li>Paul K. Romano and Benoit Forget, &#8220;Parallel Fission Bank Algorithms in Monte
Carlo Criticality Calculations,&#8221; <em>Nuclear Science and Engineering</em>, <strong>170</strong>,
pp. 125&#8211;135 (2012). [<a class="reference external" href="http://web.mit.edu/romano7/www/nse_v170_n2_pp125-135.pdf">PDF</a>]</li>
</ul>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="devguide/xml-fortran.html">2. xml-fortran Input Parsing</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="developers.html">Development Team</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

101
releasenotes/index.html Normal file
View file

@ -0,0 +1,101 @@
<!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 &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.4.2',
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="next" title="Release Notes for OpenMC 0.4.2" href="notes_0.4.2.html" />
<link rel="prev" title="Installation" href="../install.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="../install.html">Installation</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="notes_0.4.2.html">Release Notes for OpenMC 0.4.2</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="release-notes">
<span id="releasenotes"></span><h1>Release Notes<a class="headerlink" href="#release-notes" title="Permalink to this headline"></a></h1>
<p>The release notes for OpenMC give a list of system requirements, new features,
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.4.2.html">Release Notes for OpenMC 0.4.2</a></li>
<li class="toctree-l1"><a class="reference internal" href="notes_0.4.1.html">Release Notes for OpenMC 0.4.1</a></li>
<li class="toctree-l1"><a class="reference internal" href="notes_0.4.0.html">Release Notes for OpenMC 0.4.0</a></li>
</ul>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="../install.html">Installation</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="notes_0.4.2.html">Release Notes for OpenMC 0.4.2</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -0,0 +1,122 @@
<!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.4.0 &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.4.2',
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="Theory and Methodology" href="../methods/index.html" />
<link rel="prev" title="Release Notes for OpenMC 0.4.1" href="notes_0.4.1.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="notes_0.4.1.html">Release Notes for OpenMC 0.4.1</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../methods/index.html">Theory and Methodology</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="release-notes-for-openmc-0-4-0">
<span id="notes-0-4-0"></span><h1>Release Notes for OpenMC 0.4.0<a class="headerlink" href="#release-notes-for-openmc-0-4-0" 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 as well as
Mac OS X. However, it has not been tested yet on any releases of Microsoft
Windows. 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>The probability table method for treatment of energy self-shielding in the
unresolved resonance range has been implemented and is now turned on by
default.</li>
<li>Calculation of Shannon entropy for assessing convergence of the fission source
distribution.</li>
<li>Ability to compile with the PGI Fortran compiler.</li>
<li>Ability to run on IBM BlueGene/P machines.</li>
<li>Completely rewrote how nested universes are handled. Geometry is now much more
robust.</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>Many geometry errors have been fixed. The Monte Carlo performance benchmark
can now be successfully run in OpenMC.</li>
</ul>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="notes_0.4.1.html">Release Notes for OpenMC 0.4.1</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../methods/index.html">Theory and Methodology</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -0,0 +1,134 @@
<!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.4.1 &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.4.2',
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.4.0" href="notes_0.4.0.html" />
<link rel="prev" title="Release Notes for OpenMC 0.4.2" href="notes_0.4.2.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="notes_0.4.2.html">Release Notes for OpenMC 0.4.2</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="notes_0.4.0.html">Release Notes for OpenMC 0.4.0</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="release-notes-for-openmc-0-4-1">
<span id="notes-0-4-1"></span><h1>Release Notes for OpenMC 0.4.1<a class="headerlink" href="#release-notes-for-openmc-0-4-1" 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 as well as
Mac OS X. However, it has not been tested yet on any releases of Microsoft
Windows. 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>A batching method has been implemented so that statistics can be calculated
based on multiple generations instead of a single generation. This can help to
overcome problems with underpredicted variance in problems where there is
correlation between successive fission source iterations.</li>
<li>Users now have the option to select a non-unionized energy grid for problems
with many nuclides where the use of a unionized grid is not feasible.</li>
<li>Improved plotting capability (Nick Horelik). The plotting input is now in
<tt class="docutils literal"><span class="pre">plots.xml</span></tt> instead of <tt class="docutils literal"><span class="pre">plot.xml</span></tt>.</li>
<li>Added multiple estimators for k-effective and added a global tally for
leakage.</li>
<li>Moved cross section-related output into cross_sections.out.</li>
<li>Improved timing capabilities.</li>
<li>Can now use more than 2**31 - 1 particles per generation.</li>
<li>Improved fission bank synchronization method. This also necessitated changing
the source bank to be of type Bank rather than of type Particle.</li>
<li>Added HDF5 output (not complete yet).</li>
<li>Major changes to tally implementation.</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/b206a8">b206a8</a>: Fixed subtle error in the sampling of energy distributions.</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/800742">800742</a>: Fixed error in sampling of angle and rotating angles.</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/a07c08">a07c08</a>: Fixed bug in linear-linear interpolation during sampling energy.</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/a75283">a75283</a>: Fixed energy and energyout tally filters to support many bins.</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/95cfac">95cfac</a>: Fixed error in cell neighbor searches.</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/83a803">83a803</a>: Fixed bug related to probability tables.</li>
</ul>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="notes_0.4.2.html">Release Notes for OpenMC 0.4.2</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="notes_0.4.0.html">Release Notes for OpenMC 0.4.0</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -0,0 +1,128 @@
<!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.4.2 &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.4.2',
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.4.1" href="notes_0.4.1.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.4.1.html">Release Notes for OpenMC 0.4.1</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="release-notes-for-openmc-0-4-2">
<span id="notes-0-4-2"></span><h1>Release Notes for OpenMC 0.4.2<a class="headerlink" href="#release-notes-for-openmc-0-4-2" title="Permalink to this headline"></a></h1>
<div class="admonition note">
<p class="first admonition-title">Note</p>
<p class="last">These release notes are for an upcoming release of OpenMC and are still
subject to change.</p>
</div>
<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 as well as
Mac OS X. However, it has not been tested yet on any versions of Microsoft
Windows. 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>Reading/writing binary source files.</li>
<li>Added more messages for &lt;trace&gt; or high verbosity.</li>
<li>Estimator for diffusion coefficient.</li>
<li>Ability to specify &#8216;point&#8217; source type.</li>
<li>Ability to change random number seed.</li>
<li>User&#8217;s can now specify units=&#8217;sum&#8217; on a &lt;density&gt; tag. This tells the code
that the total material density is the sum of the atom fractions listed for
each nuclide on the material.</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/b2c40e">b2c40e</a>: Fixed bug in incoming energy filter for track-length tallies.</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/5524fd">5524fd</a>: Mesh filter now works with track-length tallies.</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/d050c7">d050c7</a>: Added Bessel&#8217;s correction to make estimate of variance unbiased.</li>
<li><a class="reference external" href="https://github.com/mit-crpg/openmc/commit/2a5b9c">2a5b9c</a>: Fixed regression in plotting.</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.4.1.html">Release Notes for OpenMC 0.4.1</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -17,7 +17,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '',
VERSION: '0.3.2',
VERSION: '0.4.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -84,9 +84,24 @@
</div>
<div class="footer">
&copy; Copyright 2011, Massachusetts Institute of Technology.
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

File diff suppressed because one or more lines are too long

206
usersguide/beginners.html Normal file
View file

@ -0,0 +1,206 @@
<!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>1. A Beginners Guide to OpenMC &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.4.2',
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="Users Guide" href="index.html" />
<link rel="next" title="2. Installation and Configuration" href="setup.html" />
<link rel="prev" title="Users Guide" 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">User&#8217;s Guide</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="setup.html">2. Installation and Configuration</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="a-beginner-s-guide-to-openmc">
<span id="usersguide-beginners"></span><h1>1. A Beginner&#8217;s Guide to OpenMC<a class="headerlink" href="#a-beginner-s-guide-to-openmc" title="Permalink to this headline"></a></h1>
<div class="section" id="what-does-openmc-do">
<h2>1.1. What does OpenMC do?<a class="headerlink" href="#what-does-openmc-do" title="Permalink to this headline"></a></h2>
<p>In a nutshell, OpenMC simulates neutrons moving around randomly in a <a class="reference external" href="http://en.wikipedia.org/wiki/Nuclear_reactor">nuclear
reactor</a> (or other fissile system). This is what&#8217;s known as <a class="reference external" href="http://en.wikipedia.org/wiki/Monte_Carlo_method">Monte Carlo</a>
simulation. Neutrons are important in nuclear reactors because they are the
particles that induce <a class="reference external" href="http://en.wikipedia.org/wiki/Nuclear_fission">fission</a> in uranium and other nuclides. Knowing the
behavior of neutrons allows you to figure out how often and where fission
occurs. The amount of energy released is then directly proportional to the
fission reaction rate since most heat is produced by fission. By simulating many
neutrons (millions or billions), it is possible to determine the average
behavior of these neutrons (or the behavior of the energy produced or any other
quantity one is interested in) very accurately.</p>
<p>Using Monte Carlo methods to determine the average behavior of various physical
quantities in a nuclear reactor is quite different from other means of solving
the same problem. The other class of methods for determining the behavior of
neutrons and reactions rates in a reactor is so-called <a class="reference external" href="http://en.wikipedia.org/wiki/Deterministic_algorithm">determinstic</a>
methods. In these methods, the starting point is not randomly simulating
particles but rather writing an equation that describes the average behavior of
the particles. The equation that describes the average behavior of neutrons is
called the <a class="reference external" href="http://en.wikipedia.org/wiki/Neutron_transport">neutron transport</a> equation. This equation is a seven-dimensional
equation (three for space, three for velocity, and one for time) and is very
difficult to solve directly. For all but the simplest problems, it is necessary
to make some sort of <a class="reference external" href="http://en.wikipedia.org/wiki/Discretization">discretization</a>. As an example, we can divide up all
space into small sections which are homogeneous and then solve the equation on
those small sections. After these discretizations and various approximations,
one can arrive at forms that are suitable for solution on a computer. Among
these are discrete ordinates, method of characteristics, finite-difference
diffusion, and nodal methods.</p>
<p>So why choose Monte Carlo over deterministic methods? Each method has its pros
and cons. Let us first take a look at few of the salient pros and cons of
deterministic methods:</p>
<ul class="simple">
<li><strong>Pro</strong>: Depending on what method is used, solution can be determined very
quickly.</li>
<li><strong>Pro</strong>: The solution is a global solution, i.e. we know the average behavior
everywhere.</li>
<li><strong>Pro</strong>: Once the problem is converged, the solution is known.</li>
<li><strong>Con</strong>: If the model is complex, it is necessary to do sophisticated mesh
generation.</li>
<li><strong>Con</strong>: It is necessary to generate multi-group cross sections which requires
knowing the solution <em>a priori</em>.</li>
</ul>
<p>Now let&#8217;s look at the pros and cons of Monte Carlo methods:</p>
<ul class="simple">
<li><strong>Pro</strong>: No mesh generation is required to build geometry. By using
<a class="reference external" href="http://en.wikipedia.org/wiki/Constructive_solid_geometry">constructive solid geometry</a>, it&#8217;s possible to build arbitrarily complex
models with curved surfaces.</li>
<li><strong>Pro</strong>: Monte Carlo methods can be used with either continuous-energy or
multi-group cross sections.</li>
<li><strong>Pro</strong>: Running simulations in parallel is conceptually very simple.</li>
<li><strong>Con</strong>: Because they related on repeated random sampling, they are
computationally very expensive.</li>
<li><strong>Con</strong>: A simulation doesn&#8217;t automatically give you the global solution
everywhere &#8211; you have to specifically ask for those quantities you want.</li>
<li><strong>Con</strong>: Even after the problem is converged, it is necessary to simulate
many particles to reduce stochastic uncertainty.</li>
</ul>
<p>Because fewer approximations are made in solving a problem by the Monte Carlo
method, it is often seen as a &#8220;gold standard&#8221; which can be used as a benchmark
for a solution of the same problem by deterministic means. However, it comes at
the expense of a potentially longer simulation.</p>
</div>
<div class="section" id="how-does-it-work">
<h2>1.2. How does it work?<a class="headerlink" href="#how-does-it-work" title="Permalink to this headline"></a></h2>
<p>In order to do anything, the code first needs to have a model of some problem of
interest. This could be a nuclear reactor or any other physical system with
fissioning material. You, as the code user, will need to describe the model so
that the code can do something with it. A basic model consists of a few things:</p>
<ul class="simple">
<li>A description of the geometry &#8211; the problem should be split up into regions
of homogeneous material.</li>
<li>For each different material in the problem, a description of what nuclides are
in the material and at what density.</li>
<li>Various parameters telling the code how many particles to simulate and what
options to use.</li>
<li>A list of different physical quantities that the code should return at the end
of the simulation. Remember, in a Monte Carlo simulation, if you don&#8217;t ask for
anything, it will not give you any answers (other than a few default
quantities).</li>
</ul>
</div>
<div class="section" id="what-do-i-need-to-know">
<h2>1.3. What do I need to know?<a class="headerlink" href="#what-do-i-need-to-know" title="Permalink to this headline"></a></h2>
<p>If you are starting to work with OpenMC, there are a few things you should be
familiar with. Whether you plan on working in Linux, Mac OS X, or Windows, you
should be comfortable working in a command line environment. There are many
resources online for learning command line environments. If you are using Linux
or Mac OS X (also Unix-derived), <a class="reference external" href="http://www.ee.surrey.ac.uk/Teaching/Unix/">this tutorial</a> will help you get acquianted with
commonly-used commands.</p>
<p>OpenMC uses a version control software called <a class="reference external" href="http://git-scm.com/">git</a> to keep track of changes to
the code, document bugs and issues, and other development tasks. While you don&#8217;t
necessarily have to have git installed in order to download and run OpenMC, it
makes it much easier to receive updates if you do have it installed and have a
basic understanding of how it works. There are a list of good <a class="reference external" href="http://git-scm.com/documentation">git tutorials</a>
at the git documentation website. The <a class="reference external" href="https://github.com/mit-crpg/openmc">OpenMC source code</a> and documentation
are hosted at <a class="reference external" href="https://github.com/">GitHub</a>. In order to receive updates to the code directly,
submit <a class="reference external" href="https://github.com/mit-crpg/openmc/issues">bug reports</a>, and perform other development tasks, you may want to sign
up for a free account on GitHub. Once you have an account, you can follow <a class="reference external" href="http://help.github.com/set-up-git-redirect">these
instructions</a> on how to set up
your computer for using GitHub.</p>
<p>If you are new to nuclear engineering, you may want to review the NRC&#8217;s <a class="reference external" href="http://web.mit.edu/romano7/www/reactor_concepts.pdf">Reactor
Concepts Manual</a>. This manual describes the basics of nuclear power for
electricity generation, the fission process, and the overall systems in a
pressurized or boiling water reactor. Another resource that is a bit more
technical than the Reactor Concepts Manual but still at an elementary level is
the DOE Fundamentals Handbook on Nuclear Physics and Reactor Theory <a class="reference external" href="http://www.hss.doe.gov/nuclearsafety/techstds/docs/handbook/h1019v1.pdf">Volume I</a>
and <a class="reference external" href="http://www.hss.doe.gov/nuclearsafety/techstds/docs/handbook/h1019v2.pdf">Volume II</a>. You may also find it helpful to review the following terms:</p>
<ul class="simple">
<li><a class="reference external" href="http://en.wikipedia.org/wiki/Neutron_cross_section">Neutron cross section</a></li>
<li><a class="reference external" href="http://en.wikipedia.org/wiki/Effective_multiplication_factor">Effective multiplication factor</a></li>
<li><a class="reference external" href="http://en.wikipedia.org/wiki/Neutron_flux">Flux</a></li>
</ul>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="index.html">User&#8217;s Guide</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="setup.html">2. Installation and Configuration</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -17,7 +17,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.3.2',
VERSION: '0.4.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -28,8 +28,8 @@
<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="Creating XML Input Files" href="input.html" />
<link rel="prev" title="Methodology" href="../methods/index.html" />
<link rel="next" title="1. A Beginners Guide to OpenMC" href="beginners.html" />
<link rel="prev" title="4. Tallies" href="../methods/tallies.html" />
</head>
<body>
<div class="header">
@ -40,11 +40,11 @@
<div class="topnav">
<p>
«&#160;&#160;<a href="../methods/index.html">Methodology</a>
«&#160;&#160;<a href="../methods/tallies.html">4. Tallies</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="input.html">Creating XML Input Files</a>&#160;&#160;»
<a href="beginners.html">1. A Beginner&#8217;s Guide to OpenMC</a>&#160;&#160;»
</p>
</div>
@ -57,13 +57,74 @@
essential aspects of using OpenMC to perform neutronic simulations.</p>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="input.html">Creating XML Input Files</a><ul>
<li class="toctree-l2"><a class="reference internal" href="input.html#overview-of-files">Overview of Files</a></li>
<li class="toctree-l2"><a class="reference internal" href="input.html#geometry-specification-geometry-xml">Geometry Specification &#8211; geometry.xml</a></li>
<li class="toctree-l2"><a class="reference internal" href="input.html#materials-specification-materials-xml">Materials Specification &#8211; materials.xml</a></li>
<li class="toctree-l2"><a class="reference internal" href="input.html#settings-specification-settings-xml">Settings Specification &#8211; settings.xml</a></li>
<li class="toctree-l2"><a class="reference internal" href="input.html#tallies-specification-tallies-xml">Tallies Specification &#8211; tallies.xml</a></li>
<li class="toctree-l2"><a class="reference internal" href="input.html#geometry-plotting-specification-plot-xml">Geometry Plotting Specification &#8211; plot.xml</a></li>
<li class="toctree-l1"><a class="reference internal" href="beginners.html">1. A Beginner&#8217;s Guide to OpenMC</a><ul>
<li class="toctree-l2"><a class="reference internal" href="beginners.html#what-does-openmc-do">1.1. What does OpenMC do?</a></li>
<li class="toctree-l2"><a class="reference internal" href="beginners.html#how-does-it-work">1.2. How does it work?</a></li>
<li class="toctree-l2"><a class="reference internal" href="beginners.html#what-do-i-need-to-know">1.3. What do I need to know?</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="setup.html">2. Installation and Configuration</a><ul>
<li class="toctree-l2"><a class="reference internal" href="setup.html#prerequisites">2.1. Prerequisites</a></li>
<li class="toctree-l2"><a class="reference internal" href="setup.html#obtaining-the-source">2.2. Obtaining the Source</a></li>
<li class="toctree-l2"><a class="reference internal" href="setup.html#build-configuration">2.3. Build Configuration</a></li>
<li class="toctree-l2"><a class="reference internal" href="setup.html#compiling">2.4. Compiling</a></li>
<li class="toctree-l2"><a class="reference internal" href="setup.html#cross-section-configuration">2.5. Cross-Section Configuration</a></li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="input.html">3. Writing XML Input Files</a><ul>
<li class="toctree-l2"><a class="reference internal" href="input.html#overview-of-files">3.1. Overview of Files</a></li>
<li class="toctree-l2"><a class="reference internal" href="input.html#settings-specification-settings-xml">3.2. Settings Specification &#8211; settings.xml</a><ul>
<li class="toctree-l3"><a class="reference internal" href="input.html#criticality-element">3.2.1. <tt class="docutils literal"><span class="pre">&lt;criticality&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#cross-sections-element">3.2.2. <tt class="docutils literal"><span class="pre">&lt;cross_sections&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#cutoff-element">3.2.3. <tt class="docutils literal"><span class="pre">&lt;cutoff&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#energy-grid-element">3.2.4. <tt class="docutils literal"><span class="pre">&lt;energy_grid&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#entropy-element">3.2.5. <tt class="docutils literal"><span class="pre">&lt;entropy&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#ptables-element">3.2.6. <tt class="docutils literal"><span class="pre">&lt;ptables&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#seed-element">3.2.7. <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.8. <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#survival-biasing-element">3.2.9. <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#trace-element">3.2.10. <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#verbosity-element">3.2.11. <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>
<li class="toctree-l3"><a class="reference internal" href="input.html#surface-element">3.3.1. <tt class="docutils literal"><span class="pre">&lt;surface&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#cell-element">3.3.2. <tt class="docutils literal"><span class="pre">&lt;cell&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#lattice-element">3.3.3. <tt class="docutils literal"><span class="pre">&lt;lattice&gt;</span></tt> Element</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="input.html#materials-specification-materials-xml">3.4. Materials Specification &#8211; materials.xml</a><ul>
<li class="toctree-l3"><a class="reference internal" href="input.html#material-element">3.4.1. <tt class="docutils literal"><span class="pre">&lt;material&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#default-xs-element">3.4.2. <tt class="docutils literal"><span class="pre">&lt;default_xs&gt;</span></tt> Element</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="input.html#tallies-specification-tallies-xml">3.5. Tallies Specification &#8211; tallies.xml</a><ul>
<li class="toctree-l3"><a class="reference internal" href="input.html#tally-element">3.5.1. <tt class="docutils literal"><span class="pre">&lt;tally&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#mesh-element">3.5.2. <tt class="docutils literal"><span class="pre">&lt;mesh&gt;</span></tt> Element</a></li>
<li class="toctree-l3"><a class="reference internal" href="input.html#assume-separate-element">3.5.3. <tt class="docutils literal"><span class="pre">&lt;assume_separate&gt;</span></tt> Element</a></li>
</ul>
</li>
<li class="toctree-l2"><a class="reference internal" href="input.html#geometry-plotting-specification-plots-xml">3.6. Geometry Plotting Specification &#8211; plots.xml</a><ul>
<li class="toctree-l3"><a class="reference internal" href="input.html#plot-element">3.6.1. <tt class="docutils literal"><span class="pre">&lt;plot&gt;</span></tt> Element</a></li>
</ul>
</li>
</ul>
</li>
<li class="toctree-l1"><a class="reference internal" href="troubleshoot.html">4. Troubleshooting OpenMC</a><ul>
<li class="toctree-l2"><a class="reference internal" href="troubleshoot.html#problems-with-compilation">4.1. Problems with Compilation</a><ul>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#fatal-error-file-xml-data-settings-t-mod-opened-at-1-is-not-a-gfortran-module-file">4.1.1. Fatal Error: File &#8216;xml_data_settings_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">4.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">4.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">4.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">4.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">4.2. Problems with Simulations</a><ul>
<li class="toctree-l3"><a class="reference internal" href="troubleshoot.html#segmentation-fault">4.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">4.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#error-after-particle-crossed-surface-it-could-not-be-located-in-any-cell-and-it-did-not-leak">4.2.3. ERROR: After particle __ crossed surface __ it could not be located in any cell and it did not leak.</a></li>
</ul>
</li>
</ul>
</li>
</ul>
@ -75,18 +136,33 @@ essential aspects of using OpenMC to perform neutronic simulations.</p>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="../methods/index.html">Methodology</a>
«&#160;&#160;<a href="../methods/tallies.html">4. Tallies</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="input.html">Creating XML Input Files</a>&#160;&#160;»
<a href="beginners.html">1. A Beginner&#8217;s Guide to OpenMC</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011, Massachusetts Institute of Technology.
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -8,7 +8,7 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Creating XML Input Files &mdash; OpenMC Documentation</title>
<title>3. Writing XML Input Files &mdash; OpenMC Documentation</title>
<link rel="stylesheet" href="../_static/haiku.css" type="text/css" />
<link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
@ -17,7 +17,7 @@
<script type="text/javascript">
var DOCUMENTATION_OPTIONS = {
URL_ROOT: '../',
VERSION: '0.3.2',
VERSION: '0.4.2',
COLLAPSE_INDEX: false,
FILE_SUFFIX: '.html',
HAS_SOURCE: true
@ -29,8 +29,8 @@
<script type="text/javascript" src="../_static/theme_extras.js"></script>
<link rel="top" title="OpenMC Documentation" href="../index.html" />
<link rel="up" title="Users Guide" href="index.html" />
<link rel="next" title="Development Team" href="../developers.html" />
<link rel="prev" title="Users Guide" href="index.html" />
<link rel="next" title="4. Troubleshooting OpenMC" href="troubleshoot.html" />
<link rel="prev" title="2. Installation and Configuration" href="setup.html" />
</head>
<body>
<div class="header">
@ -41,19 +41,19 @@
<div class="topnav">
<p>
«&#160;&#160;<a href="index.html">User&#8217;s Guide</a>
«&#160;&#160;<a href="setup.html">2. Installation and Configuration</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../developers.html">Development Team</a>&#160;&#160;»
<a href="troubleshoot.html">4. Troubleshooting OpenMC</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="creating-xml-input-files">
<span id="usersguide-input"></span><h1>Creating XML Input Files<a class="headerlink" href="#creating-xml-input-files" title="Permalink to this headline"></a></h1>
<div class="section" id="writing-xml-input-files">
<span id="usersguide-input"></span><h1>3. Writing XML Input Files<a class="headerlink" href="#writing-xml-input-files" title="Permalink to this headline"></a></h1>
<p>Unlike many other Monte Carlo codes which use an arbitrary-format ASCII file
with &#8220;cards&#8221; to specify a particular geometry, materials, and associated run
settings, the input files for OpenMC are structured in a set of <a class="reference external" href="http://www.w3.org/XML/">XML</a> files. XML,
@ -62,12 +62,13 @@ to be exchanged efficiently between different programs and interfaces.</p>
<p>Anyone who has ever seen webpages written in HTML will be familiar with the
structure of XML whereby &#8220;tags&#8221; enclosed in angle brackets denote that a
particular piece of data will follow. Let us examine the follow example:</p>
<div class="highlight-python"><pre>&lt;person&gt;
&lt;firstname&gt;John&lt;/firstname&gt;
&lt;lastname&gt;Smith&lt;/lastname&gt;
&lt;age&gt;27&lt;/age&gt;
&lt;occupation&gt;Health Physicist&lt;/occupation&gt;
&lt;/person&gt;</pre>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;person&gt;</span>
<span class="nt">&lt;firstname&gt;</span>John<span class="nt">&lt;/firstname&gt;</span>
<span class="nt">&lt;lastname&gt;</span>Smith<span class="nt">&lt;/lastname&gt;</span>
<span class="nt">&lt;age&gt;</span>27<span class="nt">&lt;/age&gt;</span>
<span class="nt">&lt;occupation&gt;</span>Health Physicist<span class="nt">&lt;/occupation&gt;</span>
<span class="nt">&lt;/person&gt;</span>
</pre></div>
</div>
<p>Here we see that the first tag indicates that the following data will describe a
person. The nested tags <em>firstname</em>, <em>lastname</em>, <em>age</em>, and <em>occupation</em>
@ -75,20 +76,213 @@ indicate characteristics about the person being described.</p>
<p>In much the same way, OpenMC input uses XML tags to describe the geometry, the
materials, and settings for a Monte Carlo simulation.</p>
<div class="section" id="overview-of-files">
<h2>Overview of Files<a class="headerlink" href="#overview-of-files" title="Permalink to this headline"></a></h2>
<h2>3.1. Overview of Files<a class="headerlink" href="#overview-of-files" title="Permalink to this headline"></a></h2>
<p>To assemble a complete model for OpenMC, one needs to create separate XML files
for the geometry, materials, and settings. Additionally, an optional tallies XML
file specifies physical quantities to be tallied. OpenMC expects that these
files are called:</p>
for the geometry, materials, and settings. Additionally, there are two optional
input files. The first is a tallies XML file that specifies physical quantities
to be tallied. The second is a plots XML file that specifies regions of geometry
which should be plotted. OpenMC expects that these files are called:</p>
<ul class="simple">
<li><tt class="docutils literal"><span class="pre">geometry.xml</span></tt></li>
<li><tt class="docutils literal"><span class="pre">materials.xml</span></tt></li>
<li><tt class="docutils literal"><span class="pre">setings.xml</span></tt></li>
<li><tt class="docutils literal"><span class="pre">tallies.xml</span></tt></li>
<li><tt class="docutils literal"><span class="pre">plots.xml</span></tt></li>
</ul>
</div>
<div class="section" id="settings-specification-settings-xml">
<h2>3.2. Settings Specification &#8211; settings.xml<a class="headerlink" href="#settings-specification-settings-xml" title="Permalink to this headline"></a></h2>
<p>All simulation parameters and miscellaneous options are specified in the
settings.xml file.</p>
<div class="section" id="criticality-element">
<h3>3.2.1. <tt class="docutils literal"><span class="pre">&lt;criticality&gt;</span></tt> Element<a class="headerlink" href="#criticality-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;criticality&gt;</span></tt> element indicates that a criticality calculation should be
performed. It 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">The total number of batches, where each batch corresponds to multiple
fission source iterations. Batching is done to eliminate correlation between
realizations of random variables.</p>
<p><em>Default</em>: None</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name" colspan="2">generations_per_batch:</th></tr>
<tr class="field-even field"><td>&nbsp;</td><td class="field-body"><p class="first">The number of total fission source iterations per batch.</p>
<p><em>Default</em>: 1</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">inactive:</th><td class="field-body"><p class="first">The number of inactive batches. In general, the starting cycles in a
criticality calculation can not be used to contribute to tallies since the
fission source distribution and eigenvalue are generally not converged
immediately.</p>
<p><em>Default</em>: None</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">particles:</th><td class="field-body"><p class="first">The number of neutrons to simulate per fission source iteration.</p>
<p class="last"><em>Default</em>: None</p>
</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
<div class="section" id="cross-sections-element">
<span id="cross-sections"></span><h3>3.2.2. <tt class="docutils literal"><span class="pre">&lt;cross_sections&gt;</span></tt> Element<a class="headerlink" href="#cross-sections-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;cross_sections&gt;</span></tt> element has no attributes and simply indicates the path
to an XML cross section listing file (usually named cross_sections.xml). If this
element is absent from the settings.xml file, 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 will be used to find the path to the XML cross section
listing.</p>
</div>
<div class="section" id="cutoff-element">
<h3>3.2.3. <tt class="docutils literal"><span class="pre">&lt;cutoff&gt;</span></tt> Element<a class="headerlink" href="#cutoff-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;cutoff&gt;</span></tt> element indicates the weight cutoff used below which particles
undergo Russian roulette. Surviving particles are assigned a user-determined
weight. Note that weight cutoffs and Russian rouletting are not turned on by
default. 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">weight:</th><td class="field-body"><p class="first">The weight below which particles undergo Russian roulette.</p>
<p><em>Default</em>: 0.25</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">weight_avg:</th><td class="field-body"><p class="first">The weight that is assigned to particles that are not killed after Russian
roulette.</p>
<p class="last"><em>Default</em>: 1.0</p>
</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
<div class="section" id="energy-grid-element">
<h3>3.2.4. <tt class="docutils literal"><span class="pre">&lt;energy_grid&gt;</span></tt> Element<a class="headerlink" href="#energy-grid-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;energy_grid&gt;</span></tt> element determines the treatment of the energy grid during
a simulation. Setting this element to &#8220;nuclide&#8221; will cause OpenMC to use a
nuclide&#8217;s energy grid when determining what points to interpolate between for
determining cross sections (i.e. non-unionized energy grid). To use a unionized
energy grid, set this element to &#8220;union&#8221;. Note that the unionized energy grid
treatment is slightly different than that employed in Serpent.</p>
<blockquote>
<div><em>Default</em>: union</div></blockquote>
</div>
<div class="section" id="entropy-element">
<h3>3.2.5. <tt class="docutils literal"><span class="pre">&lt;entropy&gt;</span></tt> Element<a class="headerlink" href="#entropy-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;entropy&gt;</span></tt> element describes a mesh that is used for calculting Shannon
entropy. This mesh should cover all possible fissionable materials in the
problem. It 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">dimension:</th><td class="field-body"><p class="first">The number of mesh cells in the x, y, and z directions, respectively.</p>
<dl class="docutils">
<dt><em>Default</em>: If this tag is not present, the number of mesh cells is</dt>
<dd><p class="first last">automatically determined by the code.</p>
</dd>
</dl>
</td>
</tr>
<tr class="field-even field"><th class="field-name">lower_left:</th><td class="field-body"><p class="first">The Cartersian coordinates of the lower-left corner of the mesh.</p>
<p><em>Default</em>: None</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">upper_right:</th><td class="field-body"><p class="first">The Cartersian coordinates of the upper-right corner of the mesh.</p>
<p class="last"><em>Default</em>: None</p>
</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
<div class="section" id="ptables-element">
<h3>3.2.6. <tt class="docutils literal"><span class="pre">&lt;ptables&gt;</span></tt> Element<a class="headerlink" href="#ptables-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;ptables&gt;</span></tt> element determines whether probability tables should be used
in the unresolved resonance range if available. This element has no attributes
or sub-elements and can be set to either &#8220;off&#8221; or &#8220;on&#8221;.</p>
<blockquote>
<div><em>Default</em>: on</div></blockquote>
</div>
<div class="section" id="seed-element">
<h3>3.2.7. <tt class="docutils literal"><span class="pre">&lt;seed&gt;</span></tt> Element<a class="headerlink" href="#seed-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">seed</span></tt> element is used to set the seed used for the linear congruential
pseudo-random number generator.</p>
<blockquote>
<div><em>Default</em>: 1</div></blockquote>
</div>
<div class="section" id="source-element">
<h3>3.2.8. <tt class="docutils literal"><span class="pre">&lt;source&gt;</span></tt> Element<a class="headerlink" href="#source-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">source</span></tt> element gives information on an initial source guess for
criticality calculations. It takes the following attributes:</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">type:</th><td class="field-body"><p class="first">The type of source distribution. Setting this to &#8220;box&#8221; indicates that the
starting source should be sampled uniformly in a parallelepiped. Setting
this to &#8220;point&#8221; indicates that the starting source should be sampled from an
isotropic point source. Setting this to &#8220;file&#8221; indicates that the starting
source should be sampled from a <tt class="docutils literal"><span class="pre">source.binary</span></tt> file.</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">coeffs:</th><td class="field-body"><p class="first">For a &#8220;box&#8221; source distribution, <tt class="docutils literal"><span class="pre">coeffs</span></tt> should be given as six real
numbers, the first three of which specify the lower-left corner of a
parallelepiped and the last three of which specify the upper-right
corner. Source sites are sampled uniformly through that parallelepiped.</p>
<p>For a &#8220;point&#8221; source distribution, <tt class="docutils literal"><span class="pre">coeffs</span></tt> should be given as three real
numbers which specify the (x,y,z) location of an isotropic point source</p>
<p class="last">For a &#8220;file&#8221; source distribution, <tt class="docutils literal"><span class="pre">coeffs</span></tt> should not be specified.</p>
</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
<div class="section" id="survival-biasing-element">
<h3>3.2.9. <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 assumes wither the
value <tt class="docutils literal"><span class="pre">on</span></tt> or <tt class="docutils literal"><span class="pre">off</span></tt>. If turned on, this option will enable the use of
survival biasing, otherwise known as implicit capture or absorption.</p>
<blockquote>
<div><em>Default</em>: off</div></blockquote>
</div>
<div class="section" id="trace-element">
<h3>3.2.10. <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>
<blockquote>
<div><em>Default</em>: None</div></blockquote>
</div>
<div class="section" id="verbosity-element">
<h3>3.2.11. <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>
<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">value:</th><td class="field-body"><p class="first">The specified verbosity between 1 and 10.</p>
<p class="last"><em>Default</em>: 5</p>
</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
</div>
<div class="section" id="geometry-specification-geometry-xml">
<h2>Geometry Specification &#8211; geometry.xml<a class="headerlink" href="#geometry-specification-geometry-xml" title="Permalink to this headline"></a></h2>
<h2>3.3. Geometry Specification &#8211; geometry.xml<a class="headerlink" href="#geometry-specification-geometry-xml" title="Permalink to this headline"></a></h2>
<p>The geometry in OpenMC is described using <a class="reference external" href="http://en.wikipedia.org/wiki/Constructive_solid_geometry">constructive solid geometry</a> (CSG),
also sometimes referred to as combinatorial geometry. CSG allows a user to
create complex objects using Boolean operators on a set of simpler surfaces. In
@ -98,24 +292,25 @@ bounding surfaces.</p>
<p>Every geometry.xml must have an XML declaration at the beginning of the file and
a root element named geometry. Within the root element the user can define any
number of cells, surfaces, and lattices. Let us look at the following example:</p>
<div class="highlight-python"><pre>&lt;?xml version="1.0"&gt;
&lt;geometry&gt;
&lt;!-- This is a comment --&gt;
<div class="highlight-xml"><div class="highlight"><pre><span class="cp">&lt;?xml version=&quot;1.0&quot;?&gt;</span>
<span class="nt">&lt;geometry&gt;</span>
<span class="c">&lt;!-- This is a comment --&gt;</span>
&lt;surface&gt;
&lt;id&gt;1&lt;/id&gt;
&lt;type&gt;sphere&lt;/type&gt;
&lt;coeffs&gt;0.0 0.0 0.0 5.0&lt;/coeffs&gt;
&lt;boundary&gt;vacuum&lt;/boundary&gt;
&lt;surface&gt;
<span class="nt">&lt;surface&gt;</span>
<span class="nt">&lt;id&gt;</span>1<span class="nt">&lt;/id&gt;</span>
<span class="nt">&lt;type&gt;</span>sphere<span class="nt">&lt;/type&gt;</span>
<span class="nt">&lt;coeffs&gt;</span>0.0 0.0 0.0 5.0<span class="nt">&lt;/coeffs&gt;</span>
<span class="nt">&lt;boundary&gt;</span>vacuum<span class="nt">&lt;/boundary&gt;</span>
<span class="nt">&lt;surface&gt;</span>
&lt;cell&gt;
&lt;id&gt;1&lt;/id&gt;
&lt;universe&gt;0&lt;/universe&gt;
&lt;material&gt;1&lt;/material&gt;
&lt;surfaces&gt;-1&lt;/surfaces&gt;
&lt;/cell&gt;
&lt;/geometry&gt;</pre>
<span class="nt">&lt;cell&gt;</span>
<span class="nt">&lt;id&gt;</span>1<span class="nt">&lt;/id&gt;</span>
<span class="nt">&lt;universe&gt;</span>0<span class="nt">&lt;/universe&gt;</span>
<span class="nt">&lt;material&gt;</span>1<span class="nt">&lt;/material&gt;</span>
<span class="nt">&lt;surfaces&gt;</span>-1<span class="nt">&lt;/surfaces&gt;</span>
<span class="nt">&lt;/cell&gt;</span>
<span class="nt">&lt;/geometry&gt;</span>
</pre></div>
</div>
<p>At the beginning of this file is a comment, denoted by a tag starting with
<tt class="docutils literal"><span class="pre">&lt;!--</span></tt> and ending with <tt class="docutils literal"><span class="pre">--&gt;</span></tt>. Comments, as well as any other type of input,
@ -123,7 +318,7 @@ may span multiple lines. One convenient feature of the XML input format is that
sub-elements of the <tt class="docutils literal"><span class="pre">cell</span></tt> and <tt class="docutils literal"><span class="pre">surface</span></tt> elements can also be equivalently
expressed of attributes of the original element, e.g. the geometry file above
could be written as:</p>
<div class="highlight-python"><pre>&lt;?xml version="1.0"&gt;
<div class="highlight-xml"><pre>&lt;?xml version="1.0"&gt;
&lt;geometry&gt;
&lt;!-- This is a comment --&gt;
@ -133,8 +328,8 @@ could be written as:</p>
&lt;/geometry&gt;</pre>
</div>
<div class="section" id="surface-element">
<h3><tt class="docutils literal"><span class="pre">surface</span></tt> Element<a class="headerlink" href="#surface-element" title="Permalink to this headline"></a></h3>
<p>Each <tt class="docutils literal"><span class="pre">surface</span></tt> element can have the following attributes or sub-elements:</p>
<h3>3.3.1. <tt class="docutils literal"><span class="pre">&lt;surface&gt;</span></tt> Element<a class="headerlink" href="#surface-element" title="Permalink to this headline"></a></h3>
<p>Each <tt class="docutils literal"><span class="pre">&lt;surface&gt;</span></tt> element can have the following attributes or sub-elements:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
@ -144,8 +339,8 @@ could be written as:</p>
<p><em>Default</em>: None</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">type:</th><td class="field-body"><p class="first">The type of the surfaces. This can be <tt class="docutils literal"><span class="pre">x-plane</span></tt>, <tt class="docutils literal"><span class="pre">y-plane</span></tt>, <tt class="docutils literal"><span class="pre">z-plane</span></tt>,
<tt class="docutils literal"><span class="pre">plane</span></tt>, <tt class="docutils literal"><span class="pre">x-cylinder</span></tt>, <tt class="docutils literal"><span class="pre">y-cylinder</span></tt>, <tt class="docutils literal"><span class="pre">z-cylinder</span></tt>, or <tt class="docutils literal"><span class="pre">sphere</span></tt>.</p>
<tr class="field-even field"><th class="field-name">type:</th><td class="field-body"><p class="first">The type of the surfaces. This can be &#8220;x-plane&#8221;, &#8220;y-plane&#8221;, &#8220;z-plane&#8221;,
&#8220;plane&#8221;, &#8220;x-cylinder&#8221;, &#8220;y-cylinder&#8221;, &#8220;z-cylinder&#8221;, or &#8220;sphere&#8221;.</p>
<p><em>Default</em>: None</p>
</td>
</tr>
@ -154,9 +349,9 @@ a list a what coefficients to specify for a given surface</p>
<p><em>Default</em>: None</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">boundary:</th><td class="field-body"><p class="first">The boundary condition for the surface. This can be <tt class="docutils literal"><span class="pre">transmission</span></tt>,
<tt class="docutils literal"><span class="pre">vacuum</span></tt>, or <tt class="docutils literal"><span class="pre">reflective</span></tt>.</p>
<p class="last"><em>Default</em>: <tt class="docutils literal"><span class="pre">transmission</span></tt></p>
<tr class="field-even field"><th class="field-name">boundary:</th><td class="field-body"><p class="first">The boundary condition for the surface. This can be &#8220;transmission&#8221;,
&#8220;vacuum&#8221;, or &#8220;reflective&#8221;.</p>
<p class="last"><em>Default</em>: &#8220;transmission&#8221;</p>
</td>
</tr>
</tbody>
@ -200,8 +395,8 @@ R^2"/>. The coefficients specified are &#8220;<img class="math" src="../_images/
</div></blockquote>
</div>
<div class="section" id="cell-element">
<h3><tt class="docutils literal"><span class="pre">cell</span></tt> Element<a class="headerlink" href="#cell-element" title="Permalink to this headline"></a></h3>
<p>Each <tt class="docutils literal"><span class="pre">cell</span></tt> element can have the following attributes or sub-elements:</p>
<h3>3.3.2. <tt class="docutils literal"><span class="pre">&lt;cell&gt;</span></tt> Element<a class="headerlink" href="#cell-element" title="Permalink to this headline"></a></h3>
<p>Each <tt class="docutils literal"><span class="pre">&lt;cell&gt;</span></tt> element can have the following attributes or sub-elements:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
@ -242,11 +437,11 @@ bounding surfaces would be given as &#8220;-3 5&#8221;.</p>
</div></blockquote>
</div>
<div class="section" id="lattice-element">
<h3><tt class="docutils literal"><span class="pre">lattice</span></tt> Element<a class="headerlink" href="#lattice-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">lattice</span></tt> can be used to represent repeating structures (e.g. fuel pins in
an assembly) or other geometry which naturally fits into a two-dimensional
<h3>3.3.3. <tt class="docutils literal"><span class="pre">&lt;lattice&gt;</span></tt> Element<a class="headerlink" href="#lattice-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;lattice&gt;</span></tt> can be used to represent repeating structures (e.g. fuel pins
in an assembly) or other geometry which naturally fits into a two-dimensional
structured mesh. Each cell within the lattice is filled with a specified
universe. A <tt class="docutils literal"><span class="pre">lattice</span></tt> accepts the following attributes or sub-elements:</p>
universe. A <tt class="docutils literal"><span class="pre">&lt;lattice&gt;</span></tt> accepts the following attributes or sub-elements:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
@ -283,9 +478,9 @@ directions, respectively.</p>
</div>
</div>
<div class="section" id="materials-specification-materials-xml">
<h2>Materials Specification &#8211; materials.xml<a class="headerlink" href="#materials-specification-materials-xml" title="Permalink to this headline"></a></h2>
<h2>3.4. Materials Specification &#8211; materials.xml<a class="headerlink" href="#materials-specification-materials-xml" title="Permalink to this headline"></a></h2>
<div class="section" id="material-element">
<h3><tt class="docutils literal"><span class="pre">material</span></tt> Element<a class="headerlink" href="#material-element" title="Permalink to this headline"></a></h3>
<h3>3.4.1. <tt class="docutils literal"><span class="pre">&lt;material&gt;</span></tt> Element<a class="headerlink" href="#material-element" title="Permalink to this headline"></a></h3>
<p>Each <tt class="docutils literal"><span class="pre">material</span></tt> element can have the following attributes or sub-elements:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
@ -297,10 +492,10 @@ directions, respectively.</p>
</tr>
<tr class="field-even field"><th class="field-name">density:</th><td class="field-body"><p class="first">An element with attributes/sub-elements called <tt class="docutils literal"><span class="pre">value</span></tt> and <tt class="docutils literal"><span class="pre">units</span></tt>. The
<tt class="docutils literal"><span class="pre">value</span></tt> attribute is the numeric value of the density while the <tt class="docutils literal"><span class="pre">units</span></tt>
can be &#8220;g/cm3&#8221;, &#8220;kg/m3&#8221;, &#8220;atom/b-cm&#8221;, or &#8220;atom/cm3&#8221;. For example, this could
be specified as:</p>
<div class="highlight-python"><pre>&lt;density value="4.5" units="g/cm3" /&gt;</pre>
</div>
can be &#8220;g/cm3&#8221;, &#8220;kg/m3&#8221;, &#8220;atom/b-cm&#8221;, &#8220;atom/cm3&#8221;, or &#8220;sum&#8221;. The &#8220;sum&#8221; unit
indicates that the density should be calculated as the sum of the atom
fractions for each nuclide in the material. This should not be used in
conjunction with weight percents.</p>
<p><em>Default</em>: None</p>
</td>
</tr>
@ -333,10 +528,10 @@ and <tt class="docutils literal"><span class="pre">xs</span></tt> is the cross-s
</div></blockquote>
</div>
<div class="section" id="default-xs-element">
<h3><tt class="docutils literal"><span class="pre">default_xs</span></tt> Element<a class="headerlink" href="#default-xs-element" title="Permalink to this headline"></a></h3>
<h3>3.4.2. <tt class="docutils literal"><span class="pre">&lt;default_xs&gt;</span></tt> Element<a class="headerlink" href="#default-xs-element" title="Permalink to this headline"></a></h3>
<p>In some circumstances, the cross-section identifier may be the same for many or
all nuclides in a given problem. In this case, rather than specifying the
<tt class="docutils literal"><span class="pre">xs=...</span></tt> attribute on every nuclide, a <tt class="docutils literal"><span class="pre">default_xs</span></tt> element can be used to
<tt class="docutils literal"><span class="pre">xs=...</span></tt> attribute on every nuclide, a <tt class="docutils literal"><span class="pre">&lt;default_xs&gt;</span></tt> element can be used to
set the default cross-section identifier for any nuclide without an identifier
explicitly listed. This element has no attributes and accepts a 3-letter string
that indicates the default cross-section identifier, e.g. &#8220;70c&#8221;.</p>
@ -344,184 +539,8 @@ that indicates the default cross-section identifier, e.g. &#8220;70c&#8221;.</p>
<div><em>Default</em>: None</div></blockquote>
</div>
</div>
<div class="section" id="settings-specification-settings-xml">
<h2>Settings Specification &#8211; settings.xml<a class="headerlink" href="#settings-specification-settings-xml" title="Permalink to this headline"></a></h2>
<p>All simulation parameters and miscellaneous options are specified in the
settings.xml file.</p>
<div class="section" id="criticality-element">
<h3><tt class="docutils literal"><span class="pre">criticality</span></tt> Element<a class="headerlink" href="#criticality-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">criticality</span></tt> element indicates that a criticality calculation should be
performed. It 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">The total number of batches, where each batch corresponds to multiple
fission source iterations. Batching is done to eliminate correlation between
realizations of random variables.</p>
<p><em>Default</em>: None</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name" colspan="2">generations_per_batch:</th></tr>
<tr class="field-even field"><td>&nbsp;</td><td class="field-body"><p class="first">The number of total fission source iterations per batch.</p>
<p><em>Default</em>: 1</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">inactive:</th><td class="field-body"><p class="first">The number of inactive batches. In general, the starting cycles in a
criticality calculation can not be used to contribute to tallies since the
fission source distribution and eigenvalue are generally not converged
immediately.</p>
<p><em>Default</em>: None</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">particles:</th><td class="field-body"><p class="first">The number of neutrons to simulate per fission source iteration.</p>
<p class="last"><em>Default</em>: None</p>
</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
<div class="section" id="cross-sections-element">
<h3><tt class="docutils literal"><span class="pre">cross_sections</span></tt> Element<a class="headerlink" href="#cross-sections-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">cross_sections</span></tt> element has no attributes and simply indicates the path
to an XML cross section listing file (usually named cross_sections.xml). If this
element is absent from the settings.xml file, the environment variable
<tt class="docutils literal"><span class="pre">CROSS_SECTIONS</span></tt> will be used to find the path to the XML cross section
listing.</p>
</div>
<div class="section" id="cutoff-element">
<h3><tt class="docutils literal"><span class="pre">cutoff</span></tt> Element<a class="headerlink" href="#cutoff-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">cutoff</span></tt> element indicates the weight cutoff used below which particles
undergo Russian roulette. Surviving particles are assigned a user-determined
weight. Note that weight cutoffs and Russian rouletting are not turned on by
default. 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">weight:</th><td class="field-body"><p class="first">The weight below which particles undergo Russian roulette.</p>
<p><em>Default</em>: 0.25</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">weight_avg:</th><td class="field-body"><p class="first">The weight that is assigned to particles that are not killed after Russian
roulette.</p>
<p class="last"><em>Default</em>: 1.0</p>
</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
<div class="section" id="energy-grid-element">
<h3><tt class="docutils literal"><span class="pre">energy_grid</span></tt> Element<a class="headerlink" href="#energy-grid-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">energy_grid</span></tt> element determines the treatment of the energy grid during a
simulation. Setting this element to &#8220;nuclide&#8221; will cause OpenMC to use a
nuclide&#8217;s energy grid when determining what points to interpolate between for
determining cross sections (i.e. non-unionized energy grid). To use a unionized
energy grid, set this element to &#8220;union&#8221;. Note that the unionized energy grid
treatment is slightly different than that employed in Serpent.</p>
<blockquote>
<div><em>Default</em>: union</div></blockquote>
</div>
<div class="section" id="entropy-element">
<h3><tt class="docutils literal"><span class="pre">entropy</span></tt> Element<a class="headerlink" href="#entropy-element" title="Permalink to this headline"></a></h3>
<p>This element describes a mesh that is used for calculting Shannon entropy. This
mesh should cover all possible fissionable materials in the problem. It 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">dimension:</th><td class="field-body"><p class="first">The number of mesh cells in the x, y, and z directions, respectively.</p>
<dl class="docutils">
<dt><em>Default</em>: If this tag is not present, the number of mesh cells is</dt>
<dd><p class="first last">automatically determined by the code.</p>
</dd>
</dl>
</td>
</tr>
<tr class="field-even field"><th class="field-name">lower_left:</th><td class="field-body"><p class="first">The Cartersian coordinates of the lower-left corner of the mesh.</p>
<p><em>Default</em>: None</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">upper_right:</th><td class="field-body"><p class="first">The Cartersian coordinates of the upper-right corner of the mesh.</p>
<p class="last"><em>Default</em>: None</p>
</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
<div class="section" id="ptables-element">
<h3><tt class="docutils literal"><span class="pre">ptables</span></tt> Element<a class="headerlink" href="#ptables-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">ptables</span></tt> element determines whether probability tables should be used in
the unresolved resonance range if available. This element has no attributes or
sub-elements and can be set to either &#8220;off&#8221; or &#8220;on&#8221;.</p>
<blockquote>
<div><em>Default</em>: on</div></blockquote>
</div>
<div class="section" id="source-element">
<h3><tt class="docutils literal"><span class="pre">source</span></tt> Element<a class="headerlink" href="#source-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">source</span></tt> element gives information on an initial source guess for
criticality calculations. It takes the following attributes:</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">type:</th><td class="field-body">The type of source distribution. Currently, the only accepted option is
&#8220;box&#8221;</td>
</tr>
<tr class="field-even field"><th class="field-name">coeffs:</th><td class="field-body">For a &#8220;box&#8221; source distribution, <tt class="docutils literal"><span class="pre">coeffs</span></tt> should be given as six integers,
the first three of which specify the lower-left corner of a parallelepiped
and the last three of which specify the upper-right corner. Source sites are
sampled uniformly through that parallelepiped.</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
<div class="section" id="survival-biasing-element">
<h3><tt class="docutils literal"><span class="pre">survival_biasing</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">survival_biasing</span></tt> element has no attributes and assumes wither the
value <tt class="docutils literal"><span class="pre">on</span></tt> or <tt class="docutils literal"><span class="pre">off</span></tt>. If turned on, this option will enable the use of
survival biasing, otherwise known as implicit capture or absorption.</p>
<blockquote>
<div><em>Default</em>: off</div></blockquote>
</div>
<div class="section" id="trace-element">
<h3><tt class="docutils literal"><span class="pre">trace</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">trace</span></tt> element can be used to print out detailed information about a
single particle during a simulation. This element should be followed by two
integers, the cycle and one for the particle number.</p>
<blockquote>
<div><em>Default</em>: None</div></blockquote>
</div>
<div class="section" id="verbosity-element">
<h3><tt class="docutils literal"><span class="pre">verbosity</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">verbosity</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>
<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">value:</th><td class="field-body"><p class="first">The specified verbosity between 1 and 10.</p>
<p class="last"><em>Default</em>: 5</p>
</td>
</tr>
</tbody>
</table>
</div></blockquote>
</div>
</div>
<div class="section" id="tallies-specification-tallies-xml">
<h2>Tallies Specification &#8211; tallies.xml<a class="headerlink" href="#tallies-specification-tallies-xml" title="Permalink to this headline"></a></h2>
<h2>3.5. Tallies Specification &#8211; tallies.xml<a class="headerlink" href="#tallies-specification-tallies-xml" title="Permalink to this headline"></a></h2>
<p>The tallies.xml file allows the user to tell the code what results he/she is
interested in, e.g. the fission rate in a given cell or the current across a
given surface. There are two pieces of information that determine what
@ -534,10 +553,10 @@ preventing others from scoring to the tally.</p>
filters can be used for a tally. The following types of filter are available:
cell, universe, material, surface, birth region, pre-collision energy,
post-collision energy, and an arbitrary structured mesh.</p>
<p>The two valid elements in the tallies.xml file are <tt class="docutils literal"><span class="pre">tally</span></tt> and <tt class="docutils literal"><span class="pre">mesh</span></tt>.</p>
<p>The two valid elements in the tallies.xml file are <tt class="docutils literal"><span class="pre">&lt;tally&gt;</span></tt> and <tt class="docutils literal"><span class="pre">&lt;mesh&gt;</span></tt>.</p>
<div class="section" id="tally-element">
<h3><tt class="docutils literal"><span class="pre">tally</span></tt> Element<a class="headerlink" href="#tally-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">tally</span></tt> element accepts the following sub-elements:</p>
<h3>3.5.1. <tt class="docutils literal"><span class="pre">&lt;tally&gt;</span></tt> Element<a class="headerlink" href="#tally-element" title="Permalink to this headline"></a></h3>
<p>The <tt class="docutils literal"><span class="pre">&lt;tally&gt;</span></tt> element accepts the following sub-elements:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
<col class="field-name" />
@ -620,9 +639,9 @@ secondary neutrons.</td>
</div></blockquote>
</div>
<div class="section" id="mesh-element">
<h3><tt class="docutils literal"><span class="pre">mesh</span></tt> Element<a class="headerlink" href="#mesh-element" title="Permalink to this headline"></a></h3>
<h3>3.5.2. <tt class="docutils literal"><span class="pre">&lt;mesh&gt;</span></tt> Element<a class="headerlink" href="#mesh-element" title="Permalink to this headline"></a></h3>
<p>If a structured mesh is desired as a filter for a tally, it must be specified in
a separate element with the tag name <tt class="docutils literal"><span class="pre">mesh</span></tt>. This element has the following
a separate element with the tag name <tt class="docutils literal"><span class="pre">&lt;mesh&gt;</span></tt>. This element has the following
attributes/sub-elements:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
@ -644,7 +663,7 @@ given, it is assumed that the mesh is an x-y mesh.</td>
</div></blockquote>
</div>
<div class="section" id="assume-separate-element">
<h3><tt class="docutils literal"><span class="pre">assume_separate</span></tt> Element<a class="headerlink" href="#assume-separate-element" title="Permalink to this headline"></a></h3>
<h3>3.5.3. <tt class="docutils literal"><span class="pre">&lt;assume_separate&gt;</span></tt> Element<a class="headerlink" href="#assume-separate-element" title="Permalink to this headline"></a></h3>
<p>In cases where the user needs to specify many different tallies each of which
are spatially separate, this tag can be used to cut down on some of the tally
overhead. The effect of assuming all tallies are spatially separate is that once
@ -660,14 +679,14 @@ separate can lead to incorrect results.</p>
</div></blockquote>
</div>
</div>
<div class="section" id="geometry-plotting-specification-plot-xml">
<h2>Geometry Plotting Specification &#8211; plot.xml<a class="headerlink" href="#geometry-plotting-specification-plot-xml" title="Permalink to this headline"></a></h2>
<p>A basic 2D plotting capability is available in OpenMC by creating a
plots.xml file and subsequently running with the command-line flag <tt class="docutils literal"><span class="pre">-plot</span></tt>. The
root element of the plot.xml is simply <tt class="docutils literal"><span class="pre">&lt;plots&gt;</span></tt> and any number output
figures can be defined with <tt class="docutils literal"><span class="pre">&lt;plot&gt;</span></tt> sub-elements.</p>
<div class="section" id="geometry-plotting-specification-plots-xml">
<h2>3.6. Geometry Plotting Specification &#8211; plots.xml<a class="headerlink" href="#geometry-plotting-specification-plots-xml" title="Permalink to this headline"></a></h2>
<p>A basic 2D plotting capability is available in OpenMC by creating a plots.xml
file and subsequently running with the command-line flag <tt class="docutils literal"><span class="pre">-plot</span></tt>. The root
element of the plots.xml is simply <tt class="docutils literal"><span class="pre">&lt;plots&gt;</span></tt> and any number output figures can
be defined with <tt class="docutils literal"><span class="pre">&lt;plot&gt;</span></tt> sub-elements.</p>
<div class="section" id="plot-element">
<h3><tt class="docutils literal"><span class="pre">plot</span></tt> Element<a class="headerlink" href="#plot-element" title="Permalink to this headline"></a></h3>
<h3>3.6.1. <tt class="docutils literal"><span class="pre">&lt;plot&gt;</span></tt> Element<a class="headerlink" href="#plot-element" title="Permalink to this headline"></a></h3>
<p>Each plot must contain a combination of the following attributes or sub-elements:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
@ -687,13 +706,13 @@ which colors regions by cells and materials, respectively.</p>
<p><em>Default</em>: <tt class="docutils literal"><span class="pre">cell</span></tt></p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">origin:</th><td class="field-body"><p class="first">Specifies the XYZ coordinate of the center of the plot. Should be 3 floats
separated by spaces.</p>
<tr class="field-even field"><th class="field-name">origin:</th><td class="field-body"><p class="first">Specifies the (x,y,z) coordinate of the center of the plot. Should be three
floats separated by spaces.</p>
<p><em>Default</em>: None - Required entry</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">width:</th><td class="field-body"><p class="first">Specifies the width of the plot along each of the basis directions.
Should be 2 or 3 floats separated by spaces for 2D plots and 3D plots,
<tr class="field-odd field"><th class="field-name">width:</th><td class="field-body"><p class="first">Specifies the width of the plot along each of the basis directions. Should
be two or three floats separated by spaces for 2D plots and 3D plots,
respectively.</p>
<p><em>Default</em>: None - Required entry</p>
</td>
@ -715,7 +734,7 @@ magnitude without any loss of image quality.</p>
</tbody>
</table>
</div></blockquote>
<p><tt class="docutils literal"><span class="pre">plot</span></tt> elements of <tt class="docutils literal"><span class="pre">type</span></tt> <tt class="docutils literal"><span class="pre">slice</span></tt> also contain the following attributes or
<p><tt class="docutils literal"><span class="pre">&lt;plot&gt;</span></tt> elements of <tt class="docutils literal"><span class="pre">type</span></tt> &#8220;slice&#8221; also contain the following attributes or
sub-elements:</p>
<blockquote>
<div><table class="docutils field-list" frame="void" rules="none">
@ -723,12 +742,12 @@ sub-elements:</p>
<col class="field-body" />
<tbody valign="top">
<tr class="field-odd field"><th class="field-name">basis:</th><td class="field-body"><p class="first">Keyword specifying the plane of the plot for <tt class="docutils literal"><span class="pre">slice</span></tt> type plots. Can be
one of: <tt class="docutils literal"><span class="pre">xy</span></tt>, <tt class="docutils literal"><span class="pre">xz</span></tt>, <tt class="docutils literal"><span class="pre">yz</span></tt>.</p>
<p><em>Default</em>: <tt class="docutils literal"><span class="pre">xy</span></tt></p>
one of: &#8220;xy&#8221;, &#8220;xz&#8221;, &#8220;yz&#8221;.</p>
<p><em>Default</em>: &#8220;xy&#8221;</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">pixels:</th><td class="field-body"><p class="first">Specifies the number of pixes to be used along each of the basis directions for
<tt class="docutils literal"><span class="pre">slice</span></tt> plots. Should be 2 integers separated by spaces.</p>
<tr class="field-even field"><th class="field-name">pixels:</th><td class="field-body"><p class="first">Specifies the number of pixes to be used along each of the basis directions
for &#8220;slice&#8221; plots. Should be two integers separated by spaces.</p>
<div class="admonition warning">
<p class="first admonition-title">Warning</p>
<p class="last">The <tt class="docutils literal"><span class="pre">pixels</span></tt> input determines the output file size. For the PPM
@ -745,15 +764,15 @@ ratio defined in <tt class="docutils literal"><span class="pre">width</span></tt
<p class="last">Geometry features along a basis direction smaller than <tt class="docutils literal"><span class="pre">width</span></tt>/<tt class="docutils literal"><span class="pre">pixels</span></tt>
along that basis direction may not appear in the plot.</p>
</div>
<p><em>Default</em>: None - Required entry for <tt class="docutils literal"><span class="pre">slice</span></tt> plots</p>
<p><em>Default</em>: None - Required entry for &#8220;slice&#8221; plots</p>
</td>
</tr>
<tr class="field-odd field"><th class="field-name">background:</th><td class="field-body"><p class="first">Specifies the RGB color of the regions where no OpenMC cell can be found. Should
be 3 integers deparated by spaces.</p>
be three integers separated by spaces.</p>
<p><em>Default</em>: 0 0 0 (white)</p>
</td>
</tr>
<tr class="field-even field"><th class="field-name">col_spec:</th><td class="field-body"><p class="first">Any number of this optional tag may be included in each <tt class="docutils literal"><span class="pre">plot</span></tt> element, which can
<tr class="field-even field"><th class="field-name">col_spec:</th><td class="field-body"><p class="first">Any number of this optional tag may be included in each <tt class="docutils literal"><span class="pre">&lt;plot&gt;</span></tt> element, which can
override the default random colors for cells or materials. Each <tt class="docutils literal"><span class="pre">col_spec</span></tt>
element must contain <tt class="docutils literal"><span class="pre">id</span></tt> and <tt class="docutils literal"><span class="pre">rgb</span></tt> sub-elements.</p>
<table class="docutils field-list" frame="void" rules="none">
@ -801,18 +820,33 @@ materials to plot. This overrides any <tt class="docutils literal"><span class=
<div class="bottomnav">
<p>
«&#160;&#160;<a href="index.html">User&#8217;s Guide</a>
«&#160;&#160;<a href="setup.html">2. Installation and Configuration</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../developers.html">Development Team</a>&#160;&#160;»
<a href="troubleshoot.html">4. Troubleshooting OpenMC</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011, Massachusetts Institute of Technology.
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>

188
usersguide/setup.html Normal file
View file

@ -0,0 +1,188 @@
<!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>2. Installation and Configuration &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.4.2',
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="Users Guide" href="index.html" />
<link rel="next" title="3. Writing XML Input Files" href="input.html" />
<link rel="prev" title="1. A Beginners Guide to OpenMC" href="beginners.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="beginners.html">1. A Beginner&#8217;s Guide to OpenMC</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="input.html">3. Writing XML Input Files</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="installation-and-configuration">
<span id="usersguide-setup"></span><h1>2. Installation and Configuration<a class="headerlink" href="#installation-and-configuration" title="Permalink to this headline"></a></h1>
<div class="section" id="prerequisites">
<h2>2.1. Prerequisites<a class="headerlink" href="#prerequisites" title="Permalink to this headline"></a></h2>
<p>In order to compile OpenMC, you will need to have a Fortran compiler installed
on your machine. Since a number of Fortran 2003 features are used in the code,
it is recommended that you use the latest version of whatever compiler you
choose. For <a class="reference external" href="http://gcc.gnu.org/wiki/GFortran">gfortran</a>, it is recommended that you use version 4.5.0 or above.</p>
<p>If you are using Debian or a Debian derivative such as Ubuntu, you can install
the gfortran compiler using the following command:</p>
<div class="highlight-python"><pre>sudo apt-get install gfortran</pre>
</div>
<p>To compile with support for parallel runs on a distributed-memory architecture,
you will need to have a valid implementation of MPI installed on your
machine. The code has been tested and is known to work with the latest versions
of both <a class="reference external" href="http://www.open-mpi.org">OpenMPI</a> and <a class="reference external" href="http://www.mcs.anl.gov/mpi/mpich/">MPICH2</a>. You may use older versions of MPI implementations
at your own risk. OpenMPI and/or MPICH2 can be installed on Debian derivatives
with:</p>
<div class="highlight-python"><pre>sudo apt-get install mpich2
sudo apt-get install openmpi-bin</pre>
</div>
<p>To compile with support for <a class="reference external" href="http://www.hdfgroup.org/HDF5/">HDF5</a> output (highly recommended), you will need to
have HDF5 installed on your computer. The installed version will need to have
been compiled with the same compiler you intend to compile OpenMC with.</p>
</div>
<div class="section" id="obtaining-the-source">
<h2>2.2. Obtaining the Source<a class="headerlink" href="#obtaining-the-source" title="Permalink to this headline"></a></h2>
<p>All OpenMC source code is hosted on <a class="reference external" href="http://github.com">GitHub</a>. This means that you will need to
have <a class="reference external" href="http://git-scm.com">git</a> installed on your computer in order to get source code and updates
directly from the repository. GitHub has a good set of <a class="reference external" href="http://help.github.com/set-up-git-redirect">instructions</a> for how to set up git to work
with GitHub since this involves setting up <a class="reference external" href="http://en.wikipedia.org/wiki/Secure_Shell">ssh</a> keys. With git installed and
setup, the following command will download the full source code from the GitHub
repository:</p>
<div class="highlight-python"><pre>git clone git@github.com:mit-crpg/openmc.git</pre>
</div>
</div>
<div class="section" id="build-configuration">
<h2>2.3. Build Configuration<a class="headerlink" href="#build-configuration" title="Permalink to this headline"></a></h2>
<p>All configuration for OpenMC is done within the Makefile located in
<tt class="docutils literal"><span class="pre">src/Makefile</span></tt>. In the Makefile, you will see that there are a number of User
Options which can be changed. It is recommended that you do not change anything
else in the Makefile unless you are experienced with compiling and building
software using Makefiles. The following parameters can be set from the User
Options sections in the Makefile:</p>
<dl class="docutils">
<dt>COMPILER</dt>
<dd>This variable tells the Makefile which compiler to use. Valid options are
gfortran, intel, pgi, ibm, and cray.</dd>
<dt>DEBUG</dt>
<dd>Enables debugging when compiling. The flags added are dependent on which
compiler is used.</dd>
<dt>PROFILE</dt>
<dd>Enables profiling using the GNU profiler, gprof.</dd>
<dt>OPTIMIZE</dt>
<dd>Enables high-optimization using compiler-dependent flags. For gfortran,
this compiles with -O3. For Intel Fortran, this compiles with -O3 as well as
interprocedural optimization.</dd>
<dt>USE_MPI</dt>
<dd>Enables parallel runs using the Message Passing Interface. Users should also
set the MPI_ROOT directory further down in the Makefile.</dd>
<dt>USE_HDF5</dt>
<dd>Enables HDF5 output in addition to normal screen and text file output. Users
should also set the HDF5_ROOT directory further down in the Makefile.</dd>
</dl>
<p>It is also possible to change these options from the command line itself. For
example, if you want to compile with DEBUG turned on without actually change the
Makefile, you can enter the following from a terminal:</p>
<div class="highlight-python"><pre>make DEBUG=yes</pre>
</div>
</div>
<div class="section" id="compiling">
<h2>2.4. Compiling<a class="headerlink" href="#compiling" title="Permalink to this headline"></a></h2>
<p>To compile the code, run the following commands from within the root directory
for OpenMC:</p>
<div class="highlight-sh"><div class="highlight"><pre><span class="nb">cd </span>src
make
</pre></div>
</div>
<p>This will build an executable named <tt class="docutils literal"><span class="pre">openmc</span></tt>.</p>
</div>
<div class="section" id="cross-section-configuration">
<h2>2.5. 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 distributed with MCNP or Serpent.</p>
<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-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 <tt class="docutils literal"><span class="pre">cross_sections.xml</span></tt> file.</p>
<p>Similarly, 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-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_serpent.xml</span></tt> file.</p>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="beginners.html">1. A Beginner&#8217;s Guide to OpenMC</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="input.html">3. Writing XML Input Files</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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

@ -0,0 +1,176 @@
<!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. Troubleshooting OpenMC &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.4.2',
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="Users Guide" href="index.html" />
<link rel="next" title="Developers Guide" href="../devguide/index.html" />
<link rel="prev" title="3. Writing XML Input Files" href="input.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="input.html">3. Writing XML Input Files</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../devguide/index.html">Developer&#8217;s Guide</a>&#160;&#160;»
</p>
</div>
<div class="content">
<div class="section" id="troubleshooting-openmc">
<span id="usersguide-troubleshoot"></span><h1>4. Troubleshooting OpenMC<a class="headerlink" href="#troubleshooting-openmc" title="Permalink to this headline"></a></h1>
<div class="section" id="problems-with-compilation">
<h2>4.1. Problems with Compilation<a class="headerlink" href="#problems-with-compilation" title="Permalink to this headline"></a></h2>
<p>If you are experiencing problems trying to compile OpenMC, first check if the
error you are receiving is among the following options.</p>
<div class="section" id="fatal-error-file-xml-data-settings-t-mod-opened-at-1-is-not-a-gfortran-module-file">
<h3>4.1.1. Fatal Error: File &#8216;xml_data_settings_t.mod&#8217; opened at (1) is not a GFORTRAN module file<a class="headerlink" href="#fatal-error-file-xml-data-settings-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 modules and object files with
<strong class="program">make distclean</strong> and then recompiling.</p>
</div>
<div class="section" id="gfortran-unrecognized-option-cpp">
<h3>4.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 latestest 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>4.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 latestest 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>4.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>4.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 ifort</strong>).</p>
</div>
</div>
<div class="section" id="problems-with-simulations">
<h2>4.2. Problems with Simulations<a class="headerlink" href="#problems-with-simulations" title="Permalink to this headline"></a></h2>
<div class="section" id="segmentation-fault">
<h3>4.2.1. Segmentation Fault<a class="headerlink" href="#segmentation-fault" title="Permalink to this headline"></a></h3>
<p>A segmentation fault occurs when the program tries to access a variable in
memory that was outside the memory allocated for the program. The best way to
debug a segmentation fault is to re-compile OpenMC with debug options turned
on. First go to your <tt class="docutils literal"><span class="pre">openmc/src</span></tt> directory where OpenMC was compiled and type
the following commands:</p>
<div class="highlight-sh"><div class="highlight"><pre>make distclean
make <span class="nv">DEBUG</span><span class="o">=</span>yes
</pre></div>
</div>
<p>Now when you re-run your problem, it should report exactly where the program
failed. If after reading the debug output, you are still unsure why the program
failed, send an email to the OpenMC <a class="reference external" href="mailto:paul&#46;k&#46;romano&#37;&#52;&#48;gmail&#46;com">developers</a>.</p>
</div>
<div class="section" id="error-no-cross-sections-xml-file-was-specified-in-settings-xml-or-in-the-cross-sections-environment-variable">
<h3>4.2.2. ERROR: No cross_sections.xml file was specified in settings.xml or in the CROSS_SECTIONS environment variable.<a class="headerlink" href="#error-no-cross-sections-xml-file-was-specified-in-settings-xml-or-in-the-cross-sections-environment-variable" title="Permalink to this headline"></a></h3>
<p>OpenMC needs to know where to find cross section data for each
nuclide. Information on what data is available and in what files is summarized
in a cross_sections.xml file. You need to tell OpenMC where to find the
cross_sections.xml file either with the <a class="reference internal" href="input.html#cross-sections"><em>&lt;cross_sections&gt; Element</em></a> in settings.xml or
with 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. It is recommended to add
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-after-particle-crossed-surface-it-could-not-be-located-in-any-cell-and-it-did-not-leak">
<h3>4.2.3. 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></h3>
<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
reflective boundary conditions. If proper boundary conditions have been applied
and you still receive this error, it means that a surface/cell/lattice in your
geometry has been specified incorrectly or is missing.</p>
<p>The best way to debug this error is to turn on a trace for the particle getting
lost. After the error message, the code will display what batch, generation, and
particle number caused the error. In your settings.xml, add a &lt;trace&gt; tag
followed by the batch, generation, and particle number. This will give you
detailed output every time that particle enters a cell, crosses a boundary, or
has a collision. For example, if you received this error at cycle 5, generation
1, particle 4032, you would enter:</p>
<div class="highlight-xml"><div class="highlight"><pre><span class="nt">&lt;trace&gt;</span>5 1 4032<span class="nt">&lt;/trace&gt;</span>
</pre></div>
</div>
</div>
</div>
</div>
</div>
<div class="bottomnav">
<p>
«&#160;&#160;<a href="input.html">3. Writing XML Input Files</a>
&#160;&#160;::&#160;&#160;
<a class="uplink" href="../index.html">Contents</a>
&#160;&#160;::&#160;&#160;
<a href="../devguide/index.html">Developer&#8217;s Guide</a>&#160;&#160;»
</p>
</div>
<div class="footer">
&copy; Copyright 2011-2012, Massachusetts Institute of Technology.
Created using <a href="http://sphinx.pocoo.org/">Sphinx</a> 1.1.2.
</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>