Professional Documents
Culture Documents
Method of Characteristics For 3D Full Core Neutron Transport On Unstructured Mesh
Method of Characteristics For 3D Full Core Neutron Transport On Unstructured Mesh
To cite this article: Derek R. Gaston, Benoit Forget, Kord S. Smith, Logan H. Harbour,
Gavin K. Ridley & Guillaume G. Giudicelli (2021) Method of Characteristics for 3D, Full-
Core Neutron Transport on Unstructured Mesh, Nuclear Technology, 207:7, 931-953, DOI:
10.1080/00295450.2021.1871995
Abstract — A myriad of nuclear reactor designs are currently being considered for next-generation power
production. These designs utilize unique geometries and materials and can rely on multiphysics effects for safety
and operation. This work develops a neutron transport tool, MOCkingbird, capable of three-dimensional (3D),
full-core reactor simulation for previously intractable geometries. The solver is based on the method of char
acteristics, utilizing unstructured mesh for the geometric description. MOCkingbird is built using the MOOSE
multiphysics framework, allowing for straightforward linking to other physics in the future. A description of the
algorithms and implementation is given, and solutions are computed for two-dimensional/3D C5G7 and the
Massachusetts Institute of Technology BEAVRS benchmark. The final result shows the application of
MOCkingbird to a 3D, full-core simulation utilizing 1.4 billion elements and solved using 12 000 processors.
931
932 GASTON et al. · METHOD OF CHARACTERISTICS FOR 3D, FULL-CORE NEUTRON TRANSPORT
geometrically flexible, capable of full-core 3D calculation, couplings of 2D MOC solutions, in what is known as 2D/
and able to respond to arbitrary multiphysics interactions, one-dimensional (1D) transport,26,27 to provide 3D transport
such as geometric deformation. To achieve these goals, solutions at lower cost and accuracy than 3D MOC.
a new neutron transport solver, named MOCkingbird,
was developed utilizing the MOOSE framework.16,17 II.B. Unstructured Mesh MOC State of the Art
MOOSE provides MOCkingbird with the underlying geo
metrical representation and a simplified linking to other While CSG is ideal for ray tracing, it can be difficult to use
physics within the reactor core. Utilizing unique algo for representing complicated geometries and geometric
rithms for parallelization of MOC, MOCkingbird can effi deformation.28 An alternative is unstructured mesh. Most com
ciently solve both 2D and 3D neutron transport problems. monly used in finite element solvers, unstructured mesh builds
This paper is composed as follows: Sec. II presents geometry out of discrete “elements” that are made of simple
the state of the art of the underlying numerical method in shapes such as triangles, quadrilaterals, hexahedra, and tetra
MOCkingbird, the MOC, and its use with unstructured hedra. Many of these small elements can be combined to create
mesh. Section III summarizes the main advanced features complicated geometries that can then be straightforwardly
of MOCkingbird, while Sec. IV dives into some of the deformed. This is the approach MOCkingbird uses for geome
fundamentals of the method and presents some of the trical representation. In addition to the flexibility gained
technical choices made during implementation. Finally, through utilizing unstructured mesh, by abstracting ray tracing
Sec. V presents numerical light water reactor benchmarks to be across an element, MOCkingbird gains the ability to work
solved with MOCkingbird, providing both validation and in 1D, 2D, and 3D. Unstructured mesh is also the basis for
an evaluation of its scaling and performance. numerous non-MOC finite element transport solvers.29,30
Utilization of unstructured mesh as the geometric
representation for MOC is not, in itself, a new concept.
II. BACKGROUND Several previous studies have applied this methodology.
Two of the most successful implementations of MOC
II.A. MOC for Neutron Transport utilizing unstructured mesh were developed at Argonne
National Laboratory: MOCFE (Ref. 31) and PROTEUS-
Transport simulations can predict the flow of neutrons MOCEX (Ref. 32). While these two codes share a similar
through materials, enabling predictive modeling of radiation geometric discretization, including the ability to solve
shielding, neutron detectors, critical experiments, and reac 3D, they vary greatly in implementation detail.
tor cores. The MOC, further described in Sec. IV, is Of paramount importance to MOC on unstructured mesh
a solution method that is used in many fields and has seen is the ability to handle communication of angular flux
broad adoption in the nuclear engineering community for moments across domain decomposed geometry. In light of
solving the neutron transport equation, starting from the this, MOCFE utilized a novel matrix-free generalized mini
work of Ref. 18. MOC has become broadly used in reactor mum residual method (GMRES) solver to accelerate
analysis, supplanting other transport solution methodolo a nonimplicit global sweep iterative algorithm. To further
gies for many applications, including lattice physics.19 reduce parallel communication due to domain decomposition,
The MOC is traditionally solved using constructive solid MOCFE also employed angle- and energy-based decomposi
geometry20,21 (CSG). CSG represents the surfaces within tion. MOCFE utilized a distributed-mesh back-projection33
a reactor using a parametric representation of simple shapes, (among other schemes) to generate 3D trajectories (trajec
which are then operated on with Boolean logic. This scheme tories out of the radial plane) allowing for MOC solutions in
has been particularly successful for modeling light water 3D geometries. Ghosting for track generation and load balan
reactors due to its ability to perfectly represent the concentric cing for the computationally expensive solution phase were
cylinders placed within lattices inherent to that geometry. explored. The back-projection of the geometry being different
Early efforts successfully utilized MOC for cross-section for each angle proved challenging for load balancing.
and discontinuity factor calculations for input into full-core PROTEUS-MOCEX utilized a wholly different scheme
nodal calculations.2,4 Extensive research utilizing this method for the solution of 3D transport problems. Instead of directly
for 2D radial calculations has led to efficient, accelerated,22,23 generating 3D trajectories, PROTEUS-MOCEX built on the
parallel20,21,24 codes capable of full-core calculations.25 extensive research into so-called 2D/1D methods that utilize
Lately, breakthrough work has led to some of the first 3D, CSG (Refs. 34 and 35). Broadly, 2D/1D methods employ
full-core MOC calculations.9–12 In the last 15 years, consid transport solvers (such as MOC) in the radial direction and
erable work has been done to successfully leverage axial lower-order methods in the axial direction (such as diffusion,
or SN). This scheme can be incredibly effective due to reac to selectively generate 3D tracks based on a unique one
tors often having much higher geometric and material varia dimension is critical to efficient track generation and
bility in the radial direction than the axial direction. claiming. In addition, said track generation also computes
PROTEUS-MOCEX, in addition to utilizing unstructured the necessary quadrature weights to use with the tracks
mesh, went one step further: It replaced the 1D axial solve for angular and spatial integration.
and the axial leakage term in 2D with a 1D finite element
treatment and effectively 3D sources in the 2D MOC solve.32
The 2D MOC sweep was then coupled into the axial solve as III.A. Summary of Main Features
a line source. This provided the efficiency needed to solve
complex 3D transport problems.36 MOCkingbird uses the conventional flat source MOC
Several other research efforts have also utilized unstruc formulation as detailed in Ref. 19. Long characteristic tracks
tured mesh with MOC. The MOC on Unstructured Mesh37 (domain boundary to domain boundary) are used in both
(MOCUM) project is heavily focused on automatically con serial and parallel, providing the same solver behavior
verting CSG geometry into triangular elements. A Delaunay regardless of the number of message passing interface41
triangulation algorithm was created, allowing for simplified (MPI) ranks used. At this time, MOCkingbird uses flat
workflow from reactor geometry discretization to MOC solu source, isotropic scattering, isotropic fission source, and
tion. Parallelism in MOCUM was handled using OpenMP. multigroup cross-section approximations. MOCkingbird
MoCha-Foam38 was developed using the OpenFoam open- does not contain cross-section generation capabilities; thus,
source, partial differential equation (PDE) solver framework, all cross sections must be generated externally. However,
allowing for future expansion into multiphysics problems. a flexible interface exists to allow for the reading of many
Finally, an effort to utilize linear source representation on different types of cross-section databases. One in-progress
unstructured meshes39 was undertaken at Bhabha Atomic aspect of MOCkingbird is its acceleration capability based
Research Center in Mumbai. Similar to MOCUM, on DSA,23 rather than CMFD,22,42 which is more commonly
a triangulation was utilized to produce the geometry, however, used in MOC programs. Acceleration in MOCkingbird is
less elements were needed due to the higher-order representa still under heavy development and will be the subject of
tion of the source. One unique aspect of this effort was that it future publications.
utilized curved triangle edges to reduce geometric representa Some interesting or unique aspects of MOCkingbird are
tion error.
1. unstructured mesh for geometry definition and
Each of these research efforts pushed the state of the art
spatial discretization
forward for MOC on unstructured mesh. However, many
aspects still remain unsolved. These include accurate reflec 2. no geometric assumptions made in the solver
tive boundary condition treatment,31,40 memory issues,32 3. capable of working with moving mesh, e.g.,
parallelization,33,37,38 and parallel track generation.33 This from thermal expansion or fracture
project aims to alleviate these issues through the develop
4. same solution behavior in serial and parallel
ment of MOCkingbird.
5. parallel, scalable cyclic track generation, start
III. MOCKINGBIRD ing point location, and track distribution
6. asynchronous sparse data exchange algorithms
MOCkingbird has been developed using MOOSE, during problem setup
which is a framework for building multiphysics tools, and
therefore is a natural fit for a code that will ultimately perform 7. scalable communication routines during pro
multiphysics analysis of reactors. MOOSE provides impor blem setup
tant infrastructure to MOCkingbird, including finite element 8. efficient, robust element traversal
mesh, ray-tracing capabilities, input/output, online post pro
9. scalable, domain decomposed ray tracing
cessing, auxiliary field computations, code timing, memory
management, testing infrastructure, and straight-forward cou 10. smart buffering for messages
pling to other MOOSE-based applications. 11. scalable memory usage
The other significant library dependency is that of
OpenMOC, which MOCkingbird relies on for track 12. object pool utilization to reduce memory allo
generation.40 OpenMOC contains routines for the effi cation and deallocation
cient generation of cyclic 2D and 3D tracks. The ability 13. weighted partitioning for load balance
Fig. 1. The mesh is split for three MPI ranks, and one track is considered. With a block-Jacobi-like algorithm, the boundary
angular flux would only propagate to the other side of the domain after all source iterations. In MOCkingbird, the entire track is
traced in one iteration without any intermediate global synchronization.
ð
keff) and its associated eigenvector the solution scalar flux.
ϕg ðrÞ ¼ ψg ðr; ΩÞΩ : ð3Þ
The right side of Eq. (1) is the total neutron source, denoted 4π
hereafter for brevity as
�
Ω � Ñ þ Σt;g ðrÞ ψg ðr; ΩÞ ¼ Qg ðrÞ : ð4Þ In addition, MOCkingbird utilizes an “as-tracked”
approximation of the FSR volumes, with the volumes of
The early work on MOC by Askew18 developed a robust the FSRs approximated using track integrations.
discretization for solving this equation approximately by iden Traditionally, segmentation is carried out as
tifying the characteristics of the PDE. It should be noted, a preprocessing step by MOC-based codes,20,52 where the
however, that characteristics-based methods date back to the tracks are traced and segments are stored in memory for later
late 1950s with the work of Vladimirov in Ref. 50, according to use during the iterative solution scheme. However, the num
Ref. 51. MOCkingbird uses a flat source MOC discretization ber of segments required in 3D calculations can overwhelm
that matches the formulation given in Ref. 19. available computer resources; therefore, recent advance
ments have been made in “on-the-fly” segmentation.9 In
this mode, ray tracing is performed each time the track is
IV.B. Tracks, Segmentation, and Ray Tracing used to integrate the angular flux across the domain. This
provides savings in memory,9 but also requires additional
The scalar flux in each flat source region (FSR) is computational work. MOCkingbird can be run in either
defined by numerically approximating the spatial and angu mode: saving the segments during the first sweep or com
lar integral of the scalar fluxes and the volumes using the pletely on-the-fly computation to save memory.
tracks crossing each FSR. It is necessary to have a sufficient Using these approximations, it is possible to compute
number of tracks (indexed by k) crossing each FSR to ensure the scalar flux by accumulating each Δψk;i;g;p computed on
accurate evaluation of the scalar flux. Figure 2a shows an each segment across each FSR. Many different options exist
illustrative set of a few tracks. The intersections of a track on for determining the tracks, including cyclic tracking,40 MRT
the boundary of each successive FSR define the segments, as (Ref. 43), once-through,53 and back-projection.33 The track
shown in Fig. 2b. Using the fact that each track has an laydown algorithm used by MOCkingbird is cyclic, global
assigned spacing/width ωk , the scalar flux is tracking as developed within OpenMOC (Ref. 40).
" # Cyclic tracking creates track laydowns that form cycles
4π 1 XX through the domain. That is, starting at the origin of one track
ϕi;g ¼ Qi;g þ ωm ðkÞωp ωk Δψk;i;g;p ;
Σt;i;g Vi k p it is possible to move along all connected tracks in the cycle
and arrive back at the starting position. Cyclic tracking is
ð5Þ
desirable for its ability to accurately represent reflected,
periodic, or rotational boundary conditions. As can be seen
where
in Fig. 3, at the edges of the domain each track meets the next
m = indices for azimuthal quadrature track in the cycle. This allows for the angular flux to pass
from one track to the next track. Without this feature, the
p = indices for polar quadrature incoming angular flux at the beginning of the tracks would
ω = weights. have to be approximated or known. In full-core calculations,
Fig. 2. Example of equally spaced tracks and the segments that would lie along one such track.
Fig. 3. (a) Two-dimensional and (b) three-dimensional, with the 3D tracks defined as “stacks” above the 2D tracks (from Ref. 40).
the incoming angular flux is often zero (vacuum), but having IV.C. Source Iteration and Transport Sweeps
cyclic tracking capability makes the code much more flex
ible for the calculation of symmetric problems (e.g., pin cells MOCkingbird utilizes a source iteration scheme for
and assembly-level lattice calculations). the angular fluxes along each track, scalar fluxes in each
The cyclic tracking code utilized in MOCkingbird was FSR, and the eigenvalue that balances the system. The
initially developed for OpenMOC, as detailed in Ref. 40. As scheme iterates between sweeping the angular fluxes
shown in Fig. 3, the algorithms produce 2D tracks by speci across the tracks and updating the flat sources using the
fying the number of azimuthal angles and the azimuthal scalar fluxes computed during sweeping.
spacing (space between parallel tracks). For 3D tracks, the Algorithm 1 outlines the source iteration scheme.
2D tracks are generated first. Then, “stacks” are made above First, the fluxes are initialized, then the scalar fluxes are
each 2D track to create the 3D tracks. However, just as in utilized to compute the initial source Q. The scalar and
segmentation, the storage of all of the 3D track information domain boundary angular fluxes are then normalized by
can be prohibitive for a full-core 3D calculation. The index of dividing by the sum of the fission source (which is
the 2D track uniquely identifies each 3D track it projects to, computed using an MPI_Allreduce in parallel):
the index of its polar angle, and its index in the z-stack of
tracks. This allows MOCkingbird to create a 3D track on-the- XX
fly, enabling parallelizable track generation. F¼ νΣi;f ;g ϕi;g : ð6Þ
i g
MOCkingbird includes support for stochastic angular
quadratures in addition to the traditional discrete ordinates
angular quadrature. The Random Ray Method54 (TRRM) Normalization is necessary to keep the source values
integrates the angular flux across noncyclical tracks chosen from continually increasing/decreasing (depending on
randomly within the domain. The premise of a stochastic the value of keff).
quadrature in MOC was originally exposed by Davidenko
and Tsibulsky in the Russian language work51 and later
recapitulated in English in Appendix B of Ref. 55, giving Algorithm 1: Source Iteration Algorithm
promising results on the C5G7 benchmark. The idea of a
stochastic quadrature had not enjoyed further analysis or
examination in English language works up until Tramm
et al.’s recent introduction of TRRM. We have utilized
Tramm et al.’s research by including TRRM mode in
MOCkingbird. One significant advantage of TRRM is
reduced memory usage when compared to deterministic
track laydowns. This MOCkingbird capability will be dis
cussed in a future publication.
The scalar flux and FSR volumes are then zeroed utilizing MPI_Allreduce. The change in keff is also
for accumulation during the transport sweep. The trans monitored:
port sweep itself is shown in Algorithm 2. Each segment
� �
of each track is iterated over, the angular flux is updated, Δk ¼ �keff ;new keff ;old � : ð9Þ
and the contribution to the scalar flux is tallied accord
ing to Eq. (5). When integration across a track meets Once FRMS or Δk is small enough (typically 10 4 and
a partition boundary, the current angular flux is packed 10 6 ), the iteration is terminated. It should be noted that
into a data structure and communicated to the neighbor these conditions are sometimes referred to as “stopping
ing process via an asynchronous MPI communication criteria” rather than “convergence criteria,” as these
algorithm, which will be detailed in a later publication. quantities are not true residuals.
Algorithm 2: Transport Sweep. The k tracks are iterated IV.D. Transport Correction and Stabilization
over, intersecting them with the geometry. The angular
fluxes are propagated along the tracks and contribute to
the source region’s scalar flux. Transport-corrected cross sections have been shown
to sometimes cause the source iteration scheme outlined
previously to diverge.56 The transport correction is
a modification to the cross sections to take anisotropic
effects into account.57 Using ΔΣtr;g as the correction, it is
applied through modification of the total and scattering
cross sections:
and
es;g0 !g ¼ Σs0;g0 !g
Σ ΔΣtr;g δg0 ;g : ð11Þ
After the transport sweep, the eigenvalue is updated Making these cross-section modifications can lead to
using the ratio of the old and new fission sources [as a system that is unstable under source iteration. For an in-
computed using Eq. (6), and utilizing MPI_Allreduce depth analysis see Refs. 9 and 56. MOCkingbird stabi
in parallel]: lizes this using the damping scheme of Ref. 56. This is
achieved by defining a damping factor:
Fnew
keff ;new ¼ keff ;old ; ð7Þ (
Fold ρe
Σs;i;g!g
Di;g ¼ Σtr;i;g ; for Σs0;i;g!g < 0 ð12Þ
and then convergence criteria are checked. MOCkingbird 0; otherwise ;
convergence criteria are based on the root-mean-squared
(RMS) change of the element fission source: where ρ > 0 controls the amount of damping to apply
for FSRs that have negative in-group scattering cross
vffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi0
ffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffiffi1
ffiffiffiffiffi sections. Larger values of ρ lead to more damping. Too
u P P 2
u Σf ;i;g ϕi;g;new Σf ;i;g ϕi;g;old much damping, though, will slow the convergence
uP
u fissionable;i @ g
P g
A rate.9
u Σf ;i;g ϕi;g;old
t g The application of this damping factor occurs imme
FRMS ¼ ; diately after the transport sweep. The new scalar fluxes
Nfissionable
ϕi;g;new are combined with the scalar fluxes from the
ð8Þ
previous iteration ϕi;g;old via a weighted average:
where fissionable refers to FSRs that contain fissionable
ϕi;g;new þ Di;g ϕi;g;old
material, and N is the number of fissionable elements. The ϕi;g ¼ : ð13Þ
sum over fissionable elements is computed in parallel 1 þ Di;g
The new keff is computed using this damped flux. partitioning algorithms. Because MOCkingbird does not
Damping is only applied if ρ is specified to be a positive utilize either Cartesian SDD nor MRT, it is not subject to
number, thus it is only used when problems require it. partition multiplicity restrictions or degraded transport con
vergence without acceleration. An arbitrary partition multi
IV.E. Parallelism and Domain Decomposition plicity may be used. Moreover, because rays are traced
completely through the domain on each iteration, conver
The MOC is a highly parallelizable algorithm. The gence properties for highly decomposed geometries do not
majority of the computational effort is located within the differ from serial computations. This property is important
transport sweep, and each independent track can be swept for simulation reproducibility across computing platforms.
simultaneously. This inherent parallelism is, in most scalable
MOC codes, exploited by a combination of shared and dis
tributed memory parallelism. OpenMP (Ref. 58) is the usual IV.F. Memory
shared memory choice for MOC used in Refs. 9, 20, 31, 43,
and 45 even though other models like pthreads59 could be Full-core reactor 3D simulations require enormous com
used. Distributed memory parallelism for MOC, taking place pute resources, but lie well within the capabilities of modern
on multiple computers connected over a network, universally high-performance computing. For the 3D pressurized water
uses MPI (Ref. 60) as its programming model. Graphics reactor core calculation in the BEAVRS benchmark,62 pre
processing units have also been used to parallelize MOC sented in Sec. V.D, there are 1:4 � 109 FSRs, 300 � 106
(Ref. 46), which hold their own parallelization challenges. tracks, and 70 energy groups. The storage of the scalar fluxes
A natural way to use a distributed memory cluster is to and the domain boundary angular fluxes is approximately
split the reactor geometry among the MPI ranks. During 140 � 109 double-precision floating-point numbers (1 TB of
a transport sweep, each rank is responsible for segment inte memory). Ideally, as the problem is decomposed into smaller
gration across tracks that intersect the assigned portion of the partitions, the total memory used should be roughly constant.
domain. The partitioning of the domain is called SDD (Ref. However, with MRT, this is not the case.
61), and has been applied to reactor geometries.9,43 Because As the number of partitions grow with MRT, so does the
compute work scales with partition volume and communica memory usage as the angular flux is stored at the beginning
tion scales with partition surface area, Cartesian decomposi and end of each track on each partition, and the total parti
tions should be effective, so long as each partition volume and tions’ surface increases. To compute an estimate of the total
contained surface area is approximately equal.43 This has the memory that would be used by MRT for the 3D BEAVRS
caveat of being inflexible in the number of compute nodes to problem, a few assumptions are made: a 360 � 360 � 460 cm
be used. Consider the partitioning of a cube into equal domain size, 32 azimuthal angles, four polar angles, isotropic
volumes; only 1, 8, 27, 64, and so on partitions are compatible tracks, and a domain partitioning using cubic numbers of
with this scheme assuming the partitions are also cube shaped. MPI ranks. Using these assumptions, the graph in Fig. 4 is
Another restriction is that MRT (Ref. 43) is often produced, showing the amount of memory used to store the
employed with SDD, in which case the rays in each parti partition boundary angular fluxes. The growth of memory
tion are the same and meet each other at boundaries. This with MPI ranks with MRT could represent an issue for
allows for a simplified communication pattern with only usability with large-scale compute jobs. However, this
nearest neighbors. Within each source iteration, the incom could be somewhat alleviated by using hybrid distributed
ing angular flux is set, and all rays are traced from one edge shared memory, in which MPI ranks are used across nodes
of the partition boundary to the next partition boundary and and local (on-node), non-MPI processes are created that can
finally communicated to the neighbor. The outcome of this share on-node memory as needed (for example, for angular
process is that angular flux data only move across one fluxes between partitions on the same node).
partition during each source iteration. Without the presence In contrast, MOCkingbird only stores angular fluxes on
of acceleration methods, information traverses the domain the global domain boundaries, as characteristics are followed
more slowly than following the track completely at each across the entire domain at every sweep, so intermediate
iteration, inhibiting convergence, as confirmed by Ref. 9. storage is not required. Therefore, there is no increase in
MOCkingbird utilizes both MPI and OpenMP for its angular flux storage as the problem is decomposed into
parallelization, with an arbitrary SDD using MPI and smaller partitions. MOCkingbird still allocates a memory
optional OpenMP threads to process the work on each pool of rays and angular fluxes in each domain, but it is
spatial domain. MOCkingbird benefits from its integration much smaller and only serves to avoid constant allocation
in the MOOSE framework to leverage its existing and de-allocation of angular flux arrays.
Partition Boundary Angular Flux Scalar Flux a factor of 2. With this, the metric “levelized nanoseconds
per integration” (LNSI) is also introduced as
10000
8000
NSI
6000 LNSI; ; ð15Þ
Aggregate Storage (GB)
Nprocs
4000
2000
where Nprocs is the number of ranks used. This scales NSI
back to a more universal metric; if a code is perfectly
1000 scaling, the LNSI stays constant. This metric has been
800
600
utilized in other MOC papers.9,20,64
400
Fig. 5. (a) Quarter-core C5G7 geometry and (b) mesh detail for the bottom right corner of the core. Colors represent sets of fuel
mixtures and the moderator.
TABLE I
The 2D C5G7 Results with Increasing Azimuthal Angles and an Azimuthal Spacing of 0.01 cm
the number of azimuthal angles rises; this is the amorti These simulations utilized 400 MPI ranks and ten nodes on
zation of parallel communication latency with the addi the Lemhi cluster (two processors per node with 20 cores per
tion of more work per MPI rank. processor and 192 GB memory) at INL. The convergence
criteria were 10 5 relative change in the fission source. The
V.B. 3D C5G7 Benchmark results of this study can be found in Table III with a repre
sentative 3D scalar flux solution shown in Fig. 8.
The C5G7 benchmark has been extended to a full With these results, it is seen that MOCkingbird achieves
suite of 3D benchmarks.63 There are three primary a keff within 50 pcm of the benchmark solution on the finest
configurations in the 3D benchmark: Unrodded, grid. It is clear that axial fidelity plays a large role in accuracy,
Rodded A, and Rodded B, of which this study focuses as the coarsest mesh has an eigenvalue that is 464 pcm too low.
on only the Rodded B because it offers the largest A polar angle study was also completed. The 400-axial-
challenge by having multiple banks of control rods layer mesh was used with the same configuration noted pre
partially inserted. viously, spare for the number of polar angles. The detailed
Four meshes were created with 50, 100, 200, and 400 results can be viewed in Table IV. While the error is already
axial layers, which contain 5.6, 11.2, 22.4, and 44.8 M low by six polar angles, a stationary point is not met until ten
elements, respectively. The meshes were extruded from our polar angles.
C5G7 mesh, with 32 azimuthal angles with a spacing of Table V details the performance of MOCkingbird for
0.1 cm and six polar angles with 0.3 cm axial spacing the solution of the C5G7 Rodded B. One interesting trend in
chosen. This resulted in the generation of 53.9 M tracks. Table V is that the LNSI increases as the amount of axial
Fig. 6. The 2D C5G7 results with 128 azimuthal angles and an azimuthal spacing of 0.01 cm.
Fig. 7. The 2D C5G7 absolute relative error (in percent) in normalized pin powers with an azimuthal spacing of 0.01 cm: (a) 128
azimuthal angles and (b) 4 azimuthal angles.
layers increases. All solves were performed using 400 MPI comparison. It is a full-core benchmark containing 193
ranks; therefore, increasing the mesh density should, in fuel assemblies, each with an array of 17 × 17 fuel rods,
theory, increase the amount of local work to be done and guide tubes, and burnable poisons. Two fuel cycles are
decrease LNSI. However, additional cache misses will contained within the benchmark; however, the current
occur due to the greater number of elements traversed in study focuses on the fresh core configuration from cycle
an unstructured manner during ray tracing. 1. This section solves a 2D configuration of the
BEAVRS benchmark while Sec. V.D explores a fully
V.C. 2D BEAVRS Benchmark 3D solution.
The layout of the assemblies for cycle 1 can be
The BEAVRS benchmark62 was developed at the seen in Fig. 9. There are three different levels of
Massachusetts Institute of Technology (MIT) as enrichment: 3.1%, 2.4%, and 1.6%, and multiple lay
a realistic benchmark with real-world measurements for outs of burnable poisons (6, 12, and 16). Each pin cell
TABLE II
The 2D C5G7 Performance Characteristics
TABLE IV
The 3D C5G7 Rodded B Polar Angle Study Results
TABLE V
The 3D C5G7 Performance Characteristics
core, 3D BEAVRS by a fully general, unstructured- efficiency from small jobs to large makes it an efficient
mesh MOC code without any geometrical assumptions tool.
and the ability to perform geometric deformation. The full-core problem represents a significant
While this study is able to complete this analysis, it increase in computational needs. To make the problem
does so for only one mesh configuration. More work tractable by MOCkingbird with available computational
with a detailed mesh refinement study and acceleration resources, the axial mesh for the full-core simulation
is needed in the future. uses 128 layers. This brings the full-core mesh, as
Before simulating the full-core system, a 3D quar shown in Fig. 17, to 1 386 977 280 elements. In
ter-core problem was used for a strong scaling study addition, as shown in Table VII, the polar quadrature
with 12 000, 6000, 3000, and 1500 MPI ranks. Figure is reduced to six polar angles with a polar spacing of
18 shows the results of this strong scaling study. 2 cm. The overall effect of coarsening both spatially
MOCkingbird performs well, with the LNSI staying and angularly is that the number of tracks stays almost
essentially constant over a large range of MPI processes. constant, and the number of intersections per iteration
At 12 000 MPI ranks, there are, on average, over 50 000 grows by less than 2×. However, solution accuracy
elements per MPI rank. This suggests, based on previous could suffer.
scaling studies, that this problem could still scale well to The thermal flux solution for the full-core pro
around 100 000 MPI ranks. MOCkingbird’s parallel blem is visible in Fig. 19a. The spacer grids are
TABLE VI
Problem Settings and Computational
Requirements for the 2D BEAVRS
Fig. 15. Thermal flux (0 to 9.87 ev) for the 2D BEAVRS benchmark.
This solution, though not perfect, represents a large step MOC is a viable capability for full-core reactor simulation.
forward for unstructured-mesh MOC. The result and the Once the in-progress development of an acceleration
performance of 33 LNSI show that unstructured-mesh method is complete, this tool will prove to be useful for
TABLE VII
Problem Settings and Computational Requirements
for the Full-Core 3D BEAVRS Solution
Fig. 17. Slices showing the detail in the top and mid with reentrant parallel ray tracing, excessive memory usage,
plane of the as-meshed full-core geometry.
and load imbalances. The tool was applied to several bench
mark problems to show both fidelity and scalability.
40
Ultimately, a full-core, 3D BEAVRS benchmark calculation
was achieved using 12 000 MPI ranks in 12.26 h. This result
Levelized ns/integration
30
shows that the tool is capable of high-fidelity, full-core, 3D
calculations. However, it should be noted that in order to
enable MOCkingbird to be usable for design and analysis,
20
a sufficient acceleration scheme needs to be developed. The
next steps in this research involve completing the implemen
10
tation of the acceleration method, adding transient capability,
more research on mesh partitioning, generalization of the ray-
0
2000 4000 6000 8000 10000 tracing routines to be used by other MOOSE-based codes,
and enhancements to the communication algorithms.
MPI Ranks
Fig. 19. Thermal flux for the full core shown on two slices through the core.
12. S. SANTANDREA, L. GRAZIANO, and D. 25. K. S. SMITH and J. D. RHODES, “Full-Core, 2-D, LWR
SCIANNANDRONE, “Accelerated Polynomial Axial Core Calculations with CASMO-4E,” presented at
Expansions for Full 3D Neutron Transport MOC in the PHYSOR 2002, Seoul, Korea, October 7–10, 2002.
APOLLO3 Code System as Applied to the ASTRID Fast
Breeder Reactor,” Ann. Nucl. Energy, 113, 194 (2018); 26. T. M. EVANS et al., “Denovo: A New Three-Dimensional
https://doi.org/10.1016/j.anucene.2017.11.010. Parallel Discrete Ordinates Code in SCALE,” Nucl. Technol.,
171, 2, 171 (2010); https://doi.org/10.13182/NT171-171.
13. B. LINDLEY et al., “Developments Within the WIMS
Reactor Physics Code for Whole Core Calculations,” pre 27. A. ZHU et al., “Transient Methods for Pin-Resolved Whole
sented at the Int. Conf. on Mathematics & Computational Core Transport Using the 2D-1D Methodology in
Methods Applied to Nuclear Science & Engineering, Jeju, MPACT,” Proc. M&C 2015, Nashville, Tennessee, April
Korea, April 16–20, 2017. 19–23, 2015, p. 19 (2015).
14. P. ARCHIER et al., “Validation of the Newly Implemented 28. M. W. REED, “The “Virtual Density” Theory of
3D TDT-MOC Solver of APOLLO3 Code on a Whole 3D Neutronics,” Thesis, PhD Thesis, Department of Nuclear
SFR Heterogeneous Assembly,” presented at PHYSOR, Science and Engineering, Massachusetts Institute of
Sun Valley, Idaho, May 1–5, 2016. Technology (2014); https://dspace.mit.edu/handle/1721.1/
15. J. R. TRAMM et al., “ARRC: A Random Ray Neutron 87497 (current as of July 30, 2020).
Transport Code for Nuclear Reactor Simulation,” Ann.
Nucl. Energy, 112, 693 (2018); https://doi.org/10.1016/j. 29. Y. WANG, “Nonlinear Diffusion Acceleration for the
anucene.2017.10.015. Multigroup Transport Equation Discretized with S N and
Continuous FEM with Rattlesnake,” Proc. 2013 Int. Conf.
16. D. GASTON et al., “MOOSE: A Parallel Computational Mathematics and Computational Methods Applied to
Framework for Coupled Systems of Nonlinear Equations,” Nuclear Science Engineering (M and C 2013), Sun
Nucl. Eng. Des., 239, 10, 1768 (2009); https://doi.org/10. Valley, Idaho, May 5–9, 2013.
1016/j.nucengdes.2009.05.021.
30. M. L. ADAMS and E. W. LARSEN, “Fast Iterative
17. C. J. PERMANN et al., “MOOSE: Enabling Massively
Methods for Discrete-Ordinates Particle Transport
Parallel Multiphysics Simulation,” SoftwareX, 11, 100430
(2020); https://doi.org/10.1016/j.softx.2020.100430. Calculations,” Prog. Nucl. Energy, 40, 1, 3 (2002); https://
doi.org/10.1016/S0149-1970(01)00023-3.
18. J. ASKEW, “A Characteristics Formulation of the Neutron
Transport Equation in Complicated Geometries,” United 31. S. SANTANDREA et al., “A Neutron Transport
Kingdom Atomic Energy Authority (1972). Characteristics Method for 3D Axially Extruded
Geometries Coupled with a Fine Group Self-Shielding
19. D. KNOTT and A. YAMAMOTO, “Lattice Physics
Environment,” Nucl. Sci. Eng., 186, 3, 239 (2017);
Computations,” Handbook of Nuclear Engineering, pp.
https://doi.org/10.1080/00295639.2016.1273634.
913–1239, D. G. CACUCI, Ed., Springer (2010); https://
doi.org/10.1007/978-0-387-98149-9. 32. A. MARIN-LAFLECHE, M. SMITH, and C. LEE,
20. W. BOYD et al., “The OpenMOC Method of Characteristics “Proteus-MOC: A 3D Deterministic Solver
Neutral Particle Transport Code,” Ann. Nucl. Energy, 68, 43 Incorporating 2D Method of Characteristics,” Proc.
(2014); https://doi.org/10.1016/j.anucene.2013.12.012. 2013 Int. Conf. Mathematics and Computational
Methods Applied to Nuclear Science Engineering (M
21. B. KOCHUNAS et al., “Overview of Development and Design and C 2013), Sun Valley, Idaho, May 5–9, 2013.
of MPACT: Michigan Parallel Characteristics Transport Code,”
Proc. 2013 Int. Conf. Mathematics and Computational 33. M. SMITH et al., “Method of Characteristics Development
Methods Applied to Nuclear Science and Engineering (M and Targeting the High Performance Blue Gene/P Computer at
C 2013), Sun Valley, Idaho, May 5–9, 2013. Argonne National Laboratory,” Int. Conf. Mathematics and
Computational Methods Applied to Nuclear Science
22. K. S. SMITH, “Nodal Method Storage Reduction by Engineering (M&C 2011), Rio de Janeiro, Brazil, May 8–
Nonlinear Iteration,” Trans. Am. Nucl. Soc., 44, 265 (1983). 12, 2011.
23. R. E. ALCOUFFE, “Diffusion Synthetic Acceleration 34. N. CHO, G. LEE, and C. PARK, “Fusion Method of
Methods for the Diamond-Differenced Discrete-Ordinates Characteristics and Nodal Method for 3D Whole Core
Equations,” Nucl. Sci. Eng., 64, 2, 344 (1977); https://doi. Transport Calculation,” Trans. Am. Nucl. Soc., 86, 322
org/10.13182/NSE77-1. (2002).
24. C. RABITI et al., “Parallel Method of Characteristics on 35. B. COLLINS et al., “Stability and Accuracy of 3D Neutron
Unstructured Meshes for the UNIC Code,” Proc. Int. Conf. Transport Simulations Using the 2D/1D Method in
Physics of Reactors, Interlaken, Switzerland, September MPACT,” J. Comput. Phys., 326, 612 (2016); https://doi.
14–19, 2008. org/10.1016/j.jcp.2016.08.022.
36. C. LEE et al., “Simulation of TREAT Cores Using 49. S. STIMPSON, B. COLLINS, and B. KOCHUNAS,
High-Fidelity Neutronics Code PROTEUS,” Proc. M&C “Improvement of Transport-Corrected Scattering Stability
2017, Jeju, Korea, April 16–20, 2017, p. 16 (2017). and Performance Using a Jacobi Inscatter Algorithm for
2D-MOC,” Ann. Nucl. Energy, 105, 1 (2017); https://doi.
37. X. YANG and N. SATVAT, “MOCUM: A
org/10.1016/j.anucene.2017.02.024.
Two-Dimensional Method of Characteristics Code Based
on Constructive Solid Geometry and Unstructured Meshing 50. V. VLADIMIROV, “Numerical Solution of the Kinetic
for General Geometries,” Ann. Nucl. Energy, 46, 20 (2012); Equation for the Sphere,” Vycisl. Mat., 3, 3 (1958).
https://doi.org/10.1016/j.anucene.2012.03.009.
51. V. DAVIDENKO and V. TSIBULSKY, “The Method of
38. P. COSGROVE and E. SHWAGERAUS, “Development Characteristics with Angle Directions Stochastic Choice,”
of MoCha-Foam: A New Method of Characteristics Math. Mod., 15, 8, 75 (2003); http://www.mathnet.ru/php/
Neutron Transport Solver for OpenFOAM,” presented archive.phtml?wshow=paper&jrnid=mm&paperid=
at the Int. Conf. Mathematics & Computational 411&option_lang=rus (accessed July 14, 2020).
Methods Applied to Nuclear Science Engineering
52. J. RHODES, K. SMITH, and D. LEE, “CASMO-5
(M&C 2017), Jeju, Korea, April 16–20, 2017.
Development and Applications,” Proc. Int. Conf. Physics
39. T. MAZUMDAR and S. DEGWEKER, “Solution of the of Reactors (PHYSOR2006), Vancouver, Canada,
Neutron Transport Equation by the Method of September 10–14, 2006.
Characteristics Using a Linear Representation of the
53. B. LINDLEY et al., “Developments Within the WIMS
Source Within a Mesh,” Ann. Nucl. Energy, 108, 132
Reactor Physics Code for Whole Core Calculations,”
(2017); https://doi.org/10.1016/j.anucene.2017.04.011.
Proc. M&C, Jeju, Korea, April 16–20, 2017.
40. S. SHANER et al., “Theoretical Analysis of Track
Generation in 3D Method of Characteristics,” presented at 54. J. R. TRAMM et al., “The Random Ray Method for
the Joint Int. Conf. Mathematics and Computation (M&C), Neutral Particle Transport,” J. Comput. Phys., 342, 229
Nashville, Tennessee, April 19–23, 2015. (2017); https://doi.org/10.1016/j.jcp.2017.04.038.
41. M. FORUM, “MPI: A Message-Passing Interface Standard. 55. E. LEWIS et al., “Benchmark Specification for
Version 3.0” (2015): https://www.mpi-forum.org/docs/mpi- Deterministic 2-D/3-D MOX Fuel Assembly Transport
3.1/mpi31-report.pdf (accessed Aug. 23, 2019). Calculations without Spatial Homogenization (C5G7
MOX), Nuclear Energy Agency / Nuclear Science
42. W. WU et al., “Improvements of the CMFD Acceleration
Committee (2001).
Capability of OpenMOC,” Nucl. Eng. Technol., 52, 10,
2162 (2020); https://doi.org/10.1016/j.net.2020.04.001. 56. G. GUNOW, B. FORGET, and K. SMITH, “Stabilization
of Multi-Group Neutron Transport with
43. B. M. KOCHUNAS, “A Hybrid Parallel Algorithm for the
Transport-Corrected Cross-sections,” Ann. Nucl. Energy,
3-D Method of Characteristics Solution of the Boltzmann
126, 211 (2019); https://doi.org/10.1016/j.anucene.2018.
Transport Equation on High Performance Compute
10.036.
Clusters.” PhD Thesis, Nuclear Engineering and
Radiological Sciences, University of Michigan (2013). 57. Z. LIU et al., “Cumulative Migration Method for
Computing Rigorous Diffusion Coefficients and
44. G. COLOMER et al., “Parallel Algorithms for Sn Transport Transport Cross Sections from Monte Carlo,” Ann. Nucl.
Sweeps on Unstructured Meshes,” J. Comput. Phys., 232, Energy, 112, 507 (2018); https://doi.org/10.1016/j.anu
1, 118 (2013); https://doi.org/10.1016/j.jcp.2012.07.009. cene.2017.10.039.
45. J. I. VERMAAK et al., “Massively Parallel Transport 58. L. DAGUM and R. MENON, “OpenMP: An Industry
Sweeps on Meshes with Cyclic Dependencies,” Standard API for Shared-Memory Programming,” IEEE
J. Comput. Phys., 425, 109892 (2021); https://doi.org/10. Comput. Sci. Eng., 5, 1, 46 (1998); https://doi.org/10.
1016/j.jcp.2020.109892. 1109/99.660313.
46. W. BOYD, “Reactor Agnostic Multi-Group Cross Section 59. B. NICHOLS, D. BUTTLAR, and J. FARRELL, PThreads
Generation for Fine-Mesh Deterministic Neutron Transport Programming: A POSIX Standard for Better
Simulations,” PhD Thesis, Department of Nuclear Science Multiprocessing, O’Reilly Media, Inc. (1996).
and Engineering, Massachusetts Institute of Technology (2017).
60. W. GROPP et al., “A High-Performance, Portable
47. G. I. BELL and S. GLASSTONE, “Nuclear Reactor Implementation of the MPI Message Passing Interface
Theory,” U.S. Atomic Energy Commission, Washington, Standard,” Parallel Comput., 22, 6, 789 (1996); https://
District of Columbia (1970). doi.org/10.1016/0167-8191(96)00024-5.
48. A. HÉBERT, Applied Reactor Physics, 2nd ed., Presses 61. B. KELLEY et al., “CMFD Acceleration of Spatial
Internationales Polytechnique (2009). Domain-Decomposition Neutron Transport Problems,”
Proc. Int. Conf. Physics of Reactors (PHYSOR2012), 72. H. PARK and H. G. JOO, “Practical Resolution of Angle
Knoxville, Tennessee, April 15–20, 2012. Dependency of Multigroup Resonance Cross Sections
Using Parametrized Spectral Superhomogenization
62. N. HORELIK et al., “Benchmark for Evaluation and
Factors,” Nucl. Eng. Technol., 49, 6, 1287 (2017);
Validation of Reactor Simulations (BEAVRS), V1. 0.1,”
https://doi.org/10.1016/j.net.2017.07.015.
Proc. Int. Conf. Mathematics and Computational Methods
Applied to Nuclear Science & Engineering, Sun Valley, 73. G. GIUDICELLI, K. SMITH, and B. FORGET,
Idaho, May 5–9, 2013. “Generalized Equivalence Theory Used with Spatially
63. “Benchmark on Deterministic Transport Calculations Linear Sources in the Method of Characteristics for
Without Spatial Homogenisation, MOX Fuel Assembly 3D Neutron Transport,” Nucl. Sci. Eng., 194, 1044 (2020);
Extension Case,” Organisation for Economic Co-operation https://doi.org/10.1080/00295639.2020.1765606.
and Development/Nuclear Energy Agency (2005). 74. J. TRAMM, “Development of the Random Ray Method of
64. G. GIUDICELLI et al., “Adding a Third Level of Neutral Particle Transport for High-Fidelity Nuclear
Parallelism to OpenMOC, an Open Source Reactor Simulation,” PhD Thesis, Department of Nuclear
Deterministic Neutron Transport Solver,” presented at Science and Engineering, Massachusetts Institute of
the Int. Conf. Mathematics and Computational Methods Technology (2018).
Applied to Nuclear Science and Engineering, Portland,
Oregon, August 25–29, 2019. 75. J. LEPPÄNEN, R. MATTILA, and M. PUSA, “Validation
of the Serpent-ARES Code Sequence Using the MIT
65. R. M. FERRER and J. D. RHODES III, “A Linear Source BEAVRS benchmark—Initial Core at HZP Conditions,”
Approximation Scheme for the Method of Characteristics,” Ann. Nucl. Energy, 69, 212 (2014); https://doi.org/10.
Nucl. Sci. Eng., 182, 2, 151 (2016); https://doi.org/10. 1016/j.anucene.2014.02.014.
13182/NSE15-6.
66. X. YANG, R. BORSE, and N. SATVAT, “{MOCUM} 76. M. RYU et al., “Solution of the BEAVRS Benchmark
Solutions and Sensitivity Study for {C5G7} Benchmark,” Using the nTRACER Direct Whole Core Calculation
Ann. Nucl. Energy, 96, 242 (2016); https://doi.org/10.1016/ Code,” J. Nucl. Sci. Technol., 52, 7–8, 961 (2015); https://
j.anucene.2016.05.030. doi.org/10.1080/00223131.2015.1038664.
67. A. YAMAMOTO et al., “Derivation of Optimum Polar 77. D. J. KELLY et al., “Analysis of Select BEAVRS PWR
Angle Quadrature Set for the Method of Characteristics Benchmark Cycle 1 Results Using MC21 and OpenMC,”
Based on Approximation Error for the Bickley Function,” Proc. Int. Conf. Physics of Reactors (PHYSOR2014), Kyoto,
J. Nucl. Sci. Technol., 44, 2, 129 (2007); https://doi.org/10. Japan, September 28–October 3, 2014.
1080/18811248.2007.9711266. 78. H. J. PARK et al., “Real Variance Analysis of Monte Carlo
68. T. D. BLACKER, W. J. BOHNHOFF, and Eigenvalue Calculation by McCARD for BEAVRS
T. L. EDWARDS, “CUBIT Mesh Generation Environment. Benchmark,” Ann. Nucl. Energy, 90, 205 (2016); https://
Volume 1: Users Manual,” Sandia National Labs (1994). doi.org/10.1016/j.anucene.2015.12.009.
69. “PWR Benchmarks” (2019); https://github.com/mit-crpg 79. K. WANG et al., “Analysis of BEAVRS Two-Cycle
/PWR_benchmarks (current as of July 30, 2020). Benchmark Using RMC Based on Full Core Detailed
70. Z. LIU et al., “Conservation of Migration Area by Model,” Prog. Nucl. Energy, 98, 301 (2017); https://doi.
Transport Cross Sections Using Cumulative Migration org/10.1016/j.pnucene.2017.04.009.
Method in Deterministic Heterogeneous Reactor Transport 80. Z. WANG et al., “Validation of SuperMC with BEAVRS
Analysis,” Prog. Nucl. Energy, 127, 103447 (2020); https:// Benchmark at Hot Zero Power Condition,” Ann. Nucl.
doi.org/10.1016/j.pnucene.2020.103447. Energy, 111, 709 (2018); https://doi.org/10.1016/j.anucene.
71. G. GIUDICELLI, K. SMITH, and B. FORGET, 2017.09.045.
“Generalized Equivalence Methods for 3D Multi-Group 81. M. ELLIS et al., “Initial Rattlesnake Calculations of the
Neutron Transport,” Ann. Nucl. Energy, 112, 9 (2018); Hot Zero Power BEAVRS,” Idaho National Laboratory
https://doi.org/10.1016/j.anucene.2017.09.024. (2014).