504
Views
0
CrossRef citations to date
0
Altmetric
Research Articles

Resonance Scattering Treatment with the Windowed Multipole Formalism

ORCID Icon, ORCID Icon & ORCID Icon
Pages 702-726 | Received 20 Mar 2023, Accepted 17 Apr 2023, Published online: 25 May 2023

Abstract

A new method for directly sampling the resonance upscattering effect is presented. Alternatives have relied on inefficient rejection sampling techniques or large tabular storage of relative velocities. None of these approaches, which require pointwise energy data, are particularly well suited to the windowed multipole cross-section representation. The new method, called multipole analytic resonance scattering, overcomes these limitations by inverse transform sampling from the target relative velocity distribution where the cross section is expressed in the multipole formalism. The closed-form relative speed distribution contains a novel special function we deem the incomplete Faddeeva function, and we present the first results on its efficient numerical evaluation.

I. INTRODUCTION

Early continuous-energy Monte Carlo neutron transport programs sampled scattering from nuclei in thermal motion assuming that the scattering cross section is effectively constant within the scattering kernel.[Citation1] However, as Refs. [Citation2,Citation3] detail, the resulting scattering kernel implied by the constant cross-section approximation may be far from the actual double-differential cross section near a scattering resonance. As shown in Refs. [Citation4,Citation5], the resulting error tends to cause a worst-case 11% underestimation of the Doppler feedback coefficient in a pressurized water reactor (PWR), with even larger discrepancies in high-temperature gas-cooled reactor problems.

As exhibited by the Power Reactor Analysis using GPU-based Monte Carlo Algorithm (PRAGMA) project,[Citation6,Citation7] the conventional methods for treating this effect leave something to be desired on graphics processing unit (GPU) architectures, which constitute the majority of computational power on most leading supercomputers. Due to the unique architecture of the GPU, algorithmic modifications to standard Monte Carlo algorithms for neutron tracking can tangibly accelerate computation.[Citation7] In the same direction, we herein present a GPU-friendly method for handling resonance upscattering when the windowed multipole (WMP)[Citation8] formalism is employed to represent cross sections. In particular, the heuristic for fast GPU code is to avoid rejection sampling and accesses to distantly spaced places in memory, which the new method achieves. To give context to the new method, we first recall some of the conventional methods for modeling resonance upscattering.

The Doppler Broadening Rejection Correction (DBRC)[Citation9] was one of the early proposed techniques to treat the effect of strong variations of the interaction cross section within the energetic vicinity of a scattering neutron, whereas S(α,β) tables had been used prior.[Citation10] The method has since been implemented in numerous continuous-energy Monte Carlo neutron transport programs[Citation9,Citation11–13] and has been shown to successfully model the resonance upscattering effect. However, DBRC suffers from rejection probabilities as high as 99.995%[Citation14] for neutron energies in the vicinity of a resonance.

The weight correction method (WCM)[Citation4] also successfully models the effect of resonances on the double-differential cross section of nuclei in thermal motion. This method adjusts the weight of particles to provide numerically correct results even when the constant cross-section double-differential free gas distribution is employed. WCM carries the same benefit as our newly proposed method of not requiring an additional rejection loop or tables; however, adjustments to the particle weights introduce substantial variance to the overall Monte Carlo simulation, thus degrading estimates on quantities of interest.[Citation6]

Another technique known as target motion sampling[Citation15] can be used to model the resonance upscattering effect. However, this method is only applicable to Monte Carlo neutron transport programs employing the delta tracking technique. Unfortunately, the performance of delta tracking appears to be lackluster on GPUs.[Citation16]

The relative velocity sampling (RVS) method[Citation14,Citation17] was created to ameliorate the high rejection rates characteristic of the rejection algorithms used to model resonance upscattering. These schemes, in essence, sample probability distributions proportional to f(x)g(x), where f(x) is a distribution and g(x)[0,1]. One then samples from f(x) and accepts the sample with probability g(x). The RVS method moves the direct sampling from the thermal motion term to the cross-section term, thus worsening the average case rejection rate but massively improving the worst-case rejection rate.

The relative speed tabulation (RST) method[Citation6] was developed to address the rejection sampling performance impact on GPUs. RST is the first resonance upscattering modeling technique not requiring a rejection loop or bivariate scattering distribution tables. The key observation underlying RST is that the target velocity distribution can be factorized into a marginal relative speed distribution encapsulating the information about the resonances and a simple distribution of the target polar angle conditioned on the target relative speed. Consequently, the univariate relative speed cumulative distribution function (CDF) can be tabulated in select areas of the pointwise cross section, and the conditional polar angle distribution is then directly sampled without requiring any additional data or rejection step.

Despite its simplicity and efficacy on GPUs, the RST method comes with some clear disadvantages. Gigabytes of additional memory are used to store the relative speed CDFs at each energy point and temperature on a pointwise cross-section representation if all nuclides have the resonance upscattering effect treated. The resonance influence on the double-differential cross section is thus restricted for practical reasons to a select few nuclides in the problem to avoid extreme memory usage. Moreover, the method introduces some discretization errors in temperature, although this has been shown to be a reasonable approximation.

If one could avoid pretabulated relative speed distributions, this could substantially reduce the memory needs and avoid costly divergent memory accesses. Reducing serialized memory accesses on GPUs typically leads to significant speedups.

We propose a new method that does just that, and achieves this using the WMP cross-section representation.[Citation8] Our new method introduces a novel special function we have deemed the incomplete Faddeeva function, which encodes the behavior of the temperature-dependent influence of resonances on the double-differential scattering distribution. It relies on the numerical inversion of the analytic representation of the relative speed distribution under the WMP formalism and polar angle sampling in the same manner as the RST method, but without any precomputed tables.

This contrasts the WMP-based target velocity sampling technique presented in Ref. [Citation18], which is similar in nature to the newly presented method in this work. However, the method in Ref. [Citation18] relies on the separation of the target velocity distribution into a zero-kelvin cross-section component and a Maxwell-Boltzmann component. This method thus requires a numerical inversion step of the integrated scattering cross-section function wrapped in a rejection loop, similar to Ref. [Citation14], but instead using a functional representation of the integrated cross section rather than tabular.

The algorithm presented in Ref. [Citation19] shows how the relative speed can be sampled in the WMP framework similarly to our work. However, Ref. [Citation19] relies on fitting a sum of Gaussian to replace the multipole expansion, thus representing the zero-kelvin scattering cross section in the form

(1) σ(E)=1Ekjhs,k,jeEuk2/ws,k,j2+ha,k,jeEuk2/wa,k,j2.(1)

While it remains to be seen that Gaussians can be used to approximate all poles appearing in a WMP library, this proposed approximation introduces a considerable number of degrees of freedom to the problem, with 18 unknowns for each pole. The optimization problem thus encountered is highly nonlinear and nonconvex, leading to fitting difficulties. Additionally, scattering kernels in the formalism in Ref. [Citation19] cannot be straightforwardly differentiated with respect to WMP parameters, which would be needed to perform sensitivity analyses.

Our new method, multipole analytic resonance scattering (MARS), only requires the same WMP data as would be used in a calculation without any treatment of the resonance upscattering effect, thus avoiding the need for additional tables or fitting steps. We demonstrate the new method’s negligible performance overhead compared to other methods for sampling the resonance upscattering effect on CPU architectures, with future work exploring its optimized implementation on GPUs.

II. THEORY

Rothenstein and Dagan[Citation2] expound on the rigorous Doppler-broadened double-differential cross section. Since the exact expression for the lab frame scattering distribution is quite complicated, authors presenting algorithms to model it typically choose to forgo the lab frame expression and instead reason in terms of joint distributions of the target velocity and direction cosine relative to the direction of projectile motion. After sampling the target speed and direction cosine, standard two-body collision kinematics for elastic scattering are employed, where the center of the mass angular distribution comes from the nuclear data file. The resulting physics matches the complicated expressions of Ref. [Citation2].

