863
Views
2
CrossRef citations to date
0
Altmetric
Technical Papers

Introduction of the Adding and Doubling Method for Solving Bateman Equations for Nuclear Fuel Depletion

ORCID Icon, &
Pages 558-588 | Received 07 Jun 2022, Accepted 23 Sep 2022, Published online: 09 Dec 2022

Abstract

This paper introduces and evaluates the Adding and Doubling Method (ADM) for solving the Bateman equations for depletion systems with varying numbers of nuclides and compares it to the Chebyshev Rational Approximation Method (CRAM), both implemented in the reactor physics analysis application Griffin. ADM, when applied to the Crank-Nicolson Finite Difference method, can produce results comparable in accuracy and precision to CRAM with comparable run times for systems with 35 or 297 nuclides. For systems with more than 300 nuclides, the matrix-matrix operations required by ADM are significantly more costly than the matrix-vector operations required by CRAM, making CRAM the more efficient method for systems with large numbers of nuclides. ADM is an accurate method that maintains other advantages over CRAM in that it does not depend on pre-generated coefficients or require complex number operations. ADM also manages to outperform CRAM by a factor of more than 250 in terms of run time for depletion systems that require multiple Bateman solves while the depletion matrix and time step size remain constant over all depletion intervals.

I. INTRODUCTION

The Bateman equations, named after mathematician Harry Bateman, form the mathematical model describing the abundances of various nuclides in a system as time passes and radioactive decay occurs, transforming radioactive nuclides into their decay products.Citation1 While the Bateman equations originally considered only radioactive decay, they can be modified to account for the neutron transmutation that occurs in nuclear systems. This is shown in EquationEq. (1) adapted from CitationRef. 2:

(1) dNi(t)dt=jγj,iσf,jNj(t)ϕ(t)+krσr,kiNk(t)ϕ(t)+lλliNl(t)σa,iNi(t)ϕ(t)λiNi(t),(1)

where

dNi(t)dt=

= time-dependent rate of change in the number density of nuclide i

γj,i ==

probability that nuclide i will be produced as a fission product as a result of the neutron-induced nuclear fission of nuclide j

σf,j ==

monoenergetic microscopic fission cross section of nuclide j

Nj(t) ==

time-dependent number density of nuclide j

ϕ(t) ==

time-dependent monoenergetic neutron flux within the system

σr,ki ==

monoenergetic microscopic nonscattering, nonfission reaction cross section of reaction type r of nuclide k, which produces nuclide i

Nk(t) ==

time-dependent number density of nuclide k

λli ==

decay constant of nuclide l, which produces nuclide i

Nl(t) ==

time-dependent number density of nuclide l

Ni(t) ==

time-dependent number density of nuclide i

σa,i ==

monoenergetic microscopic absorption (nonscattering) cross section of nuclide i

λi ==

decay constant of nuclide i.

When tracking systems with more than one nuclide, matrix-vector notation is convenient to describe the change in nuclide number densities:

(2) dNdt=A(t)N(t),(2)

where

N(t) ==

time-dependent vector of the number densities of all nuclides in the system

dNdt ==

time-dependent vector of the rate of change of the number densities of all nuclides in the system

A(t) ==

time-dependent matrix of the terms from EquationEq. (1) for each nuclide in the system, also known as the “depletion matrix.”

When expressed in matrix-vector notation, the number densities of all nuclides at any point in time can be determined by solving the matrix exponential, where A for some length of time t is constant (i.e., microscopic cross sections and neutron flux are constant) and the initial number densities of all nuclides in the system N0 are known:

(3) N(t)=eAtN0.(3)

The definition of a matrix exponential is a power series:

(4) eAt=i=0(At)ii!(4)

Depending on the nuclides being considered, the depletion matrix can become extraordinarily stiff when considering the decay constants of long- and short-lived nuclides, such as 209Bi (half-life of 6.3×1026 s) and 4H (half-life of 1.9×1022 s) that have roughly 48 orders of magnitude difference in their half-lives. While this is an extreme example, it is not uncommon to consider depletion systems where there may be a 30 or 40 order of magnitude difference between the largest and smallest terms in the depletion matrix, which presents numerical challenges for many traditional matrix exponential solvers, such as solving the power series directly.Citation3

In this paper, we evaluate a numerical method, referred to as the Adding and Doubling Method (ADM), in order to determine how accurately and efficiently it can solve the Bateman equations when compared to one of the more prolific methods: the Chebyshev Rational Approximation Method (CRAM).

I.A. Nuclide Number Densities

Throughout this work, the unit for the number density of a nuclide is atoms per barn per centimeter atomsbcm. This enables high-concentration nuclides in certain materials to be defined without very large or very small exponential terms. As an example, the number density of liquid water at 0℃ and atmospheric pressure is roughly 0.0335 atomsbcm or 0.0556 molcm3. The reason for using number density rather than molarity is that it is computationally much easier to work with the number density directly, and microscopic neutron cross sections are expressed in units of barns, making arithmetic operations simpler:

(5) 1atomsbcm=1030atomsm3=1024atomscm31.66molcm3.(5)

II. CHEBYSHEV RATIONAL APPROXIMATION METHOD

This section provides a brief overview of CRAM (CitationRefs. 4 and Citation5) as well as documentation of its benefits and shortcomings. CRAM was developed by Pusa and Leppänen specifically to solve Bateman equations and was first deployed in Serpent, a Monte Carlo particle transport code developed at the VTT Technical Research Center of Finland.Citation6 Since then, CRAM has been deployed in other applications capable of performing depletion analyses, such as the Oak Ridge Isotope Generation and Depletion Code (ORIGEN), developed at Oak Ridge National Laboratory,Citation7 and Griffin, developed at Idaho National Laboratory (INL) and Argonne National Laboratory.Citation8,Citation9

CRAM relies on a min/max approximation theory applied to the scalar exponential, which leads to a partial fraction decomposition (PFD) that is a sum of K rational partial fractions of order unity, where K is also the polynomial degree. The approximation requires K2 matrix inversions. The large number of required matrix inversions was one of the primary shortcomings of CRAM. Further development work on CRAM yielded two major improvements:

  1. The application of sparse Gaussian elimination (SGE) to the CRAM equations resulted in the ability to avoid performing a direct matrix inversion (DMI), which enabled a significant run-time reduction for a system with 1600 nuclides while preserving numerical accuracy.Citation10

  2. The use of incomplete partial fraction (IPF) decomposition by forming a second-order rational partial fraction by combining two partial fractions, which resulted in a reduced roundoff error and the ability to perform solves at higher approximation orders.Citation11

These two improvements resulted in four different versions of CRAM that can be deployed, any of which can be referred to as “CRAM” despite their differences:

  1. PFD with DMI, which was the first form of CRAM developed

  2. PFD with SGE

  3. IPF decomposition with DMI

  4. IPF decomposition with SGE, which is the most modern version of CRAM and the version currently deployed in Serpent.

Note that each of the above versions of CRAM also requires a specified approximation order, with approximation orders for CRAM with PFD known up to Approximation Order 20 and the approximation orders for CRAM with IPF known up to Approximation Order 48 because of data limitations.

To our knowledge, CRAM with IPF and SGE is the most modern and efficient version. It benefits from the improvements of IPF over PFD, which enabled higher approximation orders and a reduced error without any increase in run time when comparing IPF and PFD at the same approximation order. It also benefits from the use of SGE over DMI, which reduced the run time by avoiding the need to perform costly matrix inversions. Consequently, for the rest of this work, when comparisons to CRAM are made or referenced (e.g., “CRAM-16”), we are referring to CRAM with IPF and SGE at the given approximation order to ensure that the most optimal version of CRAM is used and a fair comparison is made between ADM and CRAM.

Before proceeding, we highlight two primary drawbacks to CRAM. The first is that CRAM is dependent on the use of published coefficients for each approximation order, as deriving the coefficients for a given approximation order of CRAM is not trivial, which is why the coefficients were published. Since there may be errors in the published coefficients (or the coefficients may not be published to a desired level of numerical precision), this can cause issues for users working with greater than double precision. The second drawback of CRAM is its numerical inconsistency, Δt0, which has been documented previously.Citation12 However, this time inconsistency can be resolved for practical purposes by increasing the CRAM approximation order.

