# 8. Monte Carlo Transport

**Introduction by B. T. Rearden**

SCALE Monte Carlo transport capabilities enable criticality safety, shielding, depletion, and sensitivity and uncertainty analysis [Monte-CarloRPP+14]. SCALE provides separate Monte Carlo capabilities for eigenvalue neutronics and fixed-source coupled neutron-gamma calculations, in the KENO code [Monte-CarloGPJD+11] and fixed-source coupled neutron-gamma calculations in the Monaco code [Monte-CarloPep11] Although the eigenvalue and fixed-source capabilities are provided in separate codes, many capabilities are shared between them, including physics and geometry packages. The foundational features shared between the codes are described below, with specific implementations provided in subsequent sections. Generally, the use of the Monte Carlo transport solvers in SCALE are best accessed through the capability-specific sequences: CSAS for criticality safety, MAVRIC for shielding, TRITON for depletion, TSUNAMI-3D for sensitivity and uncertainty analysis, and MCDancoff for three-dimensional Dancoff factor calculations.

Multigroup Physics

The multigroup treatment implemented in SCALE has been in use since the
1960s and provides efficient, effective solutions with superior runtime
performance. Problem-dependent multigroup cross section data are
temperature interpolated and resonance self-shielded by other SCALE
modules before they are used in each Monte Carlo calculation. Without
proper resonance self-shielding, accurate multigroup calculations would
not be possible for thermal or intermediate energy spectrum systems.
After self-shielding has been accomplished and the two-dimensional
expansions have been summed into a Legendre expansion of the total
group-to-group transfer arrays, individual nuclide cross sections are
multiplied by their densities and summed into mixtures. These mixture
cross sections can then be used by the deterministic transport codes for
their calculations. The Monte Carlo codes convert the Legendre expansion
of the transfer arrays into probability distributions for the
group-to-group transfers and for the discrete scattering angles and
probabilities that preserve the moments of the Legendre expansion of
each group-to-group transfer. These transfer probabilities, angles, and
angle probabilities are then transformed so that the new group and angle
of scatter are efficiently selected through two random numbers with only
one multiplication and one addition operation. If the selected new group
is negative, it is reset to positive, and the new direction is chosen
isotropically. If the problem is run with P_{1} scattering, the
scattering angle is chosen from a continuous distribution. For higher
order scattering, the polar scatter angle is discrete, and the azimuthal
angle is randomly selected from a uniform distribution. Multigroup
physics is implemented for neutron, photon, and neutron-photon coupled
particle transport modes.

Continuous-energy Physics

The continuous energy treatment in SCALE provides high resolution solution strategies with explicit physics representation. The continuous energy data represent thermal scattering using free gas and s(\(\alpha\), \(\beta\)), with explicit point-to-point data provided through the thermal region. The resolved resonance region is represented by pointwise data where the energy point density is optimized for each reaction of each nuclide. Data in the unresolved resonance region are represented by probability tables, and data above the unresolved region implement pointwise data with explicit point-to-point representation for secondary particles. Photon yield data represent each discrete photon. Continuous energy physics contains non-transport data handling to support various flux, reaction rate, point detector tallies, and sensitivity analysis. In addition, continuous energy data are converted from a double differential data format to a lab format in a process where fast look-up tables are provided during library generation. In SCALE 6.0–6.1, calculations are performed only at temperatures available on the data libraries by selecting the library temperature nearest to the desired temperature for the calculation. Resonance upscattering techniques are implemented via the Doppler Broadened Rejection Correction method [Monte-CarloHMGR13]. With SCALE 6.2, problem-dependent continuous energy cross sections at the user specified temperature are generated at the beginning of the calculation. Continuous energy physics is implemented for neutron, photon, and neutron-photon coupled particle transport modes.

Geometry Packages