Similarly, considering the distribution of collision target velocities, this joint distribution is

(2) f(V,μ)=Cvrσ(vr)M(T,V)f(μ),(2)

where M is the Maxwell-Boltzmann distribution of target speeds

(3) M(T,V)=4πβ3V2eβ2V3,(3)

the variable with units of inverse velocity β=A2kT parameterizes the target velocities, and the distribution f(μ) is a uniform distribution between −1 and 1. The other variables are C, the distribution’s normalizing constant; vr, the relative speed of the neutron with respect to the target; σ, the zero-kelvin scattering cross section; A, the target mass; k, the Boltzmann constant; T, the absolute temperature; and V, the target speed.

Classically, the approximation that σ(vr) is constant has been employed. However, it was shown in Refs. [Citation3,Citation4] that this approximation is incorrect in the vicinity of resonances, where σ(vr) varies over a few orders of magnitude, preferentially causing scattering with targets of relative velocity more closely matching the scattering resonance peaks. The various aforementioned techniques are all just methods for sampling from the distribution of EquationEq. (2) with arbitrary forms of the function σ(vr).

More specific knowledge about the form of σ(vr) can be employed. It has been shown extensively[Citation20,Citation21] at this point that the cross section is accurately represented as a sum of poles in addition to a low-order Laurent expansion (N7), namely,

(4) σ(E)=1EjrjpjE+n=0NanEn/2.(4)

In fact, for the purposes of sampling the resonance upscattering effect, we claim and later numerically demonstrate that the narrow range of attainable vr leads the zero-kelvin cross section to be accurately represented as a single pole and a linear term over a sufficiently narrow range of energies:

(5) σ(E)=1ErjpjE+σ0+σ1E.(5)

The σ0 and σ1 terms are calculated through a linearization process to avoid some complexities with higher-order polynomial fitting. An algorithm for finding the best values of σ0 and σ1 is presented in Sec. II.D.

With this approximation, we use the technique developed in Ref. [Citation6]. Rather than attempting to sample the target speed V and direction cosine μ, one instead samples first the relative velocity vr, and then samples μ from the distribution of μ conditioned on vr. The distribution in this form for projectile speed v is thus[Citation6]

(6) P(vr|v)=eβ2(vvr)2eβ2(v+vr)2vr2σ0(vr).(6)

Next, as previously shown for the Doppler-broadening of the WMP format[Citation8] and the original full multipole format,[Citation22] we note the term eβ2(v+vr) to be negligible and use the following:

(7) P(vr|v)eβ2(vvr)2vr2σ0(vr).(7)

At this point, we write the multipole cross section in terms of the relative velocity rather than in terms of energy. The formula to use is

(8) σ(vr)=2mnvr2rjpj2mnvr+σ0+σ12mnvr.(8)

If we define the auxiliary variables x=β(vrv) and y=βv, and insert EquationEq. (8) into the marginal target collision rate distribution in terms of relative speed [EquationEq. (7)], some algebra reveals that

(9) p(x|y)=ex2βrjzx+β2(x+y)2σ0+σ1x,(9)

where z=βpjy, which represents a dimensionless measure of the energy gap between the center of the Maxwell-Boltzmann distribution and the location of the resonance.

At this point, we can consider the CDF for the random variable x (dimensionless target velocity) conditioned on y (dimensionless projectile velocity). Integrating EquationEq. (9) yields

(10) CP(x|y)=xex2βrjzx+β2(x+y)2σ0+σ1xdx,(10)

where C is the normalizing constant. After distributing the integral and interchanging the operator with integration, we obtain

(11) CP(x|y)=rjπiβ1w(z,x)+β2σ04(2ex2(x+2y)+π(1+2y2)(1+erf(x)))+12β2σ1ex21+(x+y)2+πy(1+erf(x)),(11)

where the normalizing constant for the distribution is

(12) C=rjπiβ1w(z)+π2β2σ0(1+2y2)+σ1y,(12)

which we point out is nothing more than the Doppler-broadened scattering cross section at temperature T under the single pole approximation.

The new special function we deem the incomplete Faddeeva function is defined as

(13) w(z,x)=iπxet2ztdt.(13)

It can easily be seen that w(z,)=w(z), as per the definition of the Faddeeva function for [z]>0:

(14) w(z)=iπet2ztdt.(14)

Indeed, for this application, [z]>0 and we maintain this assumption going forward. A specialized root finder has been developed to quickly invert this CDF and consequently sample the relative velocity. This thus constitutes a method to sample target velocities without rejection sampling or extensive tables.

The novelty in our approach lies entirely in the treatment of the zero-kelvin cross section and analytical representation of the relative speed CDF. After sampling from the relative speed distribution, we must sample the target polar angle distribution conditioned on the relative speed, as done in Ref. [Citation6]. For completeness, we conclude with the CDF of the target speed

(15) C(V|vr)0V|vrv|1eβ2V2|vrv|<V<vr+v1vr+vV(15)

for which Ref. [Citation6] provides a straightforward sampling technique. The remaining work is purely numerical, particularly in requiring an efficient, reasonably accurate algorithm for the incomplete Faddeeva function w(z,x).

II.A. Incomplete Faddeeva Function

The forthcoming discussion explores the properties of the incomplete Faddeeva function, with a particular focus on properties that can be leveraged to obtain efficient numerical approximations to it. We advise the reader that absorbing this section in depth is not necessary to grasp the claims and algorithms made herein.

The incomplete Faddeeva function, as defined by EquationEq. (13) is w:C×RC. This section attempts to build some intuition as to how this function behaves as z and x individually vary. In resonance upscattering treatment, z parametrizes the location, height, and width of the resonance with respect to the Maxwell-Boltzmann distributed velocities. Values of [z]=0 correspond to scattering resonances exactly situated at the mean component of relative speed along the neutron’s line of flight predicted by the Maxwell-Boltzmann distribution. Values of [z]>0 correspond to resonances at higher energies than the particle’s energy, and therefore induce preferential scattering with relative velocities higher than the incident velocity, and vice-versa for [z]<0. x parametrizes the dimensionless target relative speed. Small values of [z] imply tall, narrow resonances, with a limit of [z]=0 being a singularity representing a resonance of infinite cross section. Large values of [z] model wider, weaker resonances.

plots the incomplete Faddeeva function as a function of z for a few values of x, and shows the behavior of its real part in x for a few values of z. Both illustrate the rapidly varying behavior of this function for small values of [z] when [z]x, where a sharp peak follows the value of x near the real line. particularly shows the approach to the familiarly shaped w(z) as x. The figures also show that [w(z,x)] is an increasing function in x, as would be expected of a CDF. This behavior is explained by the following asymptotic analysis.

Fig. 1. w(z,x) for a few values of x. The height represents the magnitude and the coloring is done by phase.

Fig. 1. w(z,x) for a few values of x. The height represents the magnitude and the coloring is done by phase.

Fig. 2. [w(z,x)] for a few values of z. The legend is the imaginary number added to the real part specified in each figure’s caption. The plotted quantity is normalized by [w(z)] so all lines tend to unity as x grows.

Fig. 2. ℜ[w(z,x)] for a few values of z. The legend is the imaginary number added to the real part specified in each figure’s caption. The plotted quantity is normalized by ℜ[w(z)] so all lines tend to unity as x grows.

Humliĉek[Citation23] provides the following asymptotic formula for the Faddeeva function without derivation:

(16) w(z)iπz.(16)

Considering the definition of the Faddeeva function once more in EquationEq. (14), this approximation results from supposing that if z is large, and that only values of t near zero contribute to the integral, we can approximate w(z) as

