mc21 v.6.0 – a continuous-energy monte carlo particle transport code with integrated reactor...

12
MC21 v.6.0 – A continuous-energy Monte Carlo particle transport code with integrated reactor feedback capabilities D.P. Griesheimer a,, D.F. Gill a , B.R. Nease a , T.M. Sutton b , M.H. Stedry b , P.S. Dobreff b , D.C. Carpenter a , T.H. Trumbull b , E. Caro b , H. Joo a , D.L. Millman a a Bechtel Marine Propulsion Corporation – Bettis Atomic Power Laboratory, United States b Bechtel Marine Propulsion Corporation – Knolls Atomic Power Laboratory, United States article info Article history: Received 28 April 2014 Accepted 12 August 2014 Available online xxxx Keywords: MC21 Monte Carlo Reactor calculations abstract MC21 is a continuous-energy Monte Carlo radiation transport code for the calculation of the steady-state spatial distributions of reaction rates in three-dimensional models. The code supports neutron and pho- ton transport in fixed source problems, as well as iterated-fission-source (eigenvalue) neutron transport problems. MC21 has been designed and optimized to support large-scale problems in reactor physics, shielding, and criticality analysis applications. The code also supports many in-line reactor feedback effects, including depletion, thermal feedback, xenon feedback, eigenvalue search, and neutron and pho- ton heating. MC21 uses continuous-energy neutron/nucleus interaction physics over the range from 10 5 eV to 20 MeV. The code treats all common neutron scattering mechanisms, including fast-range elastic and non-elastic scattering, and thermal- and epithermal-range scattering from molecules and crystalline materials. For photon transport, MC21 uses continuous-energy interaction physics over the energy range from 1 keV to 100 GeV. The code treats all common photon interaction mechanisms, includ- ing Compton scattering, pair production, and photoelectric interactions. All of the nuclear data required by MC21 is provided by the NDEX system of codes, which extracts and processes data from EPDL-, ENDF-, and ACE-formatted source files. For geometry representation, MC21 employs a flexible constructive solid geometry system that allows users to create spatial cells from first- and second-order surfaces. The sys- tem also allows models to be built up as hierarchical collections of previously defined spatial cells, with interior detail provided by grids and template overlays. Results are collected by a generalized tally capa- bility which allows users to edit integral flux and reaction rate information. Results can be collected over the entire problem or within specific regions of interest through the use of phase filters that control which particles are allowed to score each tally. The tally system has been optimized to maintain a high level of efficiency, even as the number of edit regions becomes very large. Ó 2014 Elsevier Ltd. All rights reserved. 1. Introduction MC21 is a Monte Carlo neutron and photon transport code under joint development by Bechtel Marine Propulsion Corpora- tion at the Bettis Atomic Power Laboratory and the Knolls Atomic Power Laboratory. MC21 is the Monte Carlo transport kernel of a system of codes that provides an automated, computer-aided mod- eling and post-processing environment. MC21 is designed with reactor analysis calculations in mind, and is intended to push the Monte Carlo method beyond its traditional role as a benchmarking tool or ‘‘tool of last resort’’ into a mainstream design tool. This paper provides an overview of the code, emphasizing features that are new or have changed since the previous overview paper (Sutton et al., 2007) was published in 2007. 2. Nuclear and photoatomic data processing system The NDEX nuclear data system (Sutton et al., 2007) supplies the data for neutron and photon transport calculations in MC21. The system is designed to extract data from a Nuclear Data Repository (NDR), which contains ENDF-formatted (Herman and Trkov, 2009) source data as well as NJOY (MacFarlane and Muir, 1994) output files. The data are arranged in the NDR by nuclide names (for neu- tron interaction data) or element names (for photon interaction data). Each nuclide or element contains one or more versions. The different versions are used to account for different source data, i.e., ENDF/B, JEFF, JENDL, etc., or other factors that make the data http://dx.doi.org/10.1016/j.anucene.2014.08.020 0306-4549/Ó 2014 Elsevier Ltd. All rights reserved. Corresponding author. E-mail address: [email protected] (D.P. Griesheimer). Annals of Nuclear Energy xxx (2014) xxx–xxx Contents lists available at ScienceDirect Annals of Nuclear Energy journal homepage: www.elsevier.com/locate/anucene Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A continuous-energy Monte Carlo particle transport code with integrated reactor feedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anucene.2014.08.020

Upload: dl

Post on 07-Apr-2017

215 views

Category:

Documents


2 download

TRANSCRIPT

Annals of Nuclear Energy xxx (2014) xxx–xxx

Contents lists available at ScienceDirect

Annals of Nuclear Energy

journal homepage: www.elsevier .com/locate /anucene

MC21 v.6.0 – A continuous-energy Monte Carlo particle transport codewith integrated reactor feedback capabilities

http://dx.doi.org/10.1016/j.anucene.2014.08.0200306-4549/� 2014 Elsevier Ltd. All rights reserved.

⇑ Corresponding author.E-mail address: [email protected] (D.P. Griesheimer).

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A continuous-energy Monte Carlo particle transport code with integratedfeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anucene.2014.08.020

D.P. Griesheimer a,⇑, D.F. Gill a, B.R. Nease a, T.M. Sutton b, M.H. Stedry b, P.S. Dobreff b, D.C. Carpenter a,T.H. Trumbull b, E. Caro b, H. Joo a, D.L. Millman a

a Bechtel Marine Propulsion Corporation – Bettis Atomic Power Laboratory, United Statesb Bechtel Marine Propulsion Corporation – Knolls Atomic Power Laboratory, United States

a r t i c l e i n f o

Article history:Received 28 April 2014Accepted 12 August 2014Available online xxxx

Keywords:MC21Monte CarloReactor calculations

a b s t r a c t

MC21 is a continuous-energy Monte Carlo radiation transport code for the calculation of the steady-statespatial distributions of reaction rates in three-dimensional models. The code supports neutron and pho-ton transport in fixed source problems, as well as iterated-fission-source (eigenvalue) neutron transportproblems. MC21 has been designed and optimized to support large-scale problems in reactor physics,shielding, and criticality analysis applications. The code also supports many in-line reactor feedbackeffects, including depletion, thermal feedback, xenon feedback, eigenvalue search, and neutron and pho-ton heating. MC21 uses continuous-energy neutron/nucleus interaction physics over the range from10�5 eV to 20 MeV. The code treats all common neutron scattering mechanisms, including fast-rangeelastic and non-elastic scattering, and thermal- and epithermal-range scattering from molecules andcrystalline materials. For photon transport, MC21 uses continuous-energy interaction physics over theenergy range from 1 keV to 100 GeV. The code treats all common photon interaction mechanisms, includ-ing Compton scattering, pair production, and photoelectric interactions. All of the nuclear data requiredby MC21 is provided by the NDEX system of codes, which extracts and processes data from EPDL-, ENDF-,and ACE-formatted source files. For geometry representation, MC21 employs a flexible constructive solidgeometry system that allows users to create spatial cells from first- and second-order surfaces. The sys-tem also allows models to be built up as hierarchical collections of previously defined spatial cells, withinterior detail provided by grids and template overlays. Results are collected by a generalized tally capa-bility which allows users to edit integral flux and reaction rate information. Results can be collected overthe entire problem or within specific regions of interest through the use of phase filters that controlwhich particles are allowed to score each tally. The tally system has been optimized to maintain a highlevel of efficiency, even as the number of edit regions becomes very large.

� 2014 Elsevier Ltd. All rights reserved.

1. Introduction

MC21 is a Monte Carlo neutron and photon transport codeunder joint development by Bechtel Marine Propulsion Corpora-tion at the Bettis Atomic Power Laboratory and the Knolls AtomicPower Laboratory. MC21 is the Monte Carlo transport kernel of asystem of codes that provides an automated, computer-aided mod-eling and post-processing environment. MC21 is designed withreactor analysis calculations in mind, and is intended to push theMonte Carlo method beyond its traditional role as a benchmarkingtool or ‘‘tool of last resort’’ into a mainstream design tool. Thispaper provides an overview of the code, emphasizing features that

are new or have changed since the previous overview paper(Sutton et al., 2007) was published in 2007.

2. Nuclear and photoatomic data processing system

The NDEX nuclear data system (Sutton et al., 2007) supplies thedata for neutron and photon transport calculations in MC21. Thesystem is designed to extract data from a Nuclear Data Repository(NDR), which contains ENDF-formatted (Herman and Trkov, 2009)source data as well as NJOY (MacFarlane and Muir, 1994) outputfiles. The data are arranged in the NDR by nuclide names (for neu-tron interaction data) or element names (for photon interactiondata). Each nuclide or element contains one or more versions.The different versions are used to account for different source data,i.e., ENDF/B, JEFF, JENDL, etc., or other factors that make the data