Two variants of KENO provide identical solution capabilities with
different geometry packages. KENO V.a implements a simple and efficient
geometry package sufficient for modeling many systems of interest to
criticality safety and reactor physics analysts. KENO-VI implements the
SCALE Generalized Geometry Package (SGGP), which provides a
quadratic-based geometry system with much greater flexibility in
solution modeling. Monaco implements only the SGGP geometry package.
Both packages are based on solid bodies organized into reusable objects
called *units* that are constructed of material *regions*. Units can be
conveniently arranged in rectangular or hexagonal *arrays* of repeating
units. Additionally, nesting is available so that one unit can contain
another unit as a *hole*, or an array can be nested inside of a unit,
which itself can be repeated in another array. There is no limit to the
number of nesting levels available, so very complex systems can be
quickly generated.

KENO V.a models are constructed from regions of specific shapes
following strict rules which provide great efficiency in geometry
tracking. Allowed shapes are cubes, cuboids (rectangular
parallelepipeds), spheres, cylinders, hemispheres, and hemicylinders.
These shapes must be oriented along orthogonal axes, and they can be
translated, but they cannot be rotated. A major restriction applied to
KENO V.a geometry is that intersections are not allowed, and each region
of a unit must fully enclose the preceding region. An exception to this
rule is in the use of *holes* through which many units can be placed
within an enclosing unit. However, there is a runtime penalty in
geometry tracking for this flexibility, so this feature should be used
judiciously. KENO V.a provides *rectangular* arrays where the outer body
of each unit contained in the array must have a cuboidal shape, and
adjacent faces must have the same dimensions. The entire array must be
fully enclosed by the region in which it is placed.

SGGP is a quadratic-based geometry system that provides predefined bodies including cone, cuboid, cylinder, dodecahedron, ecylinder (elliptical cylinders), ellipsoid, hexprism, hopper (truncated pyramid), parallelepiped, planes, rhombohedron, rhexprism (rotated hexprisms), sphere, and wedge. Bodies not directly provided with SGGP can be constructed from quadratic surfaces defined with coefficients entered by the user. All bodies and surfaces can be rotated and translated to any orientation and position within their respective unit. SGGP also provides intersecting regions.

SGGP arrays may be composed of cuboids, hexprisms, rhexprisms, or dodecahedrons. Like KENO V.a, the faces of adjacent units in an array must have the same dimensions. An array boundary must be specified for each array, and only the portion of the array within the boundary is considered a part of the system. Also, the specified array must fill the entire volume in the specified array boundary. The array boundary may be any shape that can be specified using quadratic equations.

The use of holes is more flexible in SGGP than in KENO V.a. Within a unit, holes cannot intersect other holes or the unit boundary, but they can intersect region boundaries. The use of holes is not necessary to build complex geometries; they are used primarily to more efficiently build complex geometries and improve the tracking efficiency of the simulation. In SGGP the distance to each surface in the unit must be calculated after each collision. By moving some of the surfaces in a unit into another unit that is included as a hole, all the surfaces in the hole unit except the outer boundary are removed from the containing unit. The judicious use of holes in SGGP can significantly speed up the calculation.

Eigenvalue Analysis

KENO performs eigenvalue calculations for neutron transport primarily to calculate multiplication factors and flux distributions of fissile systems in continuous energy and multigroup modes. Both codes allow explicit geometric representation with their respective geometry packages. KENO provides a multigroup adjoint capability which is especially useful for sensitivity analysis. KENO implements standard variance reduction techniques such as implicit capture, splitting, and Russian roulette.

The initial fission source distribution in KENO can be specified with nine options. These options include the default option of a uniform distribution throughout the fissile material; an axially varying distribution input by the user or defined as cos(Z) or (1-cos(Z)):sup:2, where Z is the axial position; several options to initialize the source at a given position (within a given volume, a given unit, or a unit at a specified array index); or to specifically provide the coordinates of each starting point.

KENO approximates the real *keff* variance using an iterative
approach and lagging covariance data between generations [Monte-CarloUMN97]. KENO
provides a \(\chi\)^{2} test for the normality of *keff* and provides
plots of \(k_{eff}\) by active and inactive generations. KENO reports a
*best estimate* of \(k_{eff}\) that is computed as the minimum variance of
\(k_{eff}\) based on generations skipped and generations run.

KENO provides track-length tallies for scalar flux and angular flux moments needed for sensitivity analysis. Additionally, tallies are provided for reaction rates, with isotopic tallies available only in CE calculations. KENO also provides mesh tallies based on a user-input orthogonal grid.

