OpenMC Monte Carlo Code
OpenMC Monte Carlo Code
a r t i c l e i n f o a b s t r a c t
Article history: This paper gives an overview of OpenMC, an open source Monte Carlo particle transport code recently
Received 15 April 2014 developed at the Massachusetts Institute of Technology. OpenMC uses continuous-energy cross sections
Received in revised form 29 July 2014 and a constructive solid geometry representation, enabling high-fidelity modeling of nuclear reactors and
Accepted 31 July 2014
other systems. Modern, portable input/output file formats are used in OpenMC: XML for input, and HDF5
Available online 14 August 2014
for output. High performance parallel algorithms in OpenMC have demonstrated near-linear scaling to
over 100,000 processors on modern supercomputers. Other topics discussed in this paper include plot-
Keywords:
ting, CMFD acceleration, variance reduction, eigenvalue calculations, and software development
Monte Carlo
Neutron transport
processes.
OpenMC Ó 2014 Elsevier Ltd. All rights reserved.
Parallel
XML
HDF5
1. Introduction Various aspects of the OpenMC code have been described previ-
ously (Romano and Forget, 2013; Romano et al., 2013a). However,
OpenMC is a relatively young Monte Carlo particle transport due to the developmental nature of the code, many changes have
code, having been developed starting in 2011 and first released been, and continue to be, made. The objective of the present work
to the public in December 2012. While the code does not benefit is to give a fairly complete and up-to-date overview of the present
from decades of experience and feedback from users as do other capabilities and features of OpenMC.
popular Monte Carlo codes such as MCNP (Brown et al., 2010)
and TRIPOLI (Diop et al., 2007), it nevertheless possesses a number
of features that may be very attractive to both users and
2. Methods
developers.
Development of OpenMC was spearheaded by the Computa-
2.1. Physics
tional Reactor Physics Group (CRPG) at Massachusetts Institute of
Technology (MIT) as part of a project to develop scalable parallel
At the present time, OpenMC is capable of simulating only neu-
algorithms for future exascale supercomputers. While this was
trons either in fixed source1 or k-eigenvalue problems. The data
the original focus of the code development efforts, there are now
governing the interaction of neutrons with various nuclei are repre-
a wide variety of research and development efforts underway
sented using the ACE format (X-5 Monte Carlo Team, 2008) which is
using OpenMC (Romano et al., 2013b; Nelson and Martin, 2013;
also used by MCNP and Serpent (Leppänen, 2012). ACE-format data
Siegel et al., 2013, 2014b,a; Forget et al., 2014). In the last year,
can be generated with the NJOY nuclear data processing system
the development team has also grown to span multiple
(MacFarlane et al., 2012) which converts raw ENDF/B data into a rep-
organizations.
resentation that is suitable for use in a Monte Carlo code. The use of a
standard cross section format allows for a direct comparison of
OpenMC with other codes since the same cross section libraries
⇑ Corresponding author. Tel.: +1 518 395 3010.
can be used. However, the downside is that the implementation of
E-mail addresses: [email protected] (P.K. Romano), [email protected]
(N.E. Horelik), [email protected] (B.R. Herman), [email protected] (A.G. Nelson),
1
[email protected] (B. Forget), [email protected] (K. Smith). Subcritical multiplication problems are not yet supported.
http://dx.doi.org/10.1016/j.anucene.2014.07.048
0306-4549/Ó 2014 Elsevier Ltd. All rights reserved.
P.K. Romano et al. / Annals of Nuclear Energy 82 (2015) 90–97 91
physical methods is necessarily limited by the data that is available universe may also be translated and/or rotated. Transmitting, vac-
in the ACE format. uum, or reflective boundary conditions can be applied to any sur-
An indexing technique (Leppänen, 2009) based on pointers is face, thus giving the user full flexibility in the treatment of
used to speed up energy grid searches when calculating cross sec- boundaries.
tions. For problems with tens of nuclides or less, the indexing tech-
nique provides a considerable performance benefit with modest
additional memory requirements. However, with hundreds of nuc- 2.2.1. Geometry plotting
lides in a problem, the memory requirements may become too pro- Currently two different plotting capabilities are available in
hibitive. As a result, alternative energy grid treatments are now OpenMC. The first is a 2D raster plotting capability that allows
being explored. the user to visualize the geometry along a cut plane. Plots can be
OpenMC is capable of faithfully simulating all nuclear reactions colored by unique material or cell, and users have the option to
producing secondary neutrons, including ðn; 2nÞ; ðn; 3nÞ, fission, selectively include/exclude certain regions. The 2D plot is written
and level inelastic scattering, according to the various secondary to a portable pixmap (.ppm) file which is natively viewable on
energy and angle distribution laws in the ACE format data. Photon many Linux distributions. Since the PPM file is uncompressed, an
transport capability has not yet been implemented, and thus Open- image converting utility can significantly reduce the size of the plot
MC does not explicitly track photon production resulting from by converting it to a compressed format such as portable network
ðn; cÞ or fission reactions. graphics (.png). Fig. 1 shows a 2D raster plot of a model of the
To properly treat scattering kinematics when the target nucleus Advanced Test Reactor (ATR).
is not at rest, OpenMC uses a free gas approximation (Sutton et al., In addition to 2D raster plotting, a new plotting capability has
2009) wherein the velocities of the target nuclei are sampled from been added to OpenMC that allows for the visualization of geome-
a Maxwellian distribution. For thermal neutrons scattering from try in 3D using standard viewers such as ParaView (Squillicote,
bound molecules such as hydrogen or deuterium in water, graph- 2007) and VisIt (VisIt Development Team, 2005). By specifying a
ite, beryllium, etc., the free gas approximation will not accurately uniform rectilinear grid of voxels (analogous to image pixels), users
capture the scattering kinematics and Sða; b; TÞ scattering law data can produce a binary file containing the cell or material ids for each
must be used. The Sða; b; TÞ data are given on ACE files separate cell in the grid. These files are created with the same raster method
from the normal nuclide data. To account for self-shielding in the used by the 2D plotter in OpenMC, where a ‘find_cell’ routine is
unresolved resonance range, OpenMC uses the probability table called to determine the attributes of the geometry at each voxel
method (Levitt, 1972). Probability tables are included in the ACE center. Since this ‘find_cell’ routine is the same one used during
data for many nuclides. simulation, the voxel information produced by this method is rep-
The method of successive generations (Lieberoth, 1968) is used resentative of the actual simulation geometry, limited only by the
to solve k-eigenvalue problems. The user also has the option to user-specified granularity of the voxels.
group multiple generations into a ‘‘batch’’ to reduce correlation Once the voxel binary file is produced, users can process the
between realizations of the tally random variables (Kelly et al., data into a standard 3D datafile and visualize however desired.
2012). Like MCNP, OpenMC keeps track of the collision, absorption, For convenience, a Python utility is provided to convert voxel files
and track-length estimators of keff and then calculates a minimum- into either SILO (Silo Development Team, 2010) or VTK (Kitware,
variance combined estimator based on the covariance matrix of the Inc., 2010) files that can be viewed in many well-established 3D
three single estimators. To assess convergence of the source distri- data visualization tools. The example provided by this utility easily
bution, the user can also define a mesh over which the Shannon enables users to write custom scripts that section geometry fea-
entropy should be calculated. tures or mask specific cells or materials. For example, Figs. 2 and
3 show plots of a PWR grid spacer and burnable absorber pin,
2.2. Geometry
valid scores include the flux, fission reaction rate, neutron produc-
tion rate, or local energy deposition from fission. In addition to a
set of defined scores, it is also possible to obtain reaction rates
for an arbitrary MT value. Users also have the option of scoring tal-
lies for specific nuclides within a material. If no nuclides are spec-
ified, macroscopic cross sections for the material are used in
determining scores.
With filters for pre- and post-collision energy and scoring func-
tions for scattering and fission production, it is possible to use
OpenMC to generate cross sections with user-defined group struc-
tures. The coarse mesh finite difference (CMFD) solver within
OpenMC, discussed at length later, uses the tally system directly
to obtain multi-group cross sections.
All tallies are scored using a track-length estimator by default.
However, for tallies requiring post-collision attributes of the parti-
cle, e.g., scattering moments, a collision estimator is used instead.
Users can also explicitly specify that the track-length or collision
estimator should be used for a given tally.
Fig. 2. 3D plot of a grid spacer in the BEAVRS benchmark (Horelik et al., 2013) as Historically, some Monte Carlo codes have suffered severe per-
shown in ParaView.
formance penalties when tallying a large number of quantities
(Veen and Hoogenboom, 2011). Care must be taken to ensure that
a tally system scales well with the total number of tally bins. In
OpenMC, a mapping technique is used that allows for a fast deter-
mination of what tally/bin combinations need to be scored to a
given particle’s phase space coordinates. For each discrete filter
variable, a list is stored that contains the tally/bin combinations
that could be scored to for each value of the filter variable. If a par-
ticle is in cell n, the mapping would identify what tally/bin combi-
nations specify cell n for the cell filter variable. In this manner, it is
not necessary to check the phase space variables against each tally.
Note that this technique only applies to discrete filter variables and
cannot be applied to energy bins. For energy filters, it is necessary
to perform a binary search on the specified grid.
2.4. Parallelism
Fig. 4. Parallel scaling for the Monte Carlo Performance Benchmark on the Cray XK6 (Jaguar) and Blue Gene/P (Intrepid) supercomputers.
associated with synchronizing tallies across processors is propor- has been applied to reactor calculations using multi-group Monte
tional to both the number of processors and the number of tally Carlo (Lee et al., 2012) to accelerate convergence of the fission
bins. Thus, for problems with very large tally requirements, and source. The CMFD acceleration method has been integrated into
hence large computational requirements, this source of communi- OpenMC. CMFD acceleration works by solving the multi-group
cation can erode parallel efficiency. It was shown in (Romano and neutron diffusion equation after each Monte Carlo batch to obtain
Forget, 2012b) that by grouping realizations of tally random vari- a better estimate of the global fission source. This process can be
ables over successive generations rather than over multiple proces- characterized by three steps:
sors, the communication associated with tallies can be reduced
dramatically. While the reported sample means will not change 1. Compute diffusion parameters by preserving OpenMC neu-
when this technique is employed, the variance of the sample mean tron balance on a coarse mesh.
will in general be different. However, the expected value of the var- 2. Solve the multi-group neutron diffusion equation to obtain
iance remains the same. A user input option is available in OpenMC fission source distribution.
that modifies the grouping of tally results to reduce overall 3. Force Monte Carlo to use fission source distribution from
communication. Step 2 by modifying source weights.
2.5. Variance reduction In order to use CMFD acceleration, the user needs to specify the
mesh over which to calculate multi-group cross sections. Solution
Extensive variance reduction techniques are not yet available in of the linear system of diffusion equations relies on PETSc (Balay
OpenMC. However, a survival biasing method has been imple- et al., 2013), and so OpenMC must be compiled against the PETSc
mented that can, under certain circumstances, increase the fig- libraries.
ure-of-merit in a simulation. When survival biasing is used,
absorption never occurs explicitly and instead, a particle’s weight 3. Design and development
is reduced by the probability that it would have been absorbed
at each collision. Survival biasing is not turned on by default in OpenMC is written in standard Fortran 2008. While C and C++
OpenMC, but can be enabled by the user. The weight cutoff and were considered as other possible languages for development, ulti-
survival weight are also adjustable parameters in the user input. mately Fortran 2008 was chosen due to MIT’s research focus on
For k-eigenvalue problems, users can optionally use the uniform parallel algorithms coupled with the availability of co-array fea-
fission site method (Kelly et al., 2012) on a Cartesian mesh to help tures in the Fortran 2008 standard. For input processing, OpenMC
flatten the distribution of variance in problems with non-uniform relies on the FoX XML library (Walker, 2014) which provides a
particle densities. The effectiveness of this method as implemented complete implementation of the W3C document object model
in OpenMC is discussed at greater length in (Romano et al., 2013a). (DOM). Almost all important data are encapsulated in derived
One limitation currently is that the implementation assumes that types. While object-oriented features are available in Fortran
the volume of fuel in each mesh cell is equal. 2008, their use in OpenMC is largely precluded by limited compiler
support.
2.6. CMFD acceleration
3.1. Compilation and installation
The coarse mesh finite difference (CMFD) method has been
widely applied in deterministic nodal diffusion calculations to OpenMC has been successfully compiled with the gfortran, Intel,
reduce the number of fission source iterations. Recently, CMFD PGI, Cray, and IBM compilers on various platforms/architectures
94 P.K. Romano et al. / Annals of Nuclear Energy 82 (2015) 90–97
including several Linux distributions, Mac OS X, and Windows 7. On FAST-002 benchmark from the International Handbook of Evalu-
Windows, OpenMC can be compiled using gfortran within cygwin or ated Criticality Safety Benchmark Experiments (NEA Nuclear
the MinGW port of gcc. Recently, binary packages have been made Science Committee, 2012).
available for Debian derivatives via an Ubuntu Personal Package A set of schemata based on the RELAX NG schema language
Archive (PPA) as well as for Arch Linux. By installing from the binary (ISO/IEC JTC1/SC34, 2008) makes it possible to verify not only that
package, the package manager ensures that all dependencies, e.g., an input file is well-formed but also that it has the correct tags,
MPI, are satisfied, and the user is spared the trouble of building the attributes, and datatypes. There are two ways that input files can
code. be checked for conformance against the schemata. The first
method is post-validation where an input file is checked against
a corresponding schema using a tool such as jing (Thai Open
3.2. Input/output
Source Software Center Ltd., 2012). A more elegant method to
check conformance is real-time validation with an editor such as
3.2.1. Input
GNU Emacs. When using GNU Emacs to write an input file, the
OpenMC uses Extensible Markup Language (XML) for all user
input is continually checked against a corresponding schema
input files. The use of XML enables developers to make changes
(based on the root element in the document). If any errors are
to the user input format easily, adding or modifying options, and
found, they are highlighted in red giving the user immediate visual
the FoX library within OpenMC gracefully handles the changes
feedback. Fig. 6 shows an example of an input file being validated
with little effort from the developer. Users are free to form their
against a schema in GNU Emacs.
input files as they wish, as long as the overall structure of the files
is well-formed and the content conforms to the specification of the
file. 3.2.2. Output
Another notable difference between OpenMC and many other When a simulation in OpenMC completes, a number of output
transport codes is that the input is divided into multiple files rather files are written to disk. The number and format of these files
than one file. The following files are required for every simulation: depends on how the code was compiled and what options are
given in the user input. The most common output files include:
settings.xml – describes all simulation parameters, e.g.,
how many particles to run and the starting source, and 1. tallies.out – plain text ASCII file listing the mean and stan-
other options that can be turned on or off. dard deviation (or confidence interval half-width) for each
materials.xml – describes the composition of all materials tally bin. For simple problems with only a few tallies, this
in the model by their constituent elements/nuclides and file is likely adequate for analyzing results.
densities. Natural elements are automatically expanded into 2. State point files – binary files containing all the information
individual nuclides by their natural abundance. needed either to determine confidence intervals for tallies
geometry.xml – describes the model geometry using con- or to restart the run completely. By default, one state point
structive solid geometry primitives (second-order surfaces, file is written at the end of the simulation, but the user can
cells, universes, lattices) and assigns materials to cells. specify particular batches at which state points should be
written.
In addition to these three basic inputs, there are a number of
optional XML files: In addition to these files, numerous other output files may be
generated at the request of the user or upon hitting an error in
tallies.xml – specifies what physical quantities the user the code.
wants tallied during the simulation. State point files are the primary means of obtaining, interpret-
plots.xml – describes parameters for 2D or 3D plots that are ing, and post-processing tally results. By itself, a state point file is
created when OpenMC is run in plotting mode. not very useful since it is in an arbitrary binary format. However,
cmfd.xml – describes geometry and execution parameters a Python module, statepoint.py, is available that makes it easy
for coarse mesh finite difference acceleration. and intuitive to extract and visualize tally results. In addition, a
graphical user interface built on top of the statepoint.py module
As one example of the XML format, Fig. 5 shows the materi- and Tkinter provides mesh tally plotting. Fig. 7 shows a screenshot
als.xml describing two materials used in the U233-MET- of the Tkinter mesh tally plotting application. Alternatively, a
Fig. 6. Example of an XML input file in GNU Emacs being validated against a
corresponding RELAX NG schema in real-time. Errors in the input are automatically
highlighted in red. (For interpretation of the references to color in this figure legend,
the reader is referred to the web version of this article.)
3.3. Documentation
separate Python utility is provided to process mesh tallies from In addition to the online documentation, users and developers
statepoints into VTK or SILO files. For example, Fig. 8 shows a 3D can discuss various issues on separate Google Groups mailing lists.
visualization of a mesh tally in ParaView. All documentation for OpenMC is written in a markup language
State point files (and other binary files) can be written either in called reStructuredText. This markup format can be parsed and
a raw binary format or in HDF5 format (Koranne, 2011). While the translated by Sphinx (Brandl, 2013) to produce documentation as
HDF5 format should be preferred and ensures portability across a website (.html), a PDF, or various other formats.
different architectures, the former is made available to ensure that
users can take advantage of state point capabilities even on sys- 3.4. Version control and workflow
tems where HDF5 is unavailable.
One recent capability added to OpenMC is the ability to create All version control of OpenMC and its documentation is handled
particle restart files. These files contain a particle’s attributes at through the git distributed revision control system. In addition to
birth, as well as the random number seed used to start its history, git, the web-based hosting service GitHub is used to provide a cen-
and are created whenever OpenMC hits a ‘‘fatal error’’ related to tral host, issue/milestone tracking, workflow control via pull
96 P.K. Romano et al. / Annals of Nuclear Energy 82 (2015) 90–97
requests, a wiki, and documentation hosting. The combination of Consortium for Advanced Simulation of Light Water Reactors, an
git and GitHub enables developers to maintain high productivity Energy Innovation Hub for Modeling and Simulation of Nuclear
in collaborating with one another, testing out new ideas, and doc- Reactors under U.S. Department of Energy Contract No. DE-AC05-
umenting their work. 00OR22725, and by the Office of Advanced Scientific Computing
Active development on OpenMC is conducted using an integra- Research, Office of Science, U.S. Department of Energy, under Con-
tion-manager workflow as described by Chacon (Chacon, 2009). tract DE-AC02-06CH11357.
This workflow works particularly well with the GitHub hosting ser-
vice that is used by OpenMC. On GitHub, each developer can easily References
fork a project creating their own public copy of the OpenMC repos-
itory. They are then free to make whatever changes and modifica- Balay, S., Brown, J., Buschelman, K., Gropp, W.D., Kaushik, D., Knepley, M.G.,
tions they wish and are not required to have any special access on McInnes, L.C., Smith, B.F., Zhang, H., 2013. PETSc Web page. http://
www.mcs.anl.gov/petsc (accessed April 29, 2013).
the original repository. If a developer wants their changes to be Brandl, G., 2013. Sphinx python documentation generator. http://sphinx-doc.org
merged into the official project, they can issue a pull request – at (accessed April 29, 2013).
this point, the person designated as the integration manager then Brown, F.B., Kiedrowski, B., Bull, J., 2010. MCNP5-1.60 release notes. LA-UR-10-
06235, Los Alamos National Laboratory.
reviews the request and, if the changes are acceptable, merges it
Chacon, S., 2009. Pro Git. Apress, Berkeley, California.
in. Fig. 9 illustrates the general integration-manager workflow. Diop, C.M., Petit, O., Dumonteil, E., Hugot, F.X., Lee, Y.K., Mazzolo, A., Trama, J.C.,
2007. TRIPOLI-4: A 3D continuous-energy Monte Carlo transport code. In:
PHYTRA1: First International Conference on Physics and Technology of Reactors
4. Licensing and Applications. Marrakech, Morocco.
Forget, B., Xu, S., Smith, K., 2014. Direct Doppler broadening in Monte Carlo
simulations using the multipole representation. Ann. Nucl. Energy 64, 78–85.
OpenMC is licensed under the MIT/X open source license. This
http://dx.doi.org/10.1016/j.anucene.2013.09.043.
permissive license allows any user to copy, modify, redistribute, Horelik, N., Herman, B., Forget, B., Smith, K., 2013. Benchmark for evaluation and
and even sell the software if they so wish. Unlike copyleft licenses validation of reactor simulations (BEAVRS). In: Int. Conf. Mathematics and
Computational Methods Applied to Nuclear Science and Engineering. Sun
such as the GNU General Public License, it does not require that
Valley, Idaho.
modifications to the code be released under the same license, ISO/IEC JTC1/SC34, 2008. Information technology – document schema definition
and thus commercial entities are free to use any part of the code language (dsdl) – part 2: Regular-grammar-based validation – relax ng. ISO/IEC
within their own proprietary software without having to release 19757-2:2008, International Organization for Standardization.
Kelly, D.J., Sutton, T.M., Wilson, S.C., 2012. MC21 analysis of the Nuclear Energy
it for free. Agency Monte Carlo performance benchmark problem. In: PHYSOR – Advances
in Reactor Physics – Linking Research, Industry, and Education. Knoxville,
Tennessee.
5. Conclusions Kitware, Inc., 2010. VTK User’s Guide, 11th edition.
Koranne, S., 2011. Hierarchical data format: 5 HDF5. In: Handbook of Open Source
OpenMC has been developed from scratch with a focus on high- Tools. Springer, US, pp. 191–200.
Lee, M.J., Joo, H.G., Lee, D., Smith, K., 2012. Monte Carlo reactor calculation with
performance algorithms and modern software development prac- substantially reduced number of cycles. In: PHYSOR – Advances in Reactor
tices. While the code is relatively young, it is already being used Physics – Linking Research, Industry, and Education. Knoxville, Tennessee.
in a number of advanced R&D projects including the Consortium Leppänen, J., 2009. Two practical methods for unionized energy grid construction in
continuous-energy Monte Carlo neutron transport calculation. Ann. Nucl.
for Advanced Simulation of LWRs and the ANL Center for Exascale Energy 36, 878–885.
Simulation of Advanced Reactors. OpenMC is available as free soft- Leppänen, J., 2012. Serpent – A Continuous-energy Monte Carlo Reactor Physics
ware under an open source license, enabling wider collaboration Burnup Calculation Code, User’s Manual. VTT Technical Research Centre of
Finland.
within the nuclear science and engineering community. Levitt, L.B., 1972. The probability table method for treating unresolved neutron
resonances in Monte Carlo calculations. Nucl. Sci. Eng. 49, 450–457.
Lieberoth, J., 1968. A Monte Carlo technique to solve the static eigenvalue problem
Acknowledgments
of the Boltzmann transport equation. Nukleonik 11 (5), 213–219.
MacFarlane, R.E., Muir, D.W., Boicourt, R.M., Kahler, A.C., 2012. The NJOY Nuclear
This research was performed under appointment of the first and Data Processing System, Version 2012. LA-UR-12-27079. Los Alamos National
third authors to the Rickover Fellowship Program in Nuclear Engi- Laboratory.
NEA Nuclear Science Committee, 2012. International Handbook of Evaluated
neering sponsored by Naval Reactors Division of the U.S. Depart- Criticality Safety Benchmark Experiments. NEA/NSC/DOC(95)03. OECD
ment of Energy. This work was also supported in part by the Nuclear Energy Agency.
P.K. Romano et al. / Annals of Nuclear Energy 82 (2015) 90–97 97
Nelson, A.G., Martin, W.R., 2013. Improved convergence of Monte Carlo generated Siegel, A.R., Smith, K., Romano, P.K., Forget, B., Felker, K., 2014b. Multi-core
multi-group scattering moments. In: Int. Conf. Mathematics and Computational performance studies of a Monte Carlo neutron transport code. Int. J. High
Methods Applied to Nuclear Science and Engineering. Sun Valley, Idaho. Perform. Comput. Appl. 28 (1), 87–96. http://dx.doi.org/10.1177/
Romano, P.K., 2013. The OpenMC Monte Carlo Code — OpenMC Documentation. 1094342013492179.
http://mit-crpg.github.io/openmc (accessed April 27, 2013). Silo Development Team, 2010. Silo User’s Guide for Version 4.8. LLNL-SM-453191.
Romano, P.K., Forget, B., 2012a. Parallel fission bank algorithms in Monte Carlo Lawrence Livermore National Laboratory.
criticality calculations. Nucl. Sci. Eng. 170 (2), 125–135, URL http:// Squillicote, A.H., 2007. The ParaView Guide: A Parallel Visualization Application.
hdl.handle.net/1721.1/73569. Kitware, Inc.
Romano, P.K., Forget, B., 2012b. Reducing parallel communication in Monte Carlo Sutton, T.M., Donovan, T.J., Trumbull, T.H., Dobreff, P.S., Caro, E., Griesheimer, D.P.,
simulations via batch statistics. Trans. Am. Nucl. Soc. 107, 519–522. Tyburski, L.J., Carpenter, D.C., Joo, H., 2007. The MC21 Monte Carlo transport
Romano, P.K., Forget, B., 2013. The OpenMC Monte Carlo particle transport code. code. In: Joint International Topical Meeting on Mathematics & Computation
Ann. Nucl. Energy 51, 274–281. http://dx.doi.org/10.1016/ and Supercomputing in Nuclear Applications. Monterey, California.
j.anucene.2012.06.040. Sutton, T.M., Trumbull, T.H., Lubitz, C.R., 2009. Comparison of some Monte Carlo
Romano, P.K., Herman, B.R., Horelik, N.E., Forget, B., Smith, K., Siegel, A.R., 2013a. models for bound hydrogen scattering. In: Int. Conf. Mathematics,
Progress and status of the OpenMC Monte Carlo code. In: Int. Conf. Mathematics Computational Methods, and Reactor Physics. Saratoga Springs, New York.
and Computational Methods Applied to Nuclear Science and Engineering. Sun Thai Open Source Software Center Ltd., 2012. Jing – a relax ng validator in java.
Valley, Idaho. http://www.thaiopensource.com/relaxng/jing.html (accessed April 29, 2013).
Romano, P.K., Siegel, A.R., Forget, B., Smith, K., 2013b. Data decomposition of Monte Veen, D.V., Hoogenboom, J.E., 2011. Efficiency improvement of local power
Carlo particle transport simulations via tally servers. J. Comput. Phys. 252, 20– estimation in the general purpose Monte Carlo code MCNP. Progr. Nucl. Sci.
36. http://dx.doi.org/10.1016/j.jcp.2013.06.011. Technol. 2, 866–871.
Siegel, A., Smith, K., Felker, K., Romano, P., Forget, B., Beckman, P., 2014a. Improved VisIt Development Team, 2005. Visit User’s Manual, Version 1.5. UCRL-SM-200449.
cache performance in monte carlo transport calculations using energy banding. Lawrence Livermore National Laboratory.
Comput. Phys. Commun. 185 (4), 1195–1199. http://dx.doi.org/10.1016/ Walker, A., 2014. FoX, A Fortran XML Library. http://github.com/andreww/fox
j.cpc.2013.10.008. (accessed April 14, 2014).
Siegel, A.R., Smith, K., Romano, P.K., Forget, B., Felker, K., 2013. The effect of load X-5 Monte Carlo Team, 2008. MCNP - A General Monte Carlo N-Particle Transport
imbalances on the performance of Monte Carlo codes in LWR analysis. J. Code, Version 5, Volume III: Developer’s Guide. LA-CP-03-0284. Los Alamos
Comput. Phys. 235, 901–911. http://dx.doi.org/10.1016/j.jcp.2012.06.012. National Laboratory.