(17) w(z)iπet2zdt,(17)

which immediately yields the asymptotic estimate of EquationEq. (16). Proceeding with the same approximation in the context of the incomplete Faddeeva function, we thus obtain

(18) w(z,x)i2πzerf(x)+1if|z|1,(18)

suggesting a close connection between the incomplete Faddeeva function’s behavior in x and the error function. In fact, this hunch is confirmed by the following identity, which connects the incomplete Faddeeva to the standard Faddeeva function:

(19) w(z,x)=12(1+erf(x))w(z)+iex2π0et2e2itzdti(xz)+t.(19)

Proof of this relation is provided in Appendix A.

An even more accurate asymptotic estimate can be obtained for large [z], approximating the pole term as

(20) 1zt12z1+e2t/z.(20)

This matches the value, slope, and curvature with respect to t of the pole about t=0. Substituting this back to EquationEq. (13) and adjusting the expression such that [w(z,x)] is strictly increasing [as suggested by EquationEq. (18)], and matching the asymptotic value of w(z) as suggested by EquationEq. (19), results in

(21) w(z,x)121+erfx[z]1w(z).(21)

EquationEquation (21) is sufficiently accurate to be used in practical computations, as shown by .

Fig. 3. Accuracy of the w(z,x) approximation for |[z]|>5. An unshifted error function is shown for comparison, representing a more naive asymptotic approximation to w(z,x).

Fig. 3. Accuracy of the w(z,x) approximation for |ℜ[z]|>5. An unshifted error function is shown for comparison, representing a more naive asymptotic approximation to w(z,x).

In the context of resonance scattering, EquationEq. (21) shows that the relative speed distribution gets shifted forward by a nondimensionalized factor of 1/[z] with its influence scaling by [rjw(z)] times the resonance’s residue, as suggested by EquationEq. (11).

Another useful property of the incomplete Faddeeva function is a simple connection between its derivative in the complex plane and its value. This is similar in nature to the derivative of the Faddeeva function[Citation24]:

(22) dw(z)dz=2iπ2zw(z).(22)

The relation we have obtained generalizes this as

(23) dw(z,x)dz=iπ1+erf(x)+ex2π(xz)2zw(z,x),(23)

which clearly maintains consistency with EquationEq. (22) as x. This fairly simple connection between the derivative of w(z,x) and its value can be utilized for efficient sensitivity analyses of the scattering kernel with respect to WMP parameters.

The forthcoming discussion presents some further concepts in the direction of the efficient numerical evaluation of the incomplete Faddeeva function. Going forward, we denote the second integral appearing in EquationEq. (19) as

(24) I(z,m)=0et2e2itzdtim+t,(24)

where Rm=xz. While it may seem that a half-range Gauss-Hermite quadrature might work well to efficiently approximate EquationEq. (24), this is not the case. First, complex exponentials would have to be calculated at each quadrature point. Second, as the real part of z grows, the integrand oscillates more. In practice, values of [z]>10 are frequently encountered, and low-degree quadratures would not capture the oscillation. Additionally, given that the value of [z] is small, the denominator becomes nearly singular when x[z]. In fact, when [z]=0, I(z,m) becomes a discontinuous function in x when interpreted as a principal value integral.

EquationEquation (24) is equivalent to the incomplete Goodwin-Staton integral, referred to in Ref. [Citation25]. However, to our knowledge, only asymptotic analysis has been performed on this type of integral before, without any development of numerical routines. Recent work in the field of finance[Citation26] presents results for computing what the authors define as the extended incomplete Goodwin-Staton integral, for which the ν=1 case is of interest in the present discussion. Unfortunately, the authors’ numerical method works for all cases except ν=1, suggesting EquationEq. (24) to be of a fundamentally different nature.

In our experience, the difficulty with large [z] cannot be ameliorated by a stationary phase technique,[Citation27] as these tend to accentuate the pole behavior and remain of similar difficulty for half-range Gauss-Hermite quadratures.

In the WMP method, [z] is near zero, as shown in . Therefore, we can expect to frequently encounter nearly singular integrands in EquationEq. (24). An efficient numerical technique that explicitly treats this behavior can be devised by first noticing that I(z,m) satisfies this differential equation in the complex plane

(25) dIdz+2zI=1xz.(25)

Fig. 4. Distribution of the imaginary part of the poles in the WMP method. These were collected from every nuclide in the OpenMC regression testing data set based on ENDFVII.1.

Fig. 4. Distribution of the imaginary part of the poles in the WMP method. These were collected from every nuclide in the OpenMC regression testing data set based on ENDFVII.1.

This can be used to connect the value I(z0,x) at a point z0 to another point z1. The integrating factor technique shows that

(26) I(z1,x)=z0z1et2z12dtxt+ez02z12I(z0,x).(26)

If the distance between z0 and z1 is small, the exponential in the numerator of EquationEq. (26) can be Taylor expanded about z0 to yield an efficient numerical scheme.

We have found that the imaginary part of I([z],x) can be calculated with a closed-form, discontinuous-in-x formula. Because the nearly discontinuous behavior of I(z,x) in x is the main source of difficulty here, EquationEq. (26) can be used to resolve this behavior accurately after calculating the value of I([z],x). The real part of I([z],x) is continuous in x but is not available in terms of elementary functions; however, it is readily amenable to numerical approximation. In conclusion, the real and imaginary part of I([z],x) contrast with each other: the former is readily numerically approximated by series or similar methods, whereas the latter is discontinuous and therefore not amenable to series or rational function approximation, and fortunately has an exact formula.

The first goal at hand is to calculate [I(z,m)] for real values of z. This can be written as

(27) [I(z,m)]=0et2tsin(2zt)mcos(2zt)dtt2+m2.(27)

The linearity of integration can be distributed over both trigonometric terms. Each of the resulting integrals can be found as respective sine and cosine transform integrals, which are listed in Ref. [Citation28]. Combining the results from the sine and cosine transform tables yields

(28) [I(z,m)]=πez2+(m+z)212erf(m+z)sign(m)zR.(28)

Next, we can find an approximation for the real part of I(z,m):

(29) [I(z,m)]=0et2tcos(2zt)+msin(2zt)dtt2+m2.(29)

This expression can neither be written in terms of elementary nor special functions to our knowledge. In order to manipulate it to obtain a numerical expression, consider the auxiliary function

(30) R(z,m)=0et2sin(2zt)dtt2+m2,(30)

which again, of course, cannot be represented in terms of elementary or special functions. This pinpoints the difficulty in calculating the real part of I(z,m) because

(31) [I(z,m)]=mR(z,m)+12∂R∂z.(31)

We thus seek a straightforwardly differentiable approximation to R(z,m). The intuition behind our forthcoming numerical approximation to R(m,z) comes from the fact that for m1, t is negligible in the denominator compared to m over the range where the et2 weighting is large, hence

(32) R(m,z)1m20et2sin(2zt)dt=1m2F(z),(32)

Where F(z) is the Dawson F function.[Citation24] By standard asymptotic analysis, matching the z derivative at z=0 and the z1 asymptote for the Dawson F function results in the improved estimate

(33) R(m,z)1\overmem2E1(m2)Fmzem2E1(m2),(33)

which is accurate to within about 5% across the full range of m values. However, this level of accuracy is not appropriate for engineering calculations.

To build more intuition for R(m,z), its close relation to the Dawson F function is evinced by considering the Maclaurin series in z for both

(34) F(z)=z23z3+415z58105z7+(34)

and

(35) R(m,z)=em2E1(m2)z23E2(m2)z3+415E3(m2)z58105E4(m2)z7+,(35)

which further highlight the utility of maintaining the consistency of R(m,z) with its asymptotic sister F(z). The series are the same, but with the addition of the exponential integral multiplying factors in R(m,z).