reactor

2 D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx

unique. The data are arranged in a simple, UNIX file structure asshown in Fig. 1. NDEX assembles these data into either nucleardata (ND_LIBRARY) libraries or photoatomic data libraries (PD_LI-BRARY) suitable for use in MC21 calculations.

2.1. Neutron-nucleus data

NJOY is used to populate the NDR with data required by NDEX.A typical NJOY job consists of running RECONR, BROADR, HEATR,and ACER. The output files from each module are stored in theNDR. Data are Doppler broadened to a reference temperature byNJOY (typically 293.6 K) and are later broadened to the requestedtemperature. Native routines in NDEX process data directly fromthe ENDF-formatted file to create probability tables in the unre-solved resonance range, thermal scattering data for moderators,fission spectrum information, and photon production data. NDEXwill process nuclear data for all reactions with thresholds below20.0 MeV; data for reactions with higher thresholds are not pro-cessed or saved.

Users generate ND_LIBRARY files for use in MC21 by executingNDEX with an associated input file that lists the requested nuc-lides, version numbers, and temperatures. In cases where multipletemperatures for a nuclide are requested, NDEX writes all the tem-perature-dependent data for each temperature requested but onlywrites the temperature-independent data once, thus reducing thesize of the final ND_LIBRARY file. Following each run, NDEX gener-ates an output file summarizing the run and providing any warningand error messages. Extensive checks are performed of the data toensure positivity of cross sections and energy distribution func-tions. If problems with the data are detected, NDEX will either cor-rect the data and provide a warning message, or abort with anappropriate error message. Optionally, NDEX also generates filessuitable for plotting cross sections.

2.2. Photoatomic data

The NDEX/NDR system also processes photoatomic data to sup-port photon tracking in MC21. NDEX extracts and processes photo-atomic data required for MC21 primarily from the LawrenceLivermore National Laboratory (LLNL) Evaluated Photon DataLibrary (EPDL) (Cullen, 1997).

NDEX processes and arranges the data in the ACE file to meetthe specific requirements of MC21 and creates a PD_LIBRARY filecontaining basic photoatomic data for all elements, including:interaction cross sections, incoherent and coherent scattering formfactors, physical properties of the atom for each electron orbital,binding energy, and Compton profiles. The PD_LIBRARY alsoincludes data used for the production of bremsstrahlung photons,such as the scaled energy spectrum used for calculating the cross

./NDR

./NUCLIDES ./ELEMENTS

./U235 ./U

./V001 ./V001

(more nuclides)

(more versions)

(more elements)

(more versions)

Data Files Data Files

Fig. 1. Schematic of the NDR directory structure.

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contfeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

section for bremsstrahlung emission (Seltzer and Berger, 1985),and parameters needed for the computation of the electron colli-sion stopping power. These data are derived from the synthesisof different theoretical approaches and available numerical data(Sternheimer et al., 1984).

3. Interaction physics

3.1. Neutron interaction physics

MC21 uses continuous-energy neutron/nucleus interactionphysics over the energy range between 10�5 eV and 20 MeV. Eachnuclide employs its own energy mesh on which the cross sectionsfor all reactions for that nuclide are tabulated. The energy depen-dence of the cross sections between the tabulated points isassumed to be linear, and the mesh spacing is made sufficientlyfine that linear interpolation leads to negligible error.

The unresolved resonance energy range (URR) is treated using avariation on the probability table method (Levitt, 1972). In thismethod, the range of possible total cross section values is dividedinto a number of bands, and associated with each band is a proba-bility giving the likelihood that the total cross section lies withinthe band. Resonance factors (ratios of band-average to dilute-aver-age cross sections) for the total and various partial cross sectionsare also tabulated for each band. Whenever a neutron enters theURR of a nuclide, a band is sampled using the band probabilitiesfor that nuclide and the corresponding resonance factors areapplied to the continuous-energy infinite-dilute-average cross sec-tion values. These modified cross sections are then used for thatneutron until it undergoes its next scattering event. The probabilitytables are statistically interpolated between energy mesh points.

For the purpose of scattering kinematics, nuclides are classifiedas either moderators or non-moderators. Those nuclides for whichtabulated thermal-range scattering data are available in ENDF(Herman and Trkov, 2009) or similar nuclear data files are consid-ered moderators, while all other nuclides are considered non-mod-erators. For both classes of nuclides the secondary energy and thescattering angle are sampled from distributions obtained from thenuclear data files.

For each moderator nuclide, an energy cutoff is specified whichdefines the top of the thermal energy range. Within this rangemathematical models and corresponding tabulated parametersare used to determine the outcome of scattering events. The possi-ble thermal-range scattering mechanisms are incoherent inelastic,incoherent elastic, and coherent elastic. A single moderator nuclidemay employ one or more of these mechanisms. For incoherentinelastic scattering an improved version of the direct S(a,b) method(Ballinger, 1995) is used. For epithermal range scattering frommoderators a version of the short-collision-time approximationthat preserves detailed balance is employed (Sutton et al., 2009).The epithermal range is considered to extend from the top of thethermal range to 400 kT, except for the case of 1H bound in a mol-ecule where it extends to 20 MeV. In the fast energy range the tar-get nucleus is treated as if it were at rest in the laboratoryreference frame.

For non-moderators, the target-at-rest model is used as formoderators for neutron energies above 400 kT. For lower neutronenergies, the target nucleus is assumed to have a Maxwellianvelocity distribution at the material temperature.

3.2. Photon interaction physics

For photons, MC21 uses continuous-energy photo-atomic inter-action physics over the energy range from 1 keV to 100 GeV. Eachelement employs its own unique energy mesh on which the cross

inuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020

D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx 3

sections for all reactions for that element are tabulated. The energydependence of the cross sections between the tabulated points isassumed to be logarithmic, except for cases where it is not math-ematically possible and linear dependence is assumed. MC21 usescontinuous energy transport of photons, and treats all commonphoton interaction mechanisms, including Compton scattering,pair production, and photoelectric interactions.

Inelastic scattering of a photon by a bound electron, referred toas incoherent scattering, is treated explicitly. Electron bindingeffects are approximated through the use of incoherent scatteringfunctions, which modify the scattered photon energy, angular dis-tribution, and total cross section of Compton (free electron) scat-tering, as given by the Klein-Nishina relationship (Heitler, 1954).Effects of photon polarization and the pre-collision motion of elec-trons are neglected. Because MC21 does not account for electrontransport, the kinetic energy of freed electrons is always depositedlocally.

Photoelectric absorption is treated as a termination event. Cre-ation of secondary electrons and fluorescence photons areneglected, and the energy of these secondary radiations is alwaysdeposited locally.

Pair-production reactions are treated as a scattering event,where the incident photon is replaced by a 0.511 MeV photon withtwice the tally weight of the original photon. The direction of thepost-reaction photon is sampled from an isotropic distribution.During pair-production, MC21 neglects transport effects for boththe electron and positron and assumes that energy lost duringdeceleration of the charged particles is deposited locally.

Production of secondary bremsstrahlung photons due tocharged particle deceleration is treated with a thick target approx-imation, which does not require explicit electron transport. In thethick-target approximation the electron mean range is subdividedinto a series of sub-regions and the number of bremsstrahlungphotons created in each sub-region are computed using the contin-uous slowing down approximation (Berger, 1963). The energy anddirection of the created photons are sampled at the end of eachsub-region (Seltzer and Berger, 1985; Dickinson and Lent, 1968;Scott, 1967).

4. Geometry

MC21 includes a flexible three-dimensional (3-D) combinatorialgeometry capability coupled with dedicated geometry kernels for

0.0

1.0

0.5