Matrix \(k_{eff}\) calculations provide an additional method of calculating the \(k_{eff}\) of the system. Cofactor \(k_{eff}\) and source vectors, which describe the contribution to the system \(k_{eff}\)from each unit, hole, or array, are available.

KENO provides plots of *keff*by generation and average \(k_{eff}\)
for visual inspection of source convergence, followed by a \(\chi\)^{2}
statistical assessment of convergence. Fission source convergence
diagnostic techniques are implemented in KENO to provide improved
confidence in the computed results and to reduce the simulation time for
some cases. Confirming the convergence of the fission source
distribution is especially useful to avoid the false convergence of
\(k_{eff}\) that can be caused by insufficient sampling of important
portions of the system [Monte-CarloUB05] KENO source convergence diagnostics rely on
Shannon entropy statistics of the mesh-based fission source data.

Parallel computation capabilities are available in both versions of KENO to provide reductions in wall clock time, especially for sensitivity analysis or Monte Carlo depletion on computer clusters. By introducing a simple master-slave approach via message passing interface (MPI), KENO runs different random walks concurrently on the replicated geometry within the same generation. The fission source and other tallied quantities are gathered at the end of each generation by the master process, and then they are processed either for final edits or next generations.

Shielding Analysis

Monaco is a fixed-source Monte Carlo shielding code that calculates neutron and photon fluxes and response functions for specific geometry regions, point detectors, and mesh tallies. Monaco has variance reduction capabilities, such as source biasing and weight windows, which can be automated via the MAVRIC sequence. MAVRIC performs radiation transport on problems that are too challenging for standard, unbiased Monte Carlo methods. Monaco provides multiple methods to enter the radioactive source descriptions. Spatial distribution options include volumetric sources and mesh sources which can be generated by other codes such as KENO. Energy distributions can be entered by the user or imported directly from emission data provided by ORIGEN. Spent fuel analysis is simplified through direct coupling with the ORIGEN binary concentration files.

- 8.1. KENO: A Monte Carlo Criticality Program
- 8.1.1. ACKNOWLEDGMENTS
- 8.1.2. Introduction to KENO
- 8.1.3. KENO Data Guide
- 8.1.3.1. Keno input outline
- 8.1.3.2. Procedure for data input
- 8.1.3.3. Title and parameter data
- 8.1.3.4. Geometry data
- 8.1.3.5. ARRAY Data
- 8.1.3.6. Albedo data
- 8.1.3.7. Biasing or weighting data
- 8.1.3.8. Start data
- 8.1.3.9. Extra 1-D XSECS IDs data
- 8.1.3.10. Mixing table data
- 8.1.3.11. Plot data
- 8.1.3.12. Energy group boundary data
- 8.1.3.13. Volume data
- 8.1.3.14. Grid geometry data
- 8.1.3.15. Reaction data

- 8.1.4. Notes for KENO Users
- 8.1.4.1. Data entry
- 8.1.4.2. Default logical unit numbers for KENO
- 8.1.4.3. Parameter input
- 8.1.4.4. Cross sections
- 8.1.4.5. Mixing table
- 8.1.4.6. Geometry Considerations
- 8.1.4.7. Alternative sample problem mockups
- 8.1.4.8. Initial starting distributions with Start data
- 8.1.4.9. Biasing or weighting data for multigroup mode
- 8.1.4.10. Color plots
- 8.1.4.11. KENO Multiple Mesh and Mesh-based Quantity Specifications
- 8.1.4.12. Random sequence
- 8.1.4.13. Matrix k-effective
- 8.1.4.14. Deviations
- 8.1.4.15. Generation time and lifetime
- 8.1.4.16. Energy of the Average Lethargy of Fission