In order to find such a numerical relation that maintains this consistency in the asymptotic case, EquationEq. (30) can be transformed via the interchange of differentiation and integration. Consider the generalized function

(36) R(m,z,α)=em20eα(t2+m2)sin(2zt)dtt2+m2.(36)

Differentiating reveals that

(37) ∂R(m,z,α)∂α=em20eα(t2+m2)sin(2zt)dt=em2(α1)αFzα.(37)

The fundamental theorem of calculus then applies:

(38) R(m,z,)R(m,z,1)=em211αem2αFzαdα.(38)

Using the fact that R(m,z,)=0 and doing a change of variables, EquationEq. (30) becomes

(39) R(m,z)=2em21em2t2F(z/t)dt,(39)

which confirms our hunch about the close relation of F(z) to R(m,z); it is an infinite superposition of stretched and scaled Dawson F functions.

We have found success in inserting an approximation for F(z) into EquationEq. (39). Well-known approximations to F(z) based on rational expressions and other elementary functions[Citation29,Citation30] do not result in numerically useful expressions. However, noting that

(40) 1em2t2(z/t)(2k+1)dt=12z1+2kE1+k(m2),(40)

it can be seen that approximations to F(z) in the form of a power series can be computationally efficient in light of the recursion relation for exponential integrals:

(41) nem2En+1(m2)=(1m2em2En(m2)).(41)

Careful attention must be paid to the floating point properties of this relation.[Citation31] The magnification of computational errors grows arbitrarily large, and we later present a specialized numerical algorithm guaranteeing floating point stability.

In order to thus obtain a simple, efficient approximation to R(m,z), we employ the Chebyshev expansion valid for z[5,5] presented in Ref. [Citation32]. The results of our method could be improved by using a finer piecewise division for the Chebyshev expansion of F(z) as in Ref. [Citation33], but we have used the present approach for simplicity of implementation. Thus, if the truncated Chebyshev expansion of F(z) is converted to the power series basis

(42) F(z)i=0ncn(z/5)2i+1,(42)

we obtain approximations of the form

(43) R(m,z)i=10ncn2E1+i(m2)(z/5)2i+1.(43)

III. NUMERICAL IMPLEMENTATION

III.A. Stable, Efficient Calculation of an En Sequence

The magnification of error in the forward recurrence relation for exponential integrals from Ref. [Citation31] is

(44) |ρn|=xnE1(x)n!En+1(x).(44)

Notably, the error magnification of the reverse recurrence relation is the reciprocal of this quantity. Moreover, |ρn| is a function increasing from 1, reaching a maximum and monotonically descending below 1.[Citation31] As a consequence, a critical index n exists such that iterating outward from it results in a numerically stable recursion algorithm. In terms of evaluating EquationEq. (43), this means splitting the polynomial in z into parts above the index n and those below. After computing em2En(m2), Horner’s method is used in the reverse recurring relation down to the term of order z, and forward recursion is employed to evaluate the polynomial of degree leading from 2n+1 up to 2n+1.

A simple result we have obtained is that the smallest value of n, such that

(45) xnE1(x)n!En+1(x)<1,(45)

is well approximated by

(46) nex12logπ.(46)

Appendix B shows how this can be obtained. illustrates the accuracy of EquationEq. (46). Using this information, explicitly states the procedure to calculate R(m,z) and its derivative with respect to z. While the use of a power-basis polynomial is suboptimal, numerically speaking, the main source of numerical error in this scenario originates from the recursive exponential integral formula. The specification of the algorithm assumes that an accurate method for computing En(x)ex has been provided, which is well documented in many other works. We have employed a C++ adaptation of the continued fraction approximation employed by the Cephes library,[Citation34] which is documented in Ref. [Citation24].

Fig. 5. Approximate solution to finding the first value of n such that xnE1(x)n!En+1(x)<1.

Fig. 5. Approximate solution to finding the first value of n such that xnE1(x)n!En+1(x)<1.

III.A.1. Jump Integral

After computing the value of I([z],m), the differential equation of EquationEq. (25), which I follows, can be used to calculate I(z,m). We calculate I(z,m) in this manner due to the nearly discontinuous behavior of I(z,m); it has a jump discontinuity about m=0 if zR. Because the imaginary part of z is small in WMP libraries, the resulting behavior is nearly discontinuous, and hence is not captured efficiently by general approximation techniques; finely resolved tables or high polynomial orders would be required. Our approach thus resolves the discontinuous component exactly with the piecewise function [EquationEq. (28)]. The nontrivial part of EquationEq. (26) is the transcendental integral

(47) J(z,x)=e[z]2[z]zet2dtxt.(47)

We have deemed this term the jump integral because it allows for jumping from values of I(z,m) on the real line to values above the real line in the complex plane. While it seems that our issue of approximating the transcendental integral w(z,x) has seemingly not been heretofore ameliorated due to the appearance of yet another transcendental integral [EquationEq. (47)], a change of variables puts it into a form suitable for numerical approximation,

(48) J(z,x)=0i[z]eu2+2u[z]dumu,(48)

where again, m=[z]x. Because [z] is small as, shown by , the argument to the exponential term is similarly small. Where this integral is well defined (m0), the exponential term can be expanded in its Maclaurin series and integrated term by term

(49) eu2+2u[z]=n=0ann!un.(49)

It is verified that the coefficients an satisfy the two-term recurrence

(50) an+1=2[z]an+2(n1)an1;a0=1;a1=2[z].(50)

Next, the term-by-term integrals appear in the form

(51) 0i[z]undumu=mnBi[z]/m(1+n,0),(51)

where Bx(,) is the incomplete beta function, defined as

(52) Bx(a,b)=0zta1(1t)b1dt.(52)

A recursion formula derived as a special case of formulas in Ref. [Citation24] efficiently calculates these incomplete beta function values of higher n in sequence:

(53) Bx(n+1,0)=Bx(n,0)xnn.(53)

In combination with the fact that

(54) Bx(1,0)=log(1x),(54)

this yields an efficient numerical scheme for evaluating an integral of the truncated Maclaurin series of the exponential of EquationEq. (48).

details the combination of all of these facts for an efficient approximation to J(m,z). This approximation works very well for problems with |[z]|5, which easily covers the range of scattering events where resonances appreciably affect the double differential at temperature. Outside of that range, the integral becomes increasingly oscillatory, so an asymptotic approximation is employed for |z|>5. This approximation is documented in Appendix D.

Last, gives the overall algorithm to compute w(z,x) efficiently. It relies on access to some implementation of calculating w(z), e.g., the Johnson’s permissively licensed library,[Citation35] which implements a variety of approximations to achieve high accuracy, or one of the various rational approximations[Citation23,Citation36,Citation37] when higher error is permitted. Regardless of the chosen w(z) implementation, our algorithm maintains asymptotic consistency such that limxw(z,x)=w(z). This work leverages a recent approximation tailored for WMP.[Citation38]

III.B. Pole Sampling Approximation

A key approximation of our technique that enables its computational efficiency is viewing the multipole cross section in the relative speed distribution as a mixture distribution. The theoretical justification is that if poles are present and sufficiently close to the incident neutron energy (|z|<20 specifically), the relative speed probability density function (PDF) is well approximated by ignoring the polynomial contribution

(55) P(x|y)ex2jW(β2y2)βrjzjx.(55)

This expression is not employed to actually sample the scattering distribution. Rather, it is best viewed as a mixture distribution in which each pole contributes a probability proportional to

(56) P[σs(x)=βrjzx+σ0,j+σ1,jx]rjw(zj),(56)

