From 2d6e7921756a4e2761793df3a521ecb83e5711e7 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Wed, 28 Mar 2012 10:54:31 -0400 Subject: [PATCH] Added lots of documentation. --- _sources/developers.txt | 4 +- _sources/devguide/index.txt | 16 + _sources/devguide/structures.txt | 6 + _sources/devguide/xml-fortran.txt | 6 + _sources/index.txt | 14 +- _sources/methods/geometry.txt | 24 ++ _sources/methods/index.txt | 120 +----- _sources/methods/introduction.txt | 10 + _sources/methods/physics.txt | 95 +++++ _sources/methods/tallies.txt | 17 + _sources/publications.txt | 17 + _sources/releasenotes/index.txt | 15 + _sources/releasenotes/notes_0.4.0.txt | 36 ++ _sources/releasenotes/notes_0.4.1.txt | 55 +++ _sources/releasenotes/notes_0.4.2.txt | 46 +++ _sources/usersguide/beginners.txt | 156 +++++++ _sources/usersguide/index.txt | 6 +- _sources/usersguide/input.txt | 469 ++++++++++++---------- _sources/usersguide/setup.txt | 132 ++++++ _sources/usersguide/troubleshoot.txt | 108 +++++ developers.html | 28 +- devguide/index.html | 101 +++++ devguide/structures.html | 93 +++++ devguide/xml-fortran.html | 93 +++++ genindex.html | 63 ++- index.html | 30 +- install.html | 25 +- methods/geometry.html | 107 +++++ methods/index.html | 127 +++--- methods/introduction.html | 96 +++++ methods/physics.html | 149 +++++++ methods/tallies.html | 102 +++++ objects.inv | Bin 319 -> 683 bytes publications.html | 102 +++++ releasenotes/index.html | 101 +++++ releasenotes/notes_0.4.0.html | 122 ++++++ releasenotes/notes_0.4.1.html | 134 +++++++ releasenotes/notes_0.4.2.html | 128 ++++++ search.html | 19 +- searchindex.js | 2 +- usersguide/beginners.html | 206 ++++++++++ usersguide/index.html | 106 ++++- usersguide/input.html | 558 ++++++++++++++------------ usersguide/setup.html | 188 +++++++++ usersguide/troubleshoot.html | 176 ++++++++ 45 files changed, 3490 insertions(+), 718 deletions(-) create mode 100644 _sources/devguide/index.txt create mode 100644 _sources/devguide/structures.txt create mode 100644 _sources/devguide/xml-fortran.txt create mode 100644 _sources/methods/geometry.txt create mode 100644 _sources/methods/introduction.txt create mode 100644 _sources/methods/physics.txt create mode 100644 _sources/methods/tallies.txt create mode 100644 _sources/publications.txt create mode 100644 _sources/releasenotes/index.txt create mode 100644 _sources/releasenotes/notes_0.4.0.txt create mode 100644 _sources/releasenotes/notes_0.4.1.txt create mode 100644 _sources/releasenotes/notes_0.4.2.txt create mode 100644 _sources/usersguide/beginners.txt create mode 100644 _sources/usersguide/setup.txt create mode 100644 _sources/usersguide/troubleshoot.txt create mode 100644 devguide/index.html create mode 100644 devguide/structures.html create mode 100644 devguide/xml-fortran.html create mode 100644 methods/geometry.html create mode 100644 methods/introduction.html create mode 100644 methods/physics.html create mode 100644 methods/tallies.html create mode 100644 publications.html create mode 100644 releasenotes/index.html create mode 100644 releasenotes/notes_0.4.0.html create mode 100644 releasenotes/notes_0.4.1.html create mode 100644 releasenotes/notes_0.4.2.html create mode 100644 usersguide/beginners.html create mode 100644 usersguide/setup.html create mode 100644 usersguide/troubleshoot.html diff --git a/_sources/developers.txt b/_sources/developers.txt index be48bb409b..4f4713aaef 100644 --- a/_sources/developers.txt +++ b/_sources/developers.txt @@ -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 diff --git a/_sources/devguide/index.txt b/_sources/devguide/index.txt new file mode 100644 index 0000000000..a8ea5434c0 --- /dev/null +++ b/_sources/devguide/index.txt @@ -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 diff --git a/_sources/devguide/structures.txt b/_sources/devguide/structures.txt new file mode 100644 index 0000000000..410b501639 --- /dev/null +++ b/_sources/devguide/structures.txt @@ -0,0 +1,6 @@ +.. _devguide_structures: + +=============== +Data Structures +=============== + diff --git a/_sources/devguide/xml-fortran.txt b/_sources/devguide/xml-fortran.txt new file mode 100644 index 0000000000..1d83b465cb --- /dev/null +++ b/_sources/devguide/xml-fortran.txt @@ -0,0 +1,6 @@ +.. _devguide_xml-fortran: + +========================= +xml-fortran Input Parsing +========================= + diff --git a/_sources/index.txt b/_sources/index.txt index 828f5335d1..5b8bebff35 100644 --- a/_sources/index.txt +++ b/_sources/index.txt @@ -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 diff --git a/_sources/methods/geometry.txt b/_sources/methods/geometry.txt new file mode 100644 index 0000000000..86d5a845a2 --- /dev/null +++ b/_sources/methods/geometry.txt @@ -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)`. diff --git a/_sources/methods/index.txt b/_sources/methods/index.txt index 0aa3adebee..bc08102422 100644 --- a/_sources/methods/index.txt +++ b/_sources/methods/index.txt @@ -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 diff --git a/_sources/methods/introduction.txt b/_sources/methods/introduction.txt new file mode 100644 index 0000000000..02d4d078b0 --- /dev/null +++ b/_sources/methods/introduction.txt @@ -0,0 +1,10 @@ +.. _methods_introduction: + +============ +Introduction +============ + +--------------------- +Criticality Algorithm +--------------------- + diff --git a/_sources/methods/physics.txt b/_sources/methods/physics.txt new file mode 100644 index 0000000000..b0d3b34daa --- /dev/null +++ b/_sources/methods/physics.txt @@ -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. diff --git a/_sources/methods/tallies.txt b/_sources/methods/tallies.txt new file mode 100644 index 0000000000..7fbc25418f --- /dev/null +++ b/_sources/methods/tallies.txt @@ -0,0 +1,17 @@ +.. _methods_tallies: + +======= +Tallies +======= + +---------------- +Analog Estimator +---------------- + +---------------------- +Track-length Estimator +---------------------- + +--------------- +Surface Current +--------------- diff --git a/_sources/publications.txt b/_sources/publications.txt new file mode 100644 index 0000000000..19f2353a09 --- /dev/null +++ b/_sources/publications.txt @@ -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 + `_] diff --git a/_sources/releasenotes/index.txt b/_sources/releasenotes/index.txt new file mode 100644 index 0000000000..8f6c633421 --- /dev/null +++ b/_sources/releasenotes/index.txt @@ -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 diff --git a/_sources/releasenotes/notes_0.4.0.txt b/_sources/releasenotes/notes_0.4.0.txt new file mode 100644 index 0000000000..3e0a444e35 --- /dev/null +++ b/_sources/releasenotes/notes_0.4.0.txt @@ -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. diff --git a/_sources/releasenotes/notes_0.4.1.txt b/_sources/releasenotes/notes_0.4.1.txt new file mode 100644 index 0000000000..2492f23a98 --- /dev/null +++ b/_sources/releasenotes/notes_0.4.1.txt @@ -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 diff --git a/_sources/releasenotes/notes_0.4.2.txt b/_sources/releasenotes/notes_0.4.2.txt new file mode 100644 index 0000000000..825a37d3a2 --- /dev/null +++ b/_sources/releasenotes/notes_0.4.2.txt @@ -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 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 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 diff --git a/_sources/usersguide/beginners.txt b/_sources/usersguide/beginners.txt new file mode 100644 index 0000000000..14e52ca05d --- /dev/null +++ b/_sources/usersguide/beginners.txt @@ -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 +`_ 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 `_ 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 + diff --git a/_sources/usersguide/index.txt b/_sources/usersguide/index.txt index 3673012bfb..0f1d5da345 100644 --- a/_sources/usersguide/index.txt +++ b/_sources/usersguide/index.txt @@ -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 diff --git a/_sources/usersguide/input.txt b/_sources/usersguide/input.txt index 55072f24fa..32f63bbcfa 100644 --- a/_sources/usersguide/input.txt +++ b/_sources/usersguide/input.txt @@ -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 John @@ -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. + +```` Element +------------------------- + +The ```` 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 ```` 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. + +```` Element +-------------------- + +The ```` 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 + +```` Element +------------------------- + +The ```` 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 + +```` Element +--------------------- + +The ```` 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 + +```` Element +--------------------- + +The ```` 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 + +```` Element +------------------ + +The ``seed`` element is used to set the seed used for the linear congruential +pseudo-random number generator. + + *Default*: 1 + +```` 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. + +```` Element +------------------------------ + +The ```` 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 + +```` Element +------------------- + +The ```` 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 + +```` Element +----------------------- + +The ```` 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: - +.. code-block:: xml + + @@ -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 @@ -94,10 +276,10 @@ could be written as:: -``surface`` Element -------------------- +```` Element +--------------------- -Each ``surface`` element can have the following attributes or sub-elements: +Each ```` 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 ----------------- +```` Element +------------------ -Each ``cell`` element can have the following attributes or sub-elements: +Each ```` 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 -------------------- +```` 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 ```` 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 ```` 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 --------------------- +```` 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:: - - + 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 ----------------------- +```` 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 ```` 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 ```` and ````. -``tally`` Element ------------------ +```` Element +------------------- -The ``tally`` element accepts the following sub-elements: +The ```` 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 ----------------- +```` 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 ````. 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 ---------------------------- +```` 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 ```` and any number output -figures can be defined with ```` 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 ```` and any number output figures can +be defined with ```` sub-elements. -``plot`` Element +```` 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: +```` 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 ```` element, which can override the default random colors for cells or materials. Each ``col_spec`` element must contain ``id`` and ``rgb`` sub-elements. diff --git a/_sources/usersguide/setup.txt b/_sources/usersguide/setup.txt new file mode 100644 index 0000000000..a148000c77 --- /dev/null +++ b/_sources/usersguide/setup.txt @@ -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 +`_ 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 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 + 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. diff --git a/_sources/usersguide/troubleshoot.txt b/_sources/usersguide/troubleshoot.txt new file mode 100644 index 0000000000..40aa6a208a --- /dev/null +++ b/_sources/usersguide/troubleshoot.txt @@ -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 +`_. + +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 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 + + 5 1 4032 + +.. _gfortran: http://gcc.gnu.org/wiki/GFortran + diff --git a/developers.html b/developers.html index 4facedb5a8..697abf3d66 100644 --- a/developers.html +++ b/developers.html @@ -17,7 +17,7 @@ - +
@@ -39,7 +39,7 @@