Based on the drawbacks of CRAM, we can consider ADM a useful method if it does not possess these drawbacks even if it does not outperform CRAM in terms of run time.

For completeness, the equations used to solve CRAM with PFD and CRAM with IPF are included here:

Partial Fraction Decomposition:

(6) N(t)=α0N0+2Rei=1k/2αi(AtθiI)1N0(6)

Incomplete Partial Fraction:

(7) y=N0fori=1,2,...,k/2doy=2Re(αi(AtθiI)1y)+yendfory=α0yN(t)=y,(7)(7)

where

t ==

length of the time step over which depletion occurs

k ==

approximation order of the CRAM solve being used

N0 ==

number densities of all nuclides at the beginning of the time step

N(t) ==

time-dependent vector of the number densities of all nuclides in the system at time t

A ==

depletion matrix, which is constant over time t

I ==

identity matrix with the same dimensions as matrix A

αi, θi, α0 ==

constants provided in the CRAM documentation for the given approximation order k.

III. ADDING AND DOUBLING METHOD

This section presents ADM in detail for the Crank-Nicolson Finite Difference (CNFD) response algorithm. We consider a finite difference scheme in order to avoid explicitly evaluating the matrix exponential. We do not consider two other common finite difference schemes, forward Euler and backward Euler, because they are only first-order approximations while CNFD is a second-order approximation. Additionally, limited testing showed overall worse performance for both methods compared to CNFD, which is to be expected. While forward Euler and backward Euler are slightly faster methods than CNFD, the significant degradation in accuracy, when compared to CRAM, of both methods was considered unacceptable. Consequently, we do not discuss either method further in this work and consider CNFD only.

Two key assumptions are made for the application of CNFD to the depletion matrix. The first assumption is that I+Ah or IAh (where h is a discrete time interval) will not have a noticeably worse condition number than A. For the depletion matrix A, this is typically a valid assumption as A has terms significantly greater than 1 because of short-lived nuclides and nuclides with very large cross sections, and terms significantly less than 1, because of long-lived nuclides and nuclides with very small cross sections. The second assumption is that det(IAh)0; thus, IAh is invertible. For all test cases we considered, we never encountered this issue, and thus, we assume for most real-world nuclear systems this will hold true. It is possible to define depletion systems where det(IAh)=0, but this is expected to be only for depletion matrices specifically constructed to be purely upper triangular, meaning that should (Ah)ii=1, a zero on the diagonal will occur resulting in the determinate of the upper triangular matrix being zero and the matrix being non-invertible. Since real-world depletion matrices encountered by analysts are not purely upper triangular, this is not expected to be a concern, and in the rare instances that IAh is upper triangular and (Ah)ii=1, it is expected that since h is a discrete time interval, a slightly different discrete time interval could be selected such that (Ah)ii1 for all diagonal entries, thereby guaranteeing a nonzero determinant for upper triangular matrices and thus guaranteeing that such matrix is invertible.

III.A. Crank-Nicolson Finite Difference

In order to arrive at a CNFD response matrix, we express the matrix exponential as

(8) eAh=eAh2eAh21.(8)

Before continuing, we use a scalar x such that x=Ah (and 1=I) for the sake of simplicity and generality. Consider the following rational function, which is a Padé (1,1) approximant for the exponential:

(9) r1,1(x)=1+x21x21,(9)

which (if expressed in the form of a series) is also

(10) r1,1(x)=1+x2i=0x2i.(10)

Therefore,

(11) r1,1(x)=1+x+x22+O(x3).(11)

Note that the power series of the matrix exponential has the identical representation

(12) ex=1+x+x22+O(x3).(12)

Now, we subtract EquationEq. (11) from both sides of EquationEq. (12) while using the form from EquationEq. (9) on the left-hand side:

(13) ex1+x21x21=O(x3).(13)

Substituting Ah for x and I for 1 into EquationEq. (13) yields

(14) eAh=I+Ah2IAh21+O((Ah)3)PCN(Ah)=I+Ah2IAh21eAhPCN(Ah)=O((Ah)3).(14)

Thus, PCN(Ah) is a second-order approximation method with the consideration that order for truncation methods is asserted to be k in the error term O(hk+1), which for CNFD k=2.

Higher-order versions of CNFD can be derived using more terms from the power series:

(15) x=Ahex=ex2ex21ex1+x2+x281x2+x281eAhI+Ah2+(Ah)28IAh2+(Ah)281.(15)

III.B. Evaluating a Time Step

For CNFD, P(Ah) is

(16) P(Ah)=P˜(Ah)[I+O((Ah)α)]α=3.(16)

The exact solution, denoted by N(t) for 2j discretizations, is found by consecutive multiplication of the response matrix P 2j number of times:

(17) N(t)=i=12jP(Ah(t,j))N0=Pj(Ah(t,j))N0,(17)

where

(18) Pj(Ah(t,j))=P(Ah(t,j))2jh(t,j)=t2j.(18)

EquationEquation (17) is equivalent to a standard finite difference solution. If, for example, j=10, there are 210=1024 discretizations; that many multiplications of a large matrix, say n=1600, would be extremely costly for a single time t. Additionally, the limits of double precision result in a dramatic increase in truncation error as j increases because of the large number of arithmetic operations and subsequent rounding after each operation. A more efficient method of evaluating EquationEq. (17) is necessary, which requires the principle of doubling.

One such efficient multiplication is to first determine N(t1) and then at indices 2q for q=1,2,...,j as follows:

(19) N(t1)=P(Ah(t,j))N0N(t2)=P(Ah(t,j))N(t1)N(t2)=P(Ah(t,j))P(Ah(t,j))N0N(t4)=P(Ah(t,j))P(Ah(t,j))N(t2)N(t4)=P(Ah(t,j))P(Ah(t,j))P(Ah(t,j))P(Ah(t,j))N0N(t8)=(P(Ah(t,j)))4N(t4)N(t8)=(P(Ah(t,j)))4(P(Ah(t,j)))4N0N(t2q)=(P(Ah(t,j)))2q1N(t2q1)N(t2q)=(P(Ah(t,j)))2q1(P(Ah(t,j)))2q1N0N(t2j)=(P(Ah(t,j)))2j1N(t2j1)N(t2j)=(P(Ah(t,j)))2jN0.(19)(19)

We call this process doubling to t. The advantage of doubling is that instead of requiring 2j matrix-matrix multiplications, only j matrix-matrix multiplications are necessary. The principle of doubling here is identical to the process used by the “scaling and squaring” method commonly used to evaluate the matrix exponential.Citation3

Each use of ADM requires the specification of j (which we refer to as the approximation power) when determining the size of the discrete subinterval h(t,j)=t2j. Thus, when we refer to a given solve for ADM, we may refer to it as ADM–10, which would refer to ADM with j=10 resulting in a discrete subinterval of length h(t,10)=t210=t1024.

We now introduce the principle of “adding,” which involves undoing some of the implementation of doubling. The final stage of doubling for a given approximation power j is

(20) (Pj1(Ah(t,j)))2N0=Pj1(Ah(t,j))Pj1(Ah(t,j))N0=Pj(Ah(t,j))N0=N(t).(20)

There are two ways to solve EquationEq. (20) once Pj1(Ah(t,j)) is known. A single matrix-matrix multiplication can be performed to calculate Pj(Ah(t,j)) and then perform a matrix-vector multiplication to calculate Pj(Ah(t,j))N0=N(t). Alternatively, two matrix-vector multiplications could be performed instead:

(21) Pj1(Ah(t,j))(Pj1(Ah(t,j))N0)=N(t).(21)

We refer to this process as adding because through the matrix-vector multiplication operations, we are effectively sequentially adding the results of two substeps together. Two matrix-vector multiplication operations are less computationally expensive than performing one matrix-matrix multiplication and one matrix-vector multiplication; thus, it is always preferable to not perform the final matrix-matrix multiplication in favor of matrix-vector multiplication. Additionally, earlier matrix-matrix multiplications could be avoided in favor of matrix-vector multiplication as follows:

(22) Pj2(Ah(t,j))Pj2(Ah(t,j))Pj2(Ah(t,j))(Pj2(Ah(t,j))N0)=N(t).(22)

Now we are replacing one matrix-matrix multiplication and two matrix-vector multiplications with four matrix-vector multiplications. We show the relationship between the number of matrix-matrix multiplications and matrix-vector operations required by ADM in EquationEq. (23):