which defines a discrete distribution. In order to avoid the need for auxiliary storage and the calculation of a normalizing constant to this distribution, we recommend finding the maximum of |rjw(zj)|/log(ξj), where ξj are uniform random numbers differing for each pole. The j corresponding to the maximum of this expression follows the desired discrete distribution. We also note that the quantity rjw(zj) is exactly the Doppler-broadened contribution to the integrated scattering cross section, so this sampling procedure incurs no additional Faddeeva function evaluation overhead if this is done in tandem with a WMP cross-section lookup operation.

Finally, we emphasize that the pole sampling approximation is not precisely consistent with the original multipole cross-section representation. Instead, it uses the fact that polynomial contributions to the cross section negligibly affect the scattering kernel, while poles do so substantially.

III.C. Finding the Values of σ0 andσ1

While it may seem that the polynomial contribution to EquationEq. (5) could come as the first terms from the polynomials defined within the windows, as Ref. [Citation19] used, we have found in practice that this choice is inconsistent with the approximation of the pole sampling technique and leads to negative cross-section values.

To remedy this issue, we use the heuristic that the relative error of the cross section local approximation is minimized by matching polynomial values in the vicinity of the dip of the resonance. The location of the scattering resonance trough is calculated as

(57) Etrough=b+b2abc+a2da,(57)

where

(58) a=rjrj,(58)
(59) b=rjpjrjpj,(59)
(60) c=pj+pj,(60)
(61) d=|pj|2.(61)

At this point, the window index of Etrough is calculated.Footnotea This may be a different window from the incident neutron energy’s window. The WMP cross section of EquationEq. (4) is then evaluated at Etrough but excluding the sampled pole pj, i.e.,

(62) σ0=1EtroughjjW(Etrough)rjpjEtrough+n=0NanEtroughn/2.(62)

From there, σ1σs(E)E is calculated at the same point, this time only including contributions from the polynomial expansion but not from any poles. This linearization technique has been found to improve the accuracy of our method when considering nuclides with tightly spaced resonances such as 235U. For complete clarity, the resulting expression is

(63) σ1=n=0Nann22Etroughn/22.(63)

Finally, a linearization of the cross section in E space has been obtained. For use with the root finder, the nondimensional variable β(EEincident) is preferable, so σ0 is appropriately shifted and σ1 appropriately scaled.

III.D. Inverting the Relative Speed CDF

To sample from the relative speed PDF, we employ the CDF inversion technique. A naive attempt at this would be a few bisection root-finding steps followed by a handful of Newton-like iterations. In practice, we have found that five bisection iterations followed by three Halley-Newton iterations resolves the root to within an acceptable tolerance; however, a far more efficient root finder has been developed that takes a maximum of four iterations total, only requiring more work for unusual edge cases.

The bootstrapping step, as we call it, is essential to an efficient implementation of MARS. The bootstrapping step cheaply obtains an initial guess to the solution of the CDF inversion problem, from which a small number of Newton-like iterations improve the solution.

The key to doing so lies in finding a cheap approximation to the inverse of the CDF with general pole parameters. In order to do so, we first move from the root-finding space of x(,) to the nonlinearly mapped variable x˜=121+erfx. The intuition behind using this modified space is that as the resonances become weak and the incident neutron energy becomes high, it can be shown that the CDF is simply equal to x˜, which ranges between zero and one. Resonances and low-energy free gas effects simply act as perturbations to this linear function, which enables a good starting point for approximating the root location.

The next step in improving the CDF model in the mapped space is to observe that the contribution of collision probability from the resonance largely does not depend on its imaginary part. Increasing the imaginary part of the resonance broadens it and decreases its height. Therefore, the magnitude of the jump in w(z,x) when x is near [z] quantifies the probability that the neutron experiences a collision near the peak of the resonance. The jump in w(z,x) for small [z] about [z] is approximately e[z]2, and therefore the probability contribution due to the resonance is approximately

(64) pjump=P[x[z]]βrjπe[z]2/C,(64)

where C is the normalizing constant given by EquationEq. (12). Because this is an approximation, the probability of EquationEq. (65) may not be bounded between zero and one, so we threshold it to that range. In practice, the estimate provided here is accurate. We have found that this probability tends to be added into the CDF about [z] over the interval [[z]32[z],[z]+32[z]]. This estimate could obviously be tuned for greater accuracy.

One final tool we employ to bootstrap the root-finding process pertains to the values of the CDF about x=0. In this case, numerous instances of functions occurring in its expression, such as erf(x) and ex2, take on easily calculated values. On top of that, the incomplete Faddeeva function has a closed-form expression when x=0 of

(65) w(z,0)=12w(z)+i2πez2E1(z2).(65)

Because ez2 is already computed and cached for the CDF inversion, the calculation of a complex exponential integral is the only difficulty. This is much easier and computationally cheaper to do than the more involved w(z,x) evaluation, so any off-the-shelf approximation of E1(z2) can be employed here.

Additionally, the derivatives of the CDF with respect to x about x=0 are also easily obtainable, which we use to further improve our root-finding guess. So far, we have only incorporated information from the first derivative, which has proven sufficient.

This leaves us with the following pieces of information from which the root estimate is extracted: the probability due to the resonance, its width, the value and slope of the CDF about x=0, i.e., x˜=1/2, and the known endpoint values of the CDF at 0 and 1. We therefore construct a function that is piecewise quadratic on the left and right of x˜=1/2. This quadratic interval ranges to either the endpoints x˜=0 or x˜=1, or the resonance’s upper or lower range of probability gain, estimated here as x[[z]32[z],[z]+32[z]]. Note that this interval has to be mapped to an interval in x˜ space. Because the interval of the resonance is small, the Jacobian of the transformation xx˜, which is proportional to e[z]2 (a quantity already computed), can be used to calculate the range in x˜ space.

With this knowledge, the CDF can be approximated somewhat accurately in x˜ space. Despite the apparent complexity of what was just described, the inversion of the function in the previous paragraph can be done using simple branching logic, and at worst, the solution of a quadratic equation. Because translating the inverse of the previous function into code can take nontrivial effort, C++ code to achieve this has been provided in Appendix E. shows two examples of how this can be a quite satisfactory approximation of the CDF in x˜ space when resonances are influencing the scattering distribution.

Fig. 6. The bootstrapping CDF provides a fairly accurate, easily invertible approximation to the true relative speed CDF to kickstart the root-finding process. The pairs of lines, moving from top to bottom, represent 35.25-eV, 36.25-eV, 38.25-eV, and 66.25-eV incident neutron energies.

Fig. 6. The bootstrapping CDF provides a fairly accurate, easily invertible approximation to the true relative speed CDF to kickstart the root-finding process. The pairs of lines, moving from top to bottom, represent 35.25-eV, 36.25-eV, 38.25-eV, and 66.25-eV incident neutron energies.

IV. RESULTS

IV.A. Calculation of w(z,x)

In order to test the accuracy of Algorithm 3, we have computed reference values of w(z,x) using the scipy[Citation39] adaptive quadrature routine, scipy.integrate.quad, to evaluate the integral formulation [EquationEq. (13)]. In the approximation of the jump integral [EquationEq. (47)], only the first five terms in the series are retained. Where functions such as log(x) or ex appear, C++ standard library implementations have been employed. The implementation of w(z) from Ref. [Citation35] has been employed. This results in the error profiles exhibited by , where we have plotted the real part of wapprox(z,x)w(z,x)/w(z)). Because only the real part is of interest in resonance upscattering calculations, results on the error of the imaginary component are omitted.

Fig. 7. Error of [w(z,x)] for a few values of z. The legend is the imaginary number added to the real part specified in each figure’s caption. The plotted error wapprox(z,x)w(z,x) is normalized by [w(z)] to match the scaling of . Where the scipy numerical integration routine returned NaNs, the lines disappear.

