Skip to main content
Log in

A fast computational method for potential flows in multiply connected coastal domains

  • Original Paper
  • Area 2
  • Published:
Japan Journal of Industrial and Applied Mathematics Aims and scope Submit manuscript

Abstract

We present a fast and accurate numerical method for constructing incompressible, inviscid and irrotational flows in two-dimensional coastal domains, which are unbounded multiply connected domains above an infinitely long coastline boundary. In the numerical method, we utilize a numerical conformal mapping method based on a boundary integral equation with the generalized Neumann kernel in order to construct conformal mappings from coastal domains onto four of Koebe’s canonical domains. The numerical method is fast and accurate, since it just requires \(O((m+1)n\ln n)\) operations and it converges with \(O(e^{-cn})\) for coastal domains of connectivity \(m+1\), where \(n\) is the number of nodes in discretizing each smooth boundary component and \(c\) is a positive constant. With some examples, we also show that it is applicable to arbitrary coastal domains with high connectivity and complex geometry.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16

Similar content being viewed by others

References

  1. Amano, K.: A charge simulation method for numerical conformal mapping onto circular and radial slit domains. SIAM J. Sci. Comput. 19, 1169–1187 (1998)

    Article  MATH  MathSciNet  Google Scholar 

  2. Atkinson, K.E.: The numerical solution of integral equations of the second kind. Cambridge University Press, Cambridge (1997)

    Book  MATH  Google Scholar 

  3. Austin, A.P., Kravanja, P., Trefethen, L.N.: Numerical algorithms based on analytic function values at roots of unity. SIAM J. Numer. Anal. 52(4), 1795–1821 (2014)

    Article  MATH  MathSciNet  Google Scholar 

  4. Bullo, F., Lewis, A.D.: Geometric control of mechanical systems. Springer, New York (2005)

    Book  MATH  Google Scholar 

  5. Crowdy, D., Marshall, J.: Analytic formulae for the Kirchhoff–Routh path function in multiply connected domains. Proc. Roy. Soc. A 461, 2477–2501 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  6. Crowdy, D., Marshall, J.: The motion of a point vortex around multiple circular islands. Phys. Fluids 17, 056602 (2005)

    Article  MathSciNet  Google Scholar 

  7. Crowdy, D., Marshall, J.: Computing the Schottky–Klein prime function on the Schottky double of planar domains, Comput. Methods Funct. Theory, 7(1), 293–308, (2007). MATLAB files available. In: http://www2.imperial.ac.uk/dgcrowdy/SKPrime

  8. Crowdy, D.G., Tanveer, S., Delillo, T.: Hybrid basis scheme for computing electrostatic fields exterior to close-to-touching discs. (2014). arXiv:1409.2466

  9. Fratantoni, D., Johns, W.E., Townsend, T.: Rings of the north Brazil current: their structure and behavior inferred from observations and a numerical simulations. J. Geophys. Res. 100, 10633–10654 (1995)

    Article  Google Scholar 

  10. Greengard, L., Gimbutas, Z.: FMMLIB2D: a MATLAB toolbox for fast multipole method in two dimensions. Version 1.2 (2012) http://www.cims.nyu.edu/cmcl/fmm2dlib/fmm2dlib.html

  11. Johnson, E.R., McDonald, N.R.: The motion of a vortex near a gap in a wall. Phys. Fluids 16, 462–469 (2004). doi:10.1063/1.1637603

    Article  MathSciNet  Google Scholar 

  12. Johnson, E.R., McDonald, N.R.: The motion of a vortex near two circular cylinders. Proc. Roy. Soc. A 460, 939–954 (2004). doi:10.1098/rspa.2003.1193

    Article  MATH  MathSciNet  Google Scholar 

  13. Kress, R.: Linear integral equations, 3rd edn. Springer, New York (2014)

    Book  MATH  Google Scholar 

  14. Lee, J.M.: Introduction to topological manifolds. Springer, New York (2000)

    MATH  Google Scholar 

  15. Lin, C.C.: On the motion of vortices in two dimensions. I. Existence of the Kirchhoff–Routh function. Proc. Natl. Acad. Sci. 27, 570–575 (1941)

    Article  MATH  Google Scholar 

  16. Lin, C.C.: On the motion of vortices in two dimensions. II. Some further investigations on the Kirchhoff–Routh function. Proc. Natl. Acad. Sci. 27, 575–577 (1941)

    Article  Google Scholar 

  17. Mityushev, V., Rylko, N.: A fast algorithm for computing the flux around non-overlapping disks on the plane. Math. Comput. Model. 57(5), 1350–1359 (2013)

    Article  MathSciNet  Google Scholar 

  18. Murid, A.H.M., Nasser, M.M.S.: Eigenproblem of the generalized Neumann kernel. Bull. Malays. Math. Sci. Soc. (2) 26, 13–33 (2003)

    MATH  MathSciNet  Google Scholar 

  19. Nasser, M.M.S.: A boundary integral equation for conformal mapping of bounded multiply connected regions. Comput. Methods Funct. Theory 9, 127–143 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  20. Nasser, M.M.S.: Numerical conformal mapping via a boundary integral equation with the generalized Neumann kernel. SIAM J. Sci. Comput. 31(3), 1695–1715 (2009)

    Article  MATH  MathSciNet  Google Scholar 

  21. Nasser, M.M.S.: Numerical conformal mapping of multiply connected regions onto the second, third and fourth categories of Koebe’s canonical slit domains. J. Math. Anal. Appl. 382, 47–56 (2011)

    Article  MATH  MathSciNet  Google Scholar 

  22. Nasser, M.M.S.: Numerical conformal mapping of multiply connected regions onto the fifth category of Koebe’s canonical slit regions. J. Math. Anal. Appl. 398, 729–743 (2013)

    Article  MATH  MathSciNet  Google Scholar 

  23. Nasser, M.M.S., Al-Shihri, F.A.A.: A fast boundary integral equation method for conformal mapping of multiply connected regions. SIAM J. Sci. Comput. 35(3), A1736–A1760 (2013)

    Article  MATH  MathSciNet  Google Scholar 

  24. Nasser, M.M.S.: Fast solution of boundary integral equations with the generalized Neumann kernel. (2013) arXiv:1308.5351

  25. Nasser, M.M.S., Murid, A.H.M., Sangawi, A.W.K.: Numerical conformal mapping via a boundary integral equation with the adjoint generalized Neumann kernel. TWMS J. Pure Appl. Math. 5(1), 96–117 (2014)

    MATH  MathSciNet  Google Scholar 

  26. Richardson, P.L., Tychensky, A.: Meddy trajectories in the Canary Basin measured during the semaphore experiment, 1993–1995. J. Geophys. Res. 103, 25029–25045 (1998)

    Article  Google Scholar 

  27. Routh, E.J.: Some applications of conjugate functions. Proc. Lond. Math. Soc. 12, 73–89 (1881)

    MathSciNet  Google Scholar 

  28. Saad, Y., Schultz, M.H.: GMRES: A generalized minimum residual algorithm for solving nonsymmetric linear systems. SIAM J. Sci. Stat. Comput. 7(3), 856–869 (1986)

    Article  MATH  MathSciNet  Google Scholar 

  29. Sakajo, T., Amaya, Y.: Numerical construction of potential flows in multiply connected channel domains. Comput. Methods Funct. Theory 11(2), 415–438 (2011)

    Article  MATH  MathSciNet  Google Scholar 

  30. Wegmann, R., Murid, A.H.M., Nasser, M.M.S.: The Riemann-Hilbert problem and the generalized Neumann kernel. J. Comput. Appl. Math. 182, 388–415 (2005)

    Article  MATH  MathSciNet  Google Scholar 

  31. Wegmann, R., Nasser, M.M.S.: The Riemann-Hilbert problem and the generalized Neumann kernel on multiply connected regions. J. Comput. Appl. Math. 214, 36–57 (2008)

    Article  MATH  MathSciNet  Google Scholar 

  32. Yunus, A.A.M., Murid, A.H.M., Nasser, M.M.S.: Numerical conformal mapping and its inverse of unbounded multiply connected regions onto logarithmic spiral slit regions and rectilinear slit regions. Proc. Roy. Soc. A. 470(2162), 20130514 (2014)

    Article  MathSciNet  Google Scholar 

