Abstract
Integral equation–based numerical methods are directly applicable to homogeneous elliptic PDEs and offer the ability to solve these with high accuracy and speed on complex domains. In this paper, such a method is extended to the heat equation with inhomogeneous source terms. First, the heat equation is discretised in time, then in each time step we solve a sequence of so-called modified Helmholtz equations with a parameter depending on the time step size. The modified Helmholtz equation is then split into two: a homogeneous part solved with a boundary integral method and a particular part, where the solution is obtained by evaluating a volume potential over the inhomogeneous source term over a simple domain. In this work, we introduce two components which are critical for the success of this approach: a method to efficiently compute a high-regularity extension of a function outside the domain where it is defined, and a special quadrature method to accurately evaluate singular and nearly singular integrals in the integral formulation of the modified Helmholtz equation for all time step sizes.
Article PDF
Similar content being viewed by others
Avoid common mistakes on your manuscript.
References
Kropinski, MC, Quaife, BD: Fast integral equation methods for Rothe’s method applied to the isotropic heat equation. Comput. Math. Appl. 61(9), 2436–2446 (2011)
Chapko, R, Kress, R: Rothe’s method for the heat equation and boundary integral equations. J. Integral. Equ. Appl. 9(1), 47–69 (1997)
Chapko, R: On the combination of Rothe’s method and boundary integral equations for the nonstationary Stokes equation. J. Integral. Equ. Appl. 13(2), 99–116 (2001)
Kropinski, MC, Quaife, BD: Fast integral equation methods for the modified Helmholtz equation. J. Comput. Phys. 230(2), 425–434 (2011)
Kennedy, CA, Carpenter, MH: Additive Runge–Kutta schemes for convection-diffusion–reaction equations. Appl. Numer. Math. 44(1), 139–181 (2003). pg. 176
Dutt, A, Greengard, L, Rokhlin, V: Spectral deferred correction methods for ordinary differential equations. BIT 40(2), 241–266 (2000)
Jia, J, Huang, J: Krylov deferred correction accelerated method of lines transpose for parabolic problems. J. Comput. Phys. 227(3), 1739–1753 (2008)
Minion, ML: Semi-implicit spectral deferred correction methods for ordinary differential equations. Commun. Math. Sci. 1(3), 471–500 (2003)
Fryklund, F, Lehto, E, Tornberg, A-K: Partition of unity extension of functions on complex domains. J. Comput. Phys. 375, 57–79 (2018)
Askham, T, Cerfon, AJ: An adaptive fast multipole accelerated Poisson solver for complex geometries. J. Comput. Phys. 344, 1–22 (2017)
Bruno, O P, Lyon, M: High-order unconditionally stable FC-AD solvers for general smooth domains I. Basic elements. J. Comput. Phys. 229(6), 2009–2033 (2010)
Stein, D B, Guy, R D, Thomases, B: Immersed boundary smooth extension (IBSE): A high-order method for solving incompressible flows in arbitrary smooth domains. J. Comput. Phys. 335, 155–178 (2017)
Shirokoff, D, Nave, J-C: A sharp–interface active penalty method for the incompressible Navier–Stokes equations. J. Sci. Comput. 62(1), 53–77 (2015)
Hao, S, Barnett, AH, Martinsson, PG, Young, P: High-order accurate methods for Nyström discretization of integral equations on smooth curves in the plane. Adv. Comput. Math. 40(1), 245–272 (2014)
Helsing, J, Holst, A: Variants of an explicit kernel–split panel–based Nyström discretization scheme for Helmholtz boundary value problems. Adv. Comput. Math. 41(3), 691–708 (2015)
Helsing, J, Ojala, R: On the evaluation of layer potentials close to their sources. J. Comput. Phys. 227(5), 2899–2921 (2008)
Ojala, R, Tornberg, A-K: An accurate integral equation method for simulating multi-phase stokes flow. J. Comput. Phys. 298, 145–160 (2015)
Klinteberg, L, Fryklund, F, Tornberg, A-K: An adaptive kernel-split quadrature method for parameter-dependent layer potentials. arXiv:1906.07713 (2019)
Helsing, J: Integral equation methods for elliptic problems with boundary conditions of mixed type. J. Comput. Phys. 228(23), 8892–8907 (2009)
af Klinteberg, L, Askham, T, Kropinski, MC: A fast integral equation method for the two-dimensional navier-stokes equations. J. Comput. Phys. 409, 109353 (2020)
Li, J, Greengard, L: High order accurate methods for the evaluation of layer heat potentials. SIAM J. Sci. Comput. 31(5), 3847–3860 (2009)
Wang, S, Jiang, S, Wang, J: Fast high-order integral equation methods for solving boundary value problems of two dimensional heat equation in complex geometry. J. Sci. Comput. 79(2), 787–808 (2019)
Zhou, H-X, Pang, X: Electrostatic interactions in protein structure, folding, binding, and condensation. Chem. Rev. 118(4), 1691–1741 (2018). PMID: 29319301
Juffer, AH, Botta, E FF, van Keulen, B AM, van der Ploeg, A, Berendsen, H JC: The electric potential of a macromolecule in a solvent: A fundamental approach. J. Comput. Phys. 97(1), 144–171 (1991)
Chen, KH, Chen, JT: Adaptive dual boundary element method for solving oblique incident wave passing a submerged breakwater. Comput. Method. Appl. M. 196(1), 551–565 (2006)
Vorobjev, Y N: Modeling of electrostatic effects in macromolecules, pp 163–202. Springer International Publishing, Cham (2019)
Liang, J, Subramaniam, S: Computation of molecular electrostatics with boundary element methods. Biophys. J. 73(4), 1830–1841 (1997)
Kouibia, A, Pasadas, M, Reyah, L, Akhrif, R: Approximation of surfaces by modified helmholtz splines. J. Comput. Appl. Math. 350, 262–273 (2019)
Chen, C S, Jiang, X, Chen, W, Yao, G: Fast solution for solving the modified Helmholtz equation with the method of fundamental solutions. Commun. Comput. Phys. 17(3), 867–886 (2015)
Li, X: On solving boundary value problems of modified Helmholtz equations by plane wave functions. J. Comput. Appl. Math. 195(1), 66–82 (2006). Special Issue: The International Symposium on Computing and Information (ISCI2004)
Ascher, U, Ruuth, S, Wetton, B: Implicit-explicit methods for time-dependent partial differential equations. SIAM J. Numer. Anal. 32(3), 797–823 (1995)
Quaife, B: Fast integral equation methods for the modified helmholtz equation, Ph.D. Thesis, Simon Fraser University (2011)
Atkinson, KE: The numerical solution of integral equations of the second kind. Cambridge Monographs on Applied and Computational Mathematics (Book 4). Cambridge University Press, Cambridge (1997)
Shepard, D: A two–dimensional interpolation function for irregularly–spaced data, vol 23 (1968)
Fasshauer, G F: Meshfree Approximation Methods with MATLAB, World Scientific Publishing Co., Inc. River Edge, NJ, USA (2007)
Larsson, E, Fornberg, B: Theoretical and computational aspects of multivariate interpolation with increasingly flat radial basis functions. Comput. Math. Appl. 49(1), 103–130 (2005)
Larsson, E, Shcherbakov, V, Heryudono, A: A least squares radial basis function partition of unity method for solving PDEs. SIAM J. Sci. Comput. (2017)
Fornberg, B, Larsson, E, Flyer, N: Stable computations with Gaussian radial basis functions. SIAM J. Sci. Comput. 33(2), 869–892 (2011)
Trefethen, L: Spectral methods in MATLAB, Society for Industrial and Applied Mathematics (2000)
Carrier, J, Greengard, L, Rokhlin, V: A fast adaptive multipole algorithm for particle simulations. SIAM J. Sci. Stat. Comp. 9(4), 669–686 (1988)
Cheng, H, Huang, J, Leiterman, TJ: An adaptive fast solver for the modified helmholtz equation in two dimensions. J. Comput. Phys. 211 (2), 616–637 (2006)
Greengard, L F, Huang, J: A new version of the fast multipole method for screened Coulomb interactions in three dimensions. J. Comput. Phys. 180(2), 642–658 (2002)
Verchota, G: Layer potentials and regularity for the Dirichlet problem for Laplace’s equation in Lipschitz domains. J. Funct. Anal. 59(3), 572–611 (1984)
Helsing, J: Solving integral equations on piecewise smooth boundaries using the RCIP method: a tutorial, ArXiv e-prints (2012)
NIST: Digital Library of Mathematical Functions, Release 1.0.16 of 2017-09-18 http://dlmf.nist.gov/
Khatri, S, Tornberg, A-K: An embedded boundary method for soluble surfactants with interface tracking for two-phase flows. J. Comput. Physics 256, 768–790 (2014)
lsson, SP, Siegel, M, Tornberg, A-K: Simulation and validation of surfactant-laden drops in two-dimensional Stokes flow. J. Comput. Phys. 386, 218–247 (2019)
Kropinski, MCA, Lushi, E: Efficient numerical methods for multiple surfactant-coated bubbles in a two-dimensional Stokes flow. J. Comput. Phys. 230(12), 4466–4487 (2011)
Acknowledgements
We are grateful for the support from the Natural Science and Engineering Research Council of Canada.
Funding
Open access funding provided by Royal Institute of Technology. We recevied support of the Swedish Research Council under Grant No. 2015-04998 and funding from the Göran Gustafsson Foundation for Research in Natural Sciences and Medicine.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by: Leslie Greengard
Publisher’s note
Springer Nature remains neutral with regard to jurisdictional claims in published maps and institutional affiliations.
Appendices
Appendix A. Adaptive time stepping with IMEX Runge-Kutta methods
1.1 A.1 Adaptive discretisation in time
This appendix shows how applying implicit-explicit Runge-Kutta (IMEXRK) schemes from [5] to the heat equation reduces it to a sequence of modified Helmhotlz equations to solve at each time step. Formulate the heat equation (1)–(3) as:
where the superscripts denote implicit and explicit, referring to the term being classified as stiff or nonstiff, respectively.
Let tN denote an instance in time that is the sum of previous discrete time steps \(\{\delta t_{i}\}_{i = 1}^{N-1}\) that may be of different size:
for some initial time t0. Let UN be the approximation of U(tN), then at time tN+ 1 it is:
where NS is the number of stages for kσ, σ ∈ {I, E}, computed as
The second argument of Fσ in (A.5) is defined as:
and \(\bar {U}_{1} = U_{N}\). The coefficients \(\{a_{i,j}^{\sigma }\}_{i,j = 1}^{N_{S}}\), \(\{b_{j}^{\sigma }\}_{j = 1}^{N_{S}}\) and \(\{c_{j}^{\sigma }\}_{j= 1}^{N_{S}}\) are tabulated in the two associated Butcher tableaus for σ = I and σ = E; see Table 3 for a general IMEXRK scheme. The principal difference between the coefficients for implicit and explicit methods is that \(a_{i,j}^{E} = 0\) for i ≤ j while \(a_{i,j}^{I} \neq 0\) for i = j, excluding i = 1. The quantity \(\bar {U}_{i}\) is unknown for every i = 2, … , NS, since the corresponding implicit stage \({k^{I}_{i}}\) is unknown.
The implicit stage at i is \({k^{I}_{i}} ={\Delta } \bar {U}_{i}\) by definition (A.2). To avoid approximating the differential operator, replace \({k^{I}_{i}}\) in (A.6) with \({\Delta } \bar {U}_{i}\) and reformulate as:
The (A.7) has the form of the modified Helmholtz equation (4)–(5): f(x) corresponds to the right-hand side, \(u(\mathbf {x}) = \bar {U}_{i}(\mathbf {x})\) and \(\alpha ^{2} = (\delta t_{N}a_{i,i}^{I})^{-1}\). We stress that the larger α2 is the harder (4)–(5) is to solve accurately in terms of numerics (see Section 3.2.1). The associated boundary condition g is (3) evaluated at time \(t_{N}+\delta t_{N}{c_{i}^{I}}\).
To obtain the next stage \({k^{I}_{i}}\), equation (A.7) must be solved for \(\bar {U}_{i}\) in Ω. Once \(\bar {U}_{i}\) is known, reformulate (A.7) and compute:
With \({k^{I}_{i}}\) known the stage \({k^{E}_{i}}\), that is FE, can be computed explicitly. Note that for (1)–(3) FE = F(t, x), so the explicit stage \({k^{E}_{i}}\) is independent of the implicit stages; thus, it is computed directly.
To summarise, the approximate solution UN+ 1 at time tN+ 1 is given by (A.4). The stages \({k^{I}_{i}}\), for i = 1, … , NS are obtained by solving (4)–(5), corresponding to (A.7), and explicit computation of (A.8). Once \(\bar {U}_{i}\) is known, \({k_{i}^{E}} = F^{E}\left (t_{N}+\delta t_{N}{c_{i}^{E}},\bar {U}_{i}\right )\) is computed explicitly. See the flowchart in Appendix B for a graphical overview.
1.1.1 A.1.1 IMEXRK2
This scheme is never used in this paper, but serves as a simple example of applying an IMEX Runge-Kutta scheme. The stencil for IMEXRK2, with coefficients tabulated in Table 5, involves taking a half time step δtN/2 and solving for \(\bar {U}_{2}\) satisfying:
By (A.4) the solution at the next time step, tN+ 1 = δtN + tN for every x ∈Ω is:
An important aspect of IMEXRK2 is that we obtain a second-order method by only solving (4)–(5) once, i.e. only one intermediate stage is required.
An adaptive time stepper can be constructed by coupling IMEXRK2 with a method of lower order. A simple IMEX scheme of first order is the Forward-Backward Euler scheme, with coefficients given in Table 4. Applied to the heat equation (1), we have:
1.1.2 A.1.2 IMEXRK34
The IMEKRK34 scheme is a coupled third- and fourth-order scheme; see Tables 6 and 7 for the associated Butcher tableaus. It has two sets of six stages \(\{k_{i}^{\sigma }\}_{i = }\) for σ = I, E, but only five implicit stages need to be solved for every iterate in time [5]. This is due to \({k^{I}_{6}}\) at tN is equal to \({k^{I}_{1}}\) at tN+ 1 for N > 1, a property sometimes referred to as first same as last, or FSAL. Note that the explicit stages do not have this property.
For N = 0, the first stage must be given by supplementary initial data ΔU0. Otherwise, the procedure is exactly as described in Appendix A.1: for a given i solve (A.7) for \(\bar {U}_{i}\). Once known extract \({k^{I}_{i}} = {\Delta } \bar {U}_{i}\) from (A.7) and compute \({k_{i}^{E}} = F^{E}\left (t_{N}+\delta t_{N}{c_{i}^{E}},\bar {U}_{i}\right )\) explicitly and start over for i + 1 until all six stages are known. An approximate solution UN+ 1 at tN+ 1 is given by (A.4), which is a fourth-order approximation. The third-order approximation \(\tilde {U}_{N+1}\) is given by (A.4) as well, but with the coefficients \(\{\tilde {b}_{j}^{\sigma }\}_{j = 1}^{N_{S}}\) instead of \(\{b_{j}^{\sigma }\}_{j = 1}^{N_{S}}\) (Table 6).
1.1.3 A.1.3 Adaptivity
Denote the solution given by Forward-Backward Euler or the third-order method in IMEXRK34 as \(\tilde {U}(\mathbf {x})\). At each discrete time instance tN+ 1 = δtN + tN for some δtN, we compute UN+ 1(x) and \(\tilde {U}_{N+1}(\mathbf {x})\). The relative temporal error is approximated by:
where ∥⋅∥ is the standard discrete ℓ2-norm (50). If r is less than some tolerance TOL, then UN+ 1(x) is accepted as solution at time tN+ 1. The quantity r is used to produce a new time step δtN, NEW by:
where p = 2 from the order of the IMEXRK2 scheme and p = 4 for IMEXRK34. The value 0.9 is a safety factor. If the solution is accepted, then δtN+ 1 = δtN, NEW; otherwise, the computations start over at tN with δtN = δtN, NEW. Thus, even if the solution is accepted, the step size is updated by the scheme (A.15), meaning growth is possible if appropriate. See the flowchart in Appendix B for a graphical overview.
Appendix B. Flowchart over solution procedure
Rights and permissions
Open Access This article is licensed under a Creative Commons Attribution 4.0 International License, which permits use, sharing, adaptation, distribution and reproduction in any medium or format, as long as you give appropriate credit to the original author(s) and the source, provide a link to the Creative Commons licence, and indicate if changes were made. The images or other third party material in this article are included in the article's Creative Commons licence, unless indicated otherwise in a credit line to the material. If material is not included in the article's Creative Commons licence and your intended use is not permitted by statutory regulation or exceeds the permitted use, you will need to obtain permission directly from the copyright holder. To view a copy of this licence, visit http://creativecommons.org/licenses/by/4.0/.
About this article
Cite this article
Fryklund, F., Kropinski, M.C.A. & Tornberg, AK. An integral equation–based numerical method for the forced heat equation on complex domains. Adv Comput Math 46, 69 (2020). https://doi.org/10.1007/s10444-020-09804-z
Received:
Accepted:
Published:
DOI: https://doi.org/10.1007/s10444-020-09804-z
Keywords
- Heat equation
- Boundary integral method
- Modified Helmholtz equation
- Yukawa potential
- Quadrature
- Complex domains
- Function extension
- Rothe’s method