Fig. 7. Error of ℜ[w(z,x)] for a few values of z. The legend is the imaginary number added to the real part specified in each figure’s caption. The plotted error wapprox(z,x)−w(z,x) is normalized by ℜ[w(z)] to match the scaling of Fig. 2. Where the scipy numerical integration routine returned NaNs, the lines disappear.

IV.B. Single Energy Testing

We first present in the relative speed distribution of 238U for two different energies and a few temperatures as calculated both by numerical integration and the MARS analytic CDF. The energies correspond to being in the trough and near the peak of a scattering resonance. These plots clearly show the influence of the resonances on the double-differential cross section; a nuclide with a constant cross section has a relative speed distribution that is very nearly an error function at epithermal energies. The relative speed distribution near resonances has a jumping effect that is governed by w(z,x). They bear a resemblance to the w(z,x) behavior depicted by .

Fig. 8. The MARS analytic CDF matches the numerically integrated relative speed CDFs. Some errors can be observed for the 1500-K case at 35.25 eV; scattering in the resonance dip is fortunately an extremely rare event.

Fig. 8. The MARS analytic CDF matches the numerically integrated relative speed CDFs. Some errors can be observed for the 1500-K case at 35.25 eV; scattering in the resonance dip is fortunately an extremely rare event.

If the relative speed distribution is correct, the resultant double-differential scattering distribution is also correct. shows this is the case for our method when compared to the RVS method of Ref. [Citation14]. These results were obtained from our modified version of OpenMC.Footnoteb It also shows that the pole sampling technique successfully works for 235U and its tightly spaced resonances.

Fig. 9. Scattering at 1200 K matches results from the RVS method well at two different energies. These energies interact with resonances for both nuclides.

Fig. 9. Scattering at 1200 K matches results from the RVS method well at two different energies. These energies interact with resonances for both nuclides.

IV.C. Pin Cell Reactivity Feedback

The 2.4%-enriched PWR pin cell example from the OpenMC suite of example problems was used to calculate Doppler reactivity feedback effects with four different models. The first and second used pointwise cross sections that were interpolated between 300 K, 600 K, 900 K, 1200 K, and 2500 K. The model was run at temperatures ranging from 300 to 1800 K in increments of 20 K. Of the two using pointwise cross sections, one used the historical constant cross-section (CXS) free gas scattering approximation and the second used the RVS method. The second two cases both used WMP cross sections, one using RVS and the second MARS. The ENDFB-VII.1 nuclear data set was employed. shows how these cases compare. Two hundred cycles with 10 inactive were employed, using 200 000 particles per cycle. The mean error of keff was thus converged to 20 pcm for each case.

Fig. 10. MARS matches the k eigenvalue of the RVS method on a 2.4%-enriched fresh PWR pin cell problem. Line width represents estimated standard deviation of the mean.

Fig. 10. MARS matches the k eigenvalue of the RVS method on a 2.4%-enriched fresh PWR pin cell problem. Line width represents estimated standard deviation of the mean.

It can be seen that the pointwise cross-section representation incurs some interpolation error between 1200 and 1800 K. The MARS method matches the RVS results where multipole cross sections were employed. We can thus conclude that the new method works correctly across the range of energies where resonances influence the double-differential cross section at temperature for nuclides of both strong, distantly spaced resonances (238U) and closely spaced weak resonances (235U).

IV.D. Influence on Tracking Rate

Finally, in order to determine the computational efficiency of the new method, tracking rate comparisons were carried out on the same PWR pin cell example problem. The computational performance of both inactive and active cycles was assessed. For the active cycles, a 100 × 100 Cartesian mesh tallied flux, fission rates, and neutron production rates using track-length estimators. In addition, a spatially homogenized energy spectrum tally consisting of 500 equal-lethargy bins was applied.

An Intel Xeon W-2133 with six physical cores carried out the calculations and obtained the results depicted in . The results clearly demonstrate the computational efficiency of MARS compared to the RVS and DBRC methods. While it does not outperform RVS in this scenario, future work will explore its performance on vector computer architectures where we expect it to outperform.

TABLE I Tracking Rate Obtained by the Constant Cross-Section Treatment for Three Resonance Upscattering Models Showing MARS Is Comparable in Speed to Widely Accepted Techniques*

The computational expense incurred by tallying tends to render the performance impact of our new method particularly negligible. Collision estimators could be used on the mesh tally to improve the tracking rate, but we arbitrarily opted for track-length estimators. Due to subtle hardware-related effects, such as cache utilization or branch prediction, the tracking rates of the three resonance upscattering handling methods have different relative performances when comparing active and inactive cycles. Future work will explore detailed performance results on a variety of architectures.

V. CONCLUSION

Multipole formalism carries a variety of advantages compared to pointwise cross sections. Aside from its potential gains in computational efficiency on modern compute architectures, it enables accurate Doppler broadening without a library-size tradeoff,[Citation8] offers elegant sensitivity quantification, and narrows the gap between R matrix theory and the cross-section representation.[Citation21] This work develops yet another advantage to the WMP formalism: closed-form resonance upscattering treatment.

We have demonstrated that the new method matches the results obtained by other resonance upscattering techniques. To achieve this, we derived an expression for the target relative speed distribution and identified a novel special function that universally arises in this application. Novel numerical techniques that balance efficiency and accuracy were derived, implemented, and tested. The overall scheme was shown to achieve the same tracking rate as other resonance upscattering modeling methods.

The new method, MARS, overcomes the storage requirements of the RST method[Citation7] and avoids rejection sampling as employed by other common approaches. Without the need to access intermediate storage, the accesses to global memory can be reduced on GPU architectures. On top of that, the work discrepancy between threads incurred by rejection sampling on GPUs is similarly overcome. Future work will explore the implementation and optimization of this method on GPUs.

Acknowledgments

Any opinions, findings, conclusions, or recommendations expressed in this paper are those of the authors and do not necessarily reflect the views of the U.S. Department of Energy (DOE) Office of Nuclear Energy.

Disclosure Statement

No potential conflict of interest was reported by the authors.

Additional information

Funding

This work was partially supported by the DOE through the Los Alamos National Laboratory. Los Alamos National Laboratory is operated by Triad National Security, LLC, for the National Nuclear Security Administration of the DOE (contract no. 89233218CNA000001). This paper is also based on work partially supported under an Integrated University Program Graduate Fellowship. This research was also partially supported by the Exascale Computing Project (17-SC-20-SC), a collaborative effort of the DOE Office of Science and the National Nuclear Security Administration.

Notes

a The term under the square root in EquationEq. (57) can sometimes be negative in the vicinity of nonphysical poles, which are artifacts of the fitting process, and dealing with imaginary quantities in this case is undesirable. Therefore, our calculation uses a linearization of the nonpole cross section at the incident energy instead in this case.

b The modified version of OpenMC is available at github.com/gridley/openmc/tree/mars.