- 8.1.5. Description of Output
- 8.1.5.1. Program verification information
- 8.1.5.2. Tables of parameter data
- 8.1.5.3. Unprocessed geometry input data
- 8.1.5.4. Table of data sets used in the problem
- 8.1.5.5. Table of additional information
- 8.1.5.6. Cross section data edits for the continuous energy mode
- 8.1.5.7. Mixing table data edits
- 8.1.5.8. Albedo cross section correspondence
- 8.1.5.9. 1-D macroscopic cross sections
- 8.1.5.10. Extra 1-d cross sections
- 8.1.5.11. 2-D macroscopic cross sections
- 8.1.5.12. Probabilities and angles
- 8.1.5.13. Energy boundaries
- 8.1.5.14. Array summary
- 8.1.5.15. Geometry data edits
- 8.1.5.16. Unit orientation description
- 8.1.5.17. Volume information
- 8.1.5.18. Mesh volumes output edit
- 8.1.5.19. Grid definitions
- 8.1.5.20. Biasing information
- 8.1.5.21. Group-dependent weights
- 8.1.5.22. Plot representation
- 8.1.5.23. Initial source and final pretracking edits
- 8.1.5.24. Reference center for flux moment/angular flux transform
- 8.1.5.25. Print starting points
- 8.1.5.26. K-effectives by generation
- 8.1.5.27. Problem characterization edit
- 8.1.5.28. Final k-effective edit
- 8.1.5.29. Plot of average k-effective by generation run
- 8.1.5.30. Plot of average k-effective by generations skipped
- 8.1.5.31. Final edit of fissions, absorptions, and leakage
- 8.1.5.32. Matrix k-effective by position index
- 8.1.5.33. Fission production by position index matrix
- 8.1.5.34. Source vector by position index
- 8.1.5.35. Cofactor k-effective by position index
- 8.1.5.36. Matrix k-effective by unit number
- 8.1.5.37. Fission production by unit number matrix
- 8.1.5.38. Source vector by unit number
- 8.1.5.39. Cofactor k-effective by unit number
- 8.1.5.40. Matrix k-effective by hole number
- 8.1.5.41. Fission production by hole number matrix
- 8.1.5.42. Source vector by hole number
- 8.1.5.43. Cofactor k-effective by hole number
- 8.1.5.44. Matrix k-effective by array number
- 8.1.5.45. Fission production by array number matrix
- 8.1.5.46. Source vector by array number
- 8.1.5.47. Cofactor k-effective by array number
- 8.1.5.48. Mesh tallies
- 8.1.5.49. Reaction tally
- 8.1.5.50. Source convergence diagnostics edit
- 8.1.5.51. Fission density edit
- 8.1.5.52. Flux edit
- 8.1.5.53. Frequency distributions
- 8.1.5.54. Summary of parallel performance
- 8.1.5.55. Final results table
- 8.1.5.56. HTML output
- 8.1.5.56.1. HTML output: Program verification information
- 8.1.5.56.2. HTML output: Messages
- 8.1.5.56.3. HTML output: Tables of parameter data
- 8.1.5.56.4. HTML output: Table of additional information
- 8.1.5.56.5. HTML output: Mixing table data
- 8.1.5.56.6. HTML output: 1D macroscopic cross sections
- 8.1.5.56.7. HTML output: 2-D macroscopic cross sections
- 8.1.5.56.8. HTML output: Probabilities and angles
- 8.1.5.56.9. HTML output: Geometry data
- 8.1.5.56.10. HTML output: Volume information
- 8.1.5.56.11. HTML output: Biasing information
- 8.1.5.56.12. HTML output: Group-dependent weights
- 8.1.5.56.13. HTML output: Plot representation
- 8.1.5.56.14. HTML output: Initial source and final pretracking edits
- 8.1.5.56.15. HTML output: Reference center for flux moment/angular flux tranform
- 8.1.5.56.16. HTML output: K-effectives by generation
- 8.1.5.56.17. HTML output: Problem characterization edit
- 8.1.5.56.18. HTML output: Final k-effective edit
- 8.1.5.56.19. HTML output: Final edit of fissions, absorptions, and leakage
- 8.1.5.56.20. HTML output: Matrix k-effective by position index
- 8.1.5.56.21. HTML output: Fission production by position index matrix
- 8.1.5.56.22. HTML output: Source vector by position index
- 8.1.5.56.23. HTML output: Cofactor k-effective by position index
- 8.1.5.56.24. HTML output: Matrix k-effective, fission production, source vector and cofactor k-effective by unit number
- 8.1.5.56.25. HTML output: Matrix k-effective, fission production, source vector and cofactor k-effective by hole number
- 8.1.5.56.26. HTML output: Matrix k-effective, fission production, source vector and cofactor k-effective by array number
- 8.1.5.56.27. HTML output: Fission density edit
- 8.1.5.56.28. HTML output: Flux edit
- 8.1.5.56.29. HTML output: Final results table

