An adaptive kernel-split quadrature method for parameter-dependent layer potentials
Fredrik Fryklund, Ludvig af Klinteberg, and Anna-Karin Tornberg

TL;DR
This paper introduces an adaptive quadrature algorithm that maintains high accuracy for parameter-dependent layer potentials across a wide range of parameters, overcoming limitations of existing methods.
Contribution
It presents a novel adaptive sampling approach with recursive bisection to improve kernel-split quadrature for parameter-dependent equations.
Findings
Achieves accurate evaluation for a broader range of the parameter
Maintains accuracy with a computational cost scaling as log
Extends the applicability of kernel-split quadrature to complex problems
Abstract
Panel-based, kernel-split quadrature is currently one of the most efficient methods available for accurate evaluation of singular and nearly singular layer potentials in two dimensions. However, it can fail completely for the layer potentials belonging to the modified Helmholtz, biharmonic and Stokes equations. These equations depend on a parameter, denoted , and kernel-split quadrature loses its accuracy rapidly when this parameter grows beyond a certain threshold. This paper describes an algorithm that remedies this problem, using per-target adaptive sampling of the source geometry. The refinement is carried out through recursive bisection, with a carefully selected rule set. This maintains accuracy for a wide range of the parameter , at an increased cost that scales as . Using this algorithm allows kernel-split quadrature to be both accurate and efficient…
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.
Taxonomy
TopicsElectromagnetic Scattering and Analysis · Numerical methods in engineering · Geophysical and Geoelectrical Methods
An adaptive kernel-split quadrature method for parameter-dependent layer potentials
Fredrik Fryklund Corresponding author. E-mail address: [email protected] Department of Mathematics, KTH Royal Institute of Technology, Stockholm, Sweden
Ludvig af Klinteberg
Department of Mathematics, KTH Royal Institute of Technology, Stockholm, Sweden
Anna-Karin Tornberg
Department of Mathematics, KTH Royal Institute of Technology, Stockholm, Sweden
Abstract
Panel-based, kernel-split quadrature is currently one of the most efficient methods available for accurate evaluation of singular and nearly singular layer potentials in two dimensions. However, it can fail completely for the layer potentials belonging to the modified Helmholtz, modified biharmonic and modified Stokes equations. These equations depend on a parameter, denoted , and kernel-split quadrature loses its accuracy rapidly when this parameter grows beyond a certain threshold. This paper describes an algorithm that remedies this problem, using per-target adaptive sampling of the source geometry. The refinement is carried out through recursive bisection, with a carefully selected rule set. This maintains accuracy for a wide range of the parameter , at an increased cost that scales as . Using this algorithm allows kernel-split quadrature to be both accurate and efficient for a much wider range of problems than previously possible.
Keywords— Integral equations, Partial differential equations, Layer potentials, modified Helmholtz equation, modified Stokes equation
1 Introduction
This paper presents an extension of the panel-based, kernel-split quadrature scheme by Helsing and Ojala [13], for evaluating singular and nearly singular layer potentials in two dimensions. It is one of the current state of the art methods for maintaining low errors when solving homogeneous elliptic partial differential equations (PDEs) in two dimensions using integral equation methods [13, 11, 17]. However, there exists a set of problems for which this scheme can fail completely. This includes the following PDEs in :
[TABLE]
where is a positive real number. For brevity, we refer to them as the modified PDEs. Note that they are not consistently named in the literature. For example, the modified Helmholtz equation is also known as the screened Poisson equation, the Yukawa equation, the linearized Poisson-Boltzmann equation, and the Debye-Hückel equation. Meanwhile, the modified Stokes equations are also known as the Brinkman equations. These PDEs appear in many different applications: electrostatic interactions in protein and related biological functions, macroscopic electrostatics and fluid flow on the micro scale, to mention a few [20, 19, 14, 15, 7, 12].
A common trait of the modified PDEs is that their associated layer potentials have kernels that either decay exponentially, or have components that decay exponentially, with a rate that is proportional to . This decay presents a problem for the above mentioned kernel-split quadrature. In short, the quadrature method is based on writing the kernel on a form with smooth functions multiplying explicit singularities, and then integrating each term separately. In order to be accurate, these smooth functions have to be locally well approximated by polynomials, which is increasingly difficult for larger values of .
Large values of are of interest in the context of elliptic marching. In elliptic marching a semi-implicit temporal discretization is applied to the governing equations. A time-step then involves solving a sequence of elliptic equations, such as the modified PDEs: e.g. the heat equation, the time-dependent Stokes and Navier-Stokes equations correspond to the modified Helmholtz equation, the modified biharmonic equation and the modified Stokes equations, respectively [6, 8, 9, 3]. Regardless of the specifics of the time-discretization scheme the resulting equations involve the parameter , where is inversely proportional to the time-step size. The smaller the time-step the lower temporal error, but the spatial problem becomes harder to solve accurately. This is a new problem in the context of elliptic marching, combined with boundary integral methods applied to the resulting modified PDEs. Earlier, high order and accurate schemes were not available, thus small time-steps were redundant since the spatial error dominated, and the low-error regimes were not feasible to explore on standard desktop computers. Today efficient methods are available that give higher precision and allow for more complicated problems. It is evident that the restriction of the time-step is a significant bottleneck, as the kernel-split quadrature may fail for high temporal resolutions.
We have developed a robust quadrature scheme, based on adaptive refinement, that maintains high accuracy for any , without sacrificing efficiency. It applies to target points both on and close to the boundary, where regular quadrature is insufficient. In this context, refinement refers simply to an interpolation of known quantities to a locally refined discretization, as opposed to increasing the number of degrees of freedom in the discretized integral equation. The additional cost, in terms of assembly time per panel, scales as .
The remainder of this paper is organized as follows. In section 2 we give an outline of the kernel-split quadrature. Section 3 describes the problem that we are trying to solve, using the modified Helmholtz equation as an example. In section 4 we present error analysis, again with the modified Helmholtz equation as template. The new algorithm we propose is presented in section 5, followed by numerical results in section 6.
2 Background
Our goal is to evaluate layer potentials in of the form
[TABLE]
The layer density is assumed to be smooth, implying that the boundary is assumed to be smooth as well. The kernel is singular at and can be expressed with explicit singularities as
[TABLE]
where is a smooth function. The functions and are smooth functions that multiply a log-type singularity and a Cauchy-type singularity, respectively. We refer to this decomposition as kernel-split.
The boundary is discretized using a composite Gauss–Legendre quadrature. It is subdivided into intervals , denoted panels,
[TABLE]
Each panel is described by a parametrization ,
[TABLE]
We refer to in (4) as a target point and a point as a source point. A panel to which a source point belongs is referred to as a source panel. Associated with the parametrization is a speed function , a normal vector and the curvature . Introducing the convenience notation , the layer potential from a panel becomes
[TABLE]
Each panel is discretized in the parametrization variable using the nodes and weights of an -point Gauss–Legendre quadrature rule on the canonical interval , which is of order , such that on each panel we have the discrete quantities
[TABLE]
Omitting the panel index , the layer potential contribution from a panel is then computed using the approximation
[TABLE]
Due to the singularities in , the above formula requires to be well-separated from in order to be accurate (see section 5, paragraph Near evaluation criterion). Otherwise, the scheme of [11] is used, known as product integration. With that, target-specific quadrature weights and of order are computed for the known singularities where needed, such that
[TABLE]
Substituting (5) into (4) and applying the above product integration gives the so called kernel-split quadrature scheme. Depending on the location of the target point relative to the source panel , the evaluation can be divided up into three different cases:
Singular, with self-interaction. If is one of the quadrature nodes, , then the term multiplying is smooth, with the limit
[TABLE]
where is the curvature of at . Applying product integration to the term, we get
[TABLE]
Note that this is the only case where is evaluated explicitly, and only in one point. 2. 2.
Singular, without self-interaction. If is either on the source panel but not a quadrature node, or on a neighboring panel, then the term is still smooth, and we do not have to take the limit at into account. This lets us simplify the above to
[TABLE] 3. 3.
Nearly singular case. If is close to , but not on a neighboring panel, then we need to address both singularities in (5). This case occurs when either is close to , or when is on a section of the boundary that is distant in arc length or disjoint. The layer potential is then evaluated as
[TABLE]
Given a target point , the panels on are partitioned into two sets: far panels, that can be evaluated directly using (14), and near panels, that must be evaluated (or corrected), using either (18), (19), or (20).
3 Problem statement
The kernel-split quadrature scheme outlined above is both efficient and accurate when applied to the single and double layer potentials of several PDEs, such as the Laplace, Helmholtz and Stokes equations [13, 11, 17] on geometries with a smooth boundary. However, for the modified PDEs (1), (2), and (3), the scheme can fail completely. All of these equations have layer potential kernels including second-kind modified Bessel functions, of the forms and/or . As we shall see, this is problematic for the kernel-split quadrature.
As an illustrating example, we study the single layer kernel of the modified Helmholtz equation (1). The associated Green’s function is
[TABLE]
where the scaling factor has been omitted. The split of this kernel is based on using a standard decomposition [16, §10.31] to explicitly write out the singularities in ,
[TABLE]
where is the smooth remainder, and is the modified Bessel function of the first kind. For future reference, we have by [16, §10.25,§10.29] that
[TABLE]
and the derivatives of can be expressed as
[TABLE]
which makes them easy to evaluate using standard numerical libraries,
Inserting (22) into the kernel (21), after also splitting the logarithm, we identify the terms in (5) as
[TABLE]
Product integration is a semi-analytical method. This means that the target-specific quadrature weights in (15) are found by an analytic treatment of the singularity or near singularity. The accuracy of the method for a given evaluation point is basically limited by how well a function can be resolved by an ()th-degree Legendre polynomial. For a well-resolved function, the integration error is usually only at most a few orders of magnitude larger than round-off, independent of the location of the evaluation point. We now want to evaluate the layer potential (4) with the layer density , using the split above. With this , in (15) will be . Hence, for good accuracy in integrating the logarithmic singularity, it is this product that must have a small interpolation error.
The function goes to zero as goes to infinity, since as for , but its components and actually grow exponentially as , with opposing signs, following the asymptotic as for [16, §10.25,§10.30]. As gets larger, this makes an increasingly bad candidate for polynomial interpolation, which will render the product integration inaccurate. In addition, when evaluated in limited precision, this split is prone to numerical cancellation, due to the limiting forms of and . We will argue that the error mainly is a function of the quantity , which can be heuristically motivated by figure 1. To ensure that this error remains below some tolerance , we therefore suggest that and panel length must satisfy a criterion on the form
[TABLE]
for some constant , which can be determined using numerical experiments. The above criterion can also be reformulated as follows: In order to achieve a tolerance , panel lengths must satisfy
[TABLE]
The naive way of achieving this, for a given , is to discretize using sufficiently short panels. However, this can result in a discretization with orders of magnitude more points than necessary to resolve the geometry and the layer density. Global refinement is also redundant for another reason: as stated above the functions and decay as , meaning that they are very localized for large , i.e. when polynomial interpolation might fail, and are almost zero in finite precision away from . Thus only a small portion of the boundary needs refinement.
4 Error estimates
As was indicated above, there are two main sources of errors in the kernel split quadrature that grow as increases. The first part arises from an interpolation error, and the second is due to numerical cancellation. In order to better understand these errors, we will perform a limited analysis for the single layer potential of the modified Helmholtz equation on a flat panel in section 4.1.
This understanding of the error structure is useful also for the associated kernels for the other modified PDEs since they have a similar singularity structure to the single layer modified Helmholtz potential, see appendix B. They are all combinations of and/or , thus in the form of explicit singularities they contain and/or multiplying a log-type singularity.
Based on our simple analysis in section 4.1, we will in section 4.2 formulate an error estimate and illustrate its performance for the single layer modified Helmholtz potential. The error estimates can be used to set in (28), as discussed in section 4.4. Other kernels are discussed in section 4.3.
In this section as well as the next, we will identify vectors with the corresponding complex numbers .
4.1 Error analysis for a flat panel
We consider the single layer potential for the modified Helmholtz equation with unit density, evaluated using kernel-split quadrature from a flat panel of length ,
[TABLE]
To evaluate (30) using the kernel-split correction (20), we first write
[TABLE]
using (27). In order to evaluate the remaining integral, the function is approximated by an th-degree polynomial that interpolates at the nodes ,
[TABLE]
where is the polynomial interpolation error. We consider only even values for . The integral on the right-hand side of (31) can be written as a sum: the approximation by integrating the polynomial , and an integral over the polynomial interpolation error
[TABLE]
Here, we have used the definition of the complex logarithm. We have that
[TABLE]
are integrals that can be computed recursively, starting from exact formulas [10].
The error in the kernel-split quadrature has two sources. The first is the integral over the interpolation error from the integral in the right-hand side of (31), namely
[TABLE]
For brevity we also refer to the integral over the interpolation error as the interpolation error. It will be clear from context which one that is referred to.
The second is a cancellation error due to the limiting forms of and . Recall that ; this function grows exponentially as , which is the same asymptotics as for , but with opposite sign. The function is a decaying function as goes to infinity, thus and have to cancel. As the quadrature terms in (31) grows in magnitude catastrophic cancellation errors follow.
We will now perform the analysis of the interpolation error for target points along the real axis. In section 4.2, we will consider the performance of this estimate for target points in the plane.
4.1.1 Interpolation error
Our goal is to estimate the magnitude of the interpolation error in (38), and we will do so for . The polynomial (33) is formed by interpolating at the Legendre nodes, . According to [18], the remainder is given by
[TABLE]
where the absolute value of the argument of can be removed, since is an even function. This is convenient, as it simplifies differentiation.
The Legendre nodes are the roots of the Legendre polynomial of order , denoted , orthogonal on . Hence
[TABLE]
where is the coefficient of the leading order monomial term in . From Rodrigues’ formula [16, §18.5], it can be shown that . After rescaling we have
[TABLE]
To present an error bound for (41) we can apply
[TABLE]
However, the resulting error bound greatly overestimates the error, thus is not of practical use. We pursue an alternative approach by estimating by choosing a value for for all pairs . For this purpose, heuristics suggest , as demonstrated below.
Combining (38) and (41) for we get the estimate
[TABLE]
with defined as
[TABLE]
where the subscript denotes single layer potential. Note that is an even function for even values of ; by the relation (24) is a linear combination of with even , and it follows from the definition (23) that these terms are even. Thus we may take the absolute value of the argument of without altering the result. This is important, as later on we will consider complex target points .
In (44) we have
[TABLE]
obtained by
[TABLE]
where the integral is rewritten using and the fact that each integrates to zero over the interval.
This “Legendre-log integral” can be evaluated using the recursion formulas in section A.
For , both the absolute value as well as the real part of in (44) are shown as a function of in figure 2. The absolute value of is a smooth function that achieves its maximum for close to the endpoints of the interval. This is due to the -factor in the integrand being singular for target points in , combined with the growth of the factor towards the edges of the panel. For target points outside the source panel the Legendre-log integral decreases rapidly.
This plot is only illustrating the error estimate derived for this simplifed case. How well it actually estimates the error will be discussed after we have considered also the second part of the error.
4.1.2 Numerical cancellation error
In addition to the interpolation error just discussed, the kernel-split (31) can also suffer from numerical cancellation when is large. To see this, note that , which has the asymptotics as goes to infinity. This is the same asymptotics as for , but with opposing sign. These two terms have to cancel, since , i.e. , is a decaying function. The sum of terms with large magnitude, but opposing signs, is prone to numerical cancellation in limited precision.
The cancellation error is straightforward to estimate by
[TABLE]
where is the machine epsilon.
4.2 Error estimate
We now have an error estimate (44) for the interpolation error (38), and an estimate (47) for the cancellation error. Both were derived for target points along the real axis, but we now evaluate the estimated maximum error over a set of discrete target points in the plane, and compare it to the maximum measured actual error. There are two goals: to study the errors’ and error estimates’ dependence on , and to construct a combination of the error estimates to predict the total error.
Let be the set sampled complex points with positive imaginary part uniformly within a Bernstein ellipse with foci , and denote its elements as . The radius for the Bernstein ellipse is set to be equal to , as points farther away from the panel do not need the kernel-split quadrature scheme to be accurate [4]. This set is visualized in figure 3. By setting , the estimate (44) can be rewritten as
[TABLE]
and similarly the cancellation error (47) becomes
[TABLE]
We define
[TABLE]
The maximum of these two quantities gives the error estimate
[TABLE]
for given values of , and . From (48) and (49) it clear that is a function with and as two separate arguments, motivating the formulation
[TABLE]
Hence, we expect the error divided by to be a function of only, and this is confirmed in figure 3 and figure 4. Here, we plot the error scaled with for different values of versus , for different values of . We see that the error curves collapse for different values of , just as predicted. Furthermore, from the plots it is clear that the interpolation error and cancellation error dominate in different regimes. As is increased, the interpolation error decreases, and the cancellation error will continue to be dominant for larger values of . Considering the left plot of figure 4, we can most clearly see how the measured error follows the cancellation error estimate first, and then shifts to follow the interpolation error estimate as it becomes dominant. We can conclude that the error estimate predicts the actual error, scaled with , quite well.
4.3 Other kernels
We now discuss error estimates for the other kernels of interest for the modified PDEs. The double layer kernel for modified Helmholtz is discussed in detail, which is used to motivate a similar treatment of the error estimates for the modified biharmonic equation and the modified Stokes equations. Their corresponding kernels, and the decompositions thereof into explicit singularities, are shown in appendix B.
The kernels for layer potentials associated with the modified Helmholtz equation (double layer), modified biharmonic and modified Stokes are harder to study analytically than the single layer kernel for the modified Helmholtz equation; for all of them contain and/or multiplying a smooth function, which we collectively denote . This means that the interpolation error (39) includes the th derivative of a product. However, we observe that the derived error estimates of the interpolation error for the single layer kernel can be applied to the these kernels as well, with a few modifications. This is not surprising, as the difficulties lie in properly resolving and/or , not resolving the function . The cancellation error (51) is also straightforward to modify.
Before proceeding with the error estimates we present the split of the double layer kernel for the modified Helmholtz equation into explicit singularities. The associated kernel is, again omitting the scaling ,
[TABLE]
and by [16, §10.31] one has
[TABLE]
The content of the functions , and depend on the location of the target point . If belongs to the boundary, i.e. , then the kernel-split is
[TABLE]
For off-boundary the kernel-split is
[TABLE]
The main difference between the two decompositions is that in (55) goes into for , due to the known limit value (17), while for it results in a non-zero . For both kernel-splits the function is smooth and consists of the modified Bessel function multiplied with . Here, does not pose the difficulties with polynomial interpolation as does.
We now create an error estimate for the interpolation error. Again identifying the vectors and in with complex numbers and in , and following the same steps as for the single layer potential we get analogous to (41)
[TABLE]
since is an odd function. The derivation for the single layer kernel that we based this result on was done for in . We will now, as before, apply it to target points in , for which is non-zero. To avoid the th derivative of the product we make the following argument. We exclude the value since then is equal to zero. Away from zero the derivative of the sgn function is zero. Furthermore, it is that is difficult to represent accurately with polynomials and it contributes considerably more to the error than does, thus we keep only the dominant term obtained by the chain rule and write
[TABLE]
As for the single layer we set to zero, which results in the estimate
[TABLE]
where is given by (45) and as before. Again we have reinserted the absolute value in the argument of the modified Bessel function, by removing the function, since by (23) and (24) is an odd function for even .
For the cancellation error, similarly
[TABLE]
where has been replaced with .
Clearly the error estimates depend purely on , without any multiplying -factor, in difference to the single layer kernel. For the double layer potential the error estimate is
[TABLE]
where and are defined analogous to (50) and (51) for (65) and (66). The predicted pure dependence on for the measured numerical error can be seen in figure 5. The estimate for the cancellation error is not as tight as for the single layer kernel for . Still, at its worst the estimates are off by a digit of the actual error. Also, we see that it is possible to ignore the chain rule and only differentiate , but not , and obtain good estimates.
To derive error estimates for the kernels associated with the other modified PDEs a similar approach as above can be taken. The error estimate will have the form
[TABLE]
where simply for some .
The discussion that we have put forward has given an understanding of the two sources of errors. Practically, only a value for needs to be determined; it sets panel lengths in the subdivision algorithm, introduced in the next section. Instead of deriving an error estimate, one can simply use figures such as figure 3–5 for the measured numerical errors for this purpose. Here, one needs to find the proper scaling by which to scale the errors before plotting, such that they coincide for different . In figure 6 such results are presented for the double layer kernel for the modified Stokes equations (106), with . The error curves do not collapse as neatly as for the modified Helmholtz equation, indicating that there is a scaling factor other than . Still, the results can be used to set , as demonstrated in section 6.
4.4 Condition for
As was shown above, the error when evaluating the double layer modified Helmholtz kernel with an point Gauss–Legendre quadrature rule over one panel with length only depends on and . That means that given the error tolerance , that yield this error can be read off from a plot such as in figure 5 for the given . Fixing that , the condition (as written in (28)) is .
For other kernels, such as the single layer modified Helmholtz kernel, there is not a pure dependence on the error, as we have seen. However, to keep the procedure simple, we would suggest the following approach. Pick a typical value of the panel length for the discretization at hand. Then, divide the given tolerance by this , and use this scaled tolerance when determining from plots of the scaled error for the appropriate , such as in figure 3 and figure 4.
In the subdivision algorithm, the reduction in error through this extra factor of of refinement will then not be taken into account, and hence the panels might be refined to be somewhat smaller than needed. But this will allow us to keep the same simple structure of the subdivision algorithm for all different kernels.
5 Quadrature by recursive subdivision
To circumvent the problem of interpolatory quadrature failing for large , we here introduce an algorithm for local refinement, based on panel subdivision. Given a single source panel , we assume that it is sufficiently short, relative to the quadrature order , for both the geometry and the layer density to be well-represented by a polynomial, interpolated at the quadrature points. We say that it is well-resolved. For a given target point , we can then subdivide into a set of subpanels , interpolate our known quantities from the quadrature nodes on to the quadrature nodes on those subpanels, and then evaluate the layer potential at using the subpanels. To ensure accuracy for a given tolerance, this subdivision is formed in a way that guarantees that all subpanels either are short enough to satisfy (28), obtained via (52) or similarly, or are sufficiently far away from , relative to their own length, to not need kernel-split quadrature.
Before we can state our algorithm, a number of preliminaries are needed.
Preimage of target
Let be the mapping from the standard interval to the panel . Then , such that , is the preimage of the target point . The preimage is real-valued if , and complex-valued otherwise. We here assume that we know the value of , but need not be a known function; see [2] for a discussion on how construct a numerical representation.
Subpanels and subintervals
A subdivision of is defined by a set of edges in the parametrization, , such that a subpanel is given by the mapping of the subinterval under . We can, by a linear scaling, define the local mapping that maps the standard interval to as
[TABLE]
where . Given the preimage , the local preimage , such that , is given by
[TABLE]
Near evaluation criterion
Given the preimage of a point close to a panel (or subpanel) , it is possible to compute an accurate estimate of the quadrature error when evaluating the layer potential using -point Gauss–Legendre quadrature. Detailed discussions can be found in [1, 2]. To leading order, the error is proportional , where is the elliptical radius of the Bernstein ellipse on which lies,
[TABLE]
where is defined as with . For a given kernel and error tolerance , it is then possible to introduce a cutoff radius , such that kernel-split quadrature must be used for
[TABLE]
and otherwise Gauss–Legendre quadrature is sufficiently accurate. We refer to this as the target point and the source points being well-separated, otherwise they are considered to be close. See [2] on how to set for a given tolerance; we use for , which corresponds to a tolerance of .
Later we will use that the inverse of has a particularly simple form in the special case when lies on the imaginary axis,
[TABLE]
Interpolation and upsampling
To interpolate data from the original Gauss–Legendre nodes on , to new Gauss–Legendre nodes on a subinterval , we use barycentric Lagrange interpolation [5]. By upsampling we refer to the special case of interpolating from to Gauss–Legedre nodes, both on .
Subinterval length criterion
When a new subpanel is formed on , we need to check if it satisfies the kernel-split accuracy criterion (28), which requires knowledge of the arc length of the subpanel, denoted . Assuming that does not vary rapidly on , a good approximation to is , where is the arc length of . We can now combine this approximation with (28), to get an accuracy criterion formulated in subinterval size,
[TABLE]
In particular, this allows us to write down the maximum length of subintervals on which product integration can be used,
[TABLE]
Here, can be obtained via (52), as a precomputation step.
5.1 Algorithm
Our algorithm proceeds with creating a division of into subintervals, which corresponds to a division of into subpanels.
For a target point with preimage such that , the first step is to create a subinterval centered on , with length set to satisfy both of the conditions (72) and (75). The centering ensures that the subpanels will not introduce new edges or quadrature nodes that are close enough to to degrade precision.
If this initial subinterval has length , then the preimage of in that local frame will be , with and (73) is applicable.
If we wish the local preimage to be just beyond the limit where kernel-split quadrature is needed, then we must set such that . From (73), we can derive that this is satisfied when ,
[TABLE]
For the subinterval to be contained within , it may not be bigger than twice the distance between and the closest interval edge,
[TABLE]
Now we set the initial subpanel as large as possible, while still ensuring that the quadrature from it is accurate, and that it falls within ,
[TABLE]
Here, depends on the location of the target point, while does not. Thus, for points sufficiently far away might be larger than .
By (78) we have the initial subdivision . The center subinterval is now acceptable, and we proceed by recursively bisecting each remaining subinterval until either its length satisfies (74), or the local preimage of satisfies (72).
For target points such that , we can skip the process of carefully selecting the length of the nearest subinterval, and proceed immediately with recursive bisection of . This completes the algorithm, which we list in its entirety in algorithm 1.
6 Numerical results
To test the robustness of our method across a range of values, we solve the modified Helmholtz equation and the modified Stokes equations. Based on the discussion in section 4 the parameter is set to confirm that prescribed error tolerances are satisfied.
6.1 The modified Helmholtz equation
We solve the modified Helmholtz equation (1) inside the annulus centered at the origin, defined by a circle of radius 0.3, and a circle of radius 0.6, with Dirichlet boundary conditions given by a fundamental solution (21) centered in the inner circle,
[TABLE]
The exact solution to this problem is equal to the expression for the Dirichlet boundary condition, evaluated in . See figure 7 for a visualization of (80) for . We see that decays rapidly for .
To solve the above problem numerically, we represent the solution using the double layer potential
[TABLE]
where is the double layer kernel (54).
Enforcing the boundary condition (80) gives a second kind integral equation in ,
[TABLE]
We solve this using the Nyström method, discretizing the boundary using -point Gauss–Legendre panels, with panels on the inner circle, and panels on the outer. For the bound (76) we use use , and for (74) we set by reading off figure 5 to achieve a tolerance of . Following the notation of (5), the kernel-split of (54) is given by (56) – (61).
For a large range of values, we solve the integral equation, and then evaluate the solution at 15 random points on a circle of radius 0.301 (very close to the inner boundary). Quadrature by recursive bisection is applied both when solving for the density (83) and for evaluating the solution (82).
The results, shown in figure 8, demonstrate that our subdivision algorithm is capable of avoiding the catastrophic loss of accuracy otherwise present above a threshold , and that the additional cost incurred from it is proportional to . We do not satisfy the error tolerance of ; around one digit of accuracy appears to be lost, presumably due to the additional interpolation steps involved.
We also try other values for to confirm that we stay under a given tolerance. Based on figure 5 we have for the tolerances . The largest corresponding relative error for each tolerance, taken over the plotted range of values of , are . Clearly the errors are at least one digit below the prescribed tolerance. It is not suprising that the set value for gives a lower error than figure 5 suggests. In the subdivision algorithm introduced in this paper, the first panel in the recursive scheme always has as its center the projection of the target point on the boundary. Therefore target points are never close to panel edges, where errors from the kernel-split quadrature tend to be greater than for target points towards the panel’s center [13].
6.2 The modified Stokes equations
We solve the modified Stokes equations (3) in a setting analogous to (80); the geometry, and the discretization thereof, is the same, and the boundary data and the solution is given by the associated fundamental solution (106). As opposed to the modified Helmholtz equation, no error estimates are presented in this paper for the modified Stokes equation, which can be used to set . Instead, one can use the measured numerical errors for a flat panel for different values of , each scaled with , as suggested in section 4.3. Here is chosen such that the error curves collapse. For the modified Stokes in a double layer formulation, such results are shown in figure 6, with .
Following the methodology presented in section 4.4, we set to achieve certain tolerances. For the tolerances , we set based on figure 6. The corresponding maximum errors over all alpha are , shown in figure 9. The magnitudes of the errors, for a given tolerance, is consistent with the results for the modified Helmholtz equation, presented in the previous section. The errors are well below the prescribed tolerance, meaning more subdivisions are applied than necessary. The hypothesis is the same as for the modified Helmholtz; for the subdivision algorithm the target point, or the projection thereof, on the boundary is always centered on the new panel. Thus its never close to the panel edges, where the error tends to be greater.
7 Conclusions
We present a robust recursive algorithm that allows the method of Helsing et al. to be applied, for any , to the modified Helmholtz equation, modified biharmonic equation and modified Stokes equations on smooth geometries. Before, this was not possible for large , which corresponds to small time-steps with semi-implicit marching schemes for the heat equation and the time-dependent Stokes and Navier-Stokes equations. Our algorithm is fully adaptive, and the additional computational time it requires scales as . Our choice of the parameters and is based on numerical observations and provide excellent results.
Acknowledgments
The authors gratefully acknowledge the support from the Knut and Alice Wallenberg Foundation under grant no. 2016.0410 (L.a.K.), and by the Swedish Research Council under Grant No. 2015-04998 (F.F. and A.K.T.)
Declarations
The authors declare no competing interests.
Appendix A Formulas for recursive computation of the Legendre-log
integrals
A.1 Result
The integrals
[TABLE]
can be computed recursively using the formulas
[TABLE]
The first two formulas, for and , have finite limits as .
A.2 Proof
The formulas for and follow from direct integration of (84), with and . For , the following two results are useful:
[TABLE]
Insertion of the recursion formula (86) into (84) gives
[TABLE]
Integration by parts of remaining integral, using (87) and ,
[TABLE]
We have and , so it follows that . Furthermore,
[TABLE]
Consequently, since ,
[TABLE]
which leads to the recursion formulas (85).
Appendix B Kernel-splits
Here we complement the kernel-split for the modified Helmholtz equation with kernel-splits for the modified biharmonic equation and the modified Stokes equations.
B.1 Modified biharmonic equation
The single layer kernel for the modified biharmonic equation is
[TABLE]
Inserting (22) the explicit split becomes
[TABLE]
Here, contains the modified Bessel function , like the single layer kernel for the modified Helmholtz equation. The double layer kernel is
[TABLE]
by (55). The resulting decomposition is
[TABLE]
B.2 The modified Stokes equations
We present only the double layer kernel for the modified Stokes equations, also known as the stresslet. In the Einstein summation convention it has the closed-form
[TABLE]
where is the Kronecker delta and . Here, the functions – are
[TABLE]
Since they are expressed in terms of the modified Bessel functions and we can use the decompositions (22) and (55) to write the expressions in explicit singularities. We have
[TABLE]
where
[TABLE]
With these definitions the kernel-split form of the stresslet is
[TABLE]
[TABLE]
where
[TABLE]
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1af Klinteberg and Tornberg [2017] L. af Klinteberg and A.-K. Tornberg. Error estimation for quadrature by expansion in layer potential evaluation. Adv. Comput. Math. , 43(1):195–234, 2017. doi: 10.1007/s 10444-016-9484-x . · doi ↗
- 2af Klinteberg and Tornberg [2018] L. af Klinteberg and A.-K. Tornberg. Adaptive quadrature by expansion for layer potential evaluation in two dimensions. SIAM J. Sci. Comput. , 40(3):A 1225–A 1249, 2018. doi: 10.1137/17M 1121615 . · doi ↗
- 3af Klinteberg et al. [2020] L. af Klinteberg, T. Askham, and M. C. Kropinski. A fast integral equation method for the two-dimensional navier-stokes equations. J. Comput. Phys. , 409:109353, 2020. doi: https://doi.org/10.1016/j.jcp.2020.109353 . · doi ↗
- 4af Klinteberg et al. [2020] L. af Klinteberg, C. Sorgentone, and A.-K. Tornberg. Quadrature error estimates for layer potentials evaluated near curved surfaces in three dimensions. ar Xiv , 2020.
- 5Berrut and Trefethen [2004] J.-P. Berrut and L. N. Trefethen. Barycentric Lagrange interpolation. SIAM Rev. , 46(3):501–517, 2004. doi: 10.1137/S 0036144502417715 . · doi ↗
- 6Catherine A. Kropinski and Quaife [2011] M. Catherine A. Kropinski and B. Quaife. Fast integral equation methods for Rothe’s method applied to the isotropic heat equation. Comput. Math. with Appl. , 61:2436–2446, 2011. doi: 10.1016/j.camwa.2011.02.024 . · doi ↗
- 7Chen et al. [2015] C. S. Chen, X. Jiang, W. Chen, and G. Yao. Fast solution for solving the modified Helmholtz equation with the method of fundamental solutions. Commun. Comput. Phys. , 17(3):867–886, 2015. doi: 10.4208/cicp.181113.241014 a . · doi ↗
- 8Fryklund et al. [2020] F. Fryklund, M. C. Kropinski, and A.-K. Tornberg. An integral equation–based numerical method for the forced heat equation on complex domains. Adv. Comput. Math. , 46:69, 2020. doi: 10.1007/s 10444-020-09804-z . · doi ↗