References

  • E. M. GELBARD, “Epithermal Scattering in VIM,” FRA-TM-123, Argonne National Laboratory (1979).
  • W. ROTHENSTEIN and R. DAGAN, “Two-Body Kinetics Treatment for Neutron Scattering from a Heavy Maxwellian Gas,” Ann. Nucl. Energy, 22, 11, 723 (1995); https://doi.org/10.1016/0306-4549(95)00002-A.
  • M. OUISLOUMEN and R. SANCHEZ, “A Model for Neutron Scattering off Heavy Isotopes that Accounts for Thermal Agitation Effects,” Nucl. Sci. Eng., 107, 3, 189 (1991); https://doi.org/10.13182/NSE89-186.
  • D. LEE, K. SMITH, and J. RHODES, “The Impact of 238U Resonance Elastic Scattering Approximations on Thermal Reactor Doppler Reactivity,” Ann. Nucl. Energy, 36, 3, 274 (2009); https://doi.org/10.1016/j.anucene.2008.11.026.
  • T. MORI and Y. NAGAYA, “Comparison of Resonance Elastic Scattering Models Newly Implemented in MVP Continuous-Energy Monte Carlo Code,” J. Nucl. Sci. Technol., 46, 8, 793 (2009); https://doi.org/10.1080/18811248.2007.9711587.
  • N. CHOI and H. G. JOO, “Relative Speed Tabulation Method for Efficient Treatment of Resonance Scattering in GPU-Based Monte Carlo Neutron Transport Calculation,” Nucl. Sci. Eng., 195, 9, 954 (2021); https://doi.org/10.1080/00295639.2021.1887701.
  • N. CHOI, K. M. KIM, and H. G. JOO, “Optimization of Neutron Tracking Algorithms for GPU-Based Continuous Energy Monte Carlo Calculation,” Ann. Nucl. Energy, 162, 108508 (2021); https://doi.org/10.1016/j.anucene.2021.108508.
  • C. JOSEY et al., “Windowed Multipole for Cross Section Doppler Broadening,” J. Comput. Phys., 307, 715 (2016); https://doi.org/10.1016/j.jcp.2015.08.013.
  • B. BECKER, R. DAGAN, and G. LOHNERT, “Proof and Implementation of the Stochastic Formula for Ideal Gas, Energy Dependent Scattering Kernel,” Ann. Nucl. Energy, 36, 4, 470 (2009); https://doi.org/10.1016/j.anucene.2008.12.001.
  • R. DAGAN, “On the Use of S(α, β) Tables for Nuclides with Well Pronounced Resonances,” Ann. Nucl. Energy, 32, 4, 367 (2005); https://doi.org/10.1016/j.anucene.2004.11.003.
  • A. ZOIA et al., “Doppler Broadening of Neutron Elastic Scattering Kernel in Tripoli-4®,” Ann. Nucl. Energy, 54, 218 (2013); https://doi.org/10.1016/j.anucene.2012.11.023.
  • T. H. TRUMBULL and T. E. FIENO, “Effects of Applying the Doppler Broadened Rejection Correction Method for LEU and MOX Pin Cell Depletion Calculations,” Ann. Nucl. Energy, 62, 184 (2013); https://doi.org/10.1016/j.anucene.2013.06.013.
  • S. HART et al., “Implementation of the Doppler Broadening Rejection Correction in Keno,” Trans. Am. Nucl. Soc., 108, 423 (2013).
  • P. ROMANO and J. WALSH, “An Improved Target Velocity Sampling Algorithm for Free Gas Elastic Scattering,” Ann. Nucl. Energy, 114, 318 (2018); https://doi.org/10.1016/j.anucene.2017.12.044.
  • T. VIITANEN and J. LEPPÄNEN, “Explicit Treatment of Thermal Motion in Continuous-Energy Monte Carlo Tracking Routines,” Nucl. Sci. Eng., 171, 2, 165 (2012); https://doi.org/10.13182/NSE11-36.
  • K. ROWLAND et al., “Delta-Tracking in the GPU-Accelerated WARP Monte Carlo Neutron Transport Code,” presented at the Int. Conf. on Mathematics & Computational Methods Applied to Nuclear Science & Engineering, Jeju, South Korea (2017).
  • J. A. WALSH, B. FORGET, and K. S. SMITH, “Accelerated Sampling of the Free Gas Resonance Elastic Scattering Kernel,” Ann. Nucl. Energy, 69, 116 (2014); https://doi.org/10.1016/j.anucene.2014.01.017.
  • J. LIANG, P. DUCRU, and B. FORGET, “Target Velocity Sampling for Resonance Elastic Scattering Using Windowed Multipole Cross Section Data,” Trans. Am. Nucl. Soc., 119, 1163 (2018).
  • E. BIONDO et al., “Algorithm for Free Gas Elastic Scattering Without Rejection Sampling,” presented at the Int. Conf. on Mathematics and Computational Methods Applied to Nuclear Science and Engineering, Raleigh, North Carolina (2021); https://doi.org/10.13182/M&C21-33659.
  • S. LIU et al., “Generation of the Windowed Multipole Resonance Data Using Vector Fitting Technique,” Ann. Nucl. Energy, 112, 30 (2018); https://doi.org/10.1016/j.anucene.2017.09.042.
  • P. DUCRU et al., “Windowed Multipole Representation of R-Matrix Cross Sections,” Phys. Rev. C, 103, 6, 064610 (2021); https://doi.org/10.1103/PhysRevC.103.064610.
  • R. N. HWANG, “A Rigorous Pole Representation of Multilevel Cross Sections and Its Practical Applications,” Nucl. Sci. Eng., 96, 3, 192 (1987); https://doi.org/10.13182/NSE87-A16381.
  • J. HUMLÍČEK, “An Efficient Method for Evaluation of the Complex Probability Function: The Voigt Function and Its Derivatives,” J. Quant. Spectrosc. Radiat. Transfer, 21, 4, 309 (1979); https://doi.org/10.1016/0022-4073(79)90062-1.
  • Handbook of Mathematical Functions: With Formulas, Graphs, and Mathematical Tables, M. ABRAMOWITZ and I. A. STEGUN, Eds., Dover Publications, New York (1965).
  • A. DEAÑO and N. M. TEMME, “Analytical and Numerical Aspects of a Generalization of the Complementary Error Function,” Appl. Math. Comput., 216, 12, 3680 (2010); https://doi.org/10.1016/j.amc.2010.05.025.
  • R. AÏD, L. CAMPI, and N. LANGRENÉ, “A Structural Risk-Neutral Model for Pricing and Hedging Power Derivatives,” Math. Finance, 23, 3, 387 (2012); https://doi.org/10.1111/j.1467-9965.2011.00507.x.
  • C. M. BENDER and S. A. ORSZAG, Advanced Mathematical Methods for Scientists and Engineers I: Asymptotic Methods and Perturbation Theory, Springer (2010).
  • H. BATEMAN, Tables of Integral Transforms Volume 1, McGraw-Hill Book Company (1954).
  • F. G. LETHER, “Constrained Near-Minimax Rational Approximations to Dawson’s Integral,” Appl. Math. Comput., 88, 2, 267 (1997); https://doi.org/10.1016/S0096-3003(96)00330-X.
  • F. G. LETHER and P. R. WENSTON, “Elementary Approximations for Dawson’s Integral,” J. Quant. Spectrosc. Radiat. Transfer, 46, 4, 343 (1991); https://doi.org/10.1016/0022-4073(91)90099-C.
  • W. GAUTSCHI, “Recursive Computation of Certain Integrals,” J. ACM, 8, 1, 21 (1961); https://doi.org/10.1145/321052.321054.
  • D. G. HUMMER, “Expansions of Dawson’s Function in a Series of Chebyshev Polynomials,” Math. Comput., 18, 86, 317 (1964); https://doi.org/10.2307/2003311.
  • W. J. CODY, K. A. PACIOREK, and H. C. THACHER, “Chebyshev Approximations for Dawson’s Integral,” Math. Comput., 24, 109, 171 (1970); https://doi.org/10.2307/2004886.
  • “Cephes,” netlib; https://netlib.org/cephes/.
  • S. JOHNSON, “Faddeeva Package,” MIT; http://ab-initio.mit.edu/wiki/index.php/Faddeeva_Package.
  • F. SCHREIER, “The Voigt and Complex Error Function: Humlíček’s Rational Approximation Generalized,” Monthly Notices of the Royal Astronomical Society, 479, 3, 3068 (2018); https://doi.org/10.1093/mnras/sty1680.
  • S. M. ABRAROV and B. M. QUINE, “Efficient Algorithmic Implementation of the Voigt/Complex Error Function Based on Exponential Series Approximation,” Appl. Math. Comput., 218, 5, 1894 (2011); https://doi.org/10.1016/j.amc.2011.06.072.
  • B. FORGET, J. YU, and G. RIDLEY, “Performance Improvements of the Windowed Multipole Formalism Using a Rational Fraction Approximation of the Faddeeva Function,” presented at the Int. Conf. on Physics of Reactors 2022, Pittsburg, Pennsylvania (2022).
  • P. VIRTANEN et al., “SciPy 1.0: Fundamental Algorithms for Scientific Computing in Python,” Nat. Methods, 17, 3, 261 (2020); https://doi.org/10.1038/s41592-019-0686-2.