Fig. 2. Quarter-core thermal flux distributions at core mid-plane for the HB Robinson comfirst cycle (5834 full-power hours). Constant-flux depletion analysis was performed withsequence included 7 timesteps, with a simulation running strategy of 120 batches of 15timestep. Depletion power history and initial loading information was taken from Her800 � 800 � 1 mesh tally. Depletion study ran in 1.93 h on 192 cores (24 Intel Xeon San

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contifeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

common shapes (Donovan and Tyburski, 2006; Nease et al.,2013). This combination allows MC21 to model complex three-dimensional systems and also ensures that the specialized geome-tries commonly encountered in reactor analysis models have acompact representation that supports efficient particle tracking.The four main geometric constructs of MC21 include surfaces,components, grids, and overlays. Examples of typical commercialreactor geometries modeled with MC21 are illustrated in Figs. 2,3 and 7. An example of an MC21 model for a more complex reactorgeometry, the Advanced Test Reactor (ATR), is shown in Fig. 4.

Surfaces are the building blocks of components. Presently,MC21 supports surfaces up to second order in all three spatialdimensions (general quadratic surfaces). Reduced forms of thegeneral quadratic equation (e.g., plane, cylinder, sphere, etc.) areavailable to reduce storage and take advantage of increased track-ing efficiency relative to a general quadratic representation.Boundary conditions are assigned to surfaces, and MC21 supportsreflective, periodic (rotational and translational), escape and nor-mal boundary conditions.

Components are volumes defined by union and/or intersectionsets of surface half-spaces. In addition to their half-space defini-tions, components can be further specified hierarchically withrespect to other components. Through this hierarchical definition,components can be constrained to exist only within another parentcomponent and may contain other child components.

Grids provide additional internal geometric detail to a compo-nent. Every component always contains a grid with at least onegrid cell, and the component volume must be completely filledby the grid. Component boundaries and the boundaries of the con-tained grid do not have to be coincident—any portion of the gridthat is outside of the component is effectively truncated. The threeavailable grid types are: spherical (r), cylindrical (r,z) and Cartesian(x,y,z). The Cartesian grid is a non-uniform mesh consisting of linesparallel to the x-, y-, and z-axes. A generalization to the standardCartesian grid allows an arbitrary angle between the x- and y-axes.

Within a grid cell, an additional level of geometric detail can beadded by applying an overlay (Nease et al., 2013). An overlay is acollection of one or more simple volumetric objects that can besuperimposed within the volume of a grid cell. Overlays are basedon geometric templates, which provide a way to efficiently modeland track over specialized geometries. Each template contains itsown unique geometry kernel. Currently, MC21 supports 2-D lat-tice, 3-D lattice, and box template types. These templates are used

mercial PWR (Hermann et al., 1995) at (a) beginning-of-life and (b) at the end of thethe in-line MC21 depletion solver, using 200,000 depletable compositions. Depletion0,000 neutrons, with the first 20 batches discarded for source convergence for eachmann et al., 1995. Flux results were collected using track-length estimators on ady Bridge 2.6 GHz processors, 8 threads per processor).

nuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020

Fig. 3. Full-core coolant outlet temperature for the Calvert Cliffs commercial PWR (a) without and (b) with coolant mixing between adjacent channels (Hanna et al., 2013).Both temperature distributions were calculated with the in-line thermal feedback capability in MC21. Simulation included 11 thermal feedback iterations, each with asimulation running strategy of 220 batches of 500,000 neutrons, with the first 20 batches discarded for source convergence. Temperature results were collected for each of the39,396 coolant channels. Total simulation time was 19 h on 64 Intel Xeon Nehalem 2.4 GHz processors.

4 D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx

to represent repeated groups of nested or disjoint objects, includ-ing extruded 2-D cylinders (2-D lattice), spheres (3-D lattice),and parallelepipeds (box). Once defined, template definitions canbe reused throughout a model, which simplifies the creation ofrepeated structures such as lattices of fuel pins. In this case, multi-ple overlays can be created from a single template and each copycan be uniquely positioned and assigned properties.

The distinct objects that result from combining these geometricconstructs into an actual model are called cells. Every cell has a setof properties, which are defined as a part of the model description.Available cell properties include the material identifier, composi-tion identifier, region identifier, overlay identifier, temperatureregion identifier, fluence region identifier, temperature, densityfactor, importance, and volume.

MC21 also supports models with movable geometry by allow-ing components to translate along or rotate around a user-definedvector (Gill et al., 2013). Movable groups can be constructed whichcontain one or more component motion definitions. A hierarchicalgroup structure can be created where a group, known as a ‘‘super-group,’’ contains one or more previously defined groups, known as‘‘subgroups.’’ There is no limit on the number of levels which canbe contained in the hierarchy. Once movable groups have beendefined in a model they can be manually moved (individually orcollectively) during the simulation through control input. Movablegeometry is also used by the eigenvalue search capabilitydescribed in Section 7.4.

In addition, MC21 allows user-defined ‘‘configurations’’ thatidentify the specific location of one or more movable groups withina model. Configurations are referenced through user-defined labels(e.g., ‘‘all_rods_in,’’ ‘‘all_rods_out,’’ etc.) and can be predefined inthe problem geometry or saved ‘‘on-the-fly’’ during program exe-cution. Once a configuration is defined it is possible to return allgroups to their positions in that configuration through use of a sin-gle command.

5. Tallies

MC21 Tallies are based on the familiar collision and track-length estimators (Spanier, 1966) used in other Monte Carlo parti-cle transport codes. These types of estimators are especially well-suited for calculating integral quantities of the form

X ¼Z

drZ

dXZ

dEf ðr;X; EÞwðr;X; EÞ; ð1Þ

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contfeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

where f is an arbitrary scoring function and w is the angular neutronflux as a function of position, direction, and energy. By selecting anappropriate scoring function f and adjusting the limits of integra-tion, Eq. (1) can produce many important quantities for nucleardesign and analysis.

The tally system takes advantage of the generality of Eq. (1) toprovide users with the maximum flexibility when defining tallyedits. Individual edits are configured by defining two parameters:(1) a filter parameter that determines which particles are allowedto score to the edit, and (2) a score parameter that specifies theappropriate scoring function for the edit. The first parameter effec-tively controls the limits of integration for Eq. (1). This parameter isset by applying a series of one or more phase filters to the tally. Thephase filters restrict which particles are allowed to score to a par-ticular edit bin. The code allows both volume and surface typeedits. For volume edits, MC21 allows filtering of particles basedon cell properties such as spatial region, material, birth region,thermal region, and fluence region. By selecting appropriate com-binations of phase filters, MC21 allows users to define edits oververy specific phase volumes. Advanced filters, such as birth regionand post-collision energy, allow users to quickly and easily set upcomplex tallies to estimate fission and energy transfer matrices.

For surface edits, MC21 includes surface and angular directionfilters, as well as a specially designed leakage filter. The leakagetally allows users to filter particles based on their phase state bothbefore and after a surface crossing event. Leakage tallies aredefined by specifying a ‘‘leaving’’ and ‘‘entering’’ condition for theparticle. For example, a simple leakage filter might allow all parti-cles leaving material 2 and entering material 3 to score. More com-plex tallies may involve groups of material or region identifiers aswell as filters based on the type of surface boundary condition (e.g.,reflecting, periodic, etc.) encountered by the particle. This tally for-mat allows a convenient way to define many different types ofleakage edits without requiring the specification of individualbounding surfaces.

In addition to the standard volume and surface filters, MC21offers several capabilities for editing over volumes that are inde-pendent from the underlying problem geometry. Generalized spa-tial tallies allow edit volumes to be defined by intersections ofquadratic surfaces in the global coordinate frame, similar to theway that components are defined. MC21 uses traditional collisionestimators to collect edits within these user-defined edit regions.These spatial edit regions are not considered part of the model

inuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020

Fig. 4. Quarter-core photon energy redistribution in the Advanced Test Reactor (ATR), showing relative spatial density of (a) photon energy release and (b) photon energydeposition. Results were generated with the in-line photon heating capability in MC21, with fully-coupled neutron/photon transport. Heating calculation included separateneutron and photon simulations, each with 5000 active batches of 10,000 particles. Flux results were collected using track-length estimators on a 1000 � 1000 � 1 mesh tally.Total simulation time was 3 h on 64 Intel Xeon Nehalem 2.4 GHz processors.

D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx 5

geometry and are not included during particle tracking. As a result,spatial edit regions can overlap cell boundaries in the true modelgeometry, allowing collection of edit results over an arbitraryregion of space.

MC21 also supports mesh overlays for tallying spatially-varyingresults over a contiguous region of the model. MC21 presently sup-ports Cartesian and bent-line mesh overlays for tallying. Both typesof mesh are defined by a 3-D structured arrangement of mesh bins.In Cartesian mesh the bin edges are aligned with the x, y, and z axesof the global coordinate system, while the bent-line mesh supportsnon-orthogonal x–y bin edges on the interior of the mesh. As withspatial edit regions, the mesh overlays are not considered a part ofthe model geometry and may overlap with tracking surfaces in theunderlying model. However, MC21 does compute distances trav-eled through each mesh bin during particle tracking, which enablesthe use of track length estimators for mesh tallies. Figs. 2, 4 and 7provide examples of MC21 mesh tally results for several differentreactors.

