Fixes to documentation

This commit is contained in:
Paul Romano 2015-02-16 20:08:35 -05:00
parent efb3ca0406
commit dab1c2aef3
6 changed files with 52 additions and 2391 deletions

View file

@ -39,7 +39,7 @@ master_doc = 'index'
# General information about the project.
project = u'OpenMC'
copyright = u'2011-2014, Massachusetts Institute of Technology'
copyright = u'2011-2015, Massachusetts Institute of Technology'
# The version info for the project you're documenting, acts as replacement for
# |version| and |release|, also used in various other places throughout the
@ -191,6 +191,7 @@ latex_documents = [
latex_elements = {
'preamble': '''
\usepackage{enumitem}
\usepackage{amsfonts}
\setlistdepth{9}
\usepackage{tikz}
\usetikzlibrary{shapes,snakes,shadows,arrows,calc,decorations.markings,patterns,fit,matrix,spy}

File diff suppressed because it is too large Load diff

View file

@ -8,7 +8,10 @@ In order to keep the OpenMC code base consistent in style, this guide specifies
a number of rules which should be adhered to when modified existing code or
adding new code in OpenMC.
-------------
-------
Fortran
-------
General Rules
-------------
@ -35,7 +38,6 @@ Don't use ``print *`` or ``write(*,*)``. If writing to a file, use a specific
unit. Writing to standard output or standard error should be handled by the
``write_message`` subroutine or functionality in the error module.
----------
Procedures
----------
@ -47,7 +49,6 @@ intent(in), intent(out), or intent(inout).
Include a comment describing what each argument to a procedure is.
---------
Variables
---------
@ -91,7 +92,7 @@ allocation instead. Use allocatable variables instead of pointer variables when
possible.
Shared/Module Variables
-----------------------
+++++++++++++++++++++++
Always put shared variables in modules. Access module variables through a
``use`` statement. Always use the ``only`` specifier on the ``use`` statement
@ -99,14 +100,12 @@ except for variables from the global, constants, and various header modules.
Never use ``equivalence`` statements, ``common`` blocks, or ``data`` statements.
-------------------------
Derived Types and Classes
-------------------------
Derived types and classes should have CamelCase names with words not separated
by underscores or hyphens.
-----------
Indentation
-----------
@ -129,11 +128,10 @@ f90-type-indent, f90-associate-indent, and f90-program indent to 2.
Continuation lines should be indented by an extra 5 spaces. This is the default
value of f90-continuation-indent in Emacs.
-------------------------
Whitespace in Expressions
-------------------------
Use a single space between arguments to procedures.
Use a single space between arguments to procedures.
Avoid extraneous whitespace in the following situations:
@ -146,3 +144,23 @@ Avoid extraneous whitespace in the following situations:
Yes: if (variable == 2) then
No: if ( variable==2 ) then
------
Python
------
Style for Python code should follow PEP8_.
Docstrings for functions and methods should follow nummpydoc_ style.
Python code should work with both Python 2.7+ and Python 3.0+.
Use of third-party Python packages should be limited to numpy_, scipy_, and
h5py_. Use of other third-party packages must be implemented as optional
dependencies rather than required dependencies.
.. _PEP8:
.. _numpydoc:
.. _numpy:
.. _scipy:
.. _h5py:

View file

@ -4,9 +4,7 @@
Voxel Plot Binary File Specifications
=====================================
----------
Revision 1
----------
The current revision of the voxel plot binary file is 1.
**integer(4) n_voxels_x**

View file

@ -7,7 +7,7 @@ Development Workflow
Anyone wishing to make contributions to OpenMC should be fully acquianted and
comfortable working with git_ and GitHub_. We assume here that you have git
installed on your system, have a GitHub account, and have setup SSH keys to be
able to create/push to repositories on GitHub.
able to create/push to repositories on GitHub.
Overview
--------
@ -71,7 +71,7 @@ features and bug fixes. The general steps for contributing are as follows:
git checkout -b newbranch develop
3. Make your changes on the new branch that you intend to have included in
*develop*. If you have made other changes that should not be merged back,
*develop*. If you have made other changes that should not be merged back,
ensure that those changes are made on a different branch.
4. Issue a pull request from GitHub and select the *develop* branch of
@ -98,7 +98,7 @@ OpenMC Test Suite
The purpose of this test suite is to ensure that OpenMC compiles using various
combinations of compiler flags and options, and that all user input options can
be used successfully without breaking the code. The test suite is comprised of
be used successfully without breaking the code. The test suite is comprised of
regression tests where different types of input files are configured and the
full OpenMC code is executed. Results from simulations are compared with
expected results. The test suite is comprised of many build configurations
@ -114,7 +114,7 @@ download these cross sections please do the following:
.. code-block:: sh
cd ../data
python get_nndc.py
python get_nndc_data.py
export CROSS_SECTIONS=<path_to_data_folder>/nndc/cross_sections.xml
The test suite can be run on an already existing build using:
@ -151,7 +151,7 @@ variables should be set if the default paths are incorrect:
* **PHDF5_DIR** - The path to the parallel HDF5 directory.
* Default - */opt/phdf5/1.8.12-gnu*
* Default - */opt/phdf5/1.8.12-gnu*
* **PETSC_DIR** - The path to the PETSc directory.
@ -192,7 +192,7 @@ Adding tests to test suite
To add a new test to the test suite, create a sub-directory in the tests
directory that conforms to the regular expression *test_*. To configure
a test you need to add the following files to your new test directory,
a test you need to add the following files to your new test directory,
*test_name* for example:
* OpenMC input XML files

View file

@ -28,7 +28,7 @@ directions. An example of this is shown in the following expression:
:label: not1
\sum\limits_{u\in(x,y,z)}\left\langle\overline{J}^{u,g}_{l+1/2,m,n}
\Delta_m^v\Delta_n^w\right\rangle
\Delta_m^v\Delta_n^w\right\rangle
Here, :math:`u` takes on each direction one at a time. The parameter :math:`J`
is surface area-averaged over the transverse indices :math:`m` and :math:`n`
@ -142,7 +142,7 @@ defined from MC tallies as follows:
{\left\langle\overline{\overline\phi}_{l,m,n}^h
\Delta_l^u\Delta_m^v\Delta_n^w\right\rangle}
and
and
.. math::
:label: xs3
@ -306,7 +306,7 @@ interior cell,
+ \left(\tilde{D}_{l-1/2,m,n}^{u,g} +
\tilde{D}_{l+1/2,m,n}^{u,g} - \hat{D}_{l-1/2,m,n}^{u,g} +
\hat{D}_{l+1/2,m,n}^{u,g}\right)\overline{\overline{\phi}}_{l,m,n}^g
\\ +
\\ +
\left. \left(-\tilde{D}_{l+1/2,m,n}^{u,g} +
\hat{D}_{l+1/2,m,n}^{u,g}\right)\overline{\overline{\phi}}_{l+1,m,n}^g
\right] +
@ -318,7 +318,7 @@ interior cell,
It should be noted that before substitution, eq. :eq:`eq_neut_bal` was divided
by the volume of the cell, :math:`\Delta_l^u\Delta_m^v\Delta_n^w`. Equation
:eq:`eq_cmfd_sys` can be represented in operator form as
:eq:`eq_cmfd_sys` can be represented in operator form as
.. math::
:label: eq_CMFDopers
@ -349,7 +349,7 @@ and energy group. This is represented as
p_{l,m,n}^g =
\frac{\sum_{h=1}^{G}\overline{\overline{\nu_f\Sigma}}^{h\rightarrow
g}_{f_{l,m,n}}\overline{\overline{\phi}}_{l,m,n}^h\Delta_l^u\Delta_m^v
\Delta_n^w}{\sum_n\sum_m\sum_l\sum_{h=1}^{G}\overline{
\Delta_n^w}{\sum_n\sum_m\sum_l\sum_{h=1}^{G}\overline{
\overline{\nu_f\Sigma}}^{h\rightarrow
g}_{f_{l,m,n}}\overline{\overline{\phi}}_{l,m,n}^h\Delta_l^u\Delta_m^v
\Delta_n^w}.
@ -478,14 +478,14 @@ no fission neutrons appear with energies in the thermal group.
.. figure:: ../_images/loss.png
:scale: 50
Sparsity of Neutron Loss Operator
Sparsity of Neutron Loss Operator
.. _fig_prod:
.. figure:: ../_images/prod.png
:scale: 50
Sparsity of Neutron Production Operator
Sparsity of Neutron Production Operator
To solve the eigenvalue problem with these matrices, different source iteration
and linear solvers can be used. The most common source iteration solver used is
@ -511,7 +511,7 @@ implemented to obtain eigenvalue and multigroup fluxes as described in [Gill]_
and [Knoll]_. This method is not the primary one used, but has gotten recent
attention due to its coupling advantages to other physics such as thermal
hydraulics. Once multigroup fluxes are obtained, a normalized fission source is
calculated in the code using eq. :eq:`eq_cmfd_psrc` directly.
calculated in the code using eq. :eq:`eq_cmfd_psrc` directly.
The next step in the process is to compute weight adjustment factors. These are
calculated by taking the ratio of the expected number of neutrons from the CMFD
@ -523,7 +523,7 @@ the current MC source, OpenMC sums the statistical
weights of neutrons from the source bank on a given spatial and energy mesh.
Once weight adjustment factors were calculated, each neutron's statistical
weight in the source bank was modified according to its location and energy.
Examples of CMFD simulations using OpenMC can be found in [Herman_Thesis]_.
Examples of CMFD simulations using OpenMC can be found in [HermanThesis]_.
----------
References
@ -536,23 +536,23 @@ References
.. [Gill] Daniel F. Gill. *Newton-Krylov methods for the solution of the k-eigenvalue problem in
multigroup neutronics calculations*. Ph.D. thesis, Pennsylvania State University, 2010.
.. [Hebert] Alain Hebert. *Applied reactor physics*. Presses Internationales Polytechnique,
.. [Hebert] Alain Hebert. *Applied reactor physics*. Presses Internationales Polytechnique,
Montreal, 2009.
.. [Herman] Bryan R. Herman, Benoit Forget, Kord Smith, and Brian N. Aviles. Improved
diffusion coefficients generated from Monte Carlo codes. In *Proceedings of M&C
2013*, Sun Valley, ID, USA, May 5 - 9, 2013.
.. [Herman_Thesis] Bryan R. Herman. *Monte Carlo and Thermal Hydraulic Coupling using
Low-Order Nonlinear Diffusion Acceleration*. Sc.D. thesis,
Massachusetts Institute of Technology, 2014.
.. [HermanThesis] Bryan R. Herman. *Monte Carlo and Thermal Hydraulic Coupling using
Low-Order Nonlinear Diffusion Acceleration*. Sc.D. thesis,
Massachusetts Institute of Technology, 2014.
.. [Knoll] D.A. Knoll, H. Park, and C. Newman. *Acceleration of k-eigenvalue/criticality
calculations using the Jacobian-free Newton-Krylov method*. Nuclear Science and
Engineering, 167:133140, 2011.
.. [Park] H. Park, D.A. Knoll, and C.K. Newman. *Nonlinear acceleration of transport
criticality problems*. Nuclear Science and Engineering, 172:5265, 2012.
criticality problems*. Nuclear Science and Engineering, 172:5265, 2012.
.. [Rhodes] Joel Rhodes and Malte Edenius. *CASMO-4 --- A Fuel Assembly Burnup Program.
Users Manual*. Studsvik of America, ssp-09/443-u rev 0, proprietary edition, 2001.