diff --git a/_images/3dcore.png b/_images/3dcore.png
new file mode 100644
index 0000000000..69fed4a079
Binary files /dev/null and b/_images/3dcore.png differ
diff --git a/_images/3dgeomplot.png b/_images/3dgeomplot.png
new file mode 100644
index 0000000000..5c16d8d831
Binary files /dev/null and b/_images/3dgeomplot.png differ
diff --git a/_images/atr.jpg b/_images/atr.jpg
new file mode 100644
index 0000000000..c19d10e988
Binary files /dev/null and b/_images/atr.jpg differ
diff --git a/_images/atr.png b/_images/atr.png
new file mode 100644
index 0000000000..e1f440584b
Binary files /dev/null and b/_images/atr.png differ
diff --git a/_images/fluxplot.png b/_images/fluxplot.png
new file mode 100644
index 0000000000..9c13ff33f3
Binary files /dev/null and b/_images/fluxplot.png differ
diff --git a/_images/plotmeshtally.png b/_images/plotmeshtally.png
new file mode 100644
index 0000000000..d874b4906a
Binary files /dev/null and b/_images/plotmeshtally.png differ
diff --git a/_sources/devguide/index.txt b/_sources/devguide/index.txt
index 98df54b17e..1eb7436d03 100644
--- a/_sources/devguide/index.txt
+++ b/_sources/devguide/index.txt
@@ -17,3 +17,4 @@ as debugging.
workflow
xml-fortran
statepoint
+ voxel
diff --git a/_sources/devguide/voxel.txt b/_sources/devguide/voxel.txt
new file mode 100644
index 0000000000..8ce0c6ee87
--- /dev/null
+++ b/_sources/devguide/voxel.txt
@@ -0,0 +1,54 @@
+.. _devguide_voxel:
+
+=====================================
+Voxel Plot Binary File Specifications
+=====================================
+
+----------
+Revision 1
+----------
+
+**integer(4) n_voxels_x**
+
+ Number of voxels in the x direction
+
+**integer(4) n_voxels_y**
+
+ Number of voxels in the y direction
+
+**integer(4) n_voxels_z**
+
+ Number of voxels in the z direction
+
+**real(8) width_voxel_x**
+
+ Width of voxels in the x direction
+
+**real(8) width_voxel_y**
+
+ Width of voxels in the y direction
+
+**real(8) width_voxel_z**
+
+ Width of voxels in the z direction
+
+**real(8) lower_left_x**
+
+ Lower left x point of the voxel grid
+
+**real(8) lower_left_y**
+
+ Lower left y point of the voxel grid
+
+**real(8) lower_left_z**
+
+ Lower left z point of the voxel grid
+
+*do x = 1, n_voxels_x*
+ *do y = 1, n_voxels_y*
+ *do z = 1, n_voxels_z*
+
+ **integer(4) id**
+
+ Cell or material id number at this voxel center. Set to -1 when
+ cell not_found.
diff --git a/_sources/usersguide/beginners.txt b/_sources/usersguide/beginners.txt
index 9a791ac521..69f44c2ca1 100644
--- a/_sources/usersguide/beginners.txt
+++ b/_sources/usersguide/beginners.txt
@@ -109,7 +109,9 @@ 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 acquainted with
-commonly-used commands.
+commonly-used commands. It is also helpful to be familiar with `Python
+`_, as most of the post-processing utilities provided
+with OpenMC rely on it for data manipulation and results visualization.
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
diff --git a/_sources/usersguide/index.txt b/_sources/usersguide/index.txt
index a3b1583653..675ed4081a 100644
--- a/_sources/usersguide/index.txt
+++ b/_sources/usersguide/index.txt
@@ -14,4 +14,5 @@ essential aspects of using OpenMC to perform neutronic simulations.
beginners
install
input
+ processing
troubleshoot
diff --git a/_sources/usersguide/input.txt b/_sources/usersguide/input.txt
index af8d94e71d..a6efb6e723 100644
--- a/_sources/usersguide/input.txt
+++ b/_sources/usersguide/input.txt
@@ -941,19 +941,27 @@ tallies. This element should be followed by "true" or "false".
*Default*: false
+.. _usersguide_plotting:
+
--------------------------------------------
Geometry Plotting Specification -- plots.xml
--------------------------------------------
-A basic 2D plotting capability is available in OpenMC by creating a plots.xml
+Basic plotting capabilities are 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.
+element of the plots.xml is simply ```` and any number output plots can
+be defined with ```` sub-elements. Two plot types are currently
+implemented in openMC:
+
+* ``slice`` 2D pixel plot along one of the major axes. Produces a PPM image file.
+* ``voxel`` 3D voxel data dump. Produces a binary file containing voxel xyz position and cell or material id.
+
```` Element
------------------
-Each plot must contain a combination of the following attributes or sub-elements:
+Each plot must contain a combination of the following attributes or
+sub-elements:
:id:
The unique ``id`` of the plot.
@@ -967,7 +975,9 @@ Each plot must contain a combination of the following attributes or sub-elements
:color:
Keyword for plot coloring. This can only be either ``cell`` or ``mat``,
- which colors regions by cells and materials, respectively.
+ which colors regions by cells and materials, respectively. For voxel plots,
+ this determines which id (cell or material) is associated with each
+ position.
*Default*: ``cell``
@@ -985,60 +995,75 @@ Each plot must contain a combination of the following attributes or sub-elements
*Default*: None - Required entry
:type:
- Keyword for type of plot to be produced. Currently only ``slice`` plots are
- implemented, which create 2D pixel maps saved in the PPM file format. PPM
- files can be displayed in most viewers (e.g. the default Gnome viewer,
- IrfanView, etc.).
+ Keyword for type of plot to be produced. Currently only "slice" and
+ "voxel" plots are implemented. The "slice" plot type creates 2D pixel
+ maps saved in the PPM file format. PPM files can be displayed in most
+ viewers (e.g. the default Gnome viewer, IrfanView, etc.). The "voxel"
+ plot type produces a binary datafile containing voxel grid positioning and
+ the cell or material (specified by the ``color`` tag) at the center of each
+ voxel. These datafiles can be processed into 3D SILO files using the
+ ``voxel.py`` utility provided with the OpenMC source, and subsequently
+ viewed with a 3D viewer such as VISIT or Paraview. See the
+ :ref:`devguide_voxel` for information about the datafile structure.
.. note:: Since the PPM format is saved without any kind of compression,
the resulting file sizes can be quite large. Saving the image in
the PNG format can often times reduce the file size by orders of
- magnitude without any loss of image quality.
+ magnitude without any loss of image quality. Likewise,
+ high-resolution voxel files produced by OpenMC can be quite large,
+ but the equivalent SILO files will by significantly smaller.
*Default*: "slice"
-```` elements of ``type`` "slice" also contain the following attributes or
-sub-elements:
+```` elements of ``type`` "slice" and "voxel" must contain the ``pixels``
+attribute or sub-element:
+
+ :pixels:
+ Specifies the number of pixes or voxels to be used along each of the basis
+ directions for "slice" and "voxel" plots, respectively. Should be two or
+ three 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 size. A 10 million voxel binary file will be around
+ 40 MB.
+
+ .. warning:: If the aspect ratio defined in ``pixels`` does not match the
+ aspect ratio defined in ``width`` the plot may appear stretched
+ or squeezed.
+
+ .. 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" and "voxel" plots
+
+```` elements of ``type`` "slice" can also contain the following
+attributes or sub-elements. These are not used in "voxel" plots:
:basis:
- Keyword specifying the plane of the plot for ``slice`` type plots. Can be
+ Keyword specifying the plane of the plot for "slice" type plots. Can be
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 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
- size.
-
- .. warning:: If the aspect ratio defined in ``pixels`` does not match the aspect
- ratio defined in ``width`` the plot may appear stretched or squeezed.
-
- .. 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
-
:background:
- Specifies the RGB color of the regions where no OpenMC cell can be found. Should
- be three integers separated by spaces.
+ Specifies the RGB color of the regions where no OpenMC cell can be found.
+ Should be three integers separated by spaces.
*Default*: 0 0 0 (white)
:col_spec:
- 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.
+ 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.
:id:
Specifies the cell or material unique id for the color specification.
:rgb:
- Specifies the custom color for the cell or material. Should be 3 integers separated
- by spaces.
+ Specifies the custom color for the cell or material. Should be 3 integers
+ separated by spaces.
As an example, if your plot is colored by material and you want material 23
to be blue, the corresponding ``col_spec`` element would look like:
@@ -1051,17 +1076,18 @@ sub-elements:
:mask:
The special ``mask`` sub-element allows for the selective plotting of *only*
- user-specified cells or materials. Only one ``mask`` element is allowed per ``plot``
- element, and it must contain as attributes or sub-elements a background masking color and
- a list of cells or materials to plot:
+ user-specified cells or materials. Only one ``mask`` element is allowed per
+ ``plot`` element, and it must contain as attributes or sub-elements a
+ background masking color and a list of cells or materials to plot:
:components:
- List of unique ``id`` numbers of the cells or materials to plot. Should be any number
- of integers separated by spaces.
+ List of unique ``id`` numbers of the cells or materials to plot. Should be
+ any number of integers separated by spaces.
:background:
- Color to apply to all cells or materials not in the ``components`` list of cells or
- materials to plot. This overrides any ``col_spec`` color specifications.
+ Color to apply to all cells or materials not in the ``components`` list of
+ cells or materials to plot. This overrides any ``col_spec`` color
+ specifications.
*Default*: None
diff --git a/_sources/usersguide/processing.txt b/_sources/usersguide/processing.txt
new file mode 100644
index 0000000000..c56a61e61e
--- /dev/null
+++ b/_sources/usersguide/processing.txt
@@ -0,0 +1,360 @@
+.. _usersguide_processing:
+
+=================================
+Data Processing and Visualization
+=================================
+
+This section is intended to explain in detail the recommended procedures for
+carrying out common tasks with OpenMC. While several utilities of varying
+complexity are provided to help automate the process, in many cases it will be
+extremely beneficial to do some coding in Python to quickly obtain results. In
+these cases, and for many of the provided utilities, it is necessary for your
+Python installation to contain:
+
+* [1]_ `Numpy `_
+* [1]_ `Scipy `_
+* [2]_ `h5py `_
+* [3]_ `Matplotlib `_
+* [3]_ `Silomesh `_
+* [3]_ `VTK `_
+* [4]_ `PyQt `_
+
+Most of these are easily obtainable in Ubuntu through the package manager, or
+are easily installed with setuptools.
+
+.. [1] Required for tally data extraction from statepoints with statepoint.py
+.. [2] Required only if reading HDF5 statepoint files.
+.. [3] Optional for plotting utilities
+.. [4] Optional for interactive GUIs
+
+----------------------
+Geometry Visualization
+----------------------
+
+Geometry plotting is carried out by creating a plots.xml, specifying plots, and
+running OpenMC with the -plot or -p command-line option (See
+:ref:`usersguide_plotting`).
+
+Plotting in 2D
+--------------
+
+.. image:: ../../img/atr.png
+ :height: 200px
+
+After running OpenMC to obtain PPM files, images should be saved to another
+format before using them elsewhere. This cuts down the size of the file by
+orders of magnitude. Most image viewers and editors that can view PPM images
+can also save to other formats (e.g. `Gimp `_, `IrfanView
+`_, etc.). However, more likey the user will want to
+convert to another format on the command line. This is easily accomplished with
+the ``convert`` command available on most linux distributions as part of the
+`ImageMagick `_ package. (On
+Ubuntu: ``sudo apt-get install imagemagick``). Images are then converted like:
+
+.. code-block:: sh
+
+ convert plot.ppm plot.png
+
+Plotting in 3D
+--------------
+
+.. image:: ../../img/3dgeomplot.png
+ :height: 200px
+
+The binary VOXEL files output by OpenMC can not be viewed directly by any
+existing viewers. In order to view them, they must be converted into a standard
+mesh format that can be viewed in ParaView, Visit, etc. The provided utility
+voxel.py accomplishes this for SILO:
+
+.. code-block:: sh
+
+ /src/utils/voxel.py myplot.voxel -o output.silo
+
+and VTK file formats:
+
+.. code-block:: sh
+
+ /src/utils/myplot.voxel --vtk -o output.vti
+
+To use this utility you need either
+
+* `Silomesh `_
+
+or
+
+* `VTK `_ with python bindings - On Ubuntu, these are easily obtained with ``sudo apt-get install python-vtk``
+
+Users can process the binary into any other format if desired by following the
+example of voxel.py. For the binary file structure, see :ref:`devguide_voxel`.
+
+.. note:: 3D voxel plotting can be very computer intensive for the viewing
+ program (Visit, Paraview, etc.) if the number of voxels is large
+ (>10million or so). Thus if you want an accurate picture that
+ renders smoothly, consider using only one voxel in a certain
+ direction. For instance, the 3D pin lattice figure above was generated
+ with a 500x500x1 voxel mesh, which allows for resolution of the
+ cylinders without wasting too many voxels on the axial dimension.
+
+
+-------------------
+Tally Visualization
+-------------------
+
+Tally results are saved in both a text file (tallies.out) as well as a binary
+statepoint file. While the tallies.out file may be fine for simple tallies, in
+many cases the user requires more information about the tally or the run, or
+has to deal with a large number of result values (e.g. for mesh tallies). In
+these cases, extracting data from the statepoint file via Python scripting is
+the preferred method of data analysis and visualization.
+
+Data Extraction
+---------------
+
+A great deal of information is available in statepoint files (See
+:ref:`devguide_statepoint`), most of which is easily extracted by the provided
+utility statepoint.py. This utility provides a Python class to load statepoints
+and extract data - it is used in many of the provided plotting utilities, and
+can be used in user-created scripts to carry out manipulations of the data. To
+read tallies using this utility, make sure statepoint.py is in your PYTHONPATH,
+and then import the class, instantiate it, and call read_results:
+
+.. code-block:: python
+
+ from statepoint import StatePoint
+ sp = StatePoint('statepoint.100.binary')
+ sp.read_results()
+
+At this point the user can extract entire scores from tallies into a data
+dictionary containing numpy arrays:
+
+.. code-block:: python
+
+ tallyid = 1
+ score = 'flux'
+ data = sp.extract_results(tallyid, score)
+ means = data['means']
+ print data.keys()
+
+The results from this function contain all filter bins (all mesh points, all
+energy groups, etc.), which can be reshaped with the bin ordering also contained
+in the output dictionary. This is the best choice of output for easily
+integrating ranges of data.
+
+Alternatively the user can extract specific values for a single score/filter
+combination:
+
+.. code-block:: python
+
+ tallyid = 1
+ score = 'flux'
+ filters = [('mesh', (1, 1, 5)), ('energyin', 0)]
+ value, error = sp.get_value(tallyid, filters, score)
+
+In the future more documentaion may become available here for statepoint.py and
+the data extraction functions of StatePoint objects. However, for now it is up
+to the user to explore the classes in statepoint.py to discover what data is
+available in StatePoint objects (we highly recommend interactively exploring
+with `IPython `_). Many exmaples can be found by looking
+through the other utilies that use statepoint.py, and a few common visualization
+tasks will be described here in the following sections.
+
+Plotting in 2D
+--------------
+
+.. image:: ../../img/plotmeshtally.png
+ :height: 200px
+
+For simple viewing of 2D slices of a mesh plot, the utility plot_mesh_tally.py
+is provided. This utility provides an interactive GUI to explore and plot
+mesh tallies for any scores and filter bins. It requires statepoint.py, as well
+as `PyQt `_.
+
+.. image:: ../../img/fluxplot.png
+ :height: 200px
+
+Alternatively, the user can write their own Python script to manipulate the data
+appropriately. Consider a run where the first tally contains a 105x105x1 mesh
+over a small core, with a flux score and two energyin filter bins. To explicitly
+extract the data and create a plot with gnuplot, the following script can be
+used. The script operates in several steps for clarity, and is not necessarily
+the most efficient way to extract data from large mesh tallies. This creates the
+two heatmaps in the previous figure.
+
+.. code-block:: python
+
+ #!/usr/bin/env python
+
+ import os
+
+ import statepoint
+
+ # load and parse the statepoint file
+ sp = statepoint.StatePoint('statepoint.300.binary')
+ sp.read_results()
+
+ tallyid = 0 # This is tally 1
+ score = 0 # This corresponds to flux (see tally.scores)
+
+ # get mesh dimensions
+ meshid = sp.tallies[tallyid].filters['mesh'].bins[0]
+ for i,m in enumerate(sp.meshes):
+ if m.id == meshid:
+ mesh = m
+ break
+ nx,ny,nz = mesh.dimension
+
+ # loop through mesh and extract values to python dictionaries
+ thermal = {}
+ fast = {}
+ for x in range(1,nx+1):
+ for y in range(1,ny+1):
+ for z in range(1,nz+1):
+ val,err = sp.get_value(tallyid,
+ [('mesh',(x,y,z)),('energyin',0)],
+ score)
+ thermal[(x,y,z)] = val
+ val,err = sp.get_value(tallyid,
+ [('mesh',(x,y,z)),('energyin',1)],
+ score)
+ fast[(x,y,z)] = val
+
+ # sum up the axial values and write datafile for gnuplot
+ with open('meshdata.dat','w') as fh:
+ for x in range(1,nx+1):
+ for y in range(1,ny+1):
+ thermalval = 0.
+ fastval = 0.
+ for z in range(1,nz+1):
+ thermalval += thermal[(x,y,z)]
+ fastval += fast[(x,y,z)]
+ fh.write("{} {} {} {}\n".format(x,y,thermalval,fastval))
+
+ # write gnuplot file
+ with open('tmp.gnuplot','w') as fh:
+ fh.write(r"""set terminal png size 1000 400
+ set output 'fluxplot.png'
+ set nokey
+ set autoscale fix
+ set multiplot layout 1,2 title "Pin Mesh Flux Tally"
+ set title "Thermal"
+ plot 'meshdata.dat' using 1:2:3 with image
+ set title "Fast"
+ plot 'meshdata.dat' using 1:2:4 with image
+ """)
+
+ # make plot
+ os.system("gnuplot < tmp.gnuplot")
+
+Plotting in 3D
+--------------
+
+.. image:: ../../img/3dcore.png
+ :height: 200px
+
+As with 3D plots of the geometry, meshtally data needs to be put into a standard
+format for viewing. The utility statepoint_3d.py is provided to accomplish this
+for both VTK and SILO. By default statepoint_3d.py processes a statepoint into a
+3D file with all mesh tallies and filter/score combinations,
+
+.. code-block:: sh
+
+ /src/utils/statepoint_3d.py -o output.silo
+ /src/utils/statepoint_3d.py --vtk -o output.vtm
+
+but it also provides several command-line options to selectively process only
+certain data arrays in order to keep file sizes down.
+
+.. code-block:: sh
+
+ /src/utils/statepoint_3d.py -tallies 2,4 --scores 4.1,4.3 -o output.silo
+ /src/utils/statepoint_3d.py -filters 2.energyin.1 --vtk -o output.vtm
+
+All available options for specifying a subset of tallies, scores, and filters
+can be listed with the ``--list`` or ``-l`` command line options.
+
+.. note:: Note that while SILO files can contain multiple meshes in one file,
+ VTK needs to use a multi-block dataset, which stores each mesh piece
+ in a different file in a subfolder. All meshes can be loaded at once
+ with the main VTM file, or each VTI file in the subfolder can be
+ loaded individually.
+
+Alternatively, the user can write their own Python script to manipulate the data
+appropriately before insertion into a SILO or VTK file. For instance, if the
+data has been extracted as was done in the 2D plotting example script above, a
+SILO file can be created with:
+
+.. code-block:: python
+
+ import silomesh as sm
+ sm.init_silo("fluxtally.silo")
+ sm.init_mesh('tally_mesh',*mesh.dimension, *mesh.lower_left, *mesh.width)
+ sm.init_var('flux_tally_thermal')
+ for x in range(1,nx+1):
+ for y in range(1,ny+1):
+ for z in range(1,nz+1):
+ sm.set_value(float(thermal[(x,y,z)]),x,y,z)
+ sm.finalize_var()
+ sm.init_var('flux_tally_fast')
+ for x in range(1,nx+1):
+ for y in range(1,ny+1):
+ for z in range(1,nz+1):
+ sm.set_value(float(fast[(x,y,z)]),x,y,z)
+ sm.finalize_var()
+ sm.finalize_mesh()
+ sm.finalize_silo()
+
+and the equivalent VTK file with:
+
+.. code-block:: python
+
+ import vtk
+
+ grid = vtk.vtkImageData()
+ grid.SetDimensions(nx+1,ny+1,nz+1)
+ grid.SetOrigin(*mesh.lower_left)
+ grid.SetSpacing(*mesh.width)
+
+ # vtk cell arrays have x on the inners, so we need to reorder the data
+ idata = {}
+ for x in range(nx):
+ for y in range(ny):
+ for z in range(nz):
+ i = z*nx*ny + y*nx + x
+ idata[i] = (x,y,z)
+
+ vtkfastdata = vtk.vtkDoubleArray()
+ vtkfastdata.SetName("fast")
+ for i in range(nx*ny*nz):
+ vtkfastdata.InsertNextValue(fast[idata[i]])
+
+ vtkthermaldata = vtk.vtkDoubleArray()
+ vtkthermaldata.SetName("thermal")
+ for i in range(nx*ny*nz):
+ vtkthermaldata.InsertNextValue(thermal[idata[i]])
+
+ grid.GetCellData().AddArray(vtkfastdata)
+ grid.GetCellData().AddArray(vtkthermaldata)
+
+ writer = vtk.vtkXMLImageDataWriter()
+ writer.SetInput(grid)
+ writer.SetFileName('tally.vti')
+ writer.Write()
+
+Getting Data into MATLAB
+------------------------
+
+There is currently no front-end utility to dump tally data to MATLAB files, but
+the process is straightforward. First extract the data using a custom Python
+script with statepoint.py, put the data into appropriately-shaped numpy arrays,
+and then use the `Scipy MATLAB IO routines
+`_ to save to a MAT
+file. Note that the data contained in the output from
+``StatePoint.extract_result`` is already in a Numpy array that can be reshaped
+and dumped to MATLAB in one step.
+
+
+
+
+
+
+
diff --git a/_static/basic.css b/_static/basic.css
index 5b7b1e776e..93e57f1e7f 100644
--- a/_static/basic.css
+++ b/_static/basic.css
@@ -4,7 +4,7 @@
*
* Sphinx stylesheet -- basic theme.
*
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -79,14 +79,6 @@ div.sphinxsidebar input {
font-size: 1em;
}
-div.sphinxsidebar #searchbox input[type="text"] {
- width: 170px;
-}
-
-div.sphinxsidebar #searchbox input[type="submit"] {
- width: 30px;
-}
-
img {
border: 0;
}
@@ -221,29 +213,12 @@ p.rubric {
font-weight: bold;
}
-img.align-left, .figure.align-left, object.align-left {
- clear: left;
- float: left;
- margin-right: 1em;
-}
-
-img.align-right, .figure.align-right, object.align-right {
- clear: right;
- float: right;
- margin-left: 1em;
-}
-
-img.align-center, .figure.align-center, object.align-center {
- display: block;
- margin-left: auto;
- margin-right: auto;
-}
-
.align-left {
text-align: left;
}
.align-center {
+ clear: both;
text-align: center;
}
@@ -420,7 +395,7 @@ dl.glossary dt {
}
.footnote:target {
- background-color: #ffa;
+ background-color: #ffa
}
.line-block {
@@ -447,16 +422,10 @@ dl.glossary dt {
font-style: oblique;
}
-abbr, acronym {
- border-bottom: dotted 1px;
- cursor: help;
-}
-
/* -- code displays --------------------------------------------------------- */
pre {
overflow: auto;
- overflow-y: hidden; /* fixes display issues on Chrome browsers */
}
td.linenos pre {
@@ -537,4 +506,4 @@ span.eqno {
#top-link {
display: none;
}
-}
\ No newline at end of file
+}
diff --git a/_static/doctools.js b/_static/doctools.js
index d4619fdfb1..eeea95ea5f 100644
--- a/_static/doctools.js
+++ b/_static/doctools.js
@@ -2,9 +2,9 @@
* doctools.js
* ~~~~~~~~~~~
*
- * Sphinx JavaScript utilities for all documentation.
+ * Sphinx JavaScript utilties for all documentation.
*
- * :copyright: Copyright 2007-2011 by the Sphinx team, see AUTHORS.
+ * :copyright: Copyright 2007-2010 by the Sphinx team, see AUTHORS.
* :license: BSD, see LICENSE for details.
*
*/
@@ -185,9 +185,9 @@ var Documentation = {
body.highlightText(this.toLowerCase(), 'highlighted');
});
}, 10);
- $('