- «  Creating XML Input Files + «  Publications   ::   Contents

@@ -52,8 +52,9 @@

Development Team

Active development of the OpenMC Monte Carlo code is currently led by:

Advisors to the project include:

    @@ -68,16 +69,31 @@

    - «  Creating XML Input Files + «  Publications   ::   Contents

    + + + \ No newline at end of file diff --git a/devguide/index.html b/devguide/index.html new file mode 100644 index 0000000000..71e5711155 --- /dev/null +++ b/devguide/index.html @@ -0,0 +1,101 @@ + + + + + + + + + + Developer’s Guide — OpenMC Documentation + + + + + + + + + + + + + + + +
    + + + +
    +
    + +

    + «  4. Troubleshooting OpenMC +   ::   + Contents +   ::   + 1. Data Structures  » +

    + +
    +
    + + +
    +

    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.

    + +
    + + +
    +
    + +

    + «  4. Troubleshooting OpenMC +   ::   + Contents +   ::   + 1. Data Structures  » +

    + +
    + + + + + + + \ No newline at end of file diff --git a/devguide/structures.html b/devguide/structures.html new file mode 100644 index 0000000000..6861e3f083 --- /dev/null +++ b/devguide/structures.html @@ -0,0 +1,93 @@ + + + + + + + + + + 1. Data Structures — OpenMC Documentation + + + + + + + + + + + + + + + + +
    + + + +
    +
    + +

    + «  Developer’s Guide +   ::   + Contents +   ::   + 2. xml-fortran Input Parsing  » +

    + +
    +
    + + +
    +

    1. Data Structures

    +
    + + +
    +
    + +

    + «  Developer’s Guide +   ::   + Contents +   ::   + 2. xml-fortran Input Parsing  » +

    + +
    + + + + + + + \ No newline at end of file diff --git a/devguide/xml-fortran.html b/devguide/xml-fortran.html new file mode 100644 index 0000000000..863d5f50f5 --- /dev/null +++ b/devguide/xml-fortran.html @@ -0,0 +1,93 @@ + + + + + + + + + + 2. xml-fortran Input Parsing — OpenMC Documentation + + + + + + + + + + + + + + + + +
    + + + +
    +
    + +

    + «  1. Data Structures +   ::   + Contents +   ::   + Publications  » +

    + +
    +
    + + +
    +

    2. xml-fortran Input Parsing

    +
    + + +
    +
    + +

    + «  1. Data Structures +   ::   + Contents +   ::   + Publications  » +

    + +
    + + + + + + + \ No newline at end of file diff --git a/genindex.html b/genindex.html index 6a55decde8..2adbef6dd5 100644 --- a/genindex.html +++ b/genindex.html @@ -19,7 +19,7 @@ + \ No newline at end of file diff --git a/index.html b/index.html index 5f80f73a31..8d7112dea8 100644 --- a/index.html +++ b/index.html @@ -17,7 +17,7 @@ + \ No newline at end of file diff --git a/install.html b/install.html index 4a9fe761c2..f4c0f601bf 100644 --- a/install.html +++ b/install.html @@ -17,7 +17,7 @@ - + @@ -44,7 +44,7 @@   ::   Contents   ::   - Methodology  » + Release Notes  »

@@ -141,14 +141,29 @@ make   ::   Contents   ::   - Methodology  » + Release Notes  »

+ + + \ No newline at end of file diff --git a/methods/geometry.html b/methods/geometry.html new file mode 100644 index 0000000000..941a373e95 --- /dev/null +++ b/methods/geometry.html @@ -0,0 +1,107 @@ + + + + + + + + + + 2. Geometry — OpenMC Documentation + + + + + + + + + + + + + + + + +
+ + + +
+
+ +

+ «  1. Introduction +   ::   + Contents +   ::   + 3. Physics  » +

+ +
+
+ + +
+

2. Geometry

+
+

2.1. Reflective Surfaces

+

In general, a surface can be written in the form f(x,y,z) = 0. If a +neutron is traveling in direction \vec{v} and crosses a reflective +surface of the above form, it can be shown that the velocity vector will then +become

+
+