The second tally parameter, the scoring function f, determinesthe scoring contribution from each particle at every event—suchas a collision or surface crossing. By selecting different scoringfunctions, different physical quantities can be estimated. Scoringfunctions in MC21 are divided into two categories: ‘macroedits’and ‘detailed’ edits. Macroedits allow users to quickly request com-mon reaction types such as average flux, total reaction rate, aver-age mean free path, and total absorption, fission, and productionrates in the current material. Detailed edits give the user more flex-ibility by allowing them to specify individual nuclides and reactiontypes to score. In general, MC21 allows users to request anynuclide in the problem and any ENDF reaction type. The code alsosupports grouping results from different nuclides or reaction typesinto a single edit bin. In addition, MC21 supports the application ofuser-defined response functions as a part of the tally scoring pro-cess. These response functions can be used to score quantities suchas detector current or absorbed dose.

Unlike integral tallies, which collect aggregate data over all par-ticle histories, census tallies in MC21 allow users to save the stateof individual particle histories that are undergoing a pre-definedtype of event. This state information, which can include the parti-cle position, energy, direction, and/or weight, is written to an HDF5formatted census data file, which can be reused as a radiationsource in subsequent MC21 calculations. The term census tally

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contifeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

reflects the fact that the tally is collecting (and enumerating) indi-vidual members of the particle population. By collecting stateinformation for particle histories undergoing a particular type ofevent (e.g., surface crossing), the census tally effectively generatesa random sample of realizations from the true distribution for theevent type. The resulting census data can then be treated as a ran-domly-sampled source of radiation particles in subsequent MC21calculations. For example, a census source can be used as an initialsource ‘‘guess’’ for eigenvalue calculations to reduce the number ofnecessary inactive batches, as well as for coupled MC21/MC21splice calculations.

In addition to the user-defined tallies, MC21 offers several pre-defined tally sets and global edits. The predefined edits are spe-cially designed to facilitate interaction with other MC21 feedbackmodules—such as the depletion and thermal–hydraulics modules.During a feedback calculation MC21 automatically defines internaltallies for the required reaction rates. The feedback modules thenaccess and modify the reaction rates and other required datadirectly in memory, eliminating the need to write intermediatefiles to exchange data between modules.

For criticality calculations, MC21 always produces a small num-ber of global edits that characterize the overall behavior of theproblem. These global edits include the eigenvalue, the total parti-cle and energy leakage from the problem space, the effectivedelayed neutron fraction (beff), edits that characterize the energyspectrum of the system (e.g., above thermal fission fraction, aver-age energy of neutron causing fission, etc.), and a complete break-down of the energy release and energy deposition rates(Griesheimer and Stedry, 2013). For eigenvalue estimates, threeseparate statistical estimators are used: collision, track-length,and absorption. During the simulation, batch-wise values of thecollision estimator are sent to the output stream so that the usercan monitor the progress of the simulation. At the end of the job,all three eigenvalue estimates are printed, along with minimumvariance combinations of the estimators (Urbatsch et al., 1995).The final eigenvalue estimate provided by MC21 is the minimumvariance combination of all three eigenvalue estimates.

In addition to flexibility, the MC21 tally system was alsodesigned with performance in mind. The tally system has beenspecially optimized to maintain a high level of efficiency, even asthe number of edit regions becomes very large. In general, MonteCarlo simulations containing many tallies (>1000) can spend a sig-

nuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020

6 D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx

nificant amount of total run time searching for and scoring individ-ual edit bins. This is a particular concern for large detailed deple-tion simulations, which may require hundreds of millions ofindividual edits. In problems containing many edits, the MonteCarlo code must determine which edit bins to score for every par-ticle collision or surface crossing event. As the number of editsincreases, this search process slows down accordingly. In MC21,the tally system uses a series of hashed arrays to increase the effi-ciency of the edit bin search. In tests this hashed search algorithmhas proven to be efficient and robust, allowing simulations withover 300 million edits to be run routinely.

6. Sources

MC21 offers a flexible input system for defining radiationsource parameters (position, energy, and direction). Each of theparameters can either be sampled from a distribution or drawnfrom a census, which is a set of realizations stored in an HDF5 datafile. MC21 supports both built-in (pre-defined) and user-defineddistributions for each source parameter. The available built-in dis-tributions include point, sphere, cylinder, and parallelepiped forposition, mono-energetic, Watt fission spectrum, and Maxwellianfor energy, and mono-directional, isotropic, and biased towards afixed direction vector for direction. User-defined distributions offermore flexibility, but must be manually defined in a separate sourceinput file. User-defined distributions may be input as a discreteprobability density function, a piece-wise linear probability den-sity function, or a histogram.

MC21 supports both simple and compound source definitions. Asimple source definition has one distribution assigned to each ofthe three source parameters, and is usually defined in the controlinput file. A compound source definition is a combination of multi-ple simple source definitions that are weighted by the probabilityof sampling each simple source. Due to its complexity, a compoundsource is defined in a separate source input file. MC21 also allowsfor the sampling of these simple sources to be biased by providingan additional bias weight to each simple source. If the biasedweights are provided, MC21 will sample a source definition fromthe biased probabilities and adjust the starting source weight bythe ratio of the actual to the biased source probability.

MC21 also has the ability to filter source particles by birth loca-tion. Source particles may be accepted/rejected based on materialtype (e.g., fissionable), material number, component or regionnumber When source filtering is used, MC21 checks the state ofeach sampled particle against the applied source filters and rejects(and resamples) any source particles that do not meet the filter cri-teria. For example, if the source filter is set to restrict the source tofissionable materials, then only particles born in a fissionablematerial are accepted. Rejected particles are then resampled sothat the total number of source particles is preserved.

7. In-line feedback effects

Perhaps the most distinguishing feature of MC21 is the inte-grated support for feedback effects relevant to reactor analysisapplications. Presently, MC21 accounts for feedback due to deple-tion, thermal/hydraulic effects, xenon, photon heating, and controldevice motion (search to critical). In addition, MC21 provides thecapability for executing external programs from within a simula-tion. This capability, along with the ability to import and exportmodel conditions (e.g., temperature, density, etc.) provides nearlyunlimited flexibility for coupling MC21 with external codes forsupport of additional feedback effects.

Each feedback effect in MC21 is driven by a separate solver ker-nel, each of which is tightly integrated into the overall code

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contfeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

system. Communications between solver kernels and the maintransport kernel is performed through a set of well-defined appli-cation program interfaces (API). As a result, MC21 is able toexchange most data via local memory and avoid inefficient filepassing techniques.

The feedback kernels account for the non-linear reactivityeffects due to each of the above mentioned processes under(pseudo) steady-state conditions. This section provides a descrip-tion of each of the feedback solver kernels individually. The nextsection will describe how the kernels work together during a sim-ulation with feedback.

7.1. Depletion

Depletion feedback capability in MC21 is handled by direct cou-pling with a dedicated depletion solver based on the Variable-coef-ficient Ordinary Differential Equation (VODE) solver package(Brown et al., 1989). MC21 supports both constant-flux and con-stant-power modes of depletion (Carpenter, 2009). Parallelismhas been achieved by having multiple depletion code processesrunning simultaneously, one for each depletable composition.Example quarter-core thermal flux distributions from a one-cycledepletion analysis of the HB Robinson commercial PWR(Hermann et al., 1995) are shown in Fig. 2.

In constant-flux mode, MC21 solves the depletion equationsassuming the reaction rates for each nuclide are held constant dur-ing the depletion step. The reaction rates are obtained from begin-ning-of-time step (BOT) transport calculations. In constant-powermode, a predictor–corrector methodology is used. During the pre-dictor phase, constant-flux depletion is performed, followed by anend-of-time step (EOT) transport calculation. The changes betweenBOT and EOT nuclide reaction rates are approximated as linear intime, which allows slopes in the reaction rates to be computed.These slopes are then used in a corrector depletion wherein thecoefficient matrix is incrementally changed during the multi-stepsolution of the VODE depletion solver. The continual update ofthe coefficient matrix simulates the changing of the reaction ratesthat would actually occur during a timestep. If desired, thecorrector process may be repeated multiple times to improve con-vergence of the EOT number densities. However, experience todate has indicated that one corrector step is sufficient in mostcases.

7.2. Thermal feedback

MC21 supports in-line steady-state thermal feedback calcula-tions through the use of an integrated thermal model(Griesheimer et al., 2008). The thermal feedback model is basedon a user-input description of heat transfer and coolant flow pathsin the problem geometry.