Download references

Author information

Authors and Affiliations

Authors

Corresponding author

Correspondence to Takashi Sakajo.

Appendices

Appendix A. Numerical conformal mapping onto the canonical domains

Let us review the method presented in [20, 22] for numerical construction of the conformal mapping from the multiply connected domain \(D\) or \(S\) onto the canonical domains \(\Omega _D\), \(\Omega _S\), \(\Omega _U\) and \(\Omega _B\) used in Sect. 4.

Suppose that each boundary component \(\mathcal{C}_j\) is parametrized by a continuously differentiable complex function \(\xi _j(t)\) with \(\xi '_j(t)\ne 0\) for \(t\in J_j=[0,2\pi ]\), \(j=0,1,\ldots ,m\) in the complex \(\xi \)-plane. The whole boundary \(\mathcal{C}\) is represented by a smooth function on the disjoint union \(J\) of the \(m+1\) intervals \(J_0,J_1,\ldots ,J_m\), which is defined by (see [4, p. 16] and [14, p. 394])

$$\begin{aligned} J = \bigsqcup _{j=0}^{m} J_j=\bigcup _{j=0}^{m}\{(t,j)\;:\;t\in J_j\}. \end{aligned}$$
(41)

The elements of \(J\) are order pairs \((t,j)\) where \(j\) is an auxiliary index indicating which of the intervals the point \(t\) lies in. Thus, the parametrization of the whole boundary \(\mathcal{C}=\mathcal{C}_0 \cup \mathcal{C}_1 \cup \dots \cup \mathcal{C}_m\) is defined on \(J\) by

$$\begin{aligned} \xi (t,j)=\xi _j(t), \quad t\in J_j,\quad j=0,1,\ldots ,m. \end{aligned}$$
(42)

We assume that for a given \(t\) that the auxiliary index \(j\) is known, so we replace the pair \((t,j)\) in the left-hand side of (42) by \(t\), i.e., for a given point \(t\in J\), we always know the interval \(J_j\) that contains \(t\). The function \(\xi \) in (42) is thus simply written as

$$\begin{aligned} \xi (t):= \left\{ \begin{array}{l@{\quad }ll} \xi _0(t),&{}t\in J_0=[0,2\pi ],\\ \xi _1(t),&{}t\in J_1=[0,2\pi ],\\ \vdots \\ \xi _m(t),&{}t\in J_m=[0,2\pi ]. \end{array} \right. \end{aligned}$$
(43)

In the construction of the conformal mapping, for a given Hölder continuous real-valued function \(\gamma (\xi (t))\) defined on \(\mathcal{C}\) and \(\alpha \in D\), there appears the following Riemann–Hilbert problem for a function \(f(\xi (t))\) and a piecewise constant function \(h(\xi (t))\).

$$\begin{aligned} \mathop {{\mathrm {Re}}}[A(\xi (t))f(\xi (t))]=\gamma (\xi (t))+h(\xi (t)), \quad t \in J, \end{aligned}$$
(44)

where \(A(\xi )=\xi -\alpha \). Note that the functional form of \(\gamma (\xi )\) varies depending on the conformal mappings as shown in Sect. 4, and this problem is solvable uniquely according to [19]. When we set \(\mu (\xi (t))=\mathop {{\mathrm {Im}}}[A(\xi (t))f(\xi (t))]\) for \(t \in J\), the boundary value of the function \(f\) is given by

$$\begin{aligned} A(\xi (t))f(\xi (t))=\gamma (\xi (t))+h(\xi (t))+{\mathrm {i}}\mu (\xi (t)), \quad t \in J. \end{aligned}$$
(45)

For a Hölder continuous function \(\mu \) on \(\mathcal{C}\), let us introduce the integral operators \({\mathbf{N}}\) and \({\mathbf{M}}\) as

$$\begin{aligned} {\mathbf{N}}\mu = \int _J N(s,t) \mu (t) dt, \qquad {\mathbf{M}}\mu = \int _J M(s,t) \mu (t) dt, \end{aligned}$$
(46)

where the generalized Neumann kernel \(N(s,t)\) and the kernel \(M(s,t)\) are defined on \(J \times J\) [31] as follows.

$$\begin{aligned} N(s,t) := \frac{1}{\pi }\mathop {{\mathrm {Im}}}\left( \frac{A(s)}{A(t)}\frac{\xi '(t)}{\xi (t)-\xi (s)}\right) , \quad M(s,t) := \frac{1}{\pi }\mathop {{\mathrm {Re}}}\left( \frac{A(s)}{A(t)}\frac{\xi '(t)}{\xi (t)-\xi (s)}\right) . \end{aligned}$$
(47)

The operator \({\mathbf{N}}\) is a Fredholm integral operator and the operator \({\mathbf{M}}\) is a singular operator, which are bounded on the space of Hölder continuous functions on \(\mathcal{C}\) and map this space onto itself [30]. Then the boundary value problem is solved based on the following theorem.

Theorem 1

For any Hölder continuous real-valued function \(\gamma \) defined on \(\mathcal{C}\), there exists a unique Hölder continuous real-valued function \(\mu \) and a unique piecewise constant real-valued function \(h=(h_0,h_1,\ldots ,h_m)\) such that (45) are boundary values of analytic function \(f\) in \(D\). Then function \(\mu \) is the unique solution of the integral equation

$$\begin{aligned} ({\mathbf{I}}-{\mathbf{N}})\mu =-{\mathbf{M}}\gamma , \end{aligned}$$
(48)

where \({\mathbf{I}}\) denotes the identity operator and the function \(h\) is given by

$$\begin{aligned} h=[{\mathbf{M}}\mu -({\mathbf{I}}-{\mathbf{N}})\gamma ]/2. \end{aligned}$$
(49)

In practical computations, by discretizing the integral equation (48) by a quadrature rule with \(n\) nodes along the \(m+1\) boundaries, we have the \((m+1)n\) dimensional linear equations for the boundary values of \(\mu \), i.e., the imaginary part of \(f\), which is numerically solved fast as explained in Appendix C. We then compute the piecewise constant function \(h\) on the boundary by (49). The real part of \(f\) is finally computed from (44).

Appendix B. Numerical conformal mapping onto the domain \(S\)

In order to compute the conformal mappings to the canonical domains \(\Omega _U\) and \(\Omega _B\), we need to map the domain \(D\) to a bounded multiply connected domain \(S\) inside the unit circle. This can be done by mapping the simply connected domain inside \(C_0\) onto the unit disc. Such a mapping function is computed using the method presented in [20, §4.2], which is explained in what follows. The basic idea is the same as the method explained Appendix A. Here, we just care the image of the outer curved boundary \(C_0\), which is parameterized by \(\xi _0(t)\) for \(t \in J_0=[0,2\pi ]\), and we don’t need to consider the images of the inner boundaries of \(D\).

For a complex-valued function \(\mathring{A}(t) = \xi _0(t)-\alpha _\xi \) and the outer curved boundary \(\xi _0(t)\) for \(t \in J_0=[0,2\pi ]\) and \(\alpha _\xi \in D\), let us define the following generalized Neumann kernel \(\mathring{N}(s,t)\) and the real kernel \(\mathring{M}(s,t)\) on \(J_0\times J_0\) [18, 30].

$$\begin{aligned} \mathring{N}(s,t) := \frac{1}{\pi }\mathop {{\mathrm {Im}}}\left( \frac{\mathring{A}(s)}{\mathring{A}(t)}\frac{\xi '_0(t)}{\xi _0(t)-\xi _0(s)}\right) , \quad \mathring{M}(s,t) := \frac{1}{\pi }\mathop {{\mathrm {Re}}}\left( \frac{\mathring{A}(s)}{\mathring{A}(t)}\frac{\xi '_0(t)}{\xi _0(t)-\xi _0(s)}\right) . \end{aligned}$$

The Riemann–Hilbert problem (4) in §3.3 is solved again based on Theorem 1. Namely, for the function \(\mathring{\gamma }(t)=-\ln \left| \xi _0(t)-\alpha _\xi \right| \), let \(\mathring{\mu }\) be the unique solution of the integral equation

$$\begin{aligned} ({\mathbf{I}}-\mathring{\mathbf{N}})\mathring{\mu }=-\mathring{\mathbf{M}}\mathring{\gamma }, \end{aligned}$$
(50)

in which \({\mathbf{I}}\) denotes the identity operator and

$$\begin{aligned} \mathring{\mathbf{N}}\mathring{\mu }= \int _{J_0} \mathring{N}(s,t) \mathring{\mu }(t) dt, \qquad \mathring{\mathbf{M}}\mathring{\gamma }= \int _{J_0} \mathring{M}(s,t) \mathring{\gamma }(t) dt. \end{aligned}$$

Then, the function \(\mathring{h}=[\mathring{\mathbf{M}}\mathring{\mu }-({\mathbf{I}}-\mathring{\mathbf{N}})\mathring{\gamma }]/2\) becomes a constant function and \(\mathring{A} \mathring{f}=\mathring{\gamma }+\mathring{h}+{\mathrm {i}}\mathring{\mu }\) are boundary values of an analytic function \(\mathring{f}\) on the simply connected domain interior of \(C_0\).

In the construction of the conformal mapping \(\omega _U(\eta )\) and \(\omega _B(\eta )\) with the numerical conformal mapping technique in Appendix A, we need to compute the derivative of the boundaries in the domain \(S\), i.e., \(\eta '_j(t)\) for \(j=0,\dots ,m\), in order to compute the kernels (47). For the outer boundary \(\eta _0(t)\), it follows from (5) that it is computed by

$$\begin{aligned} \eta '_0(t)= \Upsilon '(\xi _0(t))\xi '_0(t) = T'(R(\xi _0(t)))R'(\xi _0(t))\xi '_0(t), \qquad t\in J_0. \end{aligned}$$
(51)

The derivative of the conformal mapping \(R\) can be computed using a boundary integral equation with the adjoint generalized Neumann kernel [25]. The boundary value of the mapping function \(R\) can be written as [25, §6]

$$\begin{aligned} R(\xi _0(t))=e^{{\mathrm {i}}\phi (t)}, \quad t\in J_0, \end{aligned}$$
(52)

where \(\phi \) is known as the boundary correspondence function. Differentiating both sides of (52) with respect to the parameter \(t\), we obtain

$$\begin{aligned} \xi '_0(t)R'(\xi _0(t))={\mathrm {i}}\phi '(t)e^{{\mathrm {i}}\phi (t)}, \quad t\in J_0. \end{aligned}$$
(53)

The function \(\phi '\) is the unique solution of the integral equation [25, §6]:

$$\begin{aligned} ({\mathbf{I}}+\mathring{\mathbf{N}}^*+\mathring{\mathbf{J}})\phi '=1, \end{aligned}$$
(54)

where \(\mathring{\mathbf{N}}^*\) is the adjoint operator of the operator \(\mathring{\mathbf{N}}\), which is given by

$$\begin{aligned} \mathring{\mathbf{N}}^*\mu = \int _{J_0} \mathring{N}(t,s) \mu (t) dt, \end{aligned}$$

and the operator \(\mathring{\mathbf{J}}\) is defined by

$$\begin{aligned} \mathring{\mathbf{J}}\mu =\frac{1}{2\pi }\int _{J_0}\mu (t)dt. \end{aligned}$$
(55)

By solving the integral Eq. (54), we obtain approximation of the boundary value of \(\phi '\). Hence, it follows from (51, 52) and (53), that the boundary value of \(\Upsilon '\) on \(C_0\) is given by

$$\begin{aligned} \Upsilon '(\xi _0(t))=\frac{{\mathrm {i}}\phi '(t)R(\xi _0(t))T'(R(\xi _0(t)))}{\xi '_0(t)}, \quad t\in J_0, \end{aligned}$$
(56)

which yields the derivative \(\eta '_0(t)\) from (51). For \(j=1,2,\ldots ,m\), the derivatives of the boundaries \(\eta '_j(t)\) are given by \(\eta '_j(t)=\zeta '_j(t)\Upsilon '(\zeta _j(t))\) for \(t\in J_j\). Since \(\Upsilon \) is analytic in the domain interior to \(C_0\), in view of (56), the values of \(\Upsilon '(\zeta _j(t))\) are computed using Cauchy’s integral formula. Thus the boundaries of \(\Gamma \) of the domain \(S\) is parameterized by \(\eta _j(t)\), \(t \in J_j=[0,2\pi ]\) for \(j=0,1,\dots ,m\).

Appendix C. Technical notes for solving the integral equation

The boundary integral Eqs. (48) and (50) can be solved accurately by the Nyström method with the trapezoidal rule (see e.g., [2, 13]). For \(j=0,1,\ldots ,m\), each interval \(J_j\) is discretized by \(n\) equidistant nodes

$$\begin{aligned} s_{j,k}=(k-1)\frac{2\pi }{n}, \quad k=1,2,\ldots ,n. \end{aligned}$$
(57)

Hence, the total number of nodes in the total parameter domain \(J\) is \((m+1)n\).

The equations (50) and (54) are boundary integral equations on a single boundary component \(C_0\). The Nyström method with the trapezoidal rule with the \(n\) equidistant nodes \(s_{0,k}\), \(k=1,2,\ldots ,n\), are used to discretize the integral equations (50) and (54) to obtain \(n\times n\) linear systems. The equation (48) is a boundary integral equation on \(m+1\) boundary components. The Nyström method with the trapezoidal rule with the \((m+1)n\) equidistant nodes \(s_{j,k}\) for \(j=0,1,\ldots ,m\) and \(k=1,2,\ldots ,n\), are used to discretize the integral equation (48) to obtain \((m+1)n\times (m+1)n\) linear systems (see [19, 20, 23, 24] for details). These linear systems are solved by the generalized minimal residual (GMRES) method [28]. Each iteration of the GMRES method requires a matrix-vector product which can be computed using the Fast Multipole Method (FMM).

The order of the convergence of the Nyström method is based on the order of the convergence of the trapezoidal rule which in turn depends on the smoothness of the integrand. Under suitable regularity assumptions on the integrand, the order of the convergence of the Nyström method is the same as the order of the convergence of the trapezoidal rule (see e.g., [2, p. 109] and [13, p. 227]). If the integrand is \(q\) times continuously differentiable, then the rate of convergence of the trapezoidal rule is \(O(1/n^q)\). For \(C^\infty \) smooth integrands, the rate of convergence is \(O(e^{-cn})\) for some positive constant \(c\) depending on the integrand (see [13, p. 223]). The smoothness of the integrand depends on the smoothness of the boundary of the domain. This convergence property is confirmed clearly in the present paper.

In actual numerical computations, the integral equation (50) is solved using the function FBIE that requires \(O(n\ln n)\) operations, while we need \(O(n)\) operations to solve the integral equation (54) using the function FBIEad. These functions utilize the MATLAB function gmres and the function zfmm2dpart in the MATLAB toolbox FMMLIB2D developed by Greengard and Gimbutas [10] for the solutions of the linear system and the matrix-vector product, respectively. Consequently, the computational cost for solving the integral equation (48) becomes \(O((m+1)n\ln n)\), since we use the function FBIE. In the MATLAB functions FBIE and FBIEad, we choose the parameters \(\mathtt{iprec}=5\), \(\mathtt{restart}=10\), \(\mathtt{gmrestol}=0.5\times 10^{-14}\), \(\mathtt{maxit}=10\), which means that the tolerance of the FMM is \(0.5\times 10^{-15}\), the GMRES method is restarted every \(10\) inner iterations, the tolerance of the GMRES method is \(0.5\times 10^{-15}\), and the maximum number of outer iterations of GMRES method is \(10\). See [23, 24] for more details.

About this article

Check for updates. Verify currency and authenticity via CrossMark

Cite this article

Nasser, M.M.S., Sakajo, T., Murid, A.H.M. et al. A fast computational method for potential flows in multiply connected coastal domains. Japan J. Indust. Appl. Math. 32, 205–236 (2015). https://doi.org/10.1007/s13160-015-0168-6

Download citation

  • Received:

  • Revised:

  • Published:

  • Issue Date:

  • DOI: https://doi.org/10.1007/s13160-015-0168-6

Keywords

Mathematics Subject Classification

Navigation