\mathbf{v'} = \mathbf{v} - 2 (\mathbf{v} \cdot \hat{\mathbf{n}})
+\hat{\mathbf{n}}

+

where \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. \mathbf{n} =
+\nabla f(x,y,z).

+
+
+ + +
+
+ +

+ «  1. Introduction +   ::   + Contents +   ::   + 3. Physics  » +

+ +
+ + + + + + + \ No newline at end of file diff --git a/methods/index.html b/methods/index.html index aa4b020e7a..e7bccbbe74 100644 --- a/methods/index.html +++ b/methods/index.html @@ -8,7 +8,7 @@ - Methodology — OpenMC Documentation + Theory and Methodology — OpenMC Documentation @@ -17,7 +17,7 @@ - - + +
@@ -40,91 +40,43 @@

- «  Installation + «  Release Notes for OpenMC 0.4.0   ::   Contents   ::   - User’s Guide  » + 1. Introduction  »

-
-

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

-

In general, a surface can be written in the form f(x,y,z) = 0. If a -neutron is traveling in direction \vec{v} and crosses a reflective -surface of the above form, it can be shown that the velocity vector will then -become

-
-

\mathbf{v'} = \mathbf{v} - 2 (\mathbf{v} \cdot \hat{\mathbf{n}})
-\hat{\mathbf{n}}

-

where \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. \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

-
-

(1)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.

-
-

(2)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 (1) as

-
-

(3)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 \mu to v_r, we -can establish a relation between these variables based on the law of cosines.

-
-

(4)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

-
-

(5)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 \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

-
-

(6)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:

-
-

(7)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 p(x) =
-f_1(x) f_2(x) with f_1(x) bounded can be sampled by sampling -x_s from the distribution

-
-

\frac{f_2(x)}{\int f_2(x) dx}

-

and accepting it with probability

-
-

\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.

+
@@ -133,18 +85,33 @@ assumes a Maxwellian distribution in velocity.

- «  Installation + «  Release Notes for OpenMC 0.4.0   ::   Contents   ::   - User’s Guide  » + 1. Introduction  »

+ + + \ No newline at end of file diff --git a/methods/introduction.html b/methods/introduction.html new file mode 100644 index 0000000000..0a0a75bbaa --- /dev/null +++ b/methods/introduction.html @@ -0,0 +1,96 @@ + + + + + + + + + + 1. Introduction — OpenMC Documentation + + + + + + + + + + + + + + + + +
+ + + +
+
+ +

+ «  Theory and Methodology +   ::   + Contents +   ::   + 2. Geometry  » +

+ +
+
+ + +
+

1. Introduction

+
+

1.1. Criticality Algorithm

+
+
+ + +
+
+ +

+ «  Theory and Methodology +   ::   + Contents +   ::   + 2. Geometry  » +

+ +
+ + + + + + + \ No newline at end of file diff --git a/methods/physics.html b/methods/physics.html new file mode 100644 index 0000000000..94b77d94ca --- /dev/null +++ b/methods/physics.html @@ -0,0 +1,149 @@ + + + + + + + + + + 3. Physics — OpenMC Documentation + + + + + + + + + + + + + + + + +
+ + + +
+
+ +

+ «  2. Geometry +   ::   + Contents +   ::   + 4. Tallies  » +

+ +
+
+ + +
+

3. Physics

+
+

3.1. 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

+
+

(1)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.

+
+

(2)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 (1) as

+
+

(3)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 \mu to v_r, we +can establish a relation between these variables based on the law of cosines.

+
+

(4)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

+
+

(5)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 \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

+
+

(6)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:

+
+

(7)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 p(x) =
+f_1(x) f_2(x) with f_1(x) bounded can be sampled by sampling +x_s from the distribution

+
+

\frac{f_2(x)}{\int f_2(x) dx}

+

and accepting it with probability

+
+

\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.

+
+
+ + +
+
+ +

+ «  2. Geometry +   ::   + Contents +   ::   + 4. Tallies  » +

+ +
+ + + + + + + \ No newline at end of file diff --git a/methods/tallies.html b/methods/tallies.html new file mode 100644 index 0000000000..b8fd9c1332 --- /dev/null +++ b/methods/tallies.html @@ -0,0 +1,102 @@ + + + + + + + + + + 4. Tallies — OpenMC Documentation + + + + + + + + + + + + + + + + +
+ + + +
+
+ +

+ «  3. Physics +   ::   + Contents +   ::   + User’s Guide  » +

+ +
+
+ + +
+

4. Tallies

+
+

4.1. Analog Estimator

+
+
+

4.2. Track-length Estimator

+
+
+

4.3. Surface Current

+
+
+ + +
+
+ +

+ «  3. Physics +   ::   + Contents +   ::   + User’s Guide  » +

+ +
+ + + + + + + \ No newline at end of file diff --git a/objects.inv b/objects.inv index 2580bf07fe8594ccd25079fac7f32716ee0fecd6..d4503248a4399737e6f52915bff2257446da0522 100644 GIT binary patch delta 580 zcmV-K0=xac0;>g(JOMP3Jvx7lRZVZ(Fbuu>R|wdEot(NsPeUm7yMBB`pc6d!=1{1){Rgsgi~!3|+u zuNIAJ>8H{#@_}(*CK0}&pA=ePDr-SCyqbjcppI9;hl}?a?Hb_Xh%kSv(8k(1<@GUZ zd1c+w2;DIc2FFJmUiB2v+CbS@vo1;X-K-*ObrD81cbqko3R8-WB3sr2XYZu$g+<~V zwlCLoEz03Ie*{s4)#&f$N#`@jFG4|vw(U&;1ZLXjjV`nY^T61-XC{CGmcY20hKVid zRlGP0dN!t^maaKUQqF(W;*Du7fw6VZsAU(L71i;k@h=iR8cSBeKYyc2^rh;>R8MfY z868}pV8|op3M-6Whxb7wVM^#pvSU0qw4+BVH{q_M7gIY>-f5L5C3`$bUOB|<4%z{3 zN7)}O&EL6D0<#(2k;g=M%#F`(QFrjq0qS3%@(mC@=P zpeBr+G$xve!Q*6wM(%g?!=FPAq&WKB0oyzbS6c(uNBxO8d#%BmUg^Mj^oL9W7G;yh zaF}n`mIuWX;p+D%=ZaAO+RK!jva+3(V=*4_MyjHu+`(kmoxV^CKk(bM2fxO7? zv}dyXNKcB7jjT9-l%cpPLov-zT+UEL8J1UNSWYu6FK1Y0oo*c|@tL1pYzgzbjj)Wk SpF+y=U?9Xlj_g0mKCB$u^&O`G delta 213 zcmV;`04o2h1-}B2JOMM2Jvx7Vj!g@~AQ;E*ehQ(W(~7QLi(=3qsGwU|J~-h~$JA)w zK9`P7h;I7(zdZu9)EwT_I=(^n0Hnp5ibR*SQ#hk#|0W7tZMe;y39csgIjz3Xpb;HW zhW{97x?&L0MrF81NK+PA`>gXwWXXMwh7%J&yoJ^ZFFE9ak>}T417As4dgv7*wRH?J zPbN47%J^kY8a-LNOWk<)XEUg=Vx&dPY+DFzTF_f{4D~(QO9V?eyZ}uT?0N6Vhog3p PDA0~xfGP3;9NnY1=c!}W diff --git a/publications.html b/publications.html new file mode 100644 index 0000000000..88dec3a57c --- /dev/null +++ b/publications.html @@ -0,0 +1,102 @@ + + + + + + + + + + Publications — OpenMC Documentation + + + + + + + + + + + + + + + +
+ + + +
+
+ +

+ «  2. xml-fortran Input Parsing +   ::   + Contents +   ::   + Development Team  » +

+ +
+
+ + +
+

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]
  • +
+
+ + +
+
+ +

+ «  2. xml-fortran Input Parsing +   ::   + Contents +   ::   + Development Team  » +

+ +
+ + + + + + + \ No newline at end of file diff --git a/releasenotes/index.html b/releasenotes/index.html new file mode 100644 index 0000000000..1cbce1c28f --- /dev/null +++ b/releasenotes/index.html @@ -0,0 +1,101 @@ + + + + + + + + + + Release Notes — OpenMC Documentation + + + + + + + + + + + + + + + +
+ + + +
+
+ +

+ «  Installation +   ::   + Contents +   ::   + Release Notes for OpenMC 0.4.2  » +

+ +
+
+ + +
+

Release Notes

+

The release notes for OpenMC give a list of system requirements, new features, +bugs fixed, and known issues for each successive release.

+ +
+ + +
+
+ +

+ «  Installation +   ::   + Contents +   ::   + Release Notes for OpenMC 0.4.2  » +

+ +
+ + + + + + + \ No newline at end of file diff --git a/releasenotes/notes_0.4.0.html b/releasenotes/notes_0.4.0.html new file mode 100644 index 0000000000..076bf038ed --- /dev/null +++ b/releasenotes/notes_0.4.0.html @@ -0,0 +1,122 @@ + + + + + + + + + + Release Notes for OpenMC 0.4.0 — OpenMC Documentation + + + + + + + + + + + + + + + + +
+ + + +
+
+ +

+ «  Release Notes for OpenMC 0.4.1 +   ::   + Contents +   ::   + Theory and Methodology  » +

+ +
+
+ + +
+

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.
  • +
+
+
+ + +
+
+ +

+ «  Release Notes for OpenMC 0.4.1 +   ::   + Contents +   ::   + Theory and Methodology  » +

+ +
+ + + + + + + \ No newline at end of file diff --git a/releasenotes/notes_0.4.1.html b/releasenotes/notes_0.4.1.html new file mode 100644 index 0000000000..12530c4341 --- /dev/null +++ b/releasenotes/notes_0.4.1.html @@ -0,0 +1,134 @@ + + + + + + + + + + Release Notes for OpenMC 0.4.1 — OpenMC Documentation + + + + + + + + + + + + + + + + +
+ + + +
+
+ +

+ «  Release Notes for OpenMC 0.4.2 +   ::   + Contents +   ::   + Release Notes for OpenMC 0.4.0  » +

+ +
+
+ + +
+

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.
  • +
+
+
+ + +
+
+ +

+ «  Release Notes for OpenMC 0.4.2 +   ::   + Contents +   ::   + Release Notes for OpenMC 0.4.0  » +

+ +
+ + + + + + + \ No newline at end of file diff --git a/releasenotes/notes_0.4.2.html b/releasenotes/notes_0.4.2.html new file mode 100644 index 0000000000..57a1f81952 --- /dev/null +++ b/releasenotes/notes_0.4.2.html @@ -0,0 +1,128 @@ + + + + + + + + + + Release Notes for OpenMC 0.4.2 — OpenMC Documentation + + + + + + + + + + + + + + + + +
+ + + +
+
+ +

+ «  Release Notes +   ::   + Contents +   ::   + Release Notes for OpenMC 0.4.1  » +

+ +
+
+ + +
+

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.
  • +
+
+
+ + +
+
+ +

+ «  Release Notes +   ::   + Contents +   ::   + Release Notes for OpenMC 0.4.1  » +

+ +
+ + + + + + + \ No newline at end of file diff --git a/search.html b/search.html index 7463667777..521d92fadf 100644 --- a/search.html +++ b/search.html @@ -17,7 +17,7 @@ + \ No newline at end of file diff --git a/searchindex.js b/searchindex.js index 460e6e4c52..1e5ac91581 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({objects:{},terms:{all:[2,3,1],code:[0,5,3,1,2],entropi:2,forget:5,focus:0,secondli:2,signific:3,correl:2,reson:[2,3],follow:[2,1],locat:1,content:0,depend:1,openmpi:1,under:2,cm3:2,"case":[2,3],sourc:[2,1],everi:2,risk:1,account:2,mpi:1,print:2,volum:2,gfortran:1,affect:3,list:2,iter:2,vector:3,cosin:3,team:[0,5],small:3,dimens:2,energyout:2,smaller:2,natur:2,direct:[2,3],second:[0,2],pass:1,download:1,further:1,carlo:[0,5,3,2],integr:3,what:2,sub:2,neg:2,section:[0,3,1,2],weight_avg:2,calcul:[0,2],current:[2,5],version:[2,1],order:[0,1,2],ever:2,method:3,whatev:1,involv:1,vibrat:3,full:[2,1],led:5,deriv:1,whose:2,variat:3,gener:[2,3],coeffici:2,here:[2,3],mev:2,let:2,ubuntu:1,path:2,along:2,becom:3,sinc:[2,3,1],valu:2,box:2,hdf5:1,technolog:0,converg:2,amount:3,within:[0,1,2],chang:[3,1],hexagon:2,magnitud:[2,3],parallelepip:2,default_x:2,appli:2,apt:1,filenam:2,"boolean":2,instal:[0,1],total:2,establish:3,unit:[2,3],highli:1,plot:[2,4],from:[2,3,1],describ:2,would:[2,3],memori:1,univers:2,two:[2,3],program:2,call:2,recommend:1,"70c":2,type:2,tell:[2,1],more:[0,2],desir:2,relat:3,warn:2,flag:[2,1],indic:2,examin:2,particular:2,known:[2,1],origin:2,must:2,none:2,sometim:[2,3],setup:1,work:1,uniqu:2,other:2,itself:1,can:[2,3,1],root:[2,1],scatter:[2,3],overrid:2,serpent:[0,2],give:2,sudo:1,accept:[2,3],high:1,sphere:2,critic:[0,2],tag:2,want:1,occur:3,occup:2,motion:3,surfac:[0,3,2],end:2,divid:3,rather:[2,3],cylind:2,csg:2,six:2,how:[2,1],anyon:2,answer:3,veloc:3,simpl:2,updat:1,map:2,product:2,mat:2,clone:1,after:2,reflect:[2,3],mesh:2,mai:[2,1],multipl:2,law:3,data:[0,2],parallel:1,physic:[0,2],circumst:2,github:1,essenti:4,third:2,light:3,correspond:2,element:2,caus:[2,3],inform:[0,2],combin:2,allow:2,enter:[3,1],travel:3,oper:2,atribut:2,over:[2,3],move:3,thermal:3,through:[2,3,4],flexibl:2,vari:3,paramet:[2,1],outer:3,fit:2,complex:2,exchang:2,pixel:2,non:2,good:[3,1],greater:3,thei:[2,3],initi:2,repositori:1,automat:2,now:3,maxwellian:3,bryan:5,name:[2,1],anyth:1,cross_sect:2,instruct:1,separ:2,massachusett:0,each:2,debug:1,found:2,complet:2,side:2,mean:1,compil:1,energy_grid:2,weight:2,monoton:2,unresolv:2,heavi:3,expect:2,energi:2,event:2,shannon:2,out:2,variabl:[2,3,1],shown:3,absorpt:2,space:2,gradient:3,profil:1,rewrit:3,health:2,rel:3,lattic:2,cartersian:2,generations_per_batch:2,million:2,romano:[0,5],given:2,free:[0,3],standard:2,base:[0,3],advisor:5,institut:0,card:2,basi:2,angl:[2,3],could:2,latest:1,filter:2,turn:[2,1],length:2,wither:2,geometri:[0,4,3,2],undergo:[2,3],assign:2,first:2,upper_right:2,softwar:1,rang:[2,3],directli:1,upper:2,feel:0,onc:2,lastnam:2,qualiti:2,number:[2,1],pgi:1,unlik:2,done:[2,1],construct:[0,2],assume_separ:2,size:2,avail:2,differ:2,start:2,associ:[2,3],interact:[0,3],hdf5_root:1,system:3,messag:1,termin:1,white:2,conveni:2,"final":2,includ:[2,5],option:[2,1],methodolog:[0,3],specifi:2,part:3,enclos:2,moder:3,than:[2,3],png:2,serv:2,kind:2,john:2,target:3,keyword:2,prevent:2,rate:2,structur:2,exampl:[2,1],project:5,were:2,posit:2,arrang:2,toward:2,markup:2,randomli:3,comput:[0,1],viewer:2,sab:2,ani:[2,3],have:[2,3,1],tabl:2,need:[2,1],seen:2,equival:2,upscatt:3,note:2,also:[0,1,2],contact:0,build:1,which:[2,1],environ:2,mit:1,singl:2,begin:2,unless:1,distribut:[2,3,1],trace:2,normal:[3,1],track:3,who:2,compress:2,most:2,letter:2,phase:2,choos:1,herman:5,appear:2,cover:2,quantiti:2,col_spec:2,declar:2,determin:2,effect:[2,3],axi:2,neutrno:3,reactor:0,text:1,random:2,corner:2,find:2,make:[3,1],xml:[2,4],cell:2,onli:2,explicitli:2,ratio:2,firstnam:2,configur:1,activ:5,written:[2,3],should:[2,1],mcnp:0,fuel:2,surviv:2,contribut:2,get:1,kinemat:3,familiar:2,express:2,secondari:[2,3],ssh:1,increas:2,requir:2,use_mpi:1,enabl:[2,1],"default":2,she:2,contain:2,openmc:[0,1,2,3,4,5],depar:2,where:[2,3],set:[2,1,4],elimin:2,elast:3,see:[2,3,1],nuclid:2,result:2,respons:2,close:2,particl:[0,3,2],infinit:2,boundari:2,fission:2,irfanview:2,figur:2,score:2,between:[2,3],across:2,attribut:2,assumpt:[2,3],kei:1,numer:2,screen:1,physicist:2,extens:2,lower_left:2,solv:3,group:[0,2],addit:1,reaction:2,last:2,ptabl:2,cycl:2,interprocedur:1,howev:3,etc:2,mont:[0,5,3,2],tutori:4,equat:3,mani:[2,3],com:1,comment:2,pre:2,simpli:2,point:[2,3],color:2,overview:[2,4],roulett:2,respect:2,guid:[0,4],assum:[2,3],smith:[2,5],quit:2,slowli:3,creat:[2,3,4],addition:2,due:[2,3],been:1,implicit:2,compon:2,accumul:2,much:2,interest:[2,3],basic:2,use_hdf5:1,both:1,imag:2,andrew:5,coordin:2,els:1,present:2,emploi:2,subsequ:2,look:2,gnu:1,solid:[0,2],batch:2,rectangular:2,defin:2,"while":2,abov:[2,3,1],region:2,almost:3,site:2,bias:2,quadrat:2,ascii:2,proport:3,develop:[0,5],welcom:4,incorrectli:2,perform:[2,4],began:0,gprof:1,cross:[0,3,2],same:[2,3,1],html:2,probabl:[2,3],neutron:[0,4,3,2],higher:2,incorrect:[2,3],optim:1,nest:2,siegel:5,capabl:[0,2],moment:2,user:[0,4,1,2],immedi:2,implement:[2,1],sete:2,lower:2,off:[2,3],center:2,older:1,entri:2,thu:3,usual:2,well:[2,1],person:2,without:[2,1],command:[2,1],wherebi:[2,3],thi:[2,3,1,4],interpol:2,model:[0,2],dimension:2,left:2,identifi:2,birth:2,just:2,when:[2,3,1],obtain:1,rest:3,kill:2,aspect:[2,4],paul:[0,5],languag:2,cut:2,miscellan:2,makefil:1,paral:2,fortran:1,rgb:2,valid:[2,1],treatment:2,densiti:2,input:[2,4],save:2,match:2,take:2,bin:[2,1],format:[0,2],webpag:2,piec:2,realiz:2,grid:2,background:2,vacuum:2,characterist:2,string:2,loss:2,intel:1,specif:[2,4],arbitrari:2,plane:2,temperatur:3,flux:2,either:2,output:[2,1],right:2,often:2,captur:2,some:2,percentag:2,born:2,mpich2:1,sampl:[2,3],integ:2,inact:2,guess:2,transport:[0,3],transmiss:2,slice:2,lead:2,per:2,larg:[2,3],select:2,condit:2,combinatori:2,refer:2,machin:1,object:2,run:[2,1],perpendicular:2,host:1,squeez:2,prerequisit:1,post:2,simpler:2,src:1,about:2,actual:[2,1],gnome:2,materi:[2,3,4],slightli:2,simul:[0,4,2],union:2,stand:2,produc:2,crpg:1,cutoff:2,own:1,effici:2,xyz:2,"float":2,bound:[2,3],ppm:2,three:2,down:[2,1],calcult:2,your:1,stretch:2,git:1,span:2,wai:2,execut:1,support:1,custom:2,verbos:2,width:2,interfac:[2,1],low:3,overhead:2,"function":3,form:[2,3],roulet:2,atom:2,russian:2,line:[2,1],talli:[2,4],count:2,absent:2,isotrop:3,possibl:[2,1],whether:2,coeff:2,mpi_root:1,displai:2,below:2,otherwis:2,problem:2,cellborn:2,featur:[2,1],constant:3,pin:2,dure:2,repres:2,pix:2,file:[2,1,4],doe:2,fill:2,assembl:2,denot:2,interg:2,nonetheless:3,benoit:5,percent:2,detail:2,bracket:2,collis:[2,3],special:2,spatial:2,test:1,you:[4,1],survival_bias:2,architectur:1,repeat:2,intend:1,kord:5,eigenvalu:2,uniformli:2,debian:1,reduc:2,experienc:1,nucleu:3,directori:1,mask:2,ignor:3,time:[2,3],nuclei:3},objtypes:{},titles:["The OpenMC Monte Carlo Code","Installation","Creating XML Input Files","Methodology","User’s Guide","Development Team"],objnames:{},filenames:["index","install","usersguide/input","methods/index","usersguide/index","developers"]}) \ No newline at end of file +Search.setIndex({objects:{},terms:{all:[4,9,11,1,17,8],code:[0,1,3,4,9,11,12,13,14,5,17,18,20],entropi:[4,13,16],forget:[18,20],felker:20,focus:0,secondli:4,signific:8,correl:[4,12],abil:[13,5],reson:[4,13,8],follow:[9,4,11,17,1],locat:[4,11,17,1,16],profil:[11,17,1],accur:9,depend:[9,11,12,13,1,5],system:[7,9,12,13,5,8],rewrot:13,descript:9,send:17,openmpi:[11,1],those:9,"95cfac":12,aris:17,fatal:[16,17],cm3:4,"case":[4,8],sourc:[3,4,9,11,12,13,1,5,16,17],everi:[4,17],risk:[11,1],person:4,none:4,mpi:[11,1],feasibl:12,volum:[9,4],gfortran:[16,11,17,1],veri:9,affect:8,bluegen:13,tri:17,level:9,did:[16,17],necessit:12,list:[9,4,7,5],iter:[4,12],"try":17,describ:[9,4],vector:10,cosin:8,team:[0,18],small:[9,8],dimens:4,energyout:[4,12],smaller:4,computation:9,natur:4,direct:[4,10],sign:9,second:[0,4],leakag:12,pass:[11,1],download:[9,11,17,1],further:[11,1],carlo:[0,4,9,20,14,18,13],integr:8,even:9,what:[9,4,17,16],sub:4,neg:4,section:[0,4,9,11,12,1,16,17,8],weight_avg:4,calcul:[0,20,12,13,4],current:[4,6,18,14],"public":[0,20],version:[4,9,11,1,5,17],"new":[9,5,12,7,13],ever:4,method:[9,12,13,14],whatev:[11,1],xml:[3,4,19,11,12,16,17],vibrat:8,full:[4,11,1],led:[0,18],deriv:[9,11,1],whose:4,variat:8,gener:[4,9,10,12,17,8],coeffici:[4,5],sophist:9,here:[4,8],water:9,mev:4,let:[9,4],ubuntu:[11,1],path:[4,11,17],along:4,becom:10,sinc:[9,4,11,1,8],valu:4,box:4,search:12,produc:[9,4],hdf5:[11,12,1],technolog:0,converg:[9,4,13],amount:[9,8],within:[4,11,1],chang:[9,11,12,1,5,8],hexagon:4,magnitud:[4,8],commonli:9,overrid:4,configur:[16,11,1],parallelepip:4,default_x:[4,16],veloc:[9,10,8],approxim:9,apt:[11,1],releas:[0,7,9,12,13,5],unix:9,"boolean":4,unbias:5,instal:[0,9,11,1,16,17],total:[4,5],establish:8,unit:[4,5,10],highli:[11,1],plot:[4,5,12,16],from:[9,4,11,1,8],determinst:9,would:[4,17,8],memori:[11,12,13,1,5,17],lwr:20,univers:[4,13],two:[4,8],websit:9,few:9,program:[4,17],call:[9,4],recommend:[11,17,1],basi:4,type:[4,17,12,5],tell:[4,9,11,1,5,17],more:[0,4,9,12,13,5],sort:9,desir:4,relat:[9,12,8],benchmark:[9,13],finit:9,warn:4,flag:[4,11,1],indic:4,examin:4,particular:4,known:[9,4,11,7,1],xml_data_settings_t:[16,17],must:4,account:[9,4],ibm:[11,13],setup:[11,1],work:[9,16,11,1,5],uniqu:4,conceptu:9,itself:[11,17,1],can:[4,9,10,11,12,13,1,5,17,8],learn:9,under:4,root:[4,11,1],scatter:[4,14,8],control:9,serpent:[0,11,4],give:[9,4,17,7],process:9,sudo:[11,1],accept:[4,8],high:[11,1,5],sphere:4,critic:[0,15,20,14,4,16],tag:[4,17,5],want:[9,11,1],incom:5,onlin:9,occur:[9,17,8],occup:4,concept:9,motion:8,surfac:[0,4,9,10,6,14,16,17],multipl:[9,4,12],divid:[9,8],rather:[9,4,12,8],anoth:9,csg:4,six:4,"83a803":12,write:[9,4,5,16],how:[3,4,9,11,13,1,16],congruenti:4,anyon:4,subdirectori:17,answer:[9,8],instead:12,simpl:[9,4],electr:9,updat:[9,11,1],everywher:9,product:4,resourc:9,mat:4,clone:[11,1],after:[9,4,17,16],reflect:[4,17,14,10],geometri:[0,4,9,10,13,14,16,17],mac:[9,12,13,5],mesh:[9,4,5,16],mai:[9,4,11,1],end:[9,4],law:8,associ:[4,8],parallel:[9,11,20,1],physic:[0,4,9,20,14,8],circumst:4,github:[9,11,1],essenti:16,third:4,read:[17,5],light:8,incorrectli:[4,17],correspond:4,element:[4,11,17,16],caus:[4,17,8],inform:[0,17,4],environ:[9,4,11,17,16],allow:[9,4],enter:[11,17,1,8],order:[9,0,11,1,4],a07c08:12,origin:4,comfort:9,shield:13,atribut:4,over:[9,4,8],move:[9,12,14],rang:[4,13,8],report:[9,17],thermal:8,through:[4,14,16],equival:4,still:[9,17,5],vari:[8,12,13,5],upper_right:4,paramet:[9,4,11,1],conjunct:4,outer:[17,8],ptabl:[4,16],fix:[17,5,12,7,13],window:[9,12,13,5],isotrop:[4,8],onc:[9,4],easier:9,d050c7:5,non:[4,12],good:[9,11,1,8],"return":9,greater:8,thei:[9,4,14],handl:13,overal:9,initi:4,repositori:[11,1],automat:[9,4],now:[9,12,13,5,17,8],maxwellian:8,bank:[12,20],introduct:[15,14],"5524fd":5,bryan:18,term:9,name:[4,11,1],anyth:[9,11,1],troubleshoot:[16,17],cell:[4,17,12,16],cross_sect:[4,11,12,17,16],instruct:[9,11,1],separ:4,massachusett:0,each:[4,7,9,11,5,17],debug:[3,11,17,1],found:[4,17,16],higher:4,side:4,mean:[9,11,17,1],compil:[16,11,13,1,17],energy_grid:[4,16],weight:4,map:4,monoton:4,continu:9,heavi:8,fewer:9,someth:9,energi:[4,9,12,13,5,20],differ:[9,4,17],event:4,special:[4,12,13,5],out:[9,4,17,12],variabl:[4,11,1,16,17,8],shown:10,absorpt:4,space:[9,4],gradient:10,open:[16,17],develop:[3,0,17,18,9],content:0,rewrit:8,health:4,suitabl:9,rel:8,lattic:[4,17,16],cartersian:4,size:[4,12,13,5],correct:5,she:4,model:[9,0,4],linear:[4,12],"2a5b9c":5,million:[9,4],romano:[0,18,20],given:[4,17],free:[9,0,14,8],standard:[9,4],base:[0,12,8],theori:[9,0,14],intel:[11,17,1],advisor:18,ask:9,institut:0,card:4,"70c":4,angl:[4,12,8],could:[9,4,17,16],latest:[11,1],synchron:12,success:[12,7],keep:9,filter:[4,12,5],thing:[9,17],length:[4,6,14,5],wither:4,outsid:17,regress:5,subtl:12,travel:10,assign:4,first:[9,4,17],oper:4,softwar:[9,11,1],major:12,horelik:[18,12],directli:[9,11,1],upper:4,feel:0,exchang:4,lastnam:4,qualiti:4,number:[4,11,12,13,1,5,17],pgi:[11,13,1,17],unlik:4,done:[4,11,1],messag:[11,17,1,5],assume_separ:[4,16],miss:17,unrecogn:[16,17],take:[9,4],avail:[4,17],guess:4,varianc:[12,5],start:[9,4],data:[0,2,3,4,11,17],interact:[0,8],hdf5_root:[11,1],sometim:[4,8],construct:[9,0,4],necessarili:9,averag:9,similarli:11,termin:[11,1],white:4,john:4,"final":4,boil:9,too:17,shell:17,absent:4,option:[4,9,11,12,1,16,17],fbacktrac:[16,17],methodolog:[0,14],alloc:17,specifi:[4,17,5,16],part:8,pars:[3,19],mostli:[12,13,5],moder:8,roulett:4,exactli:17,than:[9,4,17,12,8],png:4,serv:4,kind:4,conveni:4,target:8,keyword:4,prevent:4,rate:[9,4],structur:[3,4,2],exampl:[9,4,11,17,1],project:18,pressur:9,includ:[4,18],were:4,posit:4,arrang:4,toward:4,beginn:[9,16],pre:4,"function":8,comput:[9,0,11,20,1],abov:[4,11,1,10],viewer:4,sab:4,pro:9,ani:[4,9,12,13,5,16,17,8],seed:[4,5,16],complet:[4,12,13],have:[4,9,11,12,13,1,17,8],tabl:[4,12,13],need:[4,9,11,1,16,17],seen:[9,4],turn:[4,11,13,1,17],issu:[9,7],engin:[9,20],unresolv:[4,13],recompil:17,self:13,screen:[11,1],upscatt:8,note:[0,4,7,12,13,5],also:[0,4,9,11,12,1],without:[4,11,1],particl:[0,4,9,12,20,14,16,17],which:[9,4,11,17,1],combin:4,mit:[11,1],singl:[4,12],wherebi:[4,14],begin:4,sure:17,unless:[11,1],distribut:[4,11,12,13,1,5,8],trace:[4,17,5,16],normal:[10,11,1,8],unsur:17,object:[4,17],compress:4,most:[9,4],plan:9,letter:4,phase:4,choos:[9,11,1],segment:[16,17],herman:18,appear:4,homogen:9,don:9,pgf90:[16,17],clear:17,cover:4,quantiti:[9,4],bash_profil:17,declar:4,determin:[9,4],enclos:4,effect:[9,4,12,20,8],axi:4,neutrno:8,review:9,reactor:[9,0],gold:9,text:[11,1],random:[9,4,5],corner:4,find:[9,4,17],help:[9,12],involv:[11,1],access:17,onli:4,explicitli:4,ratio:4,acquiant:9,materi:[9,4,5,8,16],imbal:20,print:4,solut:9,written:[4,8,10],should:[9,4,11,17,1],mcnp:[0,11],factor:9,fuel:4,contribut:4,variou:[3,9],get:[9,11,17,1],kinemat:[14,8],familiar:[9,4],express:4,secondari:[4,14],made:9,ssh:[11,1],increas:4,requir:[4,7,9,12,13,5],use_mpi:[11,1],enabl:[4,11,1],probabl:[4,17,12,13,8],email:17,sum:[4,5],"default":[9,4,13],statist:12,contain:4,openmc:[0,1,3,4,7,9,11,12,13,14,5,16,17,18,20],where:[4,9,10,12,17,8],analog:[6,14],set:[4,9,11,1,16,17],b2c40e:5,elast:8,see:[4,11,1,8],nuclid:[4,9,11,12,13,5,17],result:4,respons:4,fail:17,close:4,becaus:9,best:17,subject:5,infinit:4,flexibl:4,down:[4,11,1],nuclear:[9,11,20],boundari:[4,17],fission:[9,4,12,13,20],irfanview:4,figur:[9,4],score:4,simplest:9,"import":9,across:4,attribut:4,assumpt:[4,8],kei:[11,1],numer:4,f951:[16,17],induc:9,physicist:4,extens:4,lower_left:4,solv:[9,14],group:[9,0,4],come:9,problem:[4,9,11,12,13,5,16,17],addit:[11,1],reaction:[9,4],last:4,fit:4,cycl:[4,17],interprocedur:[11,1],howev:[9,8,12,13,5],etc:4,mont:[0,4,9,20,14,18,13],tutori:[9,16],equat:[9,14,8],improv:12,uncertainti:9,com:[11,1],con:9,load:20,randomli:[9,14],simpli:4,technic:9,point:[9,4,5,10],color:4,overview:[4,16],arriv:9,beonit:20,arbitrarili:9,linux:[9,12,13,5],respect:4,guid:[3,0,16,9],assum:[4,8],summar:17,smith:[4,18,20],quit:[9,4],slowli:8,creat:[4,14],rgb:4,addition:4,due:[4,8],been:[11,12,13,1,5,17],calcult:4,compon:4,accumul:4,much:[9,4,13],pdf:20,interest:[9,4,8],basic:[9,4],use_hdf5:[11,1],quickli:9,upcom:5,both:[11,1],nrc:9,imag:4,andrew:[18,20],coordin:4,understand:9,input:[3,4,19,12,16],present:4,emploi:4,determinist:9,multi:9,save:4,look:[9,4],gnu:[11,1],solid:[9,0,4],batch:[4,17,12],rectangular:4,defin:4,"while":[9,4],behavior:9,error:[16,17,12,13],a75283:12,region:[9,4],bin:[4,11,12,1],seven:9,almost:8,underpredict:12,site:4,activ:18,bias:4,quadrat:4,ascii:4,scienc:20,proport:[9,8],generations_per_batch:4,welcom:[3,16],cross_sections_serp:11,perform:[4,9,20,16,17,13],make:[9,11,1,5,16,17,8],gprof:[11,1],cross:[0,4,9,10,11,12,16,17,8],same:[9,4,11,1,8],binari:[4,5],when:[4,11,17,1,8],complex:[9,4],split:9,document:[3,9],neutron:[0,4,9,10,14,16,8],difficult:9,incorrect:[4,8],denot:4,optim:[11,1],nest:[4,13],siegel:[18,20],hand:[12,13,5],capabl:[0,12,4],moment:4,user:[0,4,9,11,12,1,5,16],mani:[9,4,12,13,8],robust:13,implement:[4,11,12,13,1],fissil:9,implicit:4,sete:4,lower:4,task:[3,9],off:[4,8],center:4,older:[11,1],entri:4,thu:8,usual:4,well:[4,11,12,13,1,5],kyle:20,latestest:17,contact:0,command:[4,9,11,1,16,17],expens:9,thi:[3,4,9,11,12,13,1,5,16,17,8],interpol:[4,12],salient:9,everyth:17,dimension:[9,4],left:4,comment:4,identifi:4,birth:4,just:4,among:[9,17],percent:4,ordin:9,rest:8,kill:4,aspect:[4,16],paul:[0,18,20],yet:[12,13,5],languag:4,cut:4,miscellan:4,makefil:[11,1],paral:4,fortran:[3,19,11,13,1,17],add:17,discret:9,treatment:[4,13],densiti:[9,4,5],els:[11,1],subsequ:4,modul:[16,17],match:4,build:[9,16,11,1],real:4,around:9,format:[0,11,4],webpag:4,varieti:[12,13,5],piec:4,realiz:4,grid:[4,12],know:[9,16,17],background:4,vacuum:[4,17],bit:9,characterist:[9,4],string:4,mod:[16,17],loss:4,lost:17,specif:[9,4,16],arbitrari:4,plane:4,manual:9,html:4,temperatur:8,flux:[9,4],necessari:9,either:[9,4,11,17],fill:4,output:[4,11,12,17,1],fault:[16,17],why:[9,17],right:4,old:17,often:[9,4],captur:4,some:[9,4],percentag:4,global:[9,12],born:4,mpich2:[11,1],sampl:[9,4,12,8],integ:4,proper:17,inact:4,successfulli:13,transport:[9,0,20,14],transmiss:4,pixel:4,slice:4,lead:4,leak:[16,17],per:[4,12],track:[9,6,14,5],estim:[6,12,14,5],larg:[4,8],select:[4,12],overcom:12,condit:[4,17],three:[9,4],bessel:5,refer:4,machin:[11,13,1],who:4,run:[4,9,11,12,13,1,5,17],power:9,annal:20,journal:20,obtain:[16,11,1],perpendicular:4,interfac:[4,11,1],host:[9,11,1],nutshel:9,squeez:4,prerequisit:[16,11,1],post:4,appli:[4,17],between:[4,12,8],simpler:4,src:[11,17,1],about:4,actual:[4,11,1],gnome:4,valid:[4,11,1],firstnam:4,slightli:4,simul:[0,4,9,11,16,17],union:[4,12],stand:4,neighbor:12,b206a8:12,other:[9,4,17],crpg:[11,1],cutoff:[4,16],own:[11,1],effici:4,absolut:11,undergo:[4,14],elementari:9,"float":4,bound:[4,8],ppm:4,surviv:4,assess:13,explain:3,ensur:17,elimin:4,your:[9,11,17,1],stretch:4,git:[9,11,1],span:4,wai:[4,17],nodal:9,execut:[11,1],support:[11,12,1],rotat:12,submit:[9,20],custom:4,verbos:[4,5,16],width:4,handbook:9,low:8,fraction:[4,5],overhead:4,analysi:20,billion:9,form:[9,4,8,10],roulet:4,heat:9,diffus:[9,5],atom:[4,5],russian:4,line:[4,9,11,1,16,17],talli:[4,6,12,14,5,16],bug:[9,5,12,7,13],shannon:[4,13],count:4,combinatori:4,immedi:4,nucleu:8,consist:9,possibl:[9,4,11,1],whether:[9,4],coeff:4,mpi_root:[11,1],displai:[4,17],crai:11,below:4,fundament:9,otherwis:4,distclean:17,stochast:9,expect:4,curv:9,cellborn:4,featur:[4,7,11,12,13,1,5],constant:8,pin:4,pseudo:4,dure:[4,12],filenam:4,doesn:9,repres:4,pix:4,file:[4,11,1,5,16,17],doe:[9,4,16],check:17,bracket:4,assembl:4,col_spec:4,interg:4,nonetheless:8,cylind:4,benoit:[18,20],uranium:9,detail:[4,17],nick:[18,12],priori:9,collis:[4,17,14,8],ifort:[16,17],rememb:9,spatial:4,test:[11,12,13,1,5,17],you:[9,16,11,17,1],survival_bias:[4,16],architectur:[11,1],repeat:[9,4],intend:[11,1],clean:17,kord:[18,20],"class":9,eigenvalu:4,uniformli:4,debian:[11,1],reduc:[9,4],markup:4,experienc:[11,17,1],receiv:[9,17],longer:9,algorithm:[15,20,14],directori:[11,17,1],mask:4,microsoft:[12,13,5],ignor:8,potenti:9,time:[9,4,17,12,8],cpp:[16,17],nuclei:8},objtypes:{},titles:["The OpenMC Monte Carlo Code","Installation","1. Data Structures","Developer’s Guide","3. Writing XML Input Files","Release Notes for OpenMC 0.4.2","4. Tallies","Release Notes","3. Physics","1. A Beginner’s Guide to OpenMC","2. Geometry","2. Installation and Configuration","Release Notes for OpenMC 0.4.1","Release Notes for OpenMC 0.4.0","Theory and Methodology","1. Introduction","User’s Guide","4. Troubleshooting OpenMC","Development Team","2. xml-fortran Input Parsing","Publications"],objnames:{},filenames:["index","install","devguide/structures","devguide/index","usersguide/input","releasenotes/notes_0.4.2","methods/tallies","releasenotes/index","methods/physics","usersguide/beginners","methods/geometry","usersguide/setup","releasenotes/notes_0.4.1","releasenotes/notes_0.4.0","methods/index","methods/introduction","usersguide/index","usersguide/troubleshoot","developers","devguide/xml-fortran","publications"]}) \ No newline at end of file diff --git a/usersguide/beginners.html b/usersguide/beginners.html new file mode 100644 index 0000000000..df25c95b4f --- /dev/null +++ b/usersguide/beginners.html @@ -0,0 +1,206 @@ + + + + + + + + + + 1. A Beginner’s Guide to OpenMC — OpenMC Documentation + + + + + + + + + + + + + + + + +
+ + + +
+
+ +

+ «  User’s Guide +   ::   + Contents +   ::   + 2. Installation and Configuration  » +

+ +
+
+ + +
+

1. A Beginner’s Guide to OpenMC

+
+

1.1. 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.

+
+
+

1.2. 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).
  • +
+
+
+

1.3. 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 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 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:

+ +
+
+ + +
+
+ +

+ «  User’s Guide +   ::   + Contents +   ::   + 2. Installation and Configuration  » +

+ +
+ + + + + + + \ No newline at end of file diff --git a/usersguide/index.html b/usersguide/index.html index e6934314cb..468d12abf7 100644 --- a/usersguide/index.html +++ b/usersguide/index.html @@ -17,7 +17,7 @@ - - + +
@@ -40,11 +40,11 @@

- «  Methodology + «  4. Tallies   ::   Contents   ::   - Creating XML Input Files  » + 1. A Beginner’s Guide to OpenMC  »

@@ -57,13 +57,74 @@ essential aspects of using OpenMC to perform neutronic simulations.

    -
  • Creating XML Input Files @@ -75,18 +136,33 @@ essential aspects of using OpenMC to perform neutronic simulations.

    - «  Methodology + «  4. Tallies   ::   Contents   ::   - Creating XML Input Files  » + 1. A Beginner’s Guide to OpenMC  »

    + + + \ No newline at end of file diff --git a/usersguide/input.html b/usersguide/input.html index e955f36b67..bc4a987cd6 100644 --- a/usersguide/input.html +++ b/usersguide/input.html @@ -8,7 +8,7 @@ - Creating XML Input Files — OpenMC Documentation + 3. Writing XML Input Files — OpenMC Documentation @@ -17,7 +17,7 @@ - - + +
    @@ -41,19 +41,19 @@
    -
    -

    Creating XML Input Files

    +
    +

    3. 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 settings, the input files for OpenMC are structured in a set of XML files. XML, @@ -62,12 +62,13 @@ 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:

    -
    <person>
    -  <firstname>John</firstname>
    -  <lastname>Smith</lastname>
    -  <age>27</age>
    -  <occupation>Health Physicist</occupation>
    -</person>
    +
    <person>
    +  <firstname>John</firstname>
    +  <lastname>Smith</lastname>
    +  <age>27</age>
    +  <occupation>Health Physicist</occupation>
    +</person>
    +

    Here we see that the first tag indicates that the following data will describe a person. The nested tags firstname, lastname, age, and occupation @@ -75,20 +76,213 @@ indicate characteristics about the person being described.

    In much the same way, OpenMC input uses XML tags to describe the geometry, the materials, and settings for a Monte Carlo simulation.

    -

    Overview of Files

    +

    3.1. 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
    +
    +

    3.2. Settings Specification – settings.xml

    +

    All simulation parameters and miscellaneous options are specified in the +settings.xml file.

    +
    +

    3.2.1. <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

    +
    +
    +
    +
    +

    3.2.2. <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 CROSS_SECTIONS +environment variable will be used to find the path to the XML cross section +listing.

    +
    +
    +

    3.2.3. <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

    +
    +
    +
    +
    +

    3.2.4. <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
    +
    +
    +

    3.2.5. <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

    +
    +
    +
    +
    +

    3.2.6. <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
    +
    +
    +

    3.2.7. <seed> Element

    +

    The seed element is used to set the seed used for the linear congruential +pseudo-random number generator.

    +
    +
    Default: 1
    +
    +
    +

    3.2.8. <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.

    +
    +
    +
    +
    +

    3.2.9. <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
    +
    +
    +

    3.2.10. <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
    +
    +
    +

    3.2.11. <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

    +

    3.3. Geometry Specification – geometry.xml

    The geometry in OpenMC is described using constructive solid geometry (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.

    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:

    -
    <?xml version="1.0">
    -<geometry>
    -  <!-- This is a comment -->
    +
    <?xml version="1.0"?>
    +<geometry>
    +  <!-- This is a comment -->
     
    -  <surface>
    -    <id>1</id>
    -    <type>sphere</type>
    -    <coeffs>0.0 0.0 0.0 5.0</coeffs>
    -    <boundary>vacuum</boundary>
    -  <surface>
    +  <surface>
    +    <id>1</id>
    +    <type>sphere</type>
    +    <coeffs>0.0 0.0 0.0 5.0</coeffs>
    +    <boundary>vacuum</boundary>
    +  <surface>
     
    -  <cell>
    -    <id>1</id>
    -    <universe>0</universe>
    -    <material>1</material>
    -    <surfaces>-1</surfaces>
    -  </cell>
    -</geometry>
    + <cell> + <id>1</id> + <universe>0</universe> + <material>1</material> + <surfaces>-1</surfaces> + </cell> +</geometry> +

    At the beginning of this file is a comment, denoted by a tag starting with <!-- and ending with -->. 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 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:

    -
    <?xml version="1.0">
    +
    <?xml version="1.0">
     <geometry>
       <!-- This is a comment -->
     
    @@ -133,8 +328,8 @@ could be written as:

    </geometry>
    -

    surface Element

    -

    Each surface element can have the following attributes or sub-elements:

    +

    3.3.1. <surface> Element

    +

    Each <surface> element can have the following attributes or sub-elements:

    @@ -144,8 +339,8 @@ could be written as:

    Default: None

    - @@ -154,9 +349,9 @@ a list a what coefficients to specify for a given surface

    Default: None

    - @@ -200,8 +395,8 @@ R^2"/>. The coefficients specified are “ -

    cell Element

    -

    Each cell element can have the following attributes or sub-elements:

    +

    3.3.2. <cell> Element

    +

    Each <cell> element can have the following attributes or sub-elements:

    type:

    The type of the surfaces. This can be x-plane, y-plane, z-plane, -plane, x-cylinder, y-cylinder, z-cylinder, or sphere.

    +
    type:

    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

    boundary:

    The boundary condition for the surface. This can be transmission, -vacuum, or reflective.

    -

    Default: transmission

    +
    boundary:

    The boundary condition for the surface. This can be “transmission”, +“vacuum”, or “reflective”.

    +

    Default: “transmission”

    @@ -242,11 +437,11 @@ bounding surfaces would be given as “-3 5”.

    -

    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 +

    3.3.3. <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 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:

    @@ -283,9 +478,9 @@ directions, respectively.

    -

    Materials Specification – materials.xml

    +

    3.4. Materials Specification – materials.xml

    -

    material Element

    +

    3.4.1. <material> Element

    Each material element can have the following attributes or sub-elements:

    @@ -297,10 +492,10 @@ directions, respectively.

    @@ -333,10 +528,10 @@ and xs is the cross-s
    -

    default_xs Element

    +

    3.4.2. <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”.

    @@ -344,184 +539,8 @@ 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:

    -
    -
    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

    --- - - - - - - - - - - -
    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

    +

    3.5. Tallies Specification – tallies.xml

    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.

    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

    -

    The tally element accepts the following sub-elements:

    +

    3.5.1. <tally> Element

    +

    The <tally> element accepts the following sub-elements:

    @@ -620,9 +639,9 @@ secondary neutrons.
    -

    mesh Element

    +

    3.5.2. <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:

    @@ -644,7 +663,7 @@ given, it is assumed that the mesh is an x-y mesh.
    -

    assume_separate Element

    +

    3.5.3. <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 overhead. The effect of assuming all tallies are spatially separate is that once @@ -660,14 +679,14 @@ separate can lead to incorrect results.

    -
    -

    Geometry Plotting Specification – plot.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.

    +
    +

    3.6. 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 plots.xml is simply <plots> and any number output figures can +be defined with <plot> sub-elements.

    -

    plot Element

    +

    3.6.1. <plot> Element

    Each plot must contain a combination of the following attributes or sub-elements:

    @@ -687,13 +706,13 @@ which colors regions by cells and materials, respectively.

    Default: cell

    - - @@ -715,7 +734,7 @@ magnitude without any loss of image quality.

    origin:

    Specifies the XYZ coordinate of the center of the plot. Should be 3 floats -separated by spaces.

    +
    origin:

    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, +

    width:

    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

    -

    plot elements of type slice also contain the following attributes or +

    <plot> elements of type “slice” also contain the following attributes or sub-elements:

    @@ -723,12 +742,12 @@ sub-elements:

    - -
    basis:

    Keyword specifying the plane of the plot for slice type plots. Can be -one of: xy, xz, yz.

    -

    Default: xy

    +one of: “xy”, “xz”, “yz”.

    +

    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.

    +
    pixels:

    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 @@ -745,15 +764,15 @@ ratio defined in widthGeometry 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 +

    col_spec:

    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.

    @@ -801,18 +820,33 @@ materials to plot. This overrides any

    - «  User’s Guide + «  2. Installation and Configuration   ::   Contents   ::   - Development Team  » + 4. Troubleshooting OpenMC  »

    + + + \ No newline at end of file diff --git a/usersguide/setup.html b/usersguide/setup.html new file mode 100644 index 0000000000..6432333a10 --- /dev/null +++ b/usersguide/setup.html @@ -0,0 +1,188 @@ + + + + + + + + + + 2. Installation and Configuration — OpenMC Documentation + + + + + + + + + + + + + + + + +
    + + + +
    +
    + +

    + «  1. A Beginner’s Guide to OpenMC +   ::   + Contents +   ::   + 3. Writing XML Input Files  » +

    + +
    +
    + + +
    +

    2. Installation and Configuration

    +
    +

    2.1. 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.

    +
    +
    +

    2.2. 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 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
    +
    +
    +
    +

    2.3. 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
    +
    +
    +
    +

    2.4. Compiling

    +

    To compile the code, run the following commands from within the root directory +for OpenMC:

    +
    cd src
    +make
    +
    +
    +

    This will build an executable named openmc.

    +
    +
    +

    2.5. 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 +<cross_sections> Element in a settings.xml file or the 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 <cross_sections> Element in a settings.xml +file or the CROSS_SECTIONS environment variable to the absolute path +of the cross_sections_serpent.xml file.

    +
    +
    + + +
    +
    + +

    + «  1. A Beginner’s Guide to OpenMC +   ::   + Contents +   ::   + 3. Writing XML Input Files  » +

    + +
    + + + + + + + \ No newline at end of file diff --git a/usersguide/troubleshoot.html b/usersguide/troubleshoot.html new file mode 100644 index 0000000000..4e651be64f --- /dev/null +++ b/usersguide/troubleshoot.html @@ -0,0 +1,176 @@ + + + + + + + + + + 4. Troubleshooting OpenMC — OpenMC Documentation + + + + + + + + + + + + + + + + +
    + + + +
    +
    + +

    + «  3. Writing XML Input Files +   ::   + Contents +   ::   + Developer’s Guide  » +

    + +
    +
    + + +
    +

    4. Troubleshooting OpenMC

    +
    +

    4.1. 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.

    +
    +

    4.1.1. 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 make clean, and then tried to 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 +make distclean and then recompiling.

    +
    +
    +

    4.1.2. 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.

    +
    +
    +

    4.1.3. 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.

    +
    +
    +

    4.1.4. make[1]: ifort: Command not found

    +

    You tried compiling with the Intel Fortran compiler and it was not found on your +PATH. If you have the Intel compiler installed, make sure the shell +can locate it (this can be tested with which ifort).

    +
    +
    +

    4.1.5. make[1]: pgf90: Command not found

    +

    You tried compiling with the PGI Fortran compiler and it was not found on your +PATH. If you have the PGI compiler installed, make sure the shell can +locate it (this can be tested with which ifort).

    +
    +
    +
    +

    4.2. Problems with Simulations

    +
    +

    4.2.1. 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:

    +
    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.

    +
    +
    +

    4.2.2. 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 <cross_sections> Element in settings.xml or +with the CROSS_SECTIONS environment variable. It is recommended to add +a line in your .profile or .bash_profile setting the +CROSS_SECTIONS environment variable.

    +
    +
    +

    4.2.3. 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:

    +
    <trace>5 1 4032</trace>
    +
    +
    +
    +
    +
    + + +
    +
    + +

    + «  3. Writing XML Input Files +   ::   + Contents +   ::   + Developer’s Guide  » +

    + +
    + + + + + + + \ No newline at end of file