In thermal feedback calculations each distinct spatial cell in themodel is identified as a source, sink, or non-thermal region.Sources are the heat-producing regions in the core, sink regionscontain coolant that removes heat from the core, and non-thermalregions are assumed to neither produce nor remove heat. Onceeach spatial cell is assigned a thermal region, the heat transfermapping is applied, which describes the flow of heat from sourceto sink and flow of coolant from sink to sink. The code providesthe flexibility to homogenize source and sink regions over arbitraryvolumes of the core, which gives users the ability to control thelevel of spatial detail used for the thermal feedback calculation.High spatial fidelity increases the memory requirements of the cal-culation and may also lead to increased uncertainty in local poweredits due to the smaller volume, and hence reduced number ofscores, in each source region. A look at the effects of spatial homog-enization on MC21 thermal feedback is provided in Hanna et al.

inuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020

D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx 7

(2013). Example results from this reference illustrating the capa-bilities of the in-line thermal feedback capability in MC21 for cal-culating outlet coolant temperatures at the top of the Calvert Cliffscommercial PWR are shown in Fig. 3.

The thermal feedback module in MC21 tallies the power distri-bution by source region during the Monte Carlo transport simula-tion. The outputs of the thermal feedback module are newestimates of the temperature distribution in the source and sinkregions and updated sink density values. The thermal feedbackmodel in MC21 is based on the assumption of steady-state conser-vation of energy and mass under constant pressure. The only cool-ant currently supported by the thermal feedback model is water inthe single-phase fluid, subcooled, and saturated fluid-vapor mix-ture regimes. To close the system of equations being solved, empir-ical correlations are used to determine the heat transfer coefficientand void fraction in each of the supported flow regimes. The con-duction of heat through the fuel element is approximated by solv-ing a one-dimensional conduction equation along a user-definedlength (with input thermal conductivity) and the temperature riseacross any non-thermal regions can be approximated through auser-input thermal resistivity value. Estimates of the critical heatflux at each heat transfer interface can be optionally enabled inthe thermal feedback model.

The thermal feedback mechanisms accounted for by the ther-mal feedback model are the density change of water due to achange in temperature and the change in nuclear data due to thechange in temperature. To properly account for the change innuclear data (cross sections and thermal scattering data) it is nec-essary to use a nuclear data library containing evaluations at multi-ple temperatures. The nearest available temperature orinterpolation can then be used to choose appropriate data fromthe library based on the results of the thermal feedback calculation.Due to the nonlinear nature of the thermal feedback process it isusually necessary to perform several iterations between the ther-mal feedback module and the Monte Carlo transport simulationbefore convergence is observed. MC21 does not automate this iter-ative process in any way; these iterations must be manually per-formed by the user.

7.3. Xenon feedback

MC21 supports in-line convergence to equilibrium xenon dur-ing criticality calculations as well as calculation of post-shutdownpeak xenon conditions (Griesheimer, 2010). Convergence to theequilibrium xenon condition is achieved by periodically updatingthe xenon and iodine densities between neutron generations. Dur-ing xenon feedback, MC21 collects tallies for regionwise xenon andiodine production rates along with the microscopic absorption ratefor xenon in each region containing a depletable fissionable mate-rial. These reaction rates are used to compute the equilibriumxenon and iodine number densities in each region using a simpletwo nuclide xenon depletion chain.

Unlike the other MC21 tallies, xenon feedback tallies are notaccumulated continuously over all neutron generations. Instead,a user-defined number of generations are grouped together intoa xenon cycle, which is used as the basis for collecting xenon tal-lies. The reaction rates needed for the equilibrium xenon calcula-tion can be tallied for each xenon cycle or accumulated oversuccessive xenon cycles. The xenon and iodine number densitiesare updated at the end of each cycle. This process allows for theconvergence of the xenon and iodine number densities to theirequilibrium values, as well as the consistent convergence of the fis-sion source distribution. In addition to the equilibrium xenon capa-bility, MC21 can compute the maximum xenon mass in the coreand the time at which it occurs following shutdown.

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contifeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

7.4. Eigenvalue search

MC21 includes the capability to search to a user-specifiedeigenvalue, within a specified confidence interval, by manipulationof the movable geometry (Gill et al., 2013). Eigenvalue searches canbe performed in two different ways: through a movable search orthrough a search sequence. A movable search allows the user todefine a single movable group to be moved during the search,along with the reference configuration for all search movement,the lower and upper bounds of the search space (with respect tothe specified configuration), and, optionally, the starting point ofthe search and the reactivity worth of movement at the startingpoint. During a movable search MC21 will move (translate orrotate) the search group through the range specified until thedesired eigenvalue is found with the desired confidence intervalor it is determined that there is no solution within the intervalspecified.

The second type of search, the search sequence, is a more com-plex search type which allows for a series of movable searches tobe performed in a sequential manner until the desired eigenvalueis found with the desired confidence interval or the end of thesequence is reached without convergence. Sequences can bedefined in a manner such that the specific series of movablesearches to execute is dependent on the elapsed time in thesimulation.

7.5. Photon heating

As a result of the need for different levels of accuracy in theenergy deposition treatment, MC21 provides flexibility in howenergy deposition for certain reactions is handled (Griesheimerand Stedry, 2013). By providing several energy deposition modes,each with different self-consistent (energy-preserving) approxima-tions for neglecting the energy transport of certain secondary radi-ations, MC21 lets users choose between accuracy andcomputational efficiency.

During transport, MC21 allows energy transfer to take place atfission sites, neutron collision sites, and/or photon interaction sites,as appropriate. The energy deposition mode for the calculationdetermines both how energy release should be categorized andwhere (i.e., at what reactions) the energy will be deposited. Pres-ently, MC21 offers 4 different energy deposition modes, whichrange from full transport of all neutral secondary radiations to abasic treatment that assumes that all energy is deposited locally.

For criticality calculations that allow energy transport via neu-trons, MC21 preserves energy between generations by applying anenergy rebalance factor, which is defined as the ratio of the totalneutron energy released in fission during the previous generationto the total neutron energy in the normalized source bank for thecurrent generation. This energy rebalance factor serves as aweighting factor for energy deposition and leakage tallies, whichpreserves total fission neutron energy across generations.

The most-detailed energy deposition mode includes explicitenergy transport for both neutrons and photons. In this mode,MC21 first runs a neutron transport calculation and samples cap-ture and fission photons for each neutron collision event. The sam-pled photon source sites are written to an HDF5 census data file.Following the neutron transport calculation, MC21 performs a pho-ton transport calculation using the source data from the photonsource data census file. During photon transport, MC21 computesthe energy deposition for each cell in the problem using the localphoton KERMA value. Following the calculation, the code normal-izes energy deposition values by the total photon source energyreleased to compute the relative photon energy deposition fractionfor every cell in the problem.

nuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020

8 D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx

This cell-based energy deposition fraction data forms a discret-ized representation of the photon redistribution function, whichdescribes how photons will redistribute energy throughout theproblem via transport. Once calculated, the photon redistributionfunction is multiplied by the total photon energy released duringthe neutron calculation and the resulting product is summed overall cells to give an estimate of the total photon energy deposition.The photon redistribution function is saved so that the local pho-ton energy deposition can be quickly recalculated based only onthe total photon energy released in a subsequent neutron calcula-tion. Thus, photon transport calculations only need to be run whenchanges in the problem (due to depletion, thermal feedback, etc.)have caused a change in the overall shape of the photon redistribu-tion function. An example of the redistribution of photon energydue to radiative transport in the Advanced Test Reactor is shownin Fig. 4.

Fig. 5. Example MC21 control input file for a multiple timestep depletioncalculation.

8. Running a simulation

This section provides an overview of the mechanics of settingup and running an MC21 simulation and the interactions amongthe various feedback modules.

8.1. Input/output formats

MC21 recognizes two different file formats: ASCII and the bin-ary self-describing Hierarchical Data Format 5 (HDF5) (HDFGroup, 2012). ASCII is a well known standard for encoding charac-ter data and can be processed by any text editor or command lineutility. The major MC21 input files that describe the problem andthe simulation options are all ASCII text files. The ASCII characterset has the advantage of being universally supported and human-readable, but can be inefficient for large data sets. As a result, themajority of MC21 output, aside from the standard output stream,is encoded in the binary HDF5 format.

8.2. Job control

When MC21 is executed, the program immediately searches fora control input file, which contains a list of directives and user-defined options for the job. The MC21 control file is a text filewhich contains a user-defined sequence of control cards. Controlcards are used to define all aspects of the MC21 job, including run-ning strategy, physics options, and feedback effects. Control cardsuse a case-sensitive keyword based input system, with one cardper line of the input file. Every card has the form:

keyword options

