Computation of Volume Potentials on Structured Grids Using the Method of Local Corrections
Chris Kavouklis, Phillip Colella

TL;DR
This paper introduces an improved Method of Local Corrections for solving 3D Poisson's equation on structured grids, enhancing accuracy while maintaining low communication costs and demonstrating convergence through numerical examples.
Contribution
The paper develops a new version of MLC that achieves higher accuracy by decomposing local convolutions and incorporating Legendre expansions, reducing low-order errors of the original method.
Findings
Achieves asymptotic error bounds of O(h^P) + O(h^Q) + O(εh^2) + O(ε).
Maintains computational cost per patch similar to the original method.
Numerical examples confirm convergence and improved accuracy.
Abstract
We present a new version of the Method of Local Corrections (MLC) \cite{mlc}, a multilevel, low communications, non-iterative, domain decomposition algorithm for the numerical solution of the free space Poisson's equation in 3D on locally-structured grids. In this method, the field is computed as a linear superposition of local fields induced by charges on rectangular patches of size mesh points, with the global coupling represented by a coarse grid solution using a right-hand side computed from the local solutions. In the present method, the local convolutions are further decomposed into a short-range contribution computed by convolution with the discrete Green's function for an -order accurate finite difference approximation to the Laplacian with the full right-hand side on the patch, combined with a longer-range component that is the field induced by the terms up to…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
Computation of Volume Potentials on Structured Grids via the Method of Local Corrections
Chris Kavouklis, Phillip Colella
Computational Research Division
Lawrence Berkeley National Laboratory
1 Cyclotron Road, Berkeley, CA 94720, United States
Abstract
We present a new version of the Method of Local Corrections (MLC) [20], a multilevel, low communications, non-iterative, domain decomposition algorithm for the numerical solution of the free space Poisson’s equation in 3D on locally-structured grids. In this method, the field is computed as a linear superposition of local fields induced by charges on rectangular patches of size mesh points, with the global coupling represented by a coarse grid solution using a right-hand side computed from the local solutions. In the present method, the local convolutions are further decomposed into a short-range contribution computed by convolution with the discrete Green’s function for an -order accurate finite difference approximation to the Laplacian with the full right-hand side on the patch, combined with a longer-range component that is the field induced by the terms up to order of the Legendre expansion of the charge over the patch. This leads to a method with a solution error that has an asymptotic bound of , where is the mesh spacing, and is the max norm of the charge times a rapidly-decaying function of the radius of the support of the local solutions scaled by . Thus we have eliminated the low-order accuracy of the original method (which corresponds to in the present method) for smooth solutions, while keeping the computational cost per patch nearly the same with that of the original method. Specifically, in addition to the local solves of the original method we only have to compute and communicate the expansion coefficients of local expansions (that is, for instance, 20 scalars per patch for ). Several numerical examples are presented to illustrate the new method and demonstrate its convergence properties. ††Keywords: Poisson solver, method of local corrections, Mehrstellen stencils, domain decomposition
1 Introdu]ction
We are interested in solving Poisson’s equation with infinite domain boundary conditions in three dimensions, that is
[TABLE]
where is a function with bounded support and by we denote the Euclidean norm. It is well known that problem (1) has a solution if is Hölder continuous and has compact support [12]. Furthermore, the solution of (1) is unique by means of a maximum principle argument for harmonic functions and is given as a convolution of the data with the three dimensional infinite domain Green’s function [10]
[TABLE]
In addition, if , where is the closed ball of radius centered at point , then is harmonic in and hence real analytic. By differentiating (2), we find that the derivatives of the potential are rapidly-decaying functions of the form
[TABLE]
This suggests a domain-decomposition strategy, in which the contribution to the fields on each local domain is computed independently and the non-local coupling is computed using a reduced number of computational degrees of freedom. This approach has been exploited for particle methods with the right hand side in (1) given by . For instance, we mention the Barnes-Hut algorithm [6], the Fast-Multipole Method (FMM) [13, 7, 14], and the Method of Local Corrections (MLC) [3, 1, 2]. The aforementioned particle algorithms have been modified to handle gridded data; for a more comprehensive review that includes benchmark studies of the FFT, FMM and multigrid methods, see [11].
The present work is based on the extension of the Method of Local Corrections to structured-grid data described in [4, 5, 20]. In this approach, the support of the right-hand side is discretized with a rectangular grid, which is decomposed into a set of cubic patches. For two levels the method proceeds in three steps: (i) a loop over the fine disjoint patches and the computation of local potentials induced by the charge restricted to those patches on sufficiently large extensions of their support (downward pass); (ii) a global coarse-grid Poisson solve with a right hand side computed by applying the coarse-grid Laplacian to the local potentials of step (i); and (iii) a correction of the local solutions computed in step (i) on the boundaries of the fine disjoint patches based on interpolating the global coarse solution from which the contributions from the local solutions have been subtracted (upward pass). These boundary conditions are propagated into the interior of the patches by performing Dirichlet solves on each patch. This can be generalized by replacing the global coarse solution in (ii) by a recursive call to MLC, or by replacing uniform grids at each level covering the entire domain by nested block-structured locally-refined grids. The local volume potentials are computed using a high-order finite-difference approximation to the Laplacian, combined with an extension to three dimensions of the James-Lackner algorithm [16, 17] for representing infinite-domain boundary conditions. Furthermore, in order to make the nested refinement version of this algorithm practical, we require that , where is the radius (in max norm) of local patches, the coarse mesh spacing, and the fine mesh spacing (i.e., a fixed number of points per patch and a fixed refinement ratio). In [20], the local field calculation in (i) was split into two contributions: one that represented the field induced by the complete charge distribution on a patch, and a second corresponding to the monopole component of the charge. By using such a splitting, it is possible to obtain a convergent method by using a relatively large region for computing the monopole component only while keeping the overall computation and communications cost low. However, the convergence properties of the resulting method were erratic, and exhibited a large solution error for smooth charge distributions that were well-resolved on the fine grid.
In the present work, we generalize the method in [20] in a way that preserves the reduced-communication properties of that method, and leads to an error analysis that explains the observed convergence behavior. In particular, we replace the separate treatment of the monopole component of the charge on each patch by a similar treatment of a truncated expansion in Legendre polynomials of the charge distribution on each patch. Our error analysis predicts an solution error, where is the maximum degree of the polynomials in the Legendre expansions, and is the order of accuracy of the finite-difference discretization used to compute the local potentials. This is consistent with the earlier results in [20] corresponding to . The term is a localization error, proportional to the max norm of the charge divided by a localization distance (measured multiples of the patch size) raised to the order of accuracy of the discretized Laplacian on harmonic functions. We also change the detailed approach to computing the local potentials, replacing the James-Lackner representation of the infinite–domain boundary conditions in the calculation of the local potentials in step (i) with local discrete convolutions computed using FFTs via a variation on Hockney’s domain–doubling method [15]. This leads to a conceptually simpler algorithm, and provides a compact numerical kernel on which to focus the effort of optimization.
In this paper, we focus on the design of the algorithm, including an error analysis of the method and calculations that demonstrate the error properties derived from that analysis. In a second paper [21], we will present performance and parallel scaling results on high-performance computing platforms.
2 Mehrstellen Discretization and Finite Difference Localization
Notation. We denote by grids with grid spacing of discrete points in physical space: . Arrays of values defined over such sets will approximate functions on subsets of , i.e. if is a function on , then . We denote operators on arrays over grids of mesh spacing by ; . Such operators are also defined on functions of , and on arrays defined on finer grids , , by sampling: , ; , .
For a rectangle , defined by its low and upper corners , we define the operators
[TABLE]
Throughout this paper, we will use for the refinement ratio between levels.
We begin our discussion presenting the finite difference discretizations of (1) that we will be using throughout this work and some of their properties that pertain to the Method of Local Corrections. Specifically, we are employing Mehrstellen discretizations [8] (also referred to as compact finite difference discretizations) of the 3D Laplace operator
[TABLE]
If is defined on , then is defined on . The associated truncation error for the Mehrstellen discrete Laplace operator is of the form
[TABLE]
where is even and and are constant-coefficient differential operators that are homogeneous, i.e. for which all terms are derivatives of order and , respectively. For the two operators we will consider here, . In general, the truncation error is . However, if is harmonic in a neighborhood of ,
[TABLE]
In our numerical test cases we make use of the 19-point () and 27-point () Mehrstellen stencils [22] that are described in the Appendix (Section A.1), for which and , respectively. In general, it is possible to define operators for which for any even , using higher-order Taylor expansions and repeated applications of the identity
[TABLE]
Since we are primarily concerned with solving the free-space problem, the corresponding discrete problem can be expressed formally as a discrete convolution.
[TABLE]
where the discrete Green’s function satisfies
[TABLE]
and
[TABLE]
We use these conditions to construct approximations to numerically, see the Appendix. For any , we have
[TABLE]
from which it follows that convolution with is max-norm stable on bounded domains, i.e. ,
[TABLE]
for any fixed .
The form of the truncation error (5) allows us to compute -order accurate solutions to (1) by modifying the right-hand side, i.e.
[TABLE]
and replacing the differential operators on the right-hand side with finite difference approximations. If only a fourth-order accurate solution is required, it suffices to use the first term, leading to a correction of a particularly simple form:
[TABLE]
In particular, the solution error away from the support of without any modification of .
Suppose that , where is a cube of radius R centered at point and that the differential operator is a linear combination of derivatives of order q. By differentiating (2), we have
[TABLE]
In particular, away from the support of , (5) becomes
[TABLE]
It is precisely this rapid decay of the truncation error, a consequence of the fact that the local potentials are harmonic away from the supports of the associated charges, that allows us to use a coarse mesh for the global coupling computation. In Figure 1, scatter plots of the truncation error for the case of a point charge located at the origin using the 19-point and 27-point Laplacians are depicted. The rapid decay of the truncation error in the far-field and the faster decay with increasing are evident.
Using this localization property of the Mehrstellen operators, we can reduce the cost of computing the potential (2) induced by a localized charged distribution to the cost of computing the potential near the support of the charge, using the finite difference localization approach originally introduced in [19]. We assume that the support of is contained in cube of radius centered at . First, we compute in the extended cube of radius . Then we compute on . The coarse right hand side is defined by:
[TABLE]
Using (14), we have
[TABLE]
where . One can decompose the annular region into rectangles, each of which of radius , leading to an analogous decomposition of the right-hand side of (16) into a sum of terms, each of which is supported on one such rectangle. Applying convolution with to both sides of (16) represented in terms of such sums leads to a solution error given by
[TABLE]
Thus the accuracy of the potential away from the support of the charge can be improved by decreasing the ratio ; or, for fixed values of that ratio, by adjusting or . In any case, the error is only weakly dependent on . In this context, we will refer to as a localization radius. In addition, (18) is true independent of whether or not the right-hand side is modified using the Mehrstellen correction (11). The MLC algorithm combines finite difference localization with domain decomposition into a collection of rectangular patches of size to obtain a low-communication method for computing volume potentials. In that case, we want to keep the number of mesh points per patch fixed, which leads to (17) being an error relative to the mesh spacing. Ultimately, that error is controlled by increasing , combined with choosing a discretization with a larger . However, the cost of computing the local convolution on scales like . To reduce that cost, we introduce a second localization radius , . On , we use the full convolution to compute . In the remaining annular region, we use a reduced representation based on the field induced by the first few moments of the Legendre expansion of , which is much less expensive to compute.
3 Method of Local Corrections - Semi-Discrete Case
To clarify ideas, we discuss in this section a theoretical proxy for the fully discrete algorithm. We construct a function that approximates the potential by a linear superposition of local potentials, combined with data interpolated from a discrete global solution. The computational domain is a cube that contains the support of and is decomposed into a finite union of disjoint cubic subdomains of equal volume that are translations of .
[TABLE]
Then where , where is the characteristic function of . As a consequence, the global potential may be written as
[TABLE]
In other words, it is the linear superposition of the potentials induced by the local charges which can be computed independently in parallel. The MLC algorithm replaces each of the summands in (20) with a solution truncated to zero outside of a localization radius , with the contribution to the solution outside the localization radius represented by interpolation from a single coarse grid solution obtained by summing contributions of the form (15) over all the patches. At each point in space, the coarse grid values used to interpolate the global contibution are corrected by subtracting off the contributions of the patches within the localization radius. Finally, to reduce the cost of computing the localized potentials, while keeping large enough to make the contribution to the error coming from localization be acceptably small, we introduce an inner radius (see Figure 2). Within that inner radius, we compute the full convolution ; in the annular region , the local solution is approximated by , where is the orthogonal projection onto the Legendre polynomials on of some degree :
[TABLE]
where is the inner product on , and is the classical Legendre polynomial of degree .
3.1 The Semi-Discrete MLC Algorithm
The semi-discrete MLC algorithm consists of three steps.
Step 1 - Local Convolutions.
We perform local convolutions in regions around each subdomain that are used to compute local charges at points on the grid.
[TABLE]
Step 2 - Global Coarse Solve.
The global charge at coarse mesh points is constructed by assembling local contributions
[TABLE]
and we obtain a global approximation of the potential, represented on the coarse mesh, by computing the discrete convolution over .
[TABLE]
**Step 3 - Local Interactions / Local Corrections.
**In the final step, we represent the solution on the boundary of each as the sum of local convolutions induced by charges on nearby patches and values interpolated from the grid calculation, from which the local convolution values have been subtracted.
[TABLE]
Here is an interpolation operator that takes as input values of , where and returns a -order accurate polynomial interpolant. In all of the algorithms described here, and all of the points in are coplanar, so the interpolant is particularly easy to construct. is the sum of all local convolutions the support of whose charges is sufficiently close to so that they contributed to the right-hand side for the grid solution near that point.
[TABLE]
Equation (23) can be interpreted as the decomposition of the potential at a point , into the sum of local contributions to the potential given by and corrections to include the global coupling by interpolating a corrected form of the coarse mesh global solution . Specifically, the correction term in (23) is computed by evaluating at the points of the interpolation stencil , subtracting these values from and interpolating the result to . The MLC solution is specified in terms of solutions to Dirichlet problems on each .
[TABLE]
3.2 Error Analysis
The error of the local corrections step for is given by:
[TABLE]
where is the error in applying the interpolation operator to a smooth function evaluated on the grid and evaluating it at . There are two sources of error for the semi-discrete algorithm: one from the calculation of in (22), and the other due to interpolation at the local corrections step (23). To estimate the former, i.e. the second term of (26), it suffices to bound the coarse mesh error . To do so, we estimate the truncation error of the coarse solve (22) at points :
[TABLE]
To bound the first term of (27), we use (14) to find that
[TABLE]
The second term of (27) is bounded in a similar fashion.
[TABLE]
where we have used
[TABLE]
which follows directly from Taylor’s theorem for and the fact that for polynomials of degree less than . As a result, the following estimate for the coarse mesh error holds
[TABLE]
uniformly on coarse mesh points. Since convolution with and the interpolation operator are max-norm bounded, is also bounded by an expression of the form of the right-hand side of (31).
To bound the first term in (26), it follows from the fact that the interpolation method is -order accurate that
[TABLE]
where is in an neighborhood of and is a linear differential operator with terms that are derivatives of order . Using (13), a similar argument to that given in the proof of (31) leads to:
[TABLE]
so that (26) is estimated as
[TABLE]
4 Method of Local Corrections - Fully-Discrete Case
In this section, we describe the two-level algorithm as it is actually implemented. is a fine-grid discretization of a bounded domain , the latter containing the support of . is assumed to be a finite union of rectangles of the form , . We also define discrete forms of , : and . The coarse grid is assumed to cover all of the fine patch data required for the algorithm described below: where is the radius of the stencil for the interpolation function . We also define a discretized form of the characteristic function of a rectangular patch
[TABLE]
In the fully-discrete algorithm, we replace the local convolutions with local discrete convolutions, e.g. , , and we take .
4.1 The Fully-Discrete Two-Level Algorithm
**1. Step 1 - Local Convolutions.
**For each , we compute the potential induced by .
[TABLE]
The Legendre expansion coefficients of required to compute are computed with composite numerical integration. We employ Boole’s rule if is given only at points of or Gauss integration if is specified analytically. For each we also compute the associated local charges
[TABLE]
The values of can be computed once and stored, reducing the calculation of to computing linear combinations of the appropriate subset of those precomputed values.
**2. Global Coarse Solve.
**
[TABLE]
3. Local Interactions - Local Corrections.
We define the local potentials at fine boundary points as combinations of short-range and intermediate-range components
[TABLE]
and we correct them by adding the far-field effects as in (23)
[TABLE]
The interpolation operator on coplanar points that we are employing is the same as in [20]. Using these boundary conditions, we solve the following local Dirichlet problems on patches
[TABLE]
Finally, the fourth-order Mehrstellen correction (12) is applied to obtain the values of
[TABLE]
If we want to go to higher than fourth order accuracy in , the algorithm is more complicated – the Mehrstellen correction must be applied earlier in the process. We will not discuss the details in this paper.
4.2 Error Analysis
We proceed in this section with estimating the error for the fully-discrete MLC algorithm. We want to get some idea of the impact of replacing the analytic continuous convolutions by the discretized convolutions. To do this, we use a modified equation approach, in which we assume that we can approximate the solution error by the action of the operator on the truncation error. In the present setting, this amounts to making the substitution
[TABLE]
As in the semi-discrete case, we want to estimate the error in the boundary conditions
[TABLE]
where
[TABLE]
An estimate of the contribution from (42) is obtained by bounding , since and convolution with are both stable in max norm. We have, by (40),
[TABLE]
The first two terms are identical to the ones that appear in the semi-discrete case, while (40), and the estimate (which holds since our quadrature rules for computing the Legendre coefficients are at least sixth-order accurate) guarantee that the remaining terms are or smaller. Using similar arguments to those in (44), we have
[TABLE]
and therefore, following (32), we have
[TABLE]
Thus we have
[TABLE]
The stability of the discretized boundary-value problem implies , so we finally have the following estimate
[TABLE]
at all fine grid points. This error can be written in the form
[TABLE]
Thus MLC differs from classical finite-difference methods in that there is a contribution to the error that does not vanish as , i.e. the right-most summand in (45). We refer to this contribution to the error as the barrier error. Note that if we take , we obtain the form of the error given in the Introduction. We have specialized this algorithm to the case of fourth-order accuracy, primarily because it allows us the simplification of applying the Mehrstellen correction (39) at the end of the calculation. However, this analysis suggests that, even with this simplification, there might be an advantage to using discretizations of the Laplacian with larger , i.e. ones that are higher order accurate when applied to harmonic functions, since the barrier error is proportional to . We observe this to be the case in the results in Section 7.
5 Multilevel Method of Local Corrections
Following [20], we generalize the method in Section 4 to the case of an arbitrary number of levels , where is the finest level on which the solution is sought. We denote the discrete Laplacian with mesh size by , with . At each level we discretize the solution on a collection of node-centered cubic patches , , and the corresponding discretized grids ; the combined level grid is given by . We also define, for each , localization regions , and their discretizations . At level [math] there is only one patch at which the coarse solve of the method is performed, just as in the two-level algorithm. We also impose a proper nesting condition: for ,
[TABLE]
The multilevel MLC comprises the following steps.
**1. Downward Pass - Initial Local Convolutions.
**Local convolutions are computed at levels .
[TABLE]
where the local right hand sides are defined as
[TABLE]
[TABLE]
**2. Global Coarse Solve **.
[TABLE]
3. Upward Pass - Local Interactions / Local Corrections for .
Starting from level 1, the following local Dirichlet problems are solved at levels :
[TABLE]
The Dirichlet boundary conditions are given by
[TABLE]
Here the local potentials are given by:
[TABLE]
Finally, the Mehrstellen correction at all levels is applied as follows:
[TABLE]
We do not have a complete error analysis for the above algorithm corresponding to that given in the two-level case. However, we can look at error analysis of the two-level algorithm, and determine the change in the error introduced there by replacing the coarse-grid convolution with with an MLC calculation. We denote by:
- •
the two two-level semi-discrete method of local corrections approximation to , with patch radius ;
- •
;
- •
; and
- •
.
By (26), (27), is the only quantity in the error in which convolution with appears. Given that, it is straightforward to assess the impact of replacing the convolution with in this expression with applying the MLC algorithm for a patch size . To estimate this effect, we use a modified equation approach, in which the difference is approximated by . Applying the error estimate (27), we obtain
[TABLE]
For this substitution to have an appropriately small impact, it is sufficient for the error to be comparable to or less than the error in the two-level algorithm. The sum of the first three terms meet this criterion – the sum of first two terms is bounded by the max norm of the two-level error multiplied by , and the third term is bounded by times the max norm of the barrier error of the two-level algorithm. The final term, however, is problematic. In particular, the impact on the error of multiple applications of at increasing mesh spacings is far from clear. We will see evidence of this in the numerical results in Section 7.2, and will suggest a remedy that allows the error to be controlled.
6 Computational Issues
The analysis and demonstration of the performance of this algorithm will be the subject of a separate paper [21], so we will just make a few high-level observations to justify the pursuit of this line of research. The largest contribution to the floating–point operation count in this method comes from the initial local discrete convolutions (34). To compute these convolutions, we use a generalization of Hockney’s domain-doubling algorithm [15], which we describe in the Appendix. The floating point work per unknown for this step is , where is the number of points per patch. The next-largest computation is that of the final Dirichlet solutions (38), performed using sine transforms, which is per unknown. The floating point work associated with computing the Legendre expansions is small, with the convolutions of Legendre polynomials with the discrete Green’s functions precomputed and stored. The memory overhead for storing these quantities scales like . However, there is one copy of these per processor, shared across multiple patches / multiple cores. Furthermore, they are only stored either on a sampled grid coarsened by , or on planar subsets corresponding to boundaries of patches, which reduces the memory overhead further.
The parallel implementation of this algorithm is via domain decomposition, with patches distributed to processors. For the choices of and used in the results described below, this corresponds to a floating-point operation count about three times that of a corresponding multigrid algorithm for comparable accuracy. Roughly speaking, the communications costs, in terms of number of messages and overall volume of data moved, corresponds to that of a single multigrid V-cycle, plus the negligible costs of communicating a small number of Legendre expansion coefficients (20 per patch for the case ). This is to be compared to the eight multigrid V-cycles required to obtain a comparable level of accuracy. Current trends in the design of HPC processors based on low-power processor technologies indicate a rapid growth in the number of cores capable of performing floating-point operations on a processor, while the communications bandwith between processors, or between the processor and main memory, is growing much more slowly. In addition, most of the floating-point work is performed using FFTs on small patches on a single node, for which there are multiple opportunities for performance optimization. Thus the present algorithm is well-positioned to take advantage of these trends.
7 Numerical Test Cases
We present in this section several examples that demonstrate the convergence properties of the MLC method described above. In all cases, we use as a measure of the solution error the max norm error of the potential, divided by max norm of the potential
[TABLE]
For all cases, we set , so that . We refer to the special case (i.e. if the long-range potentials induced by the truncated Legendre expansions of local charges are ignored) as the MLC-0 method and to the general case as the MLC method. It is not difficult to see that for MLC-0, the estimate (45) reduces to
[TABLE]
Increasing to reduce the barrier error in (54) substantially increases the per patch computational cost of the discrete convolution in the downward pass of the method. This is, in fact, the reason we replaced the local long-range potential values with the convolutions of the local Legendre expansions in Section 3.1.
7.1 A Smooth Charge Distribution
The first test case we are considering involves computing the potential induced by a smooth charge. The computational domain is the unit cube . The charge density is given by:
[TABLE]
and the support of the charge is a sphere of radius , centered at point . The exact solution for this problem is given by:
[TABLE]
and reduces to a pure monopole field for .
7.1.1 Two-Level Results
In Table 1 we present the fine mesh errors for the MLC-0 algorithm, with two levels, for mesh sizes using the Mehrstellen Laplacian (). We set so that dependence of the interpolation error as a function of matches that of the other error terms. For this problem, the errors in all three cases are so small that they are the barrier errors; each time we double , the error goes down by roughly a factor of 16, as predicted by (54).
In Tables 2 and 3 we present fine mesh errors for the MLC algorithm, with , for and , respectively, when refining both and . As , the error in this case approaches a barrier error for both the and cases at a rate of , and those barrier errors correspond to the errors for the MLC-0 calculations with same corresponding values of . For comparison, we also include the values of the error for the MLC-0 calculations with comparable computational costs, i.e. for . It is clear that for the negligible cost of adding the Legendre expansion, we obtain a decrease in the error by one-three orders of magnitude.
Next, we present the errors obtained by performing similar runs using the Mehrstellen Laplacian, for which . We set so that dependence of the interpolation error as a function of matches that of the other error terms. In this case, the barrier error is ; hence we expect that smaller values of the correction radius are required to obtain errors similar with those obtained with the difference operator. Since we set . First, in order to estimate the barrier values, we present the fine mesh errors for the MLC-0 method in Table 4 with using the operator. With those values of ; we expect comparable or smaller errors than those of the MLC-0 method with using the operator. This is the case, as is evident from a comparison with the error values of Table 1. Furthermore, the barrier error as a function of decreases by more than the factor of predicted by the analysis.
In Tables 5 and 6, we present the errors for the MLC algorithm, for the cases ; for both cases. The calculations reach the same barrier errors as decreases. That is not the case for the results in Table 4, but that is not surprising – the reduction of the barrier error by nearly an order of magnitude provides more headroom for –convergence. However, we see that in Table 7, a slight increase of the inner correction radius to allows us to reach the barrier error more rapidly. This is consistent with the error analysis, in that increasing reduces the coefficient in front of the error from truncating the Legendre expansion, from which we infer that the error from that source, rather than the error from the inner local convolution, is the dominant -dependent error for this smooth example.
7.1.2 Three-Level Results
We next present similar results using the multilevel MLC algorithm of Section 5 with three levels. Since we have demonstrated a clear advantage to using the 27-point stencil, in the remaining studies we will restrict our attention to that operator. In Table 8 we show the barrier fine mesh errors obtained using the MLC-0 method for . The errors for are more than 18.4 times smaller than the errors for and are nearly the same to the 2-level method errors (Table 4). As predicted by the error analysis in Section 5 the error of MLC-0 is insensitive to the number of levels.
In Table 9 the errors obtained with the 3-level MLC method are shown using , . Unlike the two-level results, the errors are significantly poorer than the MLC-0 errors. For example, we recover the barrier errors only for , as opposed to the results for MLC-0. We can improve matters somewhat by increasing , but even for this very smooth problem, we do not get close to the barrier errors until . This is consistent with the analysis in Section 5, and indicates that using higher values of does not solve the problem. We will propose a different solution in Section 7.2.
7.2 An Oscillatory Charge Test Case
We further consider a case of three oscillatory charges that has been previously studied in [20]. The computational domain is again the unit cube . Here we define a local charge density, whose support is a sphere of radius centered at point , by:
[TABLE]
The exact solution associated with this charge density is given by:
[TABLE]
and is a pure monopole for . For our test case we consider three charges of the form (55), of radius , centered at points , and . The total charge and total potential are given via linear superposition by:
[TABLE]
We first present the results using three levels (Table 10) and four levels (Table 11) using MLC-0. The primary features of the convergence properties of the solution are that the errors are nearly uniform as a function of level, and are the same in both the three and four level cases. There is some indication of slowing down of the convergence rate on the finest two levels, but the convergence is still faster than
In the MLC convergence results in Table 12, we see substantial deviations from the MLC-0 convergence results. The error shows no consistent behavior as a function of resolution, and in fact is worse at the finest resolution (N = 8192) in Table 12 than it is at the N=2048 resolution in Table 11. We see no analogous problems in the MLC-0 calculations. Examining the error analysis in Section 5, we identified the terms in a three-level calculation that might lead to problems. Even in the smooth example above, it is clear that the increasing does not have sufficient impact to solve this problem. A different approach, suggested by the form of the error, is to reduce the difference at coarser levels. In fact, there is likely a mechanism for defining a systematic strategy for doing this, since is easily computed. We defer that to later work. For the moment, we demonstrate this by setting as an empiricially-determined slowly decreasing function of level, holding fixed (Table 13). We see that we can recover close to the errors in the MLC-0 calculation. In addition, the cost of increasing slightly at coarser levels has a small impact of the overall cost of a multiresolution calculation, since these are applied to calculations at the coarser resolutions, which remain a small fraction of the overall cost of the method, even with the increased values of .
8 Conclusions
We have presented a domain decomposition method for the numerical solution of Poisson’s equation with infinite domain boundary conditions in three dimensions on a nested hierarchy of structured grids. The method is an extension of Anderson’s Method of Local Corrections for particles [3] to gridded data and generalizes the scheme of McCorquodale, et al. [20]. In the present method, local potentials are computed as volume potentials of local charges up to an inner localization radius, combined with volume potentials induced by order truncated Legendre expansions of the local charges up to an outer localization radius. The remaining global coupling is represented using a coarse-grid version of the same representation. This generalizes the method in [20], which corresponds to the special case in the current method. Also, in [20] the local potentials were computed by means of the James-Lackner representation [16, 17] of infinite–domain boundary conditions. In the present work, this is replaced by a representation using discrete convolution operators, which can be computed efficiently using FFTs via Hockney’s algorithm. This approach eliminates the complicated quadratures that are necessary for the extension of the James-Lackner algorithm to three dimensions, while the FFT-based approach leads to compact compute kernels that can be highly optimized. The resulting algorithm is well-suited for high performance on HPC computing platforms made up of multicore processors; in [21], we will present a systematic study of the performance and scaling of the algorithm on such systems.
In this paper, we have focused primarily on the analytical foundations of the MLC method and have provided a detailed error analysis. The errors are of the form , where is the mesh spacing, is the nondimensionalized outer localization radius which is independent of , and is the order of accuracy of the Mehrstellen operator on harmonic functions. Numerical experiments indicate that the observed convergence behavior of the method is consistent with the analysis. For computationally practical values of the localization radius, and using the 27-point Mehrstellen operator (for which ), the barrier error corresponds to relative solution error norms of . While the term looks like an error relative to the mesh spacing , it is better to think of it as a separate discretization parameter that governs the accuracy of the representation of the nonlocal coupling. Doubling decreases the error by a factor of , analogous to the impact of halving .
For the two-level algorithm, the results indicate that, for a given choice of the Mehrstellen operator, the two localization radii, and for , the method converges at a rates in the range –, until the error reaches the barrier, i.e. consistent with the error analysis. We have also defined and implemented the extension to more than two levels, following the approach in [20]. A preliminary analysis of that algorithm indicates the need to control errors at coarser levels coming from the field induced between the inner and outer localization radii by the truncation of the Legendre expansion. The analysis suggests that these might be controlled by increasing the inner localization radius at coarser levels. The numerical examples indicate that the problem is real, and that the proposed solution represents a viable approach. More generally, an important question that needs to be addressed is turning the error analysis in this work into practical strategies for choosing discretization parameters. For example, what are the tradeoffs between decreasing and decreasing in order to improve the accuracy of a calculation, versus the cost of doing each? We will address these issues in [21].
There are various possible ways to extend the present work. Perhaps most straightforward are extensions to finite–volume discretizations and the implementation of other boundary conditions on rectangular domains (including periodic boundary conditions) using a method–of–images approach. Another possibility would be to apply even higher–order Mehrstellen discretizations of the Laplacian to see whether it results in smaller values of the barrier errors than those reported in this work. As was seen in Section 7, the () Mehrstellen Laplacian leads to comparable barrier errors to those obtained using the () stencil, but using smaller localization radii, in a manner consistent with the scaling of that error. It is possible to derive Mehrstellen stencils for which , with the stencil contained in a block around the evaluation point. This leads to only a modest increase in the computational cost and complexity: for example, the per-patch computational cost of the most compute-intensive component of the algorithm – the local discrete convolutions – does not depend on the size of the stencil. Finally, it would be interesting to investigate extensions of this method to other elliptic problems in mathematical physics employing different Green’s functions and high-order discretizations of the associated differential operators. The error analysis of the method as extended to other kernels should be essentially the same with what is discussed in the present study. Moreover, Hockney’s algorithm is kernel-independent and can be readily applied with minor modifications. More generally, the present work uses some detailed analytic tools for understanding the discrete potential theory on locally–structured grids associated with the combination of finite difference localization in [19] and the local interactions / local corrections construction underlying [3]. It would be interesting to go back to the original MLC method for particles and to other particle-grid methods, such as particle-in-cell and immersed boundary methods, and apply these tools to better understand the error properties of these methods.
Appendix A Appendix
A.1 and Mehrstellen Discretizations of the Laplacian
The stencil coefficients for the and Mehrstellen Laplacians are , where is the number of non-zero components of and are defined as:
[TABLE]
The corresponding expressions for the truncation errors , for , , are given by:
[TABLE]
and
[TABLE]
where the ’s are homogeneous constant–coefficient -order differential operators.
We need to compute an approximation to the discrete Green’s function (8) for the 19-point and 27-point operators, restricted to a domain of the form . We do this by solving the following inhomogeneous Dirichlet problem on a larger domain .
[TABLE]
where is the Green’s function (2), and is either the 19-point or 27-point operator. Then our approximation to on is the solution computed on , restricted to . To compute this solution, we put the inhomogeneous boundary condition into residual-correction form, and solve the resulting homogeneous Dirichlet problem using the discrete sine transform. The error estimate (12) applied here implies that the error in replacing the correct discrete boundary conditions with those of the exact Green’s function scales like in max norm. In the calculations presented here, we computed using and , leading to at least 10 digits of accuracy for .
A.2 Hockney’s Method for Fast Evaluation of Discrete Convolutions
Hockney ([15],p.180–181; see also [9]) observed that discrete convolutions with one of the functions having support on a bounded domain in , and evaluated on a bounded domain, can be computed exactly in terms of discrete Fourier transforms. For completeness, we describe that method. We show this first for the case , and state the general result for any number of dimensions. Given , , we want to compute
[TABLE]
First, we observe that the infinite sum can be replaced by a finite sum.
[TABLE]
for any . Second, we observe that , can be replaced in (57) by periodic extensions of those functions restricted to the interval .
[TABLE]
Finally, we express the periodic convolution in (58) in terms of discrete Fourier transforms.
[TABLE]
where , are the discrete complex Fourier transform and its inverse on the interval .
This generalizes to rectangular domains in any number of dimensions. For example, for cubic domains, given , ,
[TABLE]
where and , are the complex discrete Fourier transform and its inverse on the cube . In practice, this is efficient for a broad range of since we can choose so that the radices of the FFTs are highly composite, with the size of the problem changing by only a small amount. In the case where , the length of the domain doubles in each direction, hence this is often referred to as Hockney’s domain-doubling algorithm. However, in the present application, we want to use the more general case, since the size of the support of the localized charge distributions and the size of the grid on which the local fields are defined differ by a significant amount.
Acknowledgments
The authors would like to thank Brian Van Straalen and Peter McCorquodale for a number of helpful discussions. This research was supported at the Lawrence Berkeley National Laboratory by the Office of Advanced Scientific Computing Research of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231 and at the National Energy Research Scientific Computing Center by the DOE Petascale Initiative in Computational Science and Engineering.
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] A. S. Almgren, A Fast Adaptive Vortex Method using Local Corrections, Ph D Dissertation, University of California at Berkeley, Berkeley, 1991.
- 2[2] A. S. Almgren, T. Buttke, P. Colella, A Fast Adaptive Vortex Method in Three Dimensions, Journal of Computational Physics, vol. 113, 1994.
- 3[3] C.R. Anderson, A Method of Local Corrections for Computing the Velocity Field Due to a Distribution of Vortex Blobs, Journal of Computational Physics, vol. 62, 1986.
- 4[4] G.T. Balls, A Finite Difference Domain Decomposition Method using Local Corrections for the Solution of Poisson’s Equation, Ph D Thesis, University of California at Berkeley, 1999.
- 5[5] G.T. Balls, P. Colella, A Finite Difference Domain Decomposition Method using Local Corrections for the Solution of Poisson’s Equation, Journal of Computational Physics, vol. 180, 2002.
- 6[6] J. Barnes, P. Hut, A Hierarchical O(N log N) Force-Calculation Algorithm, Nature, vol. 324, 1986.
- 7[7] J. Carrier, L. Greengard, V. Rokhlin, A Fast Adaptive Multipole Algorithm for Particle Simulations, SIAM Journal on Scientific Computing, vol. 9, 1988.
- 8[8] L. Collatz, The Numerical Treatment of Differential Equations, Springer-Verlag, Berlin-Heidelberg-New York, 1966.
