The Boltzmann Transport Equation describes the behavior of the population of neutronsin nuclear systems. Solving this equation is therefore of great interest to researchers designing
future generations of nuclear reactors among many other applications. Solving the neutron
transport equation using computers requires careful discretization of the phase space and
iterative methods to converge to a solution. These methods can be slow to converge, often
due to material properties in systems of interest. Highly scattering media, for example,
are often used in reactor designs and can cause many methods to take arbitrarily long to
converge. To combat computational inefficiencies, researchers modify the iteration schemes
using a broad class of algorithms called acceleration methods. Implementing, assessing, and
validating acceleration methods is necessary but challenging for researchers. A particular
challenge is confirming whether an acceleration method is actually improving the simulation
the way we expect. Computational tools are generally designed for solving the problem of
interest, not for assessing the solving process itself.
We present the Bay Area Radiation Transport (BART) code, a computational tool designed with the researcher as the end-user in mind. This code is designed to relieve some of
the burden of implementing novel acceleration methods. It leverages modern coding practices to minimize the amount of code that must be modified to implement new methods
and aims to make clear where these modifications need to be made. This both simplifies
implementation and makes comparison across methods easier. Once implemented, the code
provides a high-quality environment for testing the new method. The design of the code isolates modifications, providing a good comparison to a base case as well as other acceleration
methods. Making this comparison is supported by the inclusion of a robust instrumentation
system.
Developers are empowered to collect and extract data of any type from anywhere in
the solving process with ease. This data collection can then be used to assess and validate
implemented methods. Importantly, these data can interrogate whether the problems are
being accelerated where and how the methods are designed to provide acceleration. Typically,
2
developers do not have the ability to see if a method is actually doing what we think, we only
measure compute time and iteration count; BART provides much more information about
what is happening. Finally, the code is designed with comprehensive testing to provide a
reproducible and trusted environment to researchers.
The code itself is robust, with the ability to solve angular and scalar formulations of the
transport equation in one, two, and three dimensions. We demonstrate a level-symmetric-
like Gaussian quadrature implemented for solving angular formulations and show that it
accurately integrates the spherical harmonics.
We present two acceleration methods, the two-grid (TG) and nonlinear diffusion acceleration (NDA) methods. The TG method is designed to accelerate the Gauss-Seidel (GS)
iteration process in the presence of large amounts of upscattering. We demonstrate the
effectiveness of the method using the BART code in one, two, and three dimensions. The
effectiveness is shown by a reduction in total GS iterations by a larger factor than is required
for the method to be efficient. We also demonstrate the benefits of the BART code, showing
more rapid convergence of the scattering source using the code’s unique instrumentation.
The NDA method is designed to accelerate convergence by converging diffusive error modes
more rapidly. We demonstrate effectiveness by reducing total iterations in one, and three
dimensions. For the one-dimensional case, we demonstrate a significant reduction in the
diffusive error modes using the BART Fourier analysis instrumentation.
We will examine the goals of the BART code and how the design meets these goals. By
examining two acceleration methods and analyzing them using the data we can collect using
this new tool, we will show the benefits of this novel code to the broader research community.
The BART code changes how people are able to implement, assess, and validate acceleration
methods. The ease of use and new information enables the development of new and better
methods so we can design and build better nuclear systems.