where keyword is the name of the control card, and options are a listof user-selected input values required for the card. An example con-trol input file is shown in Fig. 5.

All MC21 simulations include one or more timesteps, which canbe used to model the behavior of the problem over some period oftime. As a result, the control input file is divided into independenttimestep input sections using the <TIMESTEP> control card. Thetimestep cards in the control input file serve as case separators,dividing the control cards based on the timestep that they apply to.

Within each timestep, execution cards ({EXECUTE}) are used toinstruct MC21 to perform a given type of calculation or simulation.When an execution card is encountered during the processing ofcontrol cards within a timestep, MC21 suspends reading the con-trol input file and runs the requested calculation(s). Upon comple-tion, MC21 resumes processing any additional control cards for thetimestep. This process continues until all control and executioncards for the timestep have been processed.

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contfeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

Each execution card defines a single feedback iteration for thetimestep. The use of multiple execution cards within a timestepallows users to control the number (and sequence) of iterationsused to converge feedback effects (thermal, equilibrium xenon,depletion, etc.) for the timestep. Additional control cards may beincluded between execution cards in order to change MC21options between iterations. For example, a user may wish tochange the number of neutron histories or batches between suc-cessive iterations as a part of their desired convergence strategy.Most MC21 feedback iterations require at least one Monte Carlotransport simulation per call. However, there are a few executionoptions (e.g., setting maximum xenon condition) that do notrequire a transport simulation. MC21 also allows multiple execu-tion options to be listed on a single execution card. In this caseMC21 will attempt to run all of the requested calculations simulta-neously. In many cases, MC21 can collect information for multiplecalculations (e.g., thermal, equilibrium xenon, depletion, etc.) dur-ing a single transport simulation, so it is often advantageous tocombine execution options on a single card.

8.3. Feedback sequence and convergence

There is an important relationship between timesteps and feed-back iterations in MC21. A timestep in MC21 refers to a finite per-iod of calendar time, defined by the user-input timestep length. Incontrast, feedback iterations involve static calculations performedat a particular instant in time. As a general rule, calendar time isnot advanced during a feedback iteration. The only exception tothis rule involves feedback iterations that include depletion calcu-lations, as described below. Because calendar time is not advancedduring a feedback iteration, it is possible to use multiple iterationsto converge a solution (including all feedback effects) at any partic-ular instant in time. For example, in a problem including both tem-perature and equilibrium xenon/samarium feedback effects, it may

inuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020

0.0E+00

5.0E+03

1.0E+04

1.5E+04

2.0E+04

2.5E+04

3.0E+04

3.5E+04

4.0E+04

4.5E+04

1 10 100 1000 10000

Fig. 6. Weak parallel scaling performance of MC21 up to 4096 processing units (cores). Scaling results shown for the MIT BEAVRS PWR benchmark model (Horelik et al.,2013), which requires 3.94 Gb of memory per MPI task. Results shown for MC21 runs using message-passing (MPI) parallelism only and hybrid shared memory (threaded)and message passing parallelism for both 1 thread and 8 threads per MPI task. Computational work was kept constant at 5000 histories per processing unit for all tests. Allsimulations were run on Intel Xeon Sandy Bridge 2.6 GHz processors.

D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx 9

be necessary to run several iterations to ensure that the tempera-ture distribution and equilibrium xenon/samarium concentrationshave reached a converged solution. The resulting (converged) tem-perature, xenon/samarium concentration, and neutron flux distri-butions are estimates for the steady-state solution at a particularpoint in time.

Because timesteps in MC21 correspond to a fixed period of cal-endar time, it is natural to talk about the beginning-of-timestep(BOT) and end-of-timestep (EOT) time points. Feedback iterationsin MC21 always take place at either the BOT or EOT times. Thereis no way to perform a calculation or obtain results from MC21for intermediary times within a timestep. For the first timestepin a beginning of life (non-restart) job the initial BOT time is setto 0.0 by default. For all subsequent timesteps, the beginning oftimestep calendar time is set to the cumulative time elapsed dur-ing all previous timesteps (i.e., the sum of the timestep lengthsfrom all previous timesteps). During a timestep, calendar time isadvanced from the BOT time to the EOT time immediately afterthe first depletion feedback iteration in the timestep (the first exe-cution card that includes a depletion mode keyword). This meansthat any feedback iterations prior to (and including) the first deple-tion calculation in a timestep will be performed at the BOT time.Any feedback iterations after the first depletion calculation in atimestep (including any subsequent depletion calculations) willbe performed at the EOT time. This allows MC21 to provide con-verged solutions at both BOT and EOT time points for each time-step. MC21 does not require that the converged BOT solution fora timestep must match the converged EOT solution from the previ-ous timestep. This capability is particularly important for caseswhere step changes to the reactor configuration or operating con-ditions are made between timesteps. For example, consider a prob-lem where a step change to a control rod position is made at theBOT time of a particular timestep. Following this change, BOT feed-back iterations can be used to produce a converged solution thatreflects the new control rod position. It follows that this convergedBOT solution will not match the EOT solution from the previoustimestep, due to the change in control rod position. Because thecalendar time has not changed between the previous EOT andthe current BOT, MC21 effectively treats the step change (and theresponse of the reactor to the change) as an instantaneous event.

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contifeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

Finally, in timesteps with no depletion calculations, all feedbackiterations are performed at the BOT time.

MC21 uses a predictor–corrector methodology to solve for thetime-dependent feedback behavior of a problem over the lengthof a timestep. This methodology assumes that reaction ratesthroughout the problem vary linearly between BOT and EOT val-ues, as described in Carpenter (2009). As noted above, any changesto the problem made at BOT are assumed to occur instantaneously,and are reflected in the final BOT reaction rates. Once the firstdepletion calculation has been performed in a timestep the BOTreaction rates are set and cannot be affected by subsequent itera-tions. Any additional iterations are used to converge the EOT solu-tions, which, in turn, determines the slope of reaction rate changesover the timestep. As a result, any changes to the reactor configu-ration or operating conditions (either manual changes or naturalchanges) will be effectively averaged over the entire length ofthe timestep. For example, MC21 will treat an adjustment to thecontrol rod position during the BOT feedback iterations (prior toor during the first depletion calculation for the timestep) as thoughit occurred instantaneously at the BOT time. However, MC21 willtreat an adjustment to the control rod position during EOT feed-back iterations (after the first depletion calculation for the time-step) as a continual withdrawal over the timestep length.

8.4. In-line branch calculations

MC21 offers an in-line branch capability. After all feedback iter-ations for the main calculation have been performed, a %BRANCH%

control card can be used to create one or more stand-alone branchcalculations at the end of a timestep. Within a branch, any MC21input options (with the exception of depletion) can be used to per-form additional calculations at the EOT state. All branches begin atthe converged EOT conditions, which were achieved immediatelyprior to the first branch control card within a timestep. Calcula-tions performed as a part of a branch are completely independentfrom other branches as well as the main-line (trunk) calculation. Inparticular, branch calculations do not affect the results from thetrunk calculation, for either the current or any subsequent time-steps. At the end of each branch the problem conditions are resetto the converged EOT state for the timestep. The branch capability

nuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020

10 D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx

allows users the ability to perform in-line sensitivity studies (e.g.,xenon worth, temperature reactivity, etc.) at predetermined pointsin the calculation, without using the timestep restart capabilityoffered by the code.

8.5. Radiation transport modes

MC21 supports two different types of radiation transport calcu-lations: fixed- and iterated-fission-source. In fixed-source calcula-tions the spatial distribution of source neutrons is provided asinput, and remains unchanged throughout the calculation. In iter-ated-fission-source calculations an initial ‘guess’ of a source distri-bution is provided as input, and then the code converges on thetrue fission source distribution.

For fixed-source calculations the neutron histories are groupedinto batches. At the beginning of a batch, the tally accumulators forthe batch are set to zero. As neutrons score a particular tally, thecorresponding accumulator is incremented by the appropriateamount. At the conclusion of the batch the batch accumulatorsare used to increment the corresponding mean and mean-squaredaccumulators for the calculation as a whole. At the end of the cal-culation, these latter accumulators are used to construct 95% con-fidence intervals using the usual formula for independent,normally-distributed random variables.

The reason that MC21 does not use the scores for individual his-tories for the statistical analysis is that in general these will not benormally distributed. While the central limit theorem states that—regardless of the distribution of the random variables—their sam-ple mean will be normally distributed, it does not follow that thet-statistic used to compute the confidence interval will be distrib-uted with a Student’s t-distribution (Bondesson, 1983). For suffi-ciently large batches, however, the batch scores will approach anormal distribution (due to the central limit theorem) and thequantiles of the t-distribution can then be used to compute validconfidence intervals.