(23) j=m+vMMM=mMVM=2v,(23)

where

j=

= approximation power of ADM

MMM=

= number of matrix-matrix multiplications

MVM=

= number of matrix-vector multiplications.

When we perform the ADM comparisons, we first investigate with m=j, which represents “pure” doubling and no adding (v=0). After we have determined a suitable approximation power, we will investigate varying m and v values to arrive at the optimal number of matrix-matrix and matrix-vector operations or, in other words, the optimal ratio of adding to doubling.

For the remainder of this work, we will only consider applying ADM to the original CNFD method, as higher-order forms of CNFD suffer from numerical stability issues in raising the depletion matrix to a given power, which can result in the method failing because of the limits of working in double precision with a potentially stiff matrix, with failure in this instance resulting in the calculation of significantly different number densities from CRAM as well as negative number densities. Even more concerning, higher-order forms of CNFD failed for only some of the systems tested, making these higher-order forms dangerously inconsistent and thus not suitable for deployment in analysis tools that operate in double precision, such as Griffin. Hence, when we refer to ADM for the rest of this work, we are referring to ADM applied with CNFD.

III.C. Numerical Implementation of ADM and CRAM

Here we considered a simple numerical implementation of ADM and determined the length of the discrete interval h(t,j) based on the approximation power ADM-j specified and the length of the depletion interval t specified

(24) h(t,j)=t2j(24)

and then solved for the initial response matrix P(Ah(t,j)). Once the response matrix was calculated, we performed j matrix-matrix multiplications to calculate (P(Ah(t,j)))2j. If j=4, the process is