APPENDIX A

DERIVATION OF EquationEquation (19)

The forthcoming discussion has not been made mathematically rigorous for the sake of brevity and the context of a nuclear engineering journal. We begin by defining the auxiliary complex function F(z),

(A.1) F(z)=ez2w(z,x).(A.1)

The complex line integral theorem can then be applied when [z]>0:

(A.2) F(z)F(0)=0zdFdz|z=zz.(A.2)

Computing dFdz and inserting then reveals

(A.3) ez2w(z,x)w(0,x)=0z2zez2w(z,x)ez2iπxet2dt(zt)2dz,(A.3)

where the linearity of integration has been employed and the interchange of differentiation and integration has also been used. The innermost integrals can now be computed exactly, carrying the z through to the integral defining the incomplete Faddeeva function. This results in

(A.4) ez2w(z,x)w(0,x)=iπ0zez2ex2xzdzπ(1+erf(x))0zez2dz.(A.4)

Recalling that the Faddeeva function can be defined as

(A.5) w(z)=ez21+2iπ0zet2dt,(A.5)

we can identify w(z) as the trailing term of EquationEq. (A.4). The term w(0,x) must be interpreted in a principal value sense, which results in a contribution in the form of a Heaviside function. The following expression then results:

(A.6) w(z,x)=ez212(Ei(x2)+iπex20zez2xzdz+12(1+erf(x))(w(z)ez2)+h(x)ez2.(A.6)

This result could perhaps be used for the numerical calculations of w(z,x). However, it suffers the shortcoming that the exponential integral term goes to infinity for x=0, which is canceled out by the integral term. However, w(z,x) is well defined at x=0, and the addition of branching logic to numerical routines to handle this case would be cumbersome. The expression can be made more amenable to numerical approximation with some further simplification.

The integral term goes from 0 to z, and the integrand encloses no poles of the following path whenever x0. As such, a change of integration path is employed; the contour of results in a convenient cancellation of terms. The top leg of the contour is zero from the et2 term, resulting in

(A.7) 0zet2xtdt=0iet2xtdtziet2xtdt.(A.7)

Fig. A.1. Modified contour used to cancel the exponential integral EquationEq. (A.6). The contribution from the top line is zero.

Fig. A.1. Modified contour used to cancel the exponential integral EquationEq. (A.6)(A.6) w(z,x)=e−z2−12(Ei(−x2)+iπe−x2∫0zez′2x−z′dz′+12(1+erf(x))(w(z)−e−z2)+h(x)e−z2.(A.6) . The contribution from the top line is zero.

A little bit of algebra shows that

(A.8) 0iet2xtdt=12ex2(erf(x)sign(x))+Ei(x2).(A.8)

The sign function term ends up canceling out the Heaviside term upon substitution of EquationEq. (A.7) back to EquationEq. (A.6). The second term in EquationEq. (A.7) easily can be transformed via the change of variables t=it to the integral in EquationEq. (19), thus yielding EquationEq. (19).

APPENDIX B

DERIVATION OF EquationEQUATION (46)

The goal is to find the smallest n such that

(B.1) xnE1(x)n!En+1(x)<1.(B.1)

The variation of the left side function of EquationEq. (B.1) as n increases, for a constant value of x, has been shown to be first increasing from one, reaching a maximum, and monotonically decreasing from that point, never becoming negative.[Citation31] First, the exponential integrals are replaced with the equivalent upper incomplete gamma function

(B.2) En(x)=xn1Γ(1n,x)(B.2)

so the equation becomes

(B.3) Γ(0,x)=n!Γ(n,x).(B.3)

Using the asymptotic formula for the upper incomplete gamma function Γ(s,x)xs1ex gives this approximation to solve

(B.4) xnn!,(B.4)

which can be solved approximately by first inserting Stirling’s formula,

(B.5) xn2πnnen.(B.5)

Taking the n’th root results in

(B.6) ex(2πn)12nn.(B.6)

where the second term on the right can be approximated by expanding the exponential for large n:

(B.7) ex(1+12nlog(2πn))n.(B.7)

This can be solved exactly in terms of the Lambert W function:

(B.8) n12We2exπ.(B.8)

The asymptotic property of the Lambert W function that W(z)logzloglogz is then used to obtain EquationEq. (46).

APPENDIX C

ASYMPTOTIC APPROXIMATION FOR R(m,z) OF EquationEQUATION (30)

An efficient approximation can be found by grouping the integrand as

(C.1) R(m,z)=0f(0)(t,m)sin(2zt)dt=12z0f(0)(t,m)∂tcos(2zt)dt,(C.1)

where

f(0)(t,m)=et2t2+m2.

Integrating the rightmost expression in EquationEq. (C.1) by parts repeatedly results in a divergent series approximation of the form

(C.2) R(m,z)=f(0)(0,m)2z+f(2)(0,m)8z3+f(4)(0,m)32z5+f(6)(0,m)128z7+,(C.2)

where f(n)(t,m) denotes the n’th derivative of f(0)(m,t) with respect to t. Some of the subsequent values evaluated about t=0 are

(C.3) f(2)(0,m)=2(1+m2)m4,(C.3)
(C.4) f(4)(0,m)=12(2+2m2+m4)m6,(C.4)
(C.5) f(6)(0,m)=120(6+6m2+3m4+m6)m8,(C.5)
(C.6) f(8)(0,m)=1680(24+24m2+12m4+4m6+m8)m10.(C.6)

While seemingly progressing without a clear pattern, after a considerable amount of staring at these expressions a simple recursive formula can be obtained to compute these values: prime for computer implementation. Consider the sequences an,cnR defined by

(C.7) a0=m2;c0=2(C.7)

and

(C.8) an+1=2n(2n1)an+cnm2;cn+1=(4n+2)cn.(C.8)

Using this, one can show that f(2n)(0,m)=an. This allows for easy evaluation of the asymptotic series of EquationEq. (C.2). Numerical experimentation has shown this to be an excellent approximation with a maximum error around 106 when |z|=5 and |m|=1, retaining only five terms. The error rapidly falls from there as |z| and |m|.

APPENDIX D

ASYMPTOTIC APPROXIMATION FOR J(z,x) OF EquationEQUATION (47)

Compared to the asymptotic approximation for the R(m,z) integral, a clean expression for simple computer code is not available to our knowledge. Obtaining an asymptotic expression thus relies on access to a computer algebra system. Finding this starts by applying a simple change of variables to EquationEq. (47) to find

(D.1) J(z,x)=0[z]et2e2i[z]tdti([z]x)t,(D.1)

where it becomes clear that the numerical difficulty from expanding the exponential term originates from the e2i[z]t modulation. This is the term to isolate to obtain the correct asymptotic behavior as the integrand becomes increasingly oscillatory. The standard repeated integration by parts procedure can then be applied. This is pure tedium, so we simply report the C++ code that evaluates five terms as follows:

APPENDIX E

ROOT-FINDING BOOTSTRAP FUNCTION

Given the approximate CDF of the relative speed at x = 0, its derivative, the probability associated with the resonance, and the resonance parameters z, this function quickly approximates the relative speed quantile function.