Like many similar Monte Carlo codes, MC21 uses the method ofsuccessive generations (Lux and Koblinger, 1991) to perform iter-ated-fission-source calculations. As has been shown previously(Brissenden and Garlick, 1986), this method causes successive fis-sion generations to be correlated. The effect of this correlationmust either be eliminated or accounted for to compute valid con-fidence intervals. MC21 uses a method due to Gelbard and Prael(1990) that reduces the correlation to negligible levels so thatthe standard statistical procedures for uncorrelated random vari-ables may be used. This method consists of dividing the fissiongenerations into batches, each consisting of a number of consecu-tive generations. Since the correlation between generations falls offwith the lag between generations, correlation between two con-secutive batches is due primarily to the generations at the end ofthe first and the beginning of the second. By including a sufficientlylarge number of generations in a batch, the correlation due to thesegenerations can be made negligibly small (Kelly et al., 2012). Con-fidence intervals are then computed using the batch results as therandom variables as for fixed-source calculations.

9. Variance reduction

MC21 uses implicit capture to reduce the statistical uncer-tainty of the results for a given amount of computational effort.In this method, each neutron is given an initial starting statistical‘weight’ of unity. At each collision, this weight is multiplied bythe non-absorption probability. The difference between the pre-and post-collision weights is attributed to absorption. Eventually,the weight may become so small that it is not worth the compu-tational effort to continue tracking the neutron. This situation is

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contfeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

handled using the Russian roulette technique, in which one oftwo possibilities is chosen randomly. One possibility is that theweight is set to zero and the neutron is no longer tracked. Theother is that the weight is increased. The probabilities associatedwith these two possibilities, as well as the new weight should thesecond possibility be selected, are chosen to conserve weight onthe average.

MC21 also has the capability of using weight-window variancereduction based on importance values that vary by geometric cellor by mesh cell. Mesh cell importance can vary in space or energy,whereas geometric cell importance can only vary in space. When aneutron changes energy or crosses a spatial boundary (geometricor mesh), it may be split, terminated by the Russian roulette pro-cess, or left unchanged, depending on the new importance value.To improve efficiency, MC21 does not split and roulette every timea particle moves to a mesh bin (or energy group) with a differentimportance value. Instead there exists a window of allowable par-ticle weights around the desired weight value of each mesh celland energy group. Any particle whose weight is inside of theweight window is not modified, and any particle whose weight isoutside the weight-window undergoes splitting or rouletting, asappropriate, to bring the weight of the particle into the desiredrange. The size of the weight-window in an MC21 calculation iscontrolled by a pair of user-adjustable parameters. These parame-ters are global multipliers that define the window width for eachcell or mesh bin/energy group as a fraction of the desired weight(i.e., inversely proportional to the importance) for the cell or meshbin/energy group.

The mesh-based weight-window capability in MC21 has beendesigned to seamlessly work within the Consistent Adjoint DrivenImportance Sampling (CADIS) and Forward-Weighted (FW-)CADISframeworks (Wagner and Haghighat, 1998; Wagner et al., 2007).Both of these techniques provide a way to accelerate fixed-sourceMonte Carlo calculations using importance values taken from anadjoint solution taken from a deterministic transport (or diffusion)calculation. The CADIS and FW-CADIS methods make use of thefact that the adjoint flux solution provides a measure of the relativeimportance of a particle in any given region of phase space withrespect to a given objective tally or set of tallies. Thus, the adjointflux can be used to generate space- and energy-dependent impor-tance values that are optimized for a particular problem. The CADISmethod is used for calculating responses at single detectors andenergy spectra, whereas the FW-CADIS method is used for calculat-ing global distributions, such as flux or dose rate distributions, aswell as responses at multiple detectors and energy spectra.

Low-flux regions of a reactor core tend to produce reaction ratetallies with higher relative statistical uncertainties than high-fluxregions due to the fewer number of scoring events in the formerrelative to the latter. In some circumstances a more-nearly uniformdistribution of uncertainties is desirable. One way to achieve this isthrough the use of spatially-dependent importance functions, asdescribed previously. While this can be a very successful approach,methodologies that implement it, such as FW-CADIS, require aux-iliary deterministic transport calculations. MC21 has the option touse the Uniform Fission Site (UFS) method (Hunter and Sutton,2013) to achieve a flattening of the relative uncertainty distribu-tion without the need for auxiliary calculations. This methodadjusts the starting scoring weights of the neutron histories in sucha way as to flatten the distribution of fission source sites while pre-serving the correct fission source distribution.

Two additional features available in MC21 are the use of theShannon entropy diagnostic (Ueki and Brown, 2005) to help ascer-tain source convergence, and the ability to estimate the dominanceratio using the Noise Propagation Matrix method (Sutton et al.,2011), which is based on and shares many properties with theCourse-Mesh Projection Method (Nease and Ueki, 2007).

inuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020

0.0

1.0

0.5

Fig. 7. Quarter-core (a) fast (>0.625 eV) and (b) thermal flux distributions at core mid-plane (z = 200 cm) for the MIT PWR (BEAVRS) benchmark (Horelik et al., 2013). Resultswere collected using track-length estimators on a 800 � 800 � 1 mesh tally with a simulation running strategy of 120 batches of 1 million neutrons, with the first 20 batchesdiscarded for source convergence. Simulation ran in 5.41 min on 128 Intel Xeon Sandy Bridge 2.6 GHz processors.

D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx 11

10. Performance and scaling

From its initial conception, MC21 was designed for massivelyparallel computing environments. As of version 6.0, MC21 supportsboth message passing parallelism between compute nodes usingMPI, as well as shared memory parallelism (threading) withinnodes using OpenMP. In addition, MC21 uses the parallel I/O capa-bility of HDF5 to read and write large data files in parallel. Testinghas shown that the code has excellent scaling up to 10,000 proces-sors, which is the largest number of processors available for testingthe code. Scaling results for the latest version of the code up to4096 processors are shown in Fig. 6. The code is routinely run withhundreds to thousands of processors for production level designand analysis work.

Additional performance testing of MC21 has been conductedusing several recently published PWR benchmark problems,including the MIT PWR (BEAVRS) benchmark (Horelik et al.,2013) and the Nuclear Energy Agency (NEA) Monte Carlo perfor-mance benchmark problem (Hoogenboom et al., 2011). Thesebenchmark problems were created to provide code developersand users a common model to use to assess the performanceimprovement of Monte Carlo codes as algorithms and computa-tional platforms evolve. The MC21 analyses of the BEAVRS andNEA benchmark problems are documented in Kelly et al. (2013)and Kelly et al. (2012), respectively.

The MC21 representation of the MIT BEAVRS benchmark prob-lem included 209 components, containing 40.896 million grid cellsand 4.635 million grid cell overlays for a total of 45.532 millioncells in the problem. Tally results for the problem were collectedover 5.044 million mesh regions. Reference calculations reportedin Kelly et al. (2013) used 30,520 generations (250 discarded) of4 million neutrons per generation for a total of 120 billion activehistories. Calculations required 2.5 days on 1000 Intel Xeon proces-sors (combination Westmere and Sandy Bridge), with an effectivethroughput of 33.8 million neutrons/minute. Example flux resultsfor a 2-D quarter-core slice of the MIT BEAVRS benchmark areshown in Fig. 7.

As reported in Kelly et al. (2012), the MC21 representation ofthe NEA benchmark model contained approximately 7.3 milliontally regions. Flux, absorption rate, and power were computed foreach region, for a total of approximately 21.8 million tallies. Thecalculation used 3 discard and 250 active batches, each consistingof 200 fission generations. Each generation consisted of 4 millionhistories, for a total of 202.4 billion histories. The calculation took

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contifeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

75.6 h on 750 Intel Xeon Westmere X5660 cores, resulting in a rateof 44.62 million neutrons/minute.

Acknowledgements

The authors wish to thank C.M. Rodenbush, B.R. Hanna, and S.J.Spychala from the Bettis Atomic Power Laboratory and D.J. Kellyand B.N. Aviles from the Knolls Atomic Power Laboratory for pro-viding the reactor models shown in this paper.

References

Ballinger, C.T., 1995. The direct S(a, b) method for thermal neutron scattering.Proceedings of the International Conference on Mathematics and Computation,Reactor Physics, and Environmental Analysis, April 30–May 4, Portland, OR, vol.1, pp. 134–143.

Berger, M.J., 1963. Monte Carlo calculation of the penetration and diffusion of fastcharged particles. In: Adler, B., Fernbach, S., Rotenberg, M. (Eds.), Methods inComputational Physics. Academic Press, New York, pp. 135–215.