(25) (P(Ah(t,j))21=P(Ah(t,j))P(Ah(t,j))(P(Ah(t,j)))22=(P(Ah(t,j)))21(P(Ah(t,j)))21(P(Ah(t,j)))23=(P(Ah(t,j)))22(P(Ah(t,j)))22(P(Ah(t,j)))24=(P(Ah(t,j)))23(P(Ah(t,j)))23P4(Ah(t,j))=(P(Ah(t,j)))24h(t,j=4)=t24=t16.(25)(25)

After finding the final response matrix, we performed a matrix-vector multiplication with an example for j=4:

(26) N(t)=P4(Ah(t,4))N0=P4At16N0.(26)

When testing varying the number of matrix-matrix and matrix-vector multiplications, we followed the process explained in Sec. III.B.

For performing matrix-matrix and matrix-vector multiplications, we used sparse matrix multiplication routines implemented in Griffin.Citation8 For performing any matrix inversions, which are needed for ADM, we used the DGETRF and DGETRI routines from LAPACK (CitationRef. 13). We note that the LAPACK routines are dense matrix operations, meaning that there is the potential for using an optimized sparse matrix inversion operation to reduce the cost of the matrix inversions required by ADM. However, for all practical uses of ADM, we anticipated that the matrix-matrix multiplication operations will be the more expensive part of the ADM solve.

For solving CRAM, we used the optimized SGE algorithms specified in CitationRef. 10, the IPF algorithm defined in EquationEq. (7), and sparse back-substitution, all implemented in Griffin.

IV. TEST CASES

We considered five different nuclide libraries to evaluate the performance of CRAM and ADM:

  1. A 297-nuclide library from the DRAGON5 application for a beginning-of-life (BOL) pressurized water reactor (PWR) fuel pin.Citation14

  2. A 1450-nuclide library from the ORIGEN application for a BOL PWR fuel pin.Citation7

  3. A 1599-nuclide library that is the same as the 1450 ORIGEN library with some additional short-lived nuclides of light elements (hydrogen to aluminum) added from the Evaluated Nuclear Data File (ENDF) decay library.Citation15 These short-lived nuclides are asserted to be produced as fission products from uranium as no other transmutation pathways existed for the nuclides to be produced.

  4. A 35-nuclide library that uses nuclides tracked from an Organisation for Economic Co-operation and Development (OECD) Sodium Fast Reactor (SFR) benchmark with decay and cross-section data taken from the DRAGON5 297-nuclide library.Citation16

  5. A 693-nuclide library that uses the same library as the 1599-nuclide library but with all nuclides with decay constants greater than 104 s–1 removed from the system and their decay chains commuted. As an example, consider the nuclide 4H, which has an extraordinarily short half-life. When 4He undergoes an (n,p) reaction, instead of producing 4H, which then rapidly decays to 3H, we remove 4H from the system and assume that 3H is directly produced from 4He undergoing an (n,p) reaction. This was done in order to generate a reduced library to serve as an intermediate between the 297- and 1450-nuclide libraries. Commuting short-lived nuclides (i.e., nuclides with large decay constants) is preferred since most nuclides of interest are either stable or have decay constants smaller than 104 s–1.

These test cases test two libraries from applications used within the nuclear engineering field as well as a 1599-nuclide library, which closely matches the size of the libraries used for testing CRAM in its various publications, and a 35-nuclide library, which closely resembles the nuclides tracked for an extensively tested SFR benchmark problem. A 693-nuclide library serves as an intermediate size between 297 and 1450. Numerically, the smaller the depletion matrix becomes, the easier solving the Bateman equations should be since a smaller matrix requires fewer arithmetic operations. Additionally, smaller depletion matrices are expected to be less stiff since shrinking the depletion matrix often means ignoring short-lived nuclides, which are the main source of stiffness in the depletion matrix. However, when considering systems that only experience radioactive decay, small matrices may remain very stiff within a single decay chain, such as the 232Th and 238U decay series.

In terms of time periods, we considered depletion intervals of 1 s, 1 h (3600 s), and 1000 h (3.6×106 s). All systems are treated as an infinite homogeneous region irradiated with a constant neutron flux of 1015 neutronscm2s.

In order to measure how well methods compare to one another in terms of accuracy, we considered the simple standards of maximum nuclide absolute relative difference (MNARD) and average nuclide absolute relative difference (ANARD). MNARD corresponds to the number density of a single nuclide where the magnitude of the relative difference between the number density calculated by the two methods being compared is the greatest. ANARD corresponds to the average of the absolute relative difference values of all nuclides between the two methods. Should the average and maximum differences differ significantly for a given method, then there are specific nuclides that one or both methods have difficulty accurately calculating the number density of. If both MNARD and ANARD are similar, one method has a given level of precision in comparing to another method for all nuclides considered. Last, for methods where it is relevant, we considered negative nuclide number densities (NNNDs), or the number of nuclides with number densities less than zero. These values, when they occur, are clearly nonphysical and serve as another way to determine how valid a method is for solving the Bateman equations. NNND information is included in a given table only if there were negative number densities calculated by the method. If the column is omitted from a table, no nuclides were calculated to have negative number densities. MNARD and ANARD are always provided.

Initial number densities somewhat represented a homogenized region of light water reactor UO2 fuel with light water coolant with no cladding. The initial number densities used for each test case are shown in .

TABLE I Initial Number Densities N0 for All Test Cases Representing a Homogenized PWR Fuel Pellet with Light Water Coolant

V. RESULTS

We now compare CRAM to ADM. For the purposes of fair comparison, we implemented both ADM and CRAM into Griffin.Citation8 The first reason for this is that Griffin is written in C++ and the original testing for CRAM was performed in Serpent, which is written in C, meaning the performance should be similar between Griffin and the published CRAM numbers derived from Serpent (barring differences in processor speed). The second reason is that both methods involve a significant number of matrix operations, and it can be difficult to accurately assess the run time in something such as MATLAB, which has heavily optimized routines that cannot be easily deployed in production codes. These heavily optimized routines can be implemented in C++ but not without significant effort.

All results were generated using a 12-core 2.70 GHz Intel Xeon E5-2697 with all calculations performed in serial. While Griffin can be run in parallel, all calculations for this work were performed in serial to remove any potential overhead from parallelization. Even running in serial, run-time fluctuations of roughly 10% appeared when running the same problem multiple times.

Since CRAM and ADM will converge, we did not provide a high-precision reference solution for the problems we considered since the odds of two disparate methods like ADM and CRAM converging to the same erroneous result is practically zero.

There are three criteria by which we compared ADM to CRAM:

  1. Precision of the solution: If ADM can provide a solution of similar precision to CRAM, it, at a minimum, has value as a reference solution.

  2. Run time to obtain the solution: If ADM can produce a solution in less than or equal time as CRAM, it may supplant CRAM in analysis tools because of ADM’s increased efficiency.

  3. Lines of code: If ADM can function with significantly fewer lines of code than CRAM, then it is desirable because of the simplicity of implementing and maintaining the functionality.

The CRAM run time increases as the approximation order of the method increases. Similarly, the ADM run time will increase as the size of the discretization h(t,j)=t2j decreases, and j increases since the number of matrix-matrix multiplications will increase.

For all tests, we compared the results calculated after one depletion interval with a length of 1 s (which is the time unit used by default in Griffin) by both ADM and CRAM. We then repeated this process 100 times for each test case in order to estimate the standard deviation of the ADM and CRAM run times. Once the run time had been evaluated, we then performed ADM and CRAM solves for 1- and 1000-h depletion intervals and compared the results in order to determine how changing the size of the depletion interval impacts the solution calculated by ADM. We do not provide run-time analyses on these longer time step solves as the depletion interval length does not have an effect on ADM or CRAM run times, which was expected. The run times of the 3600- and 3.6×106-s depletion intervals are identical to 1.0-s depletion interval run times for similar approximation powers of ADM and similar approximation orders of CRAM.

V.A. 297-Nuclide Test Case

We first considered the 297-nuclide test case as it provides a balance between the number of nuclides and stiffness of the matrix. In general, the ADM behavior determined using the 297-nuclide test case can then determine how to improve ADM before applying it to other systems with different numbers of nuclides and different depletion matrices.

V.A.1. Testing CRAM at Different Approximation Orders

Before comparing CRAM to ADM, we first compared CRAM to itself. As the CRAM approximation order increases, the accuracy of the solution provided by CRAM increases as well. To test this, we compared various CRAM approximation orders to the CRAM-48 solution, which is the highest approximation order of CRAM available based on published coefficients.Citation11

Comparisons for the 297-nuclide test case for the tested approximation orders are shown in . The run times demonstrate a linear relationship between run time and increasing CRAM approximation order. The absolute relative difference between various approximation orders and Order 48 are shown in with the x-axis corresponding to the number density of each nuclide as calculated by CRAM at Approximation Order 48. We drew two conclusions from . The first conclusion is that the comparison between Order 24 and Order 48 is markedly different from the rest of the comparisons. This is attributed to issues specifically for CRAM Order 24, which is potentially an issue with the published coefficients, since all other comparisons exhibited similar behavior. The second conclusion is that with an increasing order, the results produced by CRAM do converge with an extremely high degree of precision. This confirms that the implementation of CRAM in Griffin is performing as expected and confirms previously published results from CRAM. Finally, we considered the number of nuclides with negative number densities calculated by each CRAM approximation order shown in , which clearly shows that a large number of negative values are calculated at very low approximation orders, but these disappear with an increasing order. It is also important to note that even the negative value with the greatest magnitude 3.81×1035atomsbcm is still quite small in absolute terms, corresponding to less than one ten-thousandth of a “negative atom” per cubic meter.

TABLE II The 297-Nuclide 1.0-s Test Case Comparison of Different CRAM Approximation Orders to the CRAM-48 Solution

Fig. 1. The 297-nuclide 1.0-s test case relative differences computed for various CRAM approximation orders relative to the CRAM-48 solution.

Fig. 1. The 297-nuclide 1.0-s test case relative differences computed for various CRAM approximation orders relative to the CRAM-48 solution.

Based on the run-time results of various CRAM orders as well as the convergence of the solutions of various CRAM approximation orders as the approximation order increases, we concluded that using CRAM at Approximation Order 48 is valid for comparing to ADM. CRAM Order 48 provides the most accurate results, although its run time is roughly 33% greater than that of Order 36, which provides a comparable level of precision for the 297-nuclide test case. Consequently, should ADM, or any algorithm, slightly outperform CRAM-48 in terms of run time, comparisons between other CRAM approximation orders may be necessary.

V.A.2. ADM to CRAM Comparison

We now compare ADM to the CRAM-48 solution. The first set of results for ADM are shown in and and indicate that with increasing approximation power, ADM converges to the CRAM-48 solution to within about 10 decimal places of accuracy as Power 20 is reached. However, shows that as the approximation power increases, the relative difference between CRAM-48 and ADM increases for large number density nuclides. This trend is attributed to a compounding error from operations performed in double precision as the ADM-20 solution requires a total of one matrix inversion and 21 matrix-matrix multiplications to calculate the response matrix for the final matrix-vector operation. By contrast, while CRAM requires multiple Gaussian elimination operations, these operations do not compound upon one another in the same way as when calculating the response matrix for ADM. Also, ADM never produces any negative number densities.

TABLE III The 297-Nuclide 1.0-s Test Case Comparison of Various Approximation Powers of ADM to the CRAM-48 Solution

Fig. 2. The 297-nuclide 1.0-s test case relative differences computed for various ADM approximation powers to the CRAM-48 solution.

Fig. 2. The 297-nuclide 1.0-s test case relative differences computed for various ADM approximation powers to the CRAM-48 solution.

reveals that the run time for ADM is greater than CRAM-48 for all approximation powers and the ADM-20 solution requires a run time 40 times greater than the CRAM run time. The main cause of this difference is the need to perform a matrix inversion coupled with several matrix-matrix multiplications while CRAM requires only matrix-vector operations. Additionally, ADM’s requirement of multiple matrix-matrix multiplications results in each subsequent matrix becoming denser, resulting in each subsequent matrix-matrix multiplication being more costly. One proposal to improve the run time of ADM-CNFD is to apply a numerical tolerance or “cutoff” to the matrices considered, treating values below this cutoff as zero whenever such a value is calculated. This reduces the number of arithmetic operations that must be performed when multiplying matrices and is expected to improve run time. From a practical perspective, we are concerned only with nuclides with number densities greater than 1030 atomsbcm (or 1 atomm3); thus, applying a cutoff is valid as long as we preserve the numerical accuracy of nuclides with number densities greater than 1030 atomsbcm.

We did not consider applying a numerical cutoff to CRAM as testing showed that CRAM does not significantly benefit from applying a numerical cutoff because of its matrix-vector operations. The depletion matrix, while having small values that may be zeroed, used for solving CRAM does not appreciably increase in density when performing SGE. By contrast, the matrix-matrix multiplications required by ADM can result in extraordinarily small nonzero values in the matrix, which can significantly increase the density of the ADM response matrix without those small values significantly affecting the final number density values; thus, ADM’s run time can be significantly reduced by using a numerical cutoff while CRAM does not experience a similar benefit.

shows the number of nuclides that have number densities calculated by CRAM-48 to have concentrations below the given cutoffs. as well as show the impact of applying a numerical cutoff to the ADM calculation. As expected, run time improves as the numerical cutoff increases, with the ADM-20 solution with a numerical cutoff of 1050 taking roughly twice as long as the CRAM-48 solution. However, MNARD and ANARD for number densities above the cutoff increased, particularly for the cutoffs of 10100 and 1050. Instead of considering all nuclides with number densities greater than 1050 atomsbcm, we specifically consider nuclides with number densities greater than 1030 atomsbcm and evaluate MNARD and ANARD for these nuclides in . This indicates that a very good agreement is achieved for nuclides with number densities greater than 1030 atomsbcm, with 10 digits of precision achieved at Approximation Power 16 for all nuclides that exceed 1030 atomsbcm while using a numerical cutoff of 1050. With a run time of 14.7 ms, ADM-16 is still almost double the CRAM-48 run time. Additionally, we can estimate that each additional matrix-matrix multiplication adds roughly 0.6 ms and that the matrix inversion takes roughly 4.8 ms, which corresponds to one-third of the ADM-16 solve run-time, meaning that an optimized matrix inversion method would potentially reduce the ADM-16 run time but not make it faster than CRAM-48.

TABLE IV The 297-Nuclide 1.0-s Test Case Number of Nuclides with CRAM-48 Calculated Number Densities Below the Given Numerical Cutoffs

TABLE V The 297-Nuclide 1.0-s Test Case Comparison of Various Approximation Powers of ADM with a Cutoff of 10200 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 10200 atomsbcm

TABLE VI The 297-Nuclide 1.0-s Test Case Comparison of Various Approximation Powers of ADM with a Cutoff of 10150 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 10150 atomsbcm

TABLE VII The 297-Nuclide 1.0-s Test Case Comparison of Various Approximation Powers of ADM with a Cutoff of 10100 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 10100 atomsbcm

TABLE VIII The 297-Nuclide 1.0-s Test Case Comparison of Various Approximation Powers of ADM with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1050 atomsbcm

TABLE IX The 297-Nuclide 1.0-s Test Case Comparison of Various Approximation Powers of ADM with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030 atomsbcm

Fig. 3. The 297-nuclide 1.0-s test case relative differences computed for various ADM approximation powers with various cutoffs to the CRAM-48 solution: (a) cutoff of 10200, (b) cutoff of 10150, (c) cutoff of 10100, and (d) cutoff of 1050.

Fig. 3. The 297-nuclide 1.0-s test case relative differences computed for various ADM approximation powers with various cutoffs to the CRAM-48 solution: (a) cutoff of 10−200, (b) cutoff of 10−150, (c) cutoff of 10−100, and (d) cutoff of 10−50.

We did not consider numerical cutoffs above 1050 since we see an impact on number densities that are greater than but still close to the cutoff meaning that applying a cutoff of 1030 or even 1040 could impact the results of number densities with concentrations greater than 1030 atomsbcm. For all other test cases, we used a cutoff of 1050 in order to benefit from the decreased run time of ADM with said cutoff.

We now attempted to optimize the ratio of adding and doubling by varying the number of matrix-matrix operations m and matrix-vector operations 2v. Results are shown in . We achieved a minimum run time of 11.4 ms for v=6. This is now roughly 33% greater than the run time of CRAM-48. Changing m and v results in the same ADM solution, although, as m0, the number of matrix-vector operations can introduce a loss of precision because of the large number of resulting arithmetic operations (reflected in the significant increase in run time when m=0).

TABLE X The 297-Nuclide 1.0-s Test Case Run-Time Comparisons for ADM-16 with a Cutoff of 1050 with Varying m and v Numbers

Now that we have identified the optimal conditions for ADM in terms of precision and run time for the 1-s depletion case, we consider ADM-16 applied to the 297-nuclide test case for a depletion period of 3600 s (1 h) and 3.6×106 s (1000 h). The main motivation for testing longer depletion intervals is twofold. First, depletion intervals for normal reactor operation are generally on the order of hours or days, with short depletion periods generally restricted to specific short-term transient modeling. Second, ADM relies on increasing its accuracy by reducing the substep size for calculating the response matrix since O((Ah)3)0 as h0, where h=t2j. As the time step length t increases, the time discretization h for a given ADM approximation power j increases, which results in a decrease in precision.

The results of ADM-16 compared to CRAM-48 for the 297-nuclide test case for 3600 and 3.6×106 s are shown in and . For the 3600-s depletion interval, there were 255 nuclides with number densities above 1050 atomsbcm and 240 nuclides with number densities above 1030 atomsbcm. For the 3.6×106-s depletion interval, there were 268 nuclides with number densities above 1050 atomsbcm and 258 nuclides with number densities above 1030 atomsbcm. As expected, there is a reduction in the precision of the ADM-16 solution as the length of the depletion interval increases, which means that for longer depletion intervals, it may be necessary to increase the approximation power of ADM in order to maintain the desired precision.

TABLE XI The 297-Nuclide 3600- and 3.6×106-s Test Case Comparison of ADM-16 with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030 atomsbcm

Fig. 4. The 297-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-16 with a cutoff of 1050 to the CRAM-48 solution.

Fig. 4. The 297-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-16 with a cutoff of 10−50 to the CRAM-48 solution.

V.B. 1450-Nuclide Test Case

Now we considered a 1450-nuclide test case, which is based on a combined one-group cross-section and decay library for a BOL PWR fuel assembly from ORIGEN (CitationRef. 7).

V.B.1. Testing CRAM at Different Approximation Orders

First we checked all CRAM approximation orders against the CRAM-48 solution. The results are shown in and . The behavior overall appears similar to the 297-nuclide case with the caveats that convergence is slower with an increasing order and that the number of approximation orders that produce negative number densities is larger. Additionally, we see that negative number densities are calculated by all approximation orders up to 28. This once again highlights the need to use a higher CRAM approximation order to ensure that physical number densities are calculated.

TABLE XII The 1450-Nuclide 1.0-s Test Case Comparison of Various Approximation Orders of CRAM to the CRAM-48 Solution

Fig. 5. The 1450-nuclide 1.0-s test case relative differences computed for various CRAM approximation orders to the CRAM-48 solution.

Fig. 5. The 1450-nuclide 1.0-s test case relative differences computed for various CRAM approximation orders to the CRAM-48 solution.

V.B.2. ADM to CRAM Comparison

We then compared ADM to the CRAM-48 result for the 1450-nuclide case using a 1050 cutoff to maintain accuracy for nuclides with number densities greater than 1030 atomsbcm. See and . As determined by the CRAM-48 solution, 1165 nuclides have number densities above 1050 atomsbcm, and 1026 nuclides have number densities greater than 1030 atomsbcm. A 10-digit agreement is achieved at Approximation Power 17 with a run time over four times as long as CRAM-48. Each additional matrix-matrix multiplication adds roughly 7.3 ms to the ADM run time, and the matrix inversion takes roughly 80 ms, once again about one-third of the ADM-17 run time.

TABLE XIII The 1450-Nuclide 1.0-s Test Case Comparison of Various Approximation Powers of ADM with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030 atomsbcm

Fig. 6. The 1450-nuclide 1.0-s test case relative differences computed for various ADM approximation powers with a cutoff of 1050 to the CRAM-48 solution.

Fig. 6. The 1450-nuclide 1.0-s test case relative differences computed for various ADM approximation powers with a cutoff of 10−50 to the CRAM-48 solution.

We then evaluated ADM-17 for varying m and v values. As shown in , a run-time improvement is initially seen with an increasing v until v=7, at which point run time degrades as the number of matrix-vector multiplications reaches into the thousands, while precision for nuclides with densities greater than 1030 atomsbcm is consistent. This is a similar v value that resulted in a maximum run-time improvement for the 297-nuclide test case. Even with the run-time improvement, ADM-17 is still roughly three times slower than CRAM-48. Based on these results and the 297-nuclide test case results, it appears that ADM performs worse than CRAM with an increasing matrix size.

TABLE XIV The 1450-Nuclide 1.0-s Run-Time Comparisons of Various m and v Values for ADM-17 with a Cutoff of 1050

Now we once again consider the 3600- and 3.6×106-s depletion interval test cases for ADM-17 compared to CRAM-48.

The results of this comparison are shown in and . For the 3600-s depletion interval, there were 1260 nuclides with number densities above 1050 atomsbcm and 1112 nuclides with number densities above 1030 atomsbcm. For the 3.6×106-s depletion interval, there were 1367 nuclides with number densities above 1050 atomsbcm and 1284 nuclides with number densities above 1030 atomsbcm. Once again, there is a reduction in precision as the length of the depletion interval increases, but the decrease in precision is more severe for certain nuclides in the 3.6×106 s. In this case, the maximum difference between ADM and CRAM solutions occurred for 8Be, which is a very short-lived nuclide. A short-lived nuclide should be the most difficult to calculate because of the stiffness it introduces into the depletion matrix, and that is reflected here.

TABLE XV The 1450-Nuclide 3600- and 3.6×106-s Test Case Comparison of ADM-17 with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030 atomsbcm

Fig. 7. The 1450-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-17 with a cutoff of 1050 to the CRAM-48 solution.

Fig. 7. The 1450-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-17 with a cutoff of 10−50 to the CRAM-48 solution.

V.C. 1599-Nuclide Test Case

We now considered a 1599-nuclide library, which is the same as the 1450-nuclide library except for the addition of 149 short-lived light nuclides. Because there are no decay or transmutation production pathways to these nuclides in the 1450-nuclide library, all of the added short-lived light nuclides are produced as fission products from 235U with a yield fraction of 107.

V.C.1. CRAM at Different Approximation Orders

Once again, we compared the results of various CRAM approximation orders to the CRAM-48 solution. The results are shown in and and largely replicate the results from the 1450-nuclide test case. Interestingly, fewer nuclides have negative number densities for the 1599-nuclide test case compared to the 1450-nuclide test case. This implies that even if the values for specific transmutation pathways are not altered, simply adding more nuclides to the system may improve the behavior of CRAM. However, further investigation of this CRAM behavior is beyond the scope of this work.

TABLE XVI The 1599-Nuclide 1.0-s Test Case Comparison of Various Approximation Orders of CRAM to the CRAM-48 Solution

Fig. 8. The 1599-nuclide 1.0-s test case relative differences computed for various CRAM approximation orders to the CRAM-48 solution.

Fig. 8. The 1599-nuclide 1.0-s test case relative differences computed for various CRAM approximation orders to the CRAM-48 solution.

V.C.2. ADM to CRAM Comparison

We now considered ADM at various approximation powers and using a cutoff of 1050 for the 1599-nuclide 1.0-s test case. 1338 nuclides have number densities above 1050 atomsbcm, and 1200 nuclides have number densities above 1030 atomsbcm. See and .

TABLE XVII The 1599-Nuclide 1.0-s Test Case Comparison of Various Approximation Powers of ADM with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030 atomsbcm

Fig. 9. The 1599-nuclide 1.0-s test case relative differences computed for various ADM approximation powers with a cutoff of 1050 to the CRAM-48 solution.

Fig. 9. The 1599-nuclide 1.0-s test case relative differences computed for various ADM approximation powers with a cutoff of 10−50 to the CRAM-48 solution.

ADM-17 provides the desired 10 digits of precision with a five times greater run time than the CRAM-48 run time. Each additional matrix-matrix multiplication adds roughly 8.2 ms to the ADM run time, and the matrix inversion takes roughly 98 ms, slightly less than one-third of the ADM-17 run time. We evaluated changing m and v, as shown in . Once again, v=7 achieves the lowest possible run time, which is still almost four times larger than the run time for CRAM-48.

TABLE XVIII The 1599-Nuclide 1.0-s Test Case Run-Time Comparisons for Various m and v Values for ADM-17 with a Cutoff of 1050

Again we considered longer time steps for the 1599-nuclide test case, with results for ADM-17 shown in and . For the 3600-s time step, there are 1432 nuclides with number densities greater than 1050 atomsbcm and 1287 nuclides with number densities greater than 1030 atomsbcm. For the 3.6×106-s time step, there are 1548 nuclides with number densities greater than 1050 atomsbcm and 1457 nuclides with number densities greater than 1030 atomsbcm. As expected, we saw a deterioration in precision across the board except for a select few nuclides, which have results incredibly diverged from the CRAM-48 solution. The largest difference corresponds to 33Ne, a very short-lived nuclide, which should be difficult to model. Additionally, for the 3.6×106-s case, the 33Ne number density calculated by ADM-17 is negative, the first and only negative number density calculated by ADM.

TABLE XIX The 1599-Nuclide 3600- and 3.6×106-s Test Case Comparison of ADM-17 with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030 atomsbcm

Fig. 10. The 1599-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-17 with a cutoff of 1050 to the CRAM-48 solution.

Fig. 10. The 1599-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-17 with a cutoff of 10−50 to the CRAM-48 solution.

Since we observed an unacceptable divergence from CRAM-48 in the ADM-17 results, we raised the approximation power of ADM to 25 to see if convergence can be achieved as expected. Results are shown in and and demonstrate the expected behavior as the maximum and average differences between ADM and CRAM decrease to acceptable levels with the increase in approximation power. This indicates that ADM-17 was not an adequate approximation power for the time step considered for the 1599-nuclide case.

TABLE XX The 1599-Nuclide 3600- and 3.6×106-s Comparison of ADM-25 with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030 atomsbcm

Fig. 11. The 1599-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-25 with a cutoff of 1050 to the CRAM-48 solution.

Fig. 11. The 1599-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-25 with a cutoff of 10−50 to the CRAM-48 solution.

V.D. 35-Nuclide Test Case

Since with an increasing number of nuclides the performance gap between ADM and CRAM increases, we considered a smaller test case for 35 nuclides taken from an OECD SFR benchmark report to see if ADM can outperform CRAM when the number of nuclides decreases.

V.D.1. Testing CRAM at Various Approximation Orders

We compared the various approximation orders of CRAM to the CRAM-48 solution for the 1-s depletion interval. Results are shown in and with the results reflecting previously observed behavior.

TABLE XXI The 35-Nuclide 1.0-s Test Case Comparison of Various CRAM Approximation Orders to the CRAM-48 Solution

Fig. 12. The 35-nuclide 1.0-s test case relative differences computed for various CRAM approximation orders relative to the CRAM-48 solution.

Fig. 12. The 35-nuclide 1.0-s test case relative differences computed for various CRAM approximation orders relative to the CRAM-48 solution.

V.D.2. ADM to CRAM Comparison

Once again, we compared various ADM approximation powers with a cutoff of 1050 to the CRAM-48 solution for the 1-s depletion interval with the results shown in and . As calculated by CRAM-48, 30 nuclides had number densities above 1050 atomsbcm, and 25 nuclides had number densities above 1030 atomsbcm. Each additional matrix-matrix multiplication adds roughly 0.014 ms to the ADM run time, and the matrix inversion takes roughly 0.047 ms, about one-fifth of the ADM-16 run time.

TABLE XXII The 35-Nuclide 1.0-s Test Case Comparisons for Various Approximation Powers of ADM with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030 atomsbcm

Fig. 13. The 35-nuclide 1.0-s test case relative differences computed for various ADM approximation powers with a cutoff of 1050 to the CRAM-48 solution.

Fig. 13. The 35-nuclide 1.0-s test case relative differences computed for various ADM approximation powers with a cutoff of 10−50 to the CRAM-48 solution.

A 10-digit agreement is achieved with ADM-16, and the run time of 0.263 ms is less than the CRAM-48 run time of 0.317 ms. However, CRAM-28 also achieves a 14-digit agreement with CRAM-48 and requires only 0.193 ms, outperforming ADM-16. Next we considered varying m and v for ADM-16 with the results shown in . Varying m and v results in an optimal value of v=5 and reduces the run time of ADM-16 to 0.211 ms, still slightly more than CRAM-28.

TABLE XXIII The 35-Nuclide 1.0-s Test Case Run-Time Comparisons of Various m and v Values for ADM-16 with a Cutoff of 10−50 with Varying m and v Numbers

Next we considered the comparison between ADM-16 with a cutoff of 1050 to the CRAM-48 solution for the 3600- and 3.6×106-s depletion intervals. For the 3600-s depletion interval, CRAM-48 calculated that 30 nuclides had number densities greater than 1030 atomsbcm and 35 nuclides had number densities greater than 1050 atomsbcm. For the 3.6×106-s depletion interval, CRAM-48 calculated that all 35 nuclides had number densities greater than 1030 atomsbcm. The results are shown in and . Contrary to previous results, we see an expected degradation in precision for the 3600-s depletion interval, but the degradation does not increase for the 3.6×106-s depletion interval with precision improving slightly compared to the 3600-s depletion interval. This is attributed to the depletion matrix being significantly less stiff as the shortest-lived nuclide tracked is 242Am with a decay constant of 1.2×105 s–1, and the neutron transmutation terms are smaller in magnitude since powerful neutron absorbers such as 135Xe and 10B are not tracked in the system. The less stiff the depletion matrix is, the more precise ADM is expected to be for longer depletion intervals. Consequently, the 3600- and 3.6×106-s depletion interval results have a nearly identical level of precision.

TABLE XXIV The 35-Nuclide 3600- and 3.6×106-s Test Case Comparison of ADM-16 with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030atomsbcm

Fig. 14. The 35-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-16 with a cutoff of 1050 to the CRAM-48 solution.

Fig. 14. The 35-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-16 with a cutoff of 10−50 to the CRAM-48 solution.

V.E. 693-Nuclide Test Case

For completeness, we last considered a 693-nuclide test case in order to better understand the increasing ADM and CRAM run times as the number of nuclides increases. The library is generated using the 1599-nuclide library and applying a decay constant cutoff of 104 s–1, where nuclides with decay constants greater than this cutoff are removed from the library. Any instances where such a nuclide would be produced via transmutation or decay instead results in the production of the decay daughters of the removed nuclide.

V.E.1. Testing CRAM at Various Approximation Orders

We compared the various approximation orders of CRAM to the CRAM-48 solution, with the results shown in and . The behavior is expected based on the results of the previous test cases considered for the other libraries.

TABLE XXV The 693-Nuclide 1.0-s Test Case Comparison of Various CRAM Approximation Orders to the CRAM-48 Solution

Fig. 15. The 693-nuclide 1.0-s test case relative differences computed for various CRAM approximation orders to the CRAM-48 solution.

Fig. 15. The 693-nuclide 1.0-s test case relative differences computed for various CRAM approximation orders to the CRAM-48 solution.

V.E.2. ADM to CRAM Comparison

We observed that ADM-16 achieves 10 digits of agreement with CRAM-48 with a run time that is roughly three times greater. See and . Each additional matrix-matrix multiplication adds roughly 2.2 ms to the ADM run time, and the matrix inversion takes roughly 23 ms, about one-third of the ADM-16 run time. Varying v results in the optimal decrease in run time occurring at v=6 with a run time roughly double the CRAM-48 solution as shown in .

TABLE XXVI The 693-Nuclide 1.0-s Test Case Comparison of Various Approximation Powers of ADM with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030 atomsbcm

TABLE XXVII The 693-Nuclide 1.0-s Test Case Run-Time Comparisons for Various m and v Values for ADM-16 with a Cutoff of 10−50

Fig. 16. The 693-nuclide 1.0-s test case relative differences computed for various ADM approximation powers with a cutoff of 1050 to the CRAM-48 solution.

Fig. 16. The 693-nuclide 1.0-s test case relative differences computed for various ADM approximation powers with a cutoff of 10−50 to the CRAM-48 solution.

Again we considered the comparison between ADM-16 with a cutoff of 1050 to the CRAM-48 solution for the 3600- and 3.6×106-s depletion intervals. For the 3600-s depletion interval, CRAM-48 calculated that 475 nuclides had number densities greater than 1030 atomsbcm and 565 nuclides had number densities greater than 1050 atomsbcm. For the 3.6×106-s depletion interval, CRAM-48 calculated that 590 nuclides had number densities greater than 1030 atomsbcm and 652 nuclide had number densities greater than 1050 atomsbcm. The results are shown in and and once again demonstrate the loss of precision for ADM with an increasing time step length.

TABLE XXVIII The 693-Nuclide 3600- and 3.6×106-s Test Case Comparison of ADM-16 with a Cutoff of 1050 to the CRAM-48 Solution for Nuclides with Number Densities Greater Than 1030atomsbcm

Fig. 17. The 693-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-16 with a cutoff of 1050 to the CRAM-48 solution.

Fig. 17. The 693-nuclide 3600- and 3.6×106-s test case relative differences computed for ADM-16 with a cutoff of 10−50 to the CRAM-48 solution.

V.F. Time-Independent Depletion Matrix with Fixed Depletion Step Size

So far, we have considered solving the Bateman equations under the assumption that A or t may change from one depletion interval to the next, as shown for two hypothetical depletion intervals with lengths of t1 and t2:

(27) A(t1)A(t2)t1t2.(27)

For most reactor analysis applications, this is necessary as after each depletion interval, the change in nuclide number densities will result in the macroscopic cross sections of the materials in the reactor changing, which will consequently result in the flux profile of the reactor changing. If effects such as temperature are also being considered, the microscopic cross sections themselves will change because of Doppler broadening. All of these effects combined result in the depletion matrix A being time dependent for most analyses, as follows:

(28) A(t)=D+T(t)T(t)=g=0Gr=0Rσg,r(t)ϕg(t),(28)

where

t ==

length of the time step over which depletion is occurring

A(t) ==

time-dependent depletion matrix

D ==

time-independent decay matrix

T(t) ==

time-dependent neutron transmutation matrix

G ==

number of neutron energy groups

R ==

number of neutron transmutation reactions

σg,r(t) ==

time-dependent microscopic cross-section matrix for energy group g and neutron transmutation reaction r

ϕg(t) ==

time-dependent neutron flux for energy group g.

However, there are some applications where A may not change with time: One example is a sample irradiated at a constant flux by a neutron generator with the sample undergoing no appreciable temperature change, which eliminates the time dependence of both ϕ and σ; another example is a pure decay analysis where the flux in the system is zero, meaning that T(t)=0 and A=D. If At is constant for all depletion intervals considered for a given system, the response matrix for ADM, which is calculated using EquationEq. (14), needs to be calculated only once. Once the response matrix Pj(Ah(t,j)), as defined in EquationEq. (18), is calculated for the depletion interval with length t, the number densities at the next depletion interval can be calculated via matrix-vector multiplications as shown provided that the next depletion interval has the same length t as the previous depletion interval:

(29) N(t)=Pj(Ah(t,j))N0N(2t)=Pj(Ah(t,j))N(t)N(3t)=Pj(Ah(t,j))N(2t)N(xt)=Pj(Ah(t,j))N((x1)t),(29)(29)

where

Pj(Ah(t,j)) ==

final response matrix of ADM-j as defined by EquationEq. (18)

A ==

time-independent depletion matrix

h(t,j) ==

length of the time discretization defined as h=t2j

t ==

fixed length in time of the depletion interval considered

N0 ==

initial nuclide number densities

x ==

positive nonzero integer indicating the number of depletion intervals of length t that have been calculated

N(xt) ==

nuclide number densities at a point in time equal to xt.

For a large system with many depletion regions, such as a full-core decay heat calculation, the response matrix calculation time (which is less than 1 s for all systems we have considered) becomes negligible when compared to the potentially millions of Bateman equation solves that would be required. Thus, we ignored the run time of the initial response matrix evaluation of Pj(Ah(t,j)) and instead considered only the portion of ADM that will scale with an increasing number of regions and time steps.

We perform one final time comparison where we considered caching the response matrix Pj(Ah(t,j)) of ADM and determined the run time for performing a single Bateman equation solve using the cached matrix. CRAM does not offer much in the way of caching potential since SGE involves matrix-vector operations that are dependent on the number densities at the given point in time, which are constantly updated after each depletion interval and will be unique to each reactor core region. The sparsity pattern for CRAM can be cached, and this does result in a small reduction in the run time of CRAM-48 for systems where At is constant. We compare the time for performing the “cached Bateman solve” for ADM and CRAM for a depletion interval of 1 s and a total of 100 intervals occurring, which is identical to the parameters of the previous run-time analyses.

As shown in , ADM dramatically outperforms CRAM-48 for all systems we considered, with CRAM-48 taking over 250 times as long as ADM. We can conclude that for systems where At can be kept constant for each depletion interval, such as decay or sample neutron irradiation, ADM will outperform CRAM in terms of run time. In terms of accuracy of results, since all prior test cases were evaluated using a constant At system, just with the response matrix recalculated at each time step, the results produced here are identical to the ones produced for previous sections and are thus not repeated here.

TABLE XXIX Run Times of ADM at Various Approximation Powers with a Cutoff of 1050 and CRAM-48 for All Nuclide Test Cases Assuming Constant and Cached At

Another thing to note when caching the response matrix is that Pj(Ah(t,j)) has a dependency on both A and t, meaning both must be kept constant in order for caching to be valid, meaning each depletion interval must be of the same length t. This could be inconvenient, as an example, to perform a decay heat calculation every hour for a single day (24 depletion intervals) and then switch to performing a calculation for a single day for the remainder of the month (30 depletion intervals). CRAM would be able to solve this system in 54 solves. ADM with a cached response matrix either would be forced to solve 1-h depletion intervals for the entire month (744 solves total), or the response matrix would need to be recalculated after the first 24 depletion intervals, reducing the performance advantage over CRAM because of the need to recalculate the response matrix Pj(Ah(t,j)). However, it should be noted that since cached ADM is over 250 times faster than CRAM-48 for all systems considered, needing to perform 30 times as many depletion solves would still result in ADM outperforming CRAM-48 in terms of run time.

VI. CONCLUSION

We concluded that ADM, when coupled with the CNFD method, is an alternative method for solving the Bateman depletion equations with the ability to achieve a 10-digit agreement with CRAM-48 for all systems tested for nuclides with number densities greater than 1030 atomsbcm with a depletion interval of 1 s. As the length of the depletion interval increases, it necessitates an increase in the approximation power of ADM in order to maintain the desired precision, with the understanding that as the approximation power of ADM increases, there is a compounding of numerical error introduced from double-precision arithmetic. We also conclude that ADM maintains a comparable performance to CRAM-48 for systems with 35 and 297 nuclides, with performance deteriorating as the number of nuclides and the size of the depletion matrix increase.

To reiterate, the best-achieved run time that ADM was able to obtain relative to CRAM-48 for each test case is shown in . We note that because of the use of the dense matrix LAPACK routinesCitation13 for the matrix inversion, an optimized sparse matrix inversion routine could reduce the ADM run time to make it more competitive with CRAM. However, for all cases considered, the matrix inversion takes at most one-third of the run time, which means that even if the cost of the matrix inversion could be reduced to zero (which is not possible), ADM would still perform worse than CRAM for systems with more than 297 nuclides.

TABLE XXX Comparison of the Run Times of Best-Performing Versions of ADM with a Cutoff of 1050 to CRAM-48

The benefits of ADM are its simplicity and ease of implementation and maintenance. ADM does not require support for complex number operations and does not require the use of pre-generated approximation coefficients. The final implementation of ADM required an additional 80 lines of code while the final version of CRAM-IPF-SGE required an additional 200 lines of code, ignoring the lines of code needed for the CRAM coefficient values, which add another 800 lines. It is for these reasons we recommend the implementation of ADM as, at a minimum, a secondary method so that results produced by CRAM can be double-checked. As demonstrated in this work, CRAM can sometimes produce negative number densities at lower approximation orders whereas ADM does so only in specific circumstances for very short-lived nuclides.

In terms of the recommended approximation power of ADM to use, we recommend using an approximation power of 16 with the last five matrix-matrix and last matrix-vector multiplications substituted with 32 matrix-vector multiplications. Using the notation used previously in this paper, this would correspond to values of j=16, m=11, and v=5. This should yield a run-time improvement regardless of the size of the matrix, except for perhaps very small (2×2 and 3×3) matrices; however, the run times for such small systems would be negligible and not particularly practical for modeling any real-world nuclear system. ADM should also be implemented with the ability to vary the approximation power, while the ability to vary m and v is an optional implementation decision.

Last, ADM dramatically outperformed CRAM-48 in terms of run time for depletion systems where both A and t are constant at every depletion interval. While such systems are not particularly common, the dramatic performance improvement of ADM over CRAM for these systems merits acknowledgment.

VII. FUTURE WORK

In terms of future work, there are several points of mathematical interest to be explored, namely, a new set of comparisons of ADM and CRAM where the CRAM coefficients are calculated to quadruple-precision accuracy and all arithmetic is performed in quadruple precision. However, such work would be more for the sake of intellectual curiosity rather than for practical modeling efforts, as the uncertainty associated with most forms of nuclear data renders the pursuit of quadruple-precision number densities unnecessary. Of greater interest would be the application of other methods used to solve the matrix exponential, many of which are outlined in CitationRef. 3, while exploiting properties of the depletion matrix, such as the ability to apply a numerical cutoff or the specific sparsity pattern the depletion matrix usually possesses.

Acronyms

ADM=

Adding and Doubling Method

ANARD=

average nuclide absolute relative difference

BOL=

beginning of life

CNFD=

Crank-Nicolson Finite Difference

CRAM=

Chebyshev Rational Approximation Method

DMI=

direct matrix inversion

ENDF=

Evaluated Nuclear Data File

INL=

Idaho National Laboratory

IPF=

incomplete partial fraction

MNARD=

maximum nuclide absolute relative difference

NNND=

negative nuclide number density

OECD=

Organisation for Economic Co-operation and Development

ORIGEN=

Oak Ridge Isotope Generation and Depletion Code

ORNL=

Oak Ridge National Laboratory

PFD=

partial fraction decomposition

PWR=

pressurized water reactor

SFR=

Sodium Fast Reactor

SGE=

sparse Gaussian elimination

Acknowledgments

We would like to thank Javier Ortensi and Yaqi Wang for their support in implementing this functionality in Griffin. The second author would graciously like to thank INL for hosting his summer visits during completion of this work.

DISCLOSURE STATEMENT

No potential conflict of interest was reported by the author(s).

Additional information

Funding

This work was funded at INL under the Nuclear Energy Advanced Modeling and Simulation program managed by the U.S. Department of Energy Office of Nuclear Energy, under the U.S. Department of Energy Idaho Operations Office contract DE-AC07-05ID14517.

REFERENCES

  • H. BATEMAN, “Solution of a System of Differential Equations Occurring in the Theory of Radioactive Transformations,” Proc. Camb. Philos. Soc., Math. Phys. Eng., 15, 423 (1910).
  • G. I. BELL and S. GLASSTONE, Nuclear Reactor Theory, Litton Educational Publishing (1970).
  • C. MOLER and C. V. LOAN, “Nineteen Dubious Ways to Compute the Exponential of a Matrix, Twenty-Five Years Later,” Soc. Ind. Appl. Math. Rev., 45, 1, 3 (2003).
  • M. PUSA and J. LEPPÄNEN, “Computing the Matrix Exponential in Burnup Calculations,” Nucl. Sci. Eng., 164, 2, 140 (2010); https://doi.org/10.13182/NSE09-14.
  • M. PUSA, “Rational Approximations to the Matrix Exponential in Burnup Calculations,” Nucl. Sci. Eng., 169, 2, 155 (2011); https://doi.org/10.13182/NSE10-81.
  • J. LEPPÄNEN et al., “The Serpent Monte Carlo Code: Status, Development and Applications in 2013,” Ann. Nucl. Energy, 82, 142 (2015); https://doi.org/10.1016/j.anucene.2014.08.024.
  • O. W. HERMANN and R. M. WESTFALL, “ORIGEN-S: SCALE System Module to Calculate Fuel Depletion, Actinide Transmutation, Fission Product Buildup and Decay, and Associated Radiation Source Terms,” in “SCALE: A Modular Code System for Performing Standardized Computer Analyses for Licensing Evaluation,” NUREG/CR-0200, Vol II, Sec. F7, U.S. Nuclear Regulatory Commission (1998).
  • J. ORTENSI et al., “Griffin Software Development Plan,” INL/EXT-21-63185, ANL/NSE-21/23, Idaho National Laboratory and Argonne National Laboratory (2021); https://doi.org/10.2172/1845956.
  • O. CALVIN et al., “Implementation of Depletion Architecture in the MAMMOTH Reactor Physics Application,” Proc. 2019 Int. Conf. Mathematics and Computational Methods Applied to Nuclear Science and Engineering, Portland, Oregon, August 25–29, 2019, p. 2806, American Nuclear Society (2019).
  • M. PUSA and J. LEPPÄNEN, “Solving Linear Systems with Sparse Gaussian Elimination in the Chebyshev Rational Approximation Method,” Nucl. Sci. Eng., 175, 3, 250 (2013); https://doi.org/10.13182/NSE12-52.
  • M. PUSA, “Higher-Order Chebyshev Rational Approximation Method and Application to Burnup Equations,” Nucl. Sci. Eng., 182, 3, 297 (2016); https://doi.org/10.13182/NSE15-26.
  • O. CALVIN, S. SCHUNERT, and B. GANAPOL, “Global Error Analysis of the Chebyshev Rational Approximation Method,” Ann. Nucl. Energy, 150, 107828 (2021); https://doi.org/10.1016/j.anucene.2020.107828.
  • E. ANDERSON et al., “LAPACK Users’ Guide,” Society for Industrial and Applied Mathematics (1999).
  • G. MARLEAU, A. HEBERT, and R. ROY, “A User Guide for DRAGON Version 5,” User Manual IGE-355, Ecole Polytechnique de Montreal (2018).
  • D. BROWN et al., “ENDF/B-VIII.0: The 8th Major Release of the Nuclear Reaction Data Library with CIELO-Project Cross Sections, New Standards and Thermal Scattering Data,” Nucl. Data Sheets, 148, 1, (2018); https://doi.org/10.1016/j.nds.2018.02.001.
  • “Benchmark for Neutronic Analysis of Sodium-Cooled Fast Reactor Cores with Various Fuel Types and Core Sizes,” NEA/NSC/R(2015)9, Organisation for Economic Co-operation and Development, Nuclear Energy Agency (2016).