- 8.1.6. Warning messages and error messages
- 8.1.7. Theory and Techniques
- 8.1.7.1. The transport equation
- 8.1.7.2. Continuous energy mode solution procedure
- 8.1.7.2.1. Problem initialization
- 8.1.7.2.2. Initial source distribution
- 8.1.7.2.3. Collision site selection
- 8.1.7.2.4. Collision treatment
- 8.1.7.2.5. Fission treatment
- 8.1.7.2.6. Sampling details
- 8.1.7.2.7. Kinematics data
- 8.1.7.2.8. Thermal scattering effects
- 8.1.7.2.9. Doppler broadening rejection correction method
- 8.1.7.2.10. Doppler broadening methods

- 8.1.7.3. Multigroup mode solution procedure
- 8.1.7.4. KENO Geometries
- 8.1.7.5. Fluxes
- 8.1.7.6. Reaction Rate and Few Group Micro Cross Section Calculations
- 8.1.7.7. Source Convergence Diagnostics

- 8.1.8. Appendices
- 8.1.8.1. KENO V.a Shape Descriptions
- 8.1.8.2. KENO VI Shape Descriptions
- 8.1.8.3. KENO Sample Problems
- 8.1.8.3.1. CSAS-MG data
- 8.1.8.3.2. KENO V.a sample problem data
- 8.1.8.3.2.1. Sample Problem 1 2C8 BARE
- 8.1.8.3.2.2. Sample Problem 2 CASE 2C8 BARE WITH 8 UNIT TYPES MATRIX CALCULATION
- 8.1.8.3.2.3. Sample Problem 3 2C8 15.24-CM PARAFFIN REFL
- 8.1.8.3.2.4. Sample Problem 4 2C8 15.24-CM PARAFFIN REFL AUTOMATIC REFL
- 8.1.8.3.2.5. Sample Problem 5 2C8 12-INCH PARAFFIN ALBEDO REFLECTOR
- 8.1.8.3.2.6. Sample Problem 6 ONE 2C8 UNIT (SINGLE UNIT)
- 8.1.8.3.2.7. Sample Problem 7 BARE 2C8 USING SPECULAR REFLECTION
- 8.1.8.3.2.8. Sample Problem 8 INFINITELY LONG CYLINDER FROM 2C8 UNIT
- 8.1.8.3.2.9. Sample Problem 9 INFINITE ARRAY OF 2C8 UNITS
- 8.1.8.3.2.10. Sample Problem 10 2C8 BARE WRITE RESTART
- 8.1.8.3.2.11. Sample Problem 11 2C8 BARE READ RESTART DATA
- 8.1.8.3.2.12. Sample Problem 12 4 AQUEOUS 4 METAL
- 8.1.8.3.2.13. Sample Problem 13 TWO CUBOIDS IN A CYLINDRICAL ANNULUS
- 8.1.8.3.2.14. Sample Problem 14 U METAL CYLINDER IN AN ANNULUS
- 8.1.8.3.2.15. Sample Problem 15 SMALL WATER REFLECTED SPHERE ON PLEXIGLAS COLLAR
- 8.1.8.3.2.16. Sample Problem 16 UO2F2 INFINITE SLAB K-INFINITY
- 8.1.8.3.2.17. Sample Problem 17 93% UO2F2 SOLUTION SPHERE ADJOINT CALCULATION
- 8.1.8.3.2.18. Sample Problem 18 1F27 DEMONSTRATION OF OPTIONS
- 8.1.8.3.2.19. Sample Problem 19 4 AQUEOUS 4 METAL ARRAY OF ARRAYS (SAMP PROB 12)
- 8.1.8.3.2.20. Sample Problem 20 TRIANGULAR PITCHED ARRAY
- 8.1.8.3.2.21. Sample Problem 21 PARTIALLY FILLED SPHERE
- 8.1.8.3.2.22. Sample Problem 22 CASE 2C8 BARE WITH 3 NESTED HOLES, EACH IS EQUAL VOLUME
- 8.1.8.3.2.23. Sample Problem 23 CASE 2C8 BARE AS STACKED CYLINDERS
- 8.1.8.3.2.24. Sample Problem 24 CASE 2C8 BARE AS STACKED ROTATED CYLINDERS
- 8.1.8.3.2.25. Sample Problem 25 CASE 2C8 BARE AS MIXED YHEMICYLINDERS
- 8.1.8.3.2.26. Sample Problem 26 (KENO V.a ONLY) CASE 2C8 BARE AS MIXED ZHEMICYLINDERS WITH ORIGINS
- 8.1.8.3.2.27. Sample Problem 27 (KENO V.a oONLY) CASE 2C8 BARE AS MIXED XHEMICYLINDERS WITH ORIGINS
- 8.1.8.3.2.28. Sample Problem 28 (KENO V.a oONLY) CASE 2C8 BARE AS MIXED YHEMICYLINDERS WITH ORIGINS
- 8.1.8.3.2.29. Sample Problem 29 BARE CRITICAL SPHERE 3.4420-IN. RADIUS
- 8.1.8.3.2.30. Sample Problem 30 (KENO V.a ONLY) BARE CRITICAL SPHERE Z HEMISPHERE MODEL 3.4420-IN. RADIUS
- 8.1.8.3.2.31. Sample Problem 31 (KENO V.a ONLY) BARE CRITICAL SPHERE X HEMISPHERE MODEL 3.4420-IN. RADIUS
- 8.1.8.3.2.32. Sample Problem 32 (KENO V.a ONLY) BARE CRITICAL SPHERE Y HEMISPHERE MODEL 3.4420-IN. RADIUS
- 8.1.8.3.2.33. Sample Problem 33 CRITICAL TRIANGULAR PITCHED ARRAY OF ANNULAR RODS