Bondesson, L., 1983. When is the t-Statistic t-distributed? Sankhya Indian J. Stat. 45,Series A (Pt. 3), 338.

Brissenden, R.J., Garlick, A.R., 1986. Biases in the estimation of keff and its error byMonte Carlo methods. Ann. Nucl. Energy 13, 63–83.

Brown, P.N., Byrne, G.D., Hindmarsh, A.C., 1989. VODE: a variable-coefficient ODEsolver. SIAM J. Sci. Stat. Comput. 10, 1038–1051.

Carpenter, D.C., 2009. A comparison of constant power depletion algorithms.Proceedings of International Conference on Mathematics, ComputationalMethods, and Reactor Physics, May 3–7, Saratoga Springs, NY, USA.

Cullen, D.E., 1997. EPDL97: The Evaluated Photon Data Library, ’97 Version. UCRL-50400, vol. 6, Rev. 5.

Dickinson, W.C., Lent, E.M., 1968. Calculation of Forward Bremsstrahlung Spectrafrom Thick Targets. UCRL-50442.

Donovan, T.J., Tyburski, L.J., 2006. Geometric representations in the developmentalMonte Carlo transport code MC21. Proceedings of ANS Topical Meeting onReactor Physics, September 10–14, Vancouver, BC, Canada.

Gelbard, E.M., Prael, R., 1990. Computation of standard deviations in eigenvaluecalculations. Prog. Nucl. Energy 24, 237–241.

Gill, D.F., Nease, B.R., Griesheimer, D.P., 2013. Movable geometry and eigenvaluesearch capability in the MC21 Monte Carlo code. Proceedings of InternationalConference on Mathematics and Computational Methods Applied to NuclearScience and Engineering, May 5–9, Sun Valley, ID, USA.

Griesheimer, D.P., Gill, D.F., Lane, J.W., Aumiller, D.L., 2008. An integrated thermalhydraulic feedback method for Monte Carlo reactor calculations. Proceedings ofPHYSOR’08 – International Conference on the Physics of Reactors, September14–19, Interlaken, Switzerland.

Griesheimer, D.P., 2010. In-line xenon convergence algorithm for Monte Carloreactor calculations. Proceedings of PHYSOR 2010 – Advances in ReactorPhysics to Power the Nuclear Renaissance, May 9–14, Pittsburgh, PA, USA.

Griesheimer, D.P., Stedry, M.H., 2013. A generalized framework for in-line energydeposition during steady-state Monte Carlo radiation transport. Proceedings ofInternational Conference on Mathematics and Computational Methods Appliedto Nuclear Science and Engineering, May 5–9, Sun Valley, ID, USA.

nuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020

12 D.P. Griesheimer et al. / Annals of Nuclear Energy xxx (2014) xxx–xxx

Hanna, B.R., Gill, D.F., Griesheimer, D.P., 2013. Spatial homogenization of thermalfeedback regions in Monte Carlo reactor calculations. Nucl. Technol. 183, 367–378.

HDF Group, 2012. http://www.HDFGroup.org.Heitler, W., 1954. The Quantum Theory of Radiation. Oxford University Press,

London, England.Herman, M., Trkov, A., 2009. ENDF-6 Formats Manual. ENDF-102/BNL-90365-2009.Hermann, O.W., Bowman, S.M., Brady, M.C., Parks, C.V., 1995. Validation of the

SCALE System for PWR Spent Fuel Isotopic Composition Analyses. ORNL/TM-12667.

Hoogenboom, J.E., Martin, W.R., Petrovic, B., 2011. Monte Carlo PerformanceBenchmark for Detailed Power Density Calculation in a Full Size Reactor Core,Benchmark Specifications Revision 1.2, http://www.nea.fr/dbprog/MonteCarloPerformanceBenchmark.htm.

Horelik, N.E., Herman, B.R., Forget, B., Smith, K.S., 2013. Benchmark for evaluationand validation of reactor simulations (BEAVRS). Proceedings of InternationalConference on Mathematics and Computational Methods Applied to NuclearScience and Engineering, May 5–9, Sun Valley, ID, USA.

Hunter, J.L., Sutton, T.M., 2013. A method for reducing the largest relative errors inMonte Carlo iterated-fission-source calculations. Proceedings of InternationalConference on Mathematics and Computational Methods Applied to NuclearScience and Engineering, May 5–9, Sun Valley, ID, USA.

Kelly, D.J., Sutton, T.M., Wilson, S.C., 2012. MC21 analysis of the nuclear energyagency Monte Carlo performance benchmark problem. Proceedings of PHYSOR2012 – Advances in Reactor Physics, April 15–20, Knoxville, TN, USA.

Kelly, D.J., Aviles, B.N., Herman, B.R., 2013. MC21 analysis of the MIT PWRbenchmark: hot zero power results. Proceedings of International Conference onMathematics and Computational Methods Applied to Nuclear Science andEngineering, May 5–9, Sun Valley, ID, USA.

Levitt, L.B., 1972. The probability table method for treating unresolved neutronresonances in Monte Carlo calculations. Nucl. Sci. Eng. 49, 450–457.

Lux, I., Koblinger, L., 1991. Monte Carlo Particle Transport Methods: Neutron andPhoton Calculations. CRC Press, Boca Raton, Florida.

MacFarlane, R.E., Muir, D.W., 1994. The NJOY Nuclear Data Processing System,Version 91. LA-12740-M.

Nease, B.R., Ueki, T., 2007. Time series analysis of Monte Carlo fission sources – III:coarse-mesh projection. Nucl. Sci. Eng. 157, 51–64.

Please cite this article in press as: Griesheimer, D.P., et al. MC21 v.6.0 – A contfeedback capabilities. Ann. Nucl. Energy (2014), http://dx.doi.org/10.1016/j.anu

Nease, B.R., Griesheimer, D.P., Millman, D.L., Gill, D.F., 2013. Geometric templatesfor improved tracking performance in Monte Carlo codes. Proceedings of JointInternational Conference on Supercomputing in Nuclear Applications andMonte Carlo 2013 (SNA + MC 2013), October 27–31, Paris, France.

Scott, W.W., 1967. Angular Distribution of Thick-Target Bremsstrahlung WhichIncludes Multiple Electron Scatterings. NASA TN D-4063.

Seltzer, S.M., Berger, M.J., 1985. Bremsstrahlung spectra from electron interactionswith screened atomic nuclei and orbital electrons. Nucl. Inst. Methods Phys.Res. B12, 95–134.

Spanier, J., 1966. Two pairs of families of estimators for transport problems. SIAM J.Appl. Math. 14, 702–713.

Sternheimer, R.M., Seltzer, S.M., Berger, M.J., 1984. Density effect for the ionizationloss of charged particles in various substances. Atomic Data Nucl. Data Tables30, 261–271.

Sutton, T.M., Donovan, T.J., Trumbull, T.H., Dobreff, P.S., Caro, E., Griesheimer, D.P.,Tyburski, L.J., Carpenter, D.C., Joo, H., 2007. The MC21 Monte Carlo transportcode. Proceedings of Joint International Topical Meeting on Mathematics &Computation and Supercomputing in the Nuclear Industry, April 15–19,Monterey, CA, USA.

Sutton, T.M., Trumbull, T.H., Lubitz, C.R., 2009. Comparison of some Monte Carlomodels for bound hydrogen scattering. Proceedings of International Conferenceon Mathematics, Computational Methods, and Reactor Physics, May 3–7,Saratoga Springs, NY, USA.

Sutton, T.M., Romano, P.K., Nease, B.R., 2011. On-the-fly dominance ratio calculationusing the noise propagation matrix method. Prog. Nucl. Sci. Technol. 2, 749–756.

Ueki, T., Brown, F.B., 2005. Stationarity modeling and informatics-based diagnosticsin Monte Carlo criticality calculations. Nucl. Sci. Eng. 149, 38–50.

Urbatsch, T.J., Forester, R.A., Prael, R.E., Beckman, R.J., 1995. Estimation andInterpretation of keff Confidence Intervals in MCNP. LA-12658.

Wagner, J.C., Haghighat, A., 1998. Automated variance reduction of Monte Carloshielding calculations using the discrete ordinates adjoint function. Nucl. Sci.Eng. 128, 186.

Wagner, J.C., Blakeman, E.D., Peplow, D.E., 2007. Forward-weighted CADIS methodfor global variance reduction. Trans. Am. Nucl. Soc. 97, 595–597.

inuous-energy Monte Carlo particle transport code with integrated reactorcene.2014.08.020