From 80db0514ce0bfb9431bc962989306a9dcfec2d06 Mon Sep 17 00:00:00 2001 From: Paul Romano Date: Thu, 6 Oct 2011 14:40:58 -0400 Subject: [PATCH] Updated documentation. --- docs/source/conf.py | 2 +- docs/source/install.rst | 25 +++++++++++--- docs/source/usersguide/index.rst | 2 +- docs/source/usersguide/input.rst | 58 +++++++++++++++++++++++++++++--- 4 files changed, 77 insertions(+), 10 deletions(-) diff --git a/docs/source/conf.py b/docs/source/conf.py index b7ec504bb..5ba916f6e 100644 --- a/docs/source/conf.py +++ b/docs/source/conf.py @@ -48,7 +48,7 @@ copyright = u'2011, Massachusetts Institute of Technology' # The short X.Y version. version = "0.3" # The full version, including alpha/beta/rc tags. -release = "0.3.1" +release = "0.3.2" # The language for content autogenerated by Sphinx. Refer to documentation # for a list of supported languages. diff --git a/docs/source/install.rst b/docs/source/install.rst index 0dbca8ae2..369e4047b 100644 --- a/docs/source/install.rst +++ b/docs/source/install.rst @@ -13,11 +13,25 @@ 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 + +.. warning:: The runtime preformance with the Intel Fortran compiler and PGI + Fortran compiler will likely exceed that of the gfortran compiler. Compiling + with high optimization on the gfortran compiler may make up for some of the + performance difference + 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. +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 .. _gfortran: http://gcc.gnu.org/wiki/GFortran .. _OpenMPI: http://www.open-mpi.org @@ -55,12 +69,15 @@ USE_MPI also set the MPI root directory by setting the MPI variable further down in the Makefile. -USE_MPI +USE_OPENMP Enables parallel runs on shared-memory architecture using OpenMP threading. USE_COARRAY Enables parallel runs using Fortran 2008 coarrays. +.. note:: OpenMC does not yet support parallelism using OpenMP or Fortran 2008 + coarrays. + --------- Compiling --------- @@ -69,6 +86,6 @@ To compile the code, run the following commands from within the root directory for OpenMC:: cd openmc/src - make -f Makefile + make This will build an executable named ``openmc``. diff --git a/docs/source/usersguide/index.rst b/docs/source/usersguide/index.rst index 3edfaa7dd..3673012bf 100644 --- a/docs/source/usersguide/index.rst +++ b/docs/source/usersguide/index.rst @@ -8,6 +8,6 @@ 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: 1 + :maxdepth: 2 input diff --git a/docs/source/usersguide/input.rst b/docs/source/usersguide/input.rst index 96e7499cc..8dbbc5d09 100644 --- a/docs/source/usersguide/input.rst +++ b/docs/source/usersguide/input.rst @@ -30,12 +30,12 @@ materials, and settings for a Monte Carlo simulation. .. _XML: http://www.w3.org/XML/ ------ -Files ------ +----------------- +Overview of Files +----------------- To assemble a complete model for OpenMC, one needs to create separate XML files -for the geometry, materails, and settings. Additionally, an optional tallies XML +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: @@ -48,6 +48,56 @@ files are called: 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 +the geometry model, each unique closed volume in defined by its bounding +surfaces. In OpenMC, most `quadratic surfaces`_ can be modeled and used as +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:: + + + + + + + 1 + sphere + 0.0 0.0 0.0 5.0 + vacuum + + + + 1 + 0 + 1 + -1 + + + +At the beginning of this file is a comment, denoted by a tag starting with +````. Comments, as well as any other type of input, +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:: + + + + + + + + + + +.. _constructive solid geometry: http://en.wikipedia.org/wiki/Constructive_solid_geometry + +.. _quadratic surfaces: http://en.wikipedia.org/wiki/Quadric + Types of surfaces: ``x-plane``