- 8.2. Monaco: A Fixed-Source Monte Carlo Transport Code for Shielding Applications
- 8.2.1. Introduction
- 8.2.2. Monaco Capabilities
- 8.2.3. Monaco Input Files
- 8.2.4. Monaco Output
- 8.2.5. Example Problems

References

- Monte-CarloGPJD+11
Sedat Goluoglu, Lester M. Petrie Jr, Michael E. Dunn, Daniel F. Hollenbach, and Bradley T. Rearden. Monte Carlo criticality methods and analysis capabilities in SCALE.

*Nuclear Technology*, 174(2):214–235, 2011.- Monte-CarloHMGR13
S. Hart, G. Ivan Maldonado, Sedat Goluoglu, and Brad Rearden. Implementation of the Doppler broadening rejection correction in KENO. In

*Transactions of the American Nuclear Society*, volume 108, 423–426. 2013.- Monte-CarloPep11
Douglas E. Peplow. Monte Carlo shielding analysis capabilities with MAVRIC.

*Nuclear Technology*, 174(2):289–313, 2011. Publisher: Taylor & Francis.- Monte-CarloRPP+14
Bradley T. Rearden, L. M. Petrie, Douglas E. Peplow, Kursat B. Bekar, Dorothea Wiarda, Cihangir Celik, Christopher M. Perfetti, Ahmad M. Ibrahim, S. W. D. Hart, and Michael E. Dunn. Monte Carlo capabilities of the SCALE code system. In

*SNA+ MC 2013-Joint International Conference on Supercomputing in Nuclear Applications+ Monte Carlo*, 06007. EDP Sciences, 2014.- Monte-CarloUB05
Taro Ueki and Forrest B. Brown. Stationarity modeling and informatics-based diagnostics in Monte Carlo criticality calculations.

*Nuclear Science and Engineering*, 149(1):38–50, 2005. Publisher: Taylor & Francis.- Monte-CarloUMN97
Taro Ueki, Takamasa Mori, and Masayuki Nakagawa. Error estimations and their biases in Monte Carlo eigenvalue calculations.

*Nuclear science and engineering*, 125(1):1–11, 1997. Publisher: Taylor & Francis.