This paper was converted on www.awesomepapers.org from LaTeX by an anonymous user.
Want to know more? Visit the Converter page.

Evaluation of Inner Products of Implicitly-defined Finite Element Functions on Multiply Connected Planar Mesh Cells

Jeffrey S. Ovall Jeffrey S. Ovall, Fariborz Maseeh Department of Mathematics and Statistics, Portland State University, Portland, OR 97201 jovall@pdx.edu  and  Samuel E. Reynolds Samuel Reynolds, Fariborz Maseeh Department of Mathematics and Statistics, Portland State University, Portland, OR 97201 ser6@pdx.edu
(Date: March 13, 2023)
Abstract.

Recent advancements in finite element methods allows for the implementation of mesh cells with curved edges. In the present work, we develop the tools necessary to employ multiply connected mesh cells, i.e. cells with holes, in planar domains. Our focus is efficient evaluation the H1H^{1} semi-inner product and L2L^{2} inner product of implicitly-defined finite element functions of the type arising in boundary element based finite element methods (BEM-FEM) and virtual element methods (VEM). These functions may be defined by specifying a polynomial Laplacian and a continuous Dirichlet trace. We demonstrate that these volumetric integrals can be reduced to integrals along the boundaries of mesh cells, thereby avoiding the need to perform any computations in cell interiors. The dominating cost of this reduction is solving a relatively small Nyström system to obtain a Dirichlet-to-Neumann map, as well as the solution of two more Nyström systems to obtain an “anti-Laplacian” of a harmonic function, which is used for computing the L2L^{2} inner product. We demonstrate that high-order accuracy can be achieved with several numerical examples.

This work was partially supported by the National Science Foundation through NSF grant DMS-2012285 and NSF RTG grant DMS-2136228.

1. Introduction

Let K2K\subset\mathbb{R}^{2} be an open, bounded, and connected planar region with a piecewise C2C^{2} smooth boundary K\partial K. Assume the boundary K\partial K is partitioned into a finite number of edges, with each edge being C2C^{2} smooth and connected. Edges are permitted to meet at interior angles strictly between 0 and 2π2\pi, so that K\partial K has no cusps or slits. Consider the problem of computing the H1H^{1} semi-inner product and L2L^{2} inner product

(1) Kvwdx,\displaystyle\int_{K}\nabla v\cdot\nabla w~{}dx~{},
(2) Kvw𝑑x,\displaystyle\int_{K}v\,w~{}dx~{},

where v,wv,w are implicitly defined elements of a local Poisson space Vp(K)V_{p}(K), which we define as follows. Fix a natural number pp, and let Vp(K)V_{p}(K) consist of the functions vH1(K)C2(K)v\in H^{1}(K)\cap C^{2}(K) such that:

  1. (a)

    for p=1p=1, vv is harmonic in KK;

  2. (b)

    for p2p\geq 2, the Laplacian Δv\Delta v is a polynomial of degree at most p2p-2 in KK;

  3. (c)

    the trace v|Kv|_{\partial K} is continuous;

  4. (d)

    the trace v|ev|_{e} along any edge eKe\subset\partial K is the trace of a polynomial of degree at most pp (defined over all of 2\mathbb{R}^{2}).

Note, for instance, that Vp(K)V_{p}(K) contains all of the polynomials of degree at most pp. Such subspaces of H1(K)H^{1}(K) arise naturally in the context of finite element methods posed over curvilinear meshes, whose mesh cells have curved edges. Our present interest is extending the application of theses spaces to curvilinear meshes with punctured (i.e. multiply connnected) mesh cells; see Figure 1.

Refer to caption
Refer to caption
Refer to caption
Figure 1. Left: A curvilinear mesh of a square domain featuring a curvilinear interface. Center: A curvilinear mesh of a square domain with circular punctures. Right: A few of the cells found in these meshes.

Such spaces of implicitly-defined functions, whether arising from curvilinear, polygonal, or more conventional tetrahedral meshes, have appeared in the literature frequently in the last several years. Many readers are likely to be familiar with Virtual Element Methods (VEM), which have gained signifcant popularity in the last decade and have a large body of recent publications [7, 8, 5, 9], some of which concern employing curvilinear mesh cells [6, 1, 11, 30]. Our approach is more closely aligned with Boundary Element Based Finite Element Methods (BEM-FEM) and Trefftz methods [10, 15, 17, 16, 18, 24, 25, 26, 29, 28, 27]. In contrast to VEM, we actually construct a basis of Vp(K)V_{p}(K) and do not require projections and so-called stabilization terms. Futhermore, while all computations needed for forming the finite element system do not involve any calculations on the interior of mesh cells, and despite these basis functions being implicitly-defined, we have the option of obtaining information about the interior values, gradient, and higher derivatives of basis functions on the interior of each cell, and therefore those of the finite element solution. The basic framework for our approach was proposed in [2], where we proposed methods for construction of a basis that automatically preserves H1H^{1} conformity, and proved estimates for associated interpolation operators. Subsequently, in [23], we demonstrated that practical computation of H1H^{1} semi-inner products and L2L^{2} inner products of functions in Vp(K)V_{p}(K) are feasible whenever KK is simply connected (i.e. has no holes). Indeed, we showed that these volumetric integrals can be reduced to boundary integrals, thereby circumventing any need to develop 2D quadratures for the unconventional geometries present in curvilinear meshes. The goal of this work is to extend these results to the case where KK is multiply connected.

In Section 2, we briefly summarize how (1) and (2) may be computed in the case when KK is simply connected. In Section 3, we address how these calculations can be modified in order to accomodate multiply connected mesh cells. We provide a handful of numerical illustrations in Section 4, and conclude in Section 5.

2. Simply Connected Mesh Cells

Let KK be simply connected, and suppose that v,wVp(K)v,w\in V_{p}(K). The goal of this section is to provide an overview of some of the techniques used to compute the integrals (1) and (2). In particular, we will see that each of these volumetric integrals can be feasibly reduced to boundary integrals over K\partial K. These were discussed in detail in [23], although since its publication we have made some improvements that reduce computational cost, which we present here.

2.1. The H1H^{1} Semi-inner Product

Given v,wVp(K)v,w\in V_{p}(K), note that Δv\Delta v and Δw\Delta w are given polynomials of degree at most p2p-2. Let PP and QQ be polynomials of degree at most pp satisfying

Δ(vP)=0,Δ(wQ)=0.\displaystyle\Delta(v-P)=0~{},\quad\Delta(w-Q)=0~{}.

As pointed out in [19], such polynomials PP and QQ can be explicitly constructed term-by-term by observing that

(3) Pα(x)=|x|24(|α|+1)!k=0|α|/2(1)k(|α|k)!(k+1)!(|x|24)kΔk(xα)\displaystyle P_{\alpha}(x)=\frac{|x|^{2}}{4(|\alpha|+1)!}\sum_{k=0}^{\left\lfloor|\alpha|/2\right\rfloor}\frac{(-1)^{k}(|\alpha|-k)!}{(k+1)!}\left(\frac{|x|^{2}}{4}\right)^{k}\Delta^{k}(x^{\alpha})

is a polynomial anti-Laplacian of xαx^{\alpha} for a multi-index α\alpha. That is, ΔPα(x)=xα\Delta P_{\alpha}(x)=x^{\alpha}. Note that, in practice, PαP_{\alpha} is obtained only by manipulation of polynomial coefficients, and poses no computational barrier. The same can be said of other operations involving polynomials, such as gradients, etc.

Since the functions

ϕ=vP,ψ=wQ\displaystyle\phi=v-P~{},\quad\psi=w-Q

are harmonic, we have the expansion

(4) Kvwdx=Kϕwdx+KPψdx+KPQdx=Kwϕ𝐧𝑑s+KPψ𝐧𝑑s+KPQdx.\displaystyle\begin{split}\int_{K}\nabla v\cdot\nabla w~{}dx&=\int_{K}\nabla\phi\cdot\nabla w~{}dx+\int_{K}\nabla P\cdot\nabla\psi~{}dx+\int_{K}\nabla P\cdot\nabla Q~{}dx\\ &=\int_{\partial K}w\,\frac{\partial\phi}{\partial\mathbf{n}}~{}ds+\int_{\partial K}P\,\frac{\partial\psi}{\partial\mathbf{n}}~{}ds+\int_{K}\nabla P\cdot\nabla Q~{}dx~{}.\end{split}

For the first two integrals in the final expression, the normal derivatives ϕ/𝐧\partial\phi/\partial\mathbf{n} and ψ/𝐧\partial\psi/\partial\mathbf{n} may be computed using the Dirichlet-to-Neumann map discussed below. Furthermore, PQ\nabla P\cdot\nabla Q is clearly a polynomial of degree at most 2p22p-2. As noted in [3], a straightforward application of the Divergence Theorem shows that

(5) Kxα𝑑x=12+|α|K(x𝐧)xα𝑑s.\displaystyle\int_{K}x^{\alpha}~{}dx=\frac{1}{2+|\alpha|}\int_{\partial K}(x\cdot\mathbf{n})\,x^{\alpha}~{}ds~{}.

In this fashion, we reduce the volumetric integral Kvwdx\int_{K}\nabla v\cdot\nabla w~{}dx to readily computable boundary integrals.

2.2. A Dirichlet-to-Neumann Map

Consider the problem of determining the normal derivative of a harmonic function ϕ\phi given its Dirichlet trace ϕ|K\phi|_{\partial K}. Recall that ϕ^\widehat{\phi} is a harmonic conjugate of a harmonic function ϕ\phi whenever ϕ,ϕ^\phi,\widehat{\phi} are continuously twice differentiable on KK and satisfy the Cauchy-Riemann equations:

ϕx1=ϕ^x2,ϕx2=ϕ^x1.\displaystyle\frac{\partial\phi}{\partial x_{1}}=\frac{\partial\widehat{\phi}}{\partial x_{2}}~{},\quad\frac{\partial\phi}{\partial x_{2}}=-\frac{\partial\widehat{\phi}}{\partial x_{1}}~{}.

Given that ϕ\phi is harmonic on a simply connected domain KK, the existence of a harmonic conjugate of ϕ\phi is guaranteed, and ϕ^\widehat{\phi} is unique up to an additive constant. If K\partial K is smooth, for every xKx\in\partial K it holds that

(6) 12ϕ^(x)+KG(x,y)𝐧(y)ϕ^(y)𝑑S(y)=KG(x,y)ϕ^𝐧(y)𝑑S(y)\displaystyle\frac{1}{2}\,\widehat{\phi}(x)+\int_{\partial K}\dfrac{\partial G(x,y)}{\partial\mathbf{n}(y)}\,\widehat{\phi}(y)~{}dS(y)=\int_{\partial K}G(x,y)\,\dfrac{\partial\widehat{\phi}}{\partial\mathbf{n}}(y)~{}dS(y)

where G(x,y)=(2π)1ln|xy|G(x,y)=-(2\pi)^{-1}\ln|x-y| is the fundamental solution of the Laplacian in 2\mathbb{R}^{2}. Supposing that the boundary K\partial K is traversed counterclockwise, we let 𝐭\mathbf{t} denote the unit tangent vector and 𝐧\mathbf{n} denote the outward unit normal vector, so that the normal and tangential derivatives of ϕ\phi and ϕ^\widehat{\phi} are related by

(7) ϕ𝐧=ϕ^𝐭,ϕ^𝐧=ϕ𝐭,\displaystyle\dfrac{\partial\phi}{\partial\mathbf{n}}=\dfrac{\partial\widehat{\phi}}{\partial\mathbf{t}}~{},\quad\dfrac{\partial\widehat{\phi}}{\partial\mathbf{n}}=-\dfrac{\partial\phi}{\partial\mathbf{t}}~{},

from which the right-hand side in (6) can be computed. Since ϕ^\widehat{\phi} is unique only up to an additive constant, we impose Kϕ^𝑑s=0\int_{K}\widehat{\phi}~{}ds=0, which we add to the left-hand side above to obtain

(8) 12ϕ^(x)+K(G(x,y)𝐧(y)+1)ϕ^(y)𝑑S(y)=KG(x,y)ϕ𝐭(y)𝑑S(y).\displaystyle\frac{1}{2}\,\widehat{\phi}(x)+\int_{\partial K}\left(\dfrac{\partial G(x,y)}{\partial\mathbf{n}(y)}+1\right)\widehat{\phi}(y)~{}dS(y)=-\int_{\partial K}G(x,y)\,\dfrac{\partial\phi}{\partial\mathbf{t}}(y)~{}dS(y)~{}.

In practice, we solve this integral equation numerically for ϕ^\widehat{\phi} on K\partial K using a Nyström method, where the right-hand side is computed using the tangential derivative of ϕ\phi, which is readily accessible from its trace ϕ|K\phi|_{\partial K}. Having obtained values of the harmonic conjugate ϕ^\widehat{\phi} on the boundary K\partial K, we may obtain its tangential derivative ϕ^/𝐭\partial\widehat{\phi}/\partial\mathbf{t} via numerical differentiation, which then yields values of the normal derivative ϕ/𝐧\partial\phi/\partial\mathbf{n}. Indeed, if x(t)x(t) is a sufficiently smooth parameterization of K\partial K and we define G(t)=ϕ^(x(t))G(t)=\widehat{\phi}(x(t)), then

(9) G(t)=ϕ^𝐭(x(t))|x(t)|=ϕ𝐧(x(t))|x(t)|.\displaystyle G^{\prime}(t)=\dfrac{\partial\widehat{\phi}}{\partial\mathbf{t}}(x(t))\,|x^{\prime}(t)|=\dfrac{\partial\phi}{\partial\mathbf{n}}(x(t))\,|x^{\prime}(t)|~{}.

Since G(t)G(t) is periodic, a natural choice to obtain G(t)G^{\prime}(t) is to write a Fourier expansion G(t)=k=ωke𝔦ktG(t)=\sum_{k=-\infty}^{\infty}\omega_{k}\,e^{\mathfrak{i}kt} and obtain an approximation of G(t)G^{\prime}(t) by truncating the series

(10) G(t)=k=𝔦kωke𝔦kt.\displaystyle G^{\prime}(t)=\sum_{k=-\infty}^{\infty}\mathfrak{i}\,k\,\omega_{k}\,e^{\mathfrak{i}kt}~{}.

In practice, a Fast Fourier Transform (FFT) may be used on a discretization of G(t)G(t), and an inverse FFT used on the coefficients 𝔦kωk\mathfrak{i}k\omega_{k} to obtain the approximate values of G(t)G^{\prime}(t).

Details of such calculations, including the case where K\partial K has corners, are discussed in [22].

2.3. The L2L^{2} Inner Product

Let v=ϕ+Pv=\phi+P and w=ψ+Qw=\psi+Q be as above. We have the expansion

(11) Kvw𝑑x\displaystyle\int_{K}v\,w~{}dx =Kϕψ𝑑x+KQϕ𝑑x+KPψ𝑑x+KPQ𝑑x.\displaystyle=\int_{K}\phi\,\psi~{}dx+\int_{K}Q\,\phi~{}dx+\int_{K}P\,\psi~{}dx+\int_{K}P\,Q~{}dx~{}.

Notice that the last integral can be computed with (5), whereas the two middle integrals have the form

Krη𝑑x\displaystyle\int_{K}r\,\eta~{}dx

where rr is a polynomial and η\eta is harmonic. Using (3), let RR be a polynomial such that

ΔR=r,\displaystyle\Delta R=r~{},

then applying Green’s Second Identity, we have

(12) Krη𝑑x=KηΔR𝑑x\displaystyle\int_{K}r\,\eta~{}dx=\int_{K}\eta\,\Delta R~{}dx =K[ηR𝐧Rη𝐧]𝑑s.\displaystyle=\int_{\partial K}\left[\eta\,\dfrac{\partial R}{\partial\mathbf{n}}-R\,\dfrac{\partial\eta}{\partial\mathbf{n}}\right]ds~{}.

The remaining integral to be computed in (11) is the L2L^{2} inner product of the two harmonic functions ϕ\phi and ψ\psi. Toward this end, suppose that Φ\Phi is an anti-Laplacian of the harmonic function ϕ\phi, that is,

ΔΦ=ϕ.\displaystyle\Delta\Phi=\phi~{}.

Then using Green’s Second Identity again yields

(13) Kϕψ𝑑x\displaystyle\int_{K}\phi\,\psi~{}dx =KψΔΦ𝑑x=K[ψΦ𝐧Φψ𝐧]𝑑s.\displaystyle=\int_{K}\psi\,\Delta\Phi~{}dx=\int_{\partial K}\left[\psi\,\dfrac{\partial\Phi}{\partial\mathbf{n}}-\Phi\,\dfrac{\partial\psi}{\partial\mathbf{n}}\right]ds~{}.

The problem of determining such a Φ\Phi, in particular its trace Φ|K\Phi|_{\partial K} and normal derivative Φ/𝐧\partial\Phi/\partial\mathbf{n}, is addressed as follows.

2.4. Anti-Laplacians of Harmonic Functions

Notice that if Φ\Phi is an anti-Laplacian of ϕ\phi, it holds that Φ\Phi is biharmonic, that is, Δ2Φ=0\Delta^{2}\Phi=0. A well-known fact (see, for example, pp. 269 of [12]) is that every biharmonic function is of the form

Φ(x)=Re[z¯f(z)+g(z)],\displaystyle\Phi(x)=\text{Re}\,\big{[}\overline{z}f(z)+g(z)\big{]}~{},

where f,gf,g are some analytic functions, Re[z]\text{Re}\,[z] denotes the real part of zz\in\mathbb{C}, z¯\overline{z} denotes the complex conjugate, and we use the natural identitification of the complex plane with 2\mathbb{R}^{2} via x=(x1,x2)z=x1+𝔦x2x=(x_{1},x_{2})\mapsto z=x_{1}+\mathfrak{i}x_{2}. Since any anti-Laplacian of ϕ\phi will suffice for our purposes, we will take g=0g=0 and write

Φ(x)=x1ρ(x)+x2ρ^(x)4,\displaystyle\Phi(x)=\frac{x_{1}\,\rho(x)+x_{2}\,\widehat{\rho}(x)}{4}~{},

where ρ=4(Ref)\rho=4(\text{Re}\,f) is a harmonic function and ρ^=4(Imf)\widehat{\rho}=4(\text{Im}\,f) is a harmonic conjugate of ρ\rho. It follows from the Cauchy-Riemann equations that

ϕ=ΔΦ=ρx1=ρ^x2,\displaystyle\phi=\Delta\Phi=\dfrac{\partial\rho}{\partial x_{1}}=\dfrac{\partial\widehat{\rho}}{\partial x_{2}}~{},

and that the gradients of ρ\rho and ρ^\widehat{\rho} must take the form

ρ=(ϕϕ^),ρ^=(ϕ^ϕ),\displaystyle\nabla\rho=\begin{pmatrix}\phi\\ -\widehat{\phi}\end{pmatrix}~{},\quad\nabla\widehat{\rho}=\begin{pmatrix}\,\,\widehat{\phi}\;\;\\ \phi\end{pmatrix}~{},

where ϕ^\widehat{\phi} is a harmonic conjugate of ϕ\phi.

Remark 2.1.

Note that the gradient of Φ\Phi is given by

Φ(x)=14(ρ(x)ρ^(x))+14(x1x2x2x1)(ϕ(x)ϕ^(x))\displaystyle\nabla\Phi(x)=\dfrac{1}{4}\begin{pmatrix}\rho(x)\\ \widehat{\rho}(x)\end{pmatrix}+\dfrac{1}{4}\begin{pmatrix}x_{1}&x_{2}\\ x_{2}&-x_{1}\end{pmatrix}\begin{pmatrix}\phi(x)\\ \widehat{\phi}(x)\end{pmatrix}

from which we may obtain the normal derivative Φ/𝐧\partial\Phi/\partial\mathbf{n}.

Remark 2.2.

For any fixed constants aa and bb, we have that

x1(ρ(x)+a)+x2(ρ^(x)+b)4\displaystyle\frac{x_{1}(\rho(x)+a)+x_{2}(\widehat{\rho}(x)+b)}{4}

is also an anti-Laplacian of ϕ\phi, since (ax1+bx2)/4(ax_{1}+bx_{2})/4 is harmonic.

In order to compute ρ\rho and ρ^\widehat{\rho}, consider the following. For the sake of illustration, we assume that the boundary K\partial K is smooth, but a similar approach works when K\partial K is only piecewise smooth, using some minor modifications. Given the traces of ϕ\phi and ϕ^\widehat{\phi} on K\partial K, we have access to the tangential derivative of ρ\rho via

ρ𝐭=(ϕϕ^)𝐭.\displaystyle\dfrac{\partial\rho}{\partial\mathbf{t}}=\begin{pmatrix}\phi\\ -\widehat{\phi}\end{pmatrix}\cdot\mathbf{t}~{}.

Given a sufficiently smooth parameterization x(t):[0,2π]Kx(t):[0,2\pi]\to\partial K of the boundary, we define g:[0,2π]g:[0,2\pi]\to\mathbb{R} by

g(t)=ρ𝐭(x(t))|x(t)|.\displaystyle g(t)=\dfrac{\partial\rho}{\partial\mathbf{t}}\big{(}x(t)\big{)}\,|x^{\prime}(t)|~{}.

By the Fundamental Theorem of Calculus, we may obtain an anti-derivative GG via

G(t)=0tg(τ)𝑑τ=0tρ(x(τ))x(τ)𝑑τ=ρ(x(t)).\displaystyle G(t)=\int_{0}^{t}g(\tau)~{}d\tau=\int_{0}^{t}\nabla\rho(x(\tau))\cdot x^{\prime}(\tau)~{}d\tau=\rho(x(t))~{}.

Note that gg is 2π2\pi-periodic and admits a Fourier expansion

g(t)=k=ωke𝔦kt.\displaystyle g(t)=\sum_{k=-\infty}^{\infty}\omega_{k}\,e^{\mathfrak{i}kt}~{}.

As mentioned above, in practice we truncate this series and compute the Fourier coefficients ωk\omega_{k} using an FFT. Integrating termwise yields

ρ(x(t))=G(t)=C+ω0t+k=k0ωk𝔦ke𝔦kt\displaystyle\rho(x(t))=G(t)=C+\omega_{0}t+\sum_{\begin{subarray}{c}k=-\infty\\ k\neq 0\end{subarray}}^{\infty}\frac{\omega_{k}}{\mathfrak{i}k}\,e^{\mathfrak{i}kt}

for an arbitrary constant CC. In light of Remark 2.2, we may pick CC arbitrarily; for instance, choose C=0C=0. Moreover, since ρ(x(t))\rho(x(t)) is 2π2\pi-periodic, we also see that ω0=0\omega_{0}=0. In the computational context, we apply an inverse FFT to the coefficients 𝔦ωk/k-\mathfrak{i}\,\omega_{k}/k in order to obtain approximate values of ρ\rho on the boundary. We apply an analogous procedure to obtain values of ρ^\widehat{\rho} on the boundary, using the tangential derivative data

ρ^𝐭=(ϕ^ϕ)𝐭\displaystyle\dfrac{\partial\widehat{\rho}}{\partial\mathbf{t}}=\begin{pmatrix}\,\,\widehat{\phi}\;\;\\ \phi\end{pmatrix}\cdot\mathbf{t}

and computing an anti-derivative of

g^(t)=ρ^𝐭(x(t))|x(t)|.\displaystyle\widehat{g}(t)=\dfrac{\partial\widehat{\rho}}{\partial\mathbf{t}}\bigl{(}x(t)\bigr{)}\,|x^{\prime}(t)|~{}.

2.5. Piecewise Smooth Boundaries

In our discussion so far, we have assumed the cell boundary K\partial K to be smooth, but here we will briefly address how the calculations described above can be modified when K\partial K has one or more corners. Elaboration on these modifications can be found in [22].

Each edge of the mesh cell KK is discretized into 2n+12n+1 points, including the endpoints, so that the boundary is discretized into N=2n×(#edges ofK)N=2n\times(\#~{}\text{edges of}~{}K) points, with redundant endpoints being neglected. When an edge eKe\subseteq\partial K is a C2C^{2} smooth closed contour, the boundary points are assumed to be sampled according a strongly regular parameterization x(t)x(t) of ee (i.e. |x(t)|δ|x^{\prime}(t)|\geq\delta for all x(t)ex(t)\in e and for some fixed δ>0\delta>0). In the case where ee terminates at a corner, we employ a Kress reparameterization, defined as follows (cf. [20]). Suppose that x(t)x(t) is a strongly regular parameterization of ee for t[0,2π]t\in[0,2\pi], then define x~(u)=x(τ(u))\widetilde{x}(u)=x(\tau(u)) using

τ(u)=2π[c(u)]σ[c(u)]σ+[1c(u)]σ,c(u)=(121σ)(uπ1)2+1σ(uπ1)+12,u[0,2π]\displaystyle\tau(u)=\frac{2\pi[c(u)]^{\sigma}}{[c(u)]^{\sigma}+[1-c(u)]^{\sigma}}~{},\quad c(u)=\left(\frac{1}{2}-\frac{1}{\sigma}\right)\bigg{(}\frac{u}{\pi}-1\bigg{)}^{2}+\frac{1}{\sigma}\bigg{(}\frac{u}{\pi}-1\bigg{)}+\frac{1}{2}~{},\quad u\in[0,2\pi]

where the Kress parameter σ2\sigma\geq 2 is fixed. The Kress reparameterization is not regular, with x~(u)\widetilde{x}^{\prime}(u) vanishing at the endpoints. Indeed, τ(u)\tau^{\prime}(u) has roots at 0 and 2π2\pi of order σ1\sigma-1, which leads to heavy sampling of the boundary near corners. This effect is amplified for larger values of σ\sigma.

Recall that whenever η\eta has a sufficiently smooth Dirichlet trace, we can compute the weighted tangential derivative

ddtη(x(t))=η𝐭(x(t))|x(t)|\displaystyle\frac{d}{dt}\eta(x(t))=\frac{\partial\eta}{\partial\mathbf{t}}(x(t))\,|x^{\prime}(t)|

by using, for instance, the FFT-based approach described by (10). Replacing x(t)x(t) with a Kress reparameterization leads to difficulty in recovering the values of the tangential derivative from the weighted tangential derivative. The same can be said for the weighted normal derivative

η𝐧(x(t))|x(t)|.\displaystyle\frac{\partial\eta}{\partial\mathbf{n}}(x(t))\,|x^{\prime}(t)|~{}.

Notice, though, that for the sake of computing the boundary integral

Kωη𝐧𝑑s=t0tfω(x(t))η𝐭(x(t))|x(t)|𝑑t\displaystyle\int_{\partial K}\omega\,\frac{\partial\eta}{\partial\mathbf{n}}~{}ds=\int_{t_{0}}^{t_{f}}\omega(x(t))\,\frac{\partial\eta}{\partial\mathbf{t}}(x(t))\,|x^{\prime}(t)|~{}dt

the weighting term |x(t)||x^{\prime}(t)| appears in the Jacobian anyway, so it is natural to keep the tangential and normal derivatives in their weighted form, inlcuding the case when using a Kress reparameterization.

Note that, for the sake of effectively applying an FFT, we assume that the parameter tt is sampled at equispaced nodes tk=hkt_{k}=hk, h=π/nh=\pi/n, 0j2n+10\leq j\leq 2n+1, and likewise for the parameter uu when using a Kress reparameterization.

2.6. Summary of Simply Connected Case

Thus far, we have all the necessary tools to compute the goal integrals (1) and (2) in the case where KK is simply connected. It is worth reiterating that both of these volumetric integrals have been successfully reduced to contour integrals along the boundary K\partial K, and there is no need for 2-dimensional quadratures as all necessary computations occur only on K\partial K.

We have the option, though, of obtaining interior values of vVp(K)v\in V_{p}(K) as follows. Write v=ϕ+Pv=\phi+P as above, and determine a harmonic conjugate ϕ^\widehat{\phi} of ϕ\phi. Then f=ϕ+𝔦ϕ^f=\phi+\mathfrak{i}\widehat{\phi} is an analytic function, and for any fixed interior point z=x1+𝔦x2Kz=x_{1}+\mathfrak{i}x_{2}\in K we have Cauchy’s integral formula

(14) f(z)=12π𝔦Kf(ζ)ζz𝑑ζ.\displaystyle f(z)=\frac{1}{2\pi\mathfrak{i}}\oint_{\partial K}\frac{f(\zeta)}{\zeta-z}~{}d\zeta~{}.

Furthermore, we can obtain interior values of ϕ\nabla\phi by observing that

f=ϕx1𝔦ϕx2,f(z)=12π𝔦Kf(ζ)(ζz)2𝑑ζ.\displaystyle f^{\prime}=\dfrac{\partial\phi}{\partial x_{1}}-\mathfrak{i}\dfrac{\partial\phi}{\partial x_{2}}~{},\quad f^{\prime}(z)=\frac{1}{2\pi\mathfrak{i}}\oint_{\partial K}\frac{f(\zeta)}{(\zeta-z)^{2}}~{}d\zeta~{}.

Interior values of higher derivatives, such as the components of the Hessian, can be obtained in similar fashion if so desired.

We conclude this section with a few remarks about computational complexity. Assume the boundary K\partial K is parameterized and then discretized using NN points. The Nyström system resulting from (8) is dense, though well-conditioned, and simple linear solvers come with a computational cost 𝒪(N3)\mathcal{O}(N^{3}). Using more sophisticated methods, such as GMRES, make an improvement, but in general will never be better than 𝒪(N2)\mathcal{O}(N^{2}). Although even more sophisticated methods, such as those based on hierarchical matrices [14] or hierarchical semiseparable matrices [31], can reduce the computational complexity even further, for relatively small problems such as those considered here, GMRES is sufficient.

The FFT calls used for numerical differentiation have a computational cost of 𝒪(NlogN)\mathcal{O}(N\,\log N), and integration along K\partial K using (using, say, the trapezoid rule) take 𝒪(N)\mathcal{O}(N) operations. Operations on polynomials, such as computing anti-Laplacians, can be performed by manipulation of the coefficients and do not meaningfully contribute to the computational cost. So despite the many terms we have encountered in the expansion of the integrals (1) and (2), in practice these expansions are relatively cheap in comparison to the cost of obtaining the trace of the harmonic conjugate. Note that the latter computation need only happen once for each function vVp(K)v\in V_{p}(K) considered.

Additionally, we can use the notion of trigonometric interpolation to reduce computational cost even further, as was explored in [22]. With the boundary discretized into NN points, we can solve the the Nyström system obtained from (8) as usual to obtain the harmonic conjugate ϕ^\widehat{\phi}. While performing numerical differentiation with FFT as proposed, we have the Fourier coefficients at our disposal, which allows for rapid interpolation to, say, M=2mNM=2^{m}N points. We then compute the boundary integrals obtained from expanding (1) and (2) using standard 1D quadratures (e.g. the trapezoid rule, Simpson’s rule, etc.) on the larger collection of MM points. The heuristics presented in [22] suggest that similar levels of accuracy are achieved as would be in the case where all MM sampled points are used for solving the Nyström system.

In the next two sections, we address how our approach can be modified to accomodate multiply connected mesh cells.

3. Punctured Cells

We now consider the case with KK being multiply connected. That is, we take K0,K1,,Km2K_{0},K_{1},\dots,K_{m}\subset\mathbb{R}^{2} to be simply connected, open, bounded regions, such that:

  1. (a)

    for each 1jm1\leq j\leq m, we have that K¯j\overline{K}_{j} is a proper subset of K0K_{0}—that is, K¯jK0\overline{K}_{j}\subset K_{0};

  2. (b)

    for each 1i<jm1\leq i<j\leq m, the closures of KiK_{i} and KjK_{j} are disjoint—that is, K¯iK¯j=\overline{K}_{i}\cap\overline{K}_{j}=\varnothing.

Additionally, we will require that for each 0jm0\leq j\leq m, the boundary Kj\partial K_{j} is piecewise C2C^{2} smooth without slits or cusps. We then take KK to be the region

K=K0j=1mK¯j.\displaystyle K=K_{0}\setminus\bigcup_{j=1}^{m}\overline{K}_{j}~{}.

We refer to KjK_{j} as the jjth hole (or puncture) of KK. We sometimes call K0\partial K_{0} the outer boundary of KK, and Kj\partial K_{j} the jjth inner boundary. The outer boundary is assumed to be oriented counterclockwise, and the inner boundaries oriented clockwise, with the unit tangential vector 𝐭\mathbf{t}, wherever it is defined, oriented accordingly. The outward unit normal 𝐧\mathbf{n} is therefore always a π/2\pi/2 clockwise rotation of 𝐭\mathbf{t}.

In the simply connected case, we made liberal use of the notion of harmonic conjugates. However, in multiply connected domains, a given harmonic function is not guaranteed to have a harmonic conjugate, e.g. ln|x|\ln|x| on an annulus centered at the origin. The following theorem, which is proved in [4], for example, provides a very helpful characterization of which harmonic functions have a harmonic conjugate.

Theorem 3.1 (Logarithmic Conjugation Theorem).

For each of the mm holes of a multiply connected domain KK, fix a point ξjKj\xi_{j}\in K_{j}. Suppose that ϕ\phi is a harmonic function on KK. Then there are real constants a1,,ama_{1},\dots,a_{m} such that, for each xKx\in K,

ϕ(x)=ψ(x)+j=1majln|xξj|\displaystyle\phi(x)=\psi(x)+\sum_{j=1}^{m}a_{j}\ln|x-\xi_{j}|

where ψ\psi is the real part of an analytic function. In particular, ψ\psi has a harmonic conjugate ψ^\widehat{\psi}.

To simplify the notation in what is to come, it will be convenient to define

(15) λj(x)=ln|xξj|,xK,1jm.\displaystyle\lambda_{j}(x)=\ln|x-\xi_{j}|~{},\quad x\in K~{},\quad 1\leq j\leq m~{}.

In a minor notational shift from Section 2, note that, in this section, we will reserve ψ\psi to represent a “conjugable part” of a harmonic function ϕ\phi, rather than treat ϕ\phi and ψ\psi as independent harmonic functions as we did in the previous section.

3.1. A Dirichlet-to-Neumann Map for Punctured Cells

Our present goal is to determine the coefficients a1,,ama_{1},\dots,a_{m}, as in the statement of Theorem 3.1, given the trace of a harmonic function ϕ\phi. We will see that we simultaneously determine ψ^\widehat{\psi} by solving an integral equation similar to (8), and thereby arrive at the Dirichlet-to-Neumann map

(16) ϕ|Kϕ𝐧=ψ^𝐭+j=1majλj𝐧.\displaystyle\phi|_{\partial K}\mapsto\dfrac{\partial\phi}{\partial\mathbf{n}}=\dfrac{\partial\widehat{\psi}}{\partial\mathbf{t}}+\sum_{j=1}^{m}a_{j}\frac{\partial\lambda_{j}}{\partial\mathbf{n}}~{}.

Assume for now that the boundary K\partial K is C2C^{2} smooth. The case with corners is handled with Kress reparameterization, as discussed in the previous section. Our current task is to generalize the technique described by (8) in the case where KK is multiply connected. An alternative approach to the method we discuss here is presented in [13], which is comparable to our method in terms of cost and accuracy when all boundary edges are smooth, but does not achieve similar levels of accuracy when corners are present.

Let ψ^\widehat{\psi} denote a harmonic conjugate of ψ\psi satisfying Kψ^𝑑s=0\int_{\partial K}\widehat{\psi}~{}ds=0. Just as in the simply connected case, we have

12ψ^(x)+K(G(x,y)𝐧(y)+1)ψ^(y)𝑑S(y)=KG(x,y)ψ^𝐧(y)𝑑S(y).\displaystyle\frac{1}{2}\,\widehat{\psi}(x)+\int_{\partial K}\left(\dfrac{\partial G(x,y)}{\partial\mathbf{n}(y)}+1\right)\widehat{\psi}(y)~{}dS(y)=\int_{\partial K}G(x,y)\,\dfrac{\partial\widehat{\psi}}{\partial\mathbf{n}}(y)~{}dS(y)~{}.

Making the replacement

ψ^𝐧=ψ𝐭=ϕ𝐭+j=1majλj𝐭\displaystyle\dfrac{\partial\widehat{\psi}}{\partial\mathbf{n}}=-\dfrac{\partial\psi}{\partial\mathbf{t}}=-\dfrac{\partial\phi}{\partial\mathbf{t}}+\sum_{j=1}^{m}a_{j}\dfrac{\partial\lambda_{j}}{\partial\mathbf{t}}

and rearranging yields

(17) 12ψ^(x)+K(G(x,y)𝐧(y)+1)ψ^(y)𝑑S(y)j=1majKG(x,y)λj𝐭(y)𝑑S(y)=KG(x,y)ϕ𝐭(y)𝑑S(y).\displaystyle\begin{split}\frac{1}{2}\,\widehat{\psi}(x)+\int_{\partial K}\left(\dfrac{\partial G(x,y)}{\partial\mathbf{n}(y)}+1\right)\widehat{\psi}(y)~{}dS(y)-\sum_{j=1}^{m}a_{j}\int_{\partial K}G(x,y)\,\dfrac{\partial\lambda_{j}}{\partial\mathbf{t}}(y)~{}dS(y)\\[6.0pt] =-\int_{\partial K}G(x,y)\,\dfrac{\partial\phi}{\partial\mathbf{t}}(y)~{}dS(y)~{}.\end{split}

This integral equation is underdetermined due to the mm additional degrees of freedom a1,,ama_{1},\dots,a_{m} in contrast to (8). To resolve this, we multiply both sides of ϕ=ψ+j=1majλj\phi=\psi+\sum_{j=1}^{m}a_{j}\lambda_{j} by the normal derivative λ/𝐧\partial\lambda_{\ell}/\partial\mathbf{n} and integrate over K\partial K to obtain

Kϕλ𝐧𝑑s=Kψλ𝐧𝑑s+j=1majKλjλ𝐧𝑑s.\displaystyle\int_{\partial K}\phi\,\dfrac{\partial\lambda_{\ell}}{\partial\mathbf{n}}~{}ds=\int_{\partial K}\psi\,\dfrac{\partial\lambda_{\ell}}{\partial\mathbf{n}}~{}ds+\sum_{j=1}^{m}a_{j}\int_{\partial K}\lambda_{j}\,\dfrac{\partial\lambda_{\ell}}{\partial\mathbf{n}}~{}ds~{}.

Invoking Green’s Second Identity and the Cauchy-Riemann equations yields

Kψλ𝐧𝑑s=Kλψ𝐧𝑑s=Kλψ^𝐭𝑑s.\displaystyle\int_{\partial K}\psi\,\dfrac{\partial\lambda_{\ell}}{\partial\mathbf{n}}~{}ds=\int_{\partial K}\lambda_{\ell}\,\dfrac{\partial\psi}{\partial\mathbf{n}}~{}ds=\int_{\partial K}\lambda_{\ell}\,\dfrac{\partial\widehat{\psi}}{\partial\mathbf{t}}~{}ds~{}.

To write this in a form more conducive to computation, observe that the Fundamental Theorem of Calculus for contour integrals implies that

K(ψ^λ)𝐭𝑑s=0\displaystyle\int_{\partial K}\dfrac{\partial(\widehat{\psi}\,\lambda_{\ell})}{\partial\mathbf{t}}~{}ds=0

since K\partial K consists of m+1m+1 closed contours. From the Product Rule, we obtain

Kλψ^𝐭𝑑s=Kψ^λ𝐭𝑑s.\displaystyle\int_{\partial K}\lambda_{\ell}\,\dfrac{\partial\widehat{\psi}}{\partial\mathbf{t}}~{}ds=-\int_{\partial K}\widehat{\psi}\,\dfrac{\partial\lambda_{\ell}}{\partial\mathbf{t}}~{}ds~{}.

Therefore, ψ^\widehat{\psi} ought to satisfy

(18) Kψ^λ𝐭𝑑s+j=1majKλjλ𝐧𝑑s=Kϕλ𝐧𝑑s,1m.\displaystyle-\int_{\partial K}\widehat{\psi}\,\dfrac{\partial\lambda_{\ell}}{\partial\mathbf{t}}~{}ds+\sum_{j=1}^{m}a_{j}\int_{\partial K}\lambda_{j}\,\dfrac{\partial\lambda_{\ell}}{\partial\mathbf{n}}~{}ds=\int_{\partial K}\phi\,\dfrac{\partial\lambda_{\ell}}{\partial\mathbf{n}}~{}ds~{},\quad 1\leq\ell\leq m~{}.

In summary, we have obtained a system of equations (17) and (18) for determining the trace of ψ^\widehat{\psi} on K\partial K. Discretizing the boundary into NN points, as we did for the simply connected case, this system of equations yields a square augmented Nyström system in N+mN+m variables, which we may solve with the same techniques used for solving (8). The case when K\partial K has corners can be handled using a Kress reparameterization, just as in the simply connected case.

3.2. Anti-Laplacians of Harmonic Functions on Punctured Cells

Next, we wish to construct an anti-Laplacian of a harmonic function

ϕ=ψ+j=1majλj\displaystyle\phi=\psi+\sum_{j=1}^{m}a_{j}\lambda_{j}

as in the statement of Theorem 3.1. It is simple to verify that

Λj(x)=14|xξj|2(ln|xξj|1)\displaystyle\Lambda_{j}(x)=\frac{1}{4}|x-\xi_{j}|^{2}\big{(}\ln|x-\xi_{j}|-1\big{)}

is an anti-Laplacian of λj(x)=ln|xξj|\lambda_{j}(x)=\ln|x-\xi_{j}|, so if Ψ\Psi is an anti-Laplacian of ψ\psi, then we have that

(19) Φ=Ψ+j=1majΛj\displaystyle\Phi=\Psi+\sum_{j=1}^{m}a_{j}\Lambda_{j}

is an anti-Laplacian of ϕ\phi. The normal derivative can be computed using

Φ=Ψ+j=1majΛj,Λj(x)=14(2ln|xξj|1)(xξj).\displaystyle\nabla\Phi=\nabla\Psi+\sum_{j=1}^{m}a_{j}\nabla\Lambda_{j}~{},\quad\nabla\Lambda_{j}(x)=\frac{1}{4}\bigl{(}2\ln|x-\xi_{j}|-1\bigr{)}\,(x-\xi_{j})~{}.

Analogous to the simply connected case, we might seek potentials ρ,ρ^\rho,\widehat{\rho} of the vector fields

𝐅=(ψψ^),𝐅^=(ψ^ψ).\displaystyle\mathbf{F}=\begin{pmatrix}\psi\\ -\widehat{\psi}\end{pmatrix}~{},\quad\widehat{\mathbf{F}}=\begin{pmatrix}\,\,\widehat{\psi}\;\;\\ \psi\end{pmatrix}~{}.

While 𝐅\mathbf{F} and 𝐅^\widehat{\mathbf{F}} both have vanishing curls, this is not sufficient to guarantee that they are both conservative on a multiply connnected domain—a simple counterexample being

ψ(x)=x1|x|2,ψ^(x)=x2|x|2,\displaystyle\psi(x)=\frac{x_{1}}{|x|^{2}}~{},\quad\widehat{\psi}(x)=-\frac{x_{2}}{|x|^{2}}~{},

taken on a circular annulus centered at the origin.

An elementary observation from complex analysis is that an analytic function g=ψ+𝔦ψ^g=\psi+\mathfrak{i}\widehat{\psi} has an antiderivative if and only if 𝐅=(ψ,ψ^)\mathbf{F}=(\psi,-\widehat{\psi}) and 𝐅^=(ψ^,ψ)\widehat{\mathbf{F}}=(\widehat{\psi},\psi) are conservative vector fields. Indeed, G=ρ+𝔦ρ^G=\rho+\mathfrak{i}\widehat{\rho} satisfies G=gG^{\prime}=g for ρ=𝐅\nabla\rho=\mathbf{F} and ρ^=𝐅^\nabla\widehat{\rho}=\widehat{\mathbf{F}}. This simple fact inspires us to decompose gg as g0+g1g_{0}+g_{1}, where g0g_{0} has an antiderivative and the real part of g1g_{1} has an anti-Laplacian which can be computed a priori. The following proposition reveals such a decomposition. The proof is inspired by that given in [4] and is unlikely to surprise a reader familiar with elementary complex analysis, but we include it for the sake of completeness.

Proposition 3.2.

Let g=ψ+𝔦ψ^g=\psi+\mathfrak{i}\widehat{\psi} be analytic on a multiply connected domain KK. Let ζjKj\zeta_{j}\in K_{j} denote a point fixed in the jjth hole of KK. Then there are complex constants αj\alpha_{j}\in\mathbb{C} such that

g(z)=g0(z)+j=1mαjzζj,\displaystyle g(z)=g_{0}(z)+\sum_{j=1}^{m}\frac{\alpha_{j}}{z-\zeta_{j}}~{},

where g0g_{0} has an antiderivative.

Proof.

For each 1jm1\leq j\leq m, let

αj=12π𝔦Kjg𝑑z\displaystyle\alpha_{j}=-\frac{1}{2\pi\mathfrak{i}}\varointclockwise_{\partial K_{j}}g~{}dz

where Kj\partial K_{j} is the boundary of the jjth hole traversed clockwise, and define

g0(z):=g(z)j=1mαjzζj.\displaystyle g_{0}(z):=g(z)-\sum_{j=1}^{m}\frac{\alpha_{j}}{z-\zeta_{j}}~{}.

We wish to show that g0g_{0} has an antiderivative, i.e. there is an analytic function G0G_{0} for which G0=g0G_{0}^{\prime}=g_{0}. It will suffice to show that γg0𝑑z=0\oint_{\gamma}g_{0}~{}dz=0 for any closed contour γ\gamma in KK. To see why, fix any point z0Kz_{0}\in K and define

G0(z)=γ(z0,z)g0(ζ)𝑑ζ\displaystyle G_{0}(z)=\int_{\gamma(z_{0},z)}g_{0}(\zeta)~{}d\zeta

where γ(z0,z)\gamma(z_{0},z) is any contour starting at z0z_{0} and terminating at zKz\in K. Since this integral would be path independent, it would hold that G0G_{0} is well defined and G0=g0G_{0}^{\prime}=g_{0}.

Let γ\gamma be a closed contour in KK. If γ\gamma is homotopic to a point, then

γg0𝑑z=γg𝑑zj=1mγαjzζj𝑑z=0\displaystyle\oint_{\gamma}g_{0}~{}dz=\oint_{\gamma}g~{}dz-\sum_{j=1}^{m}\oint_{\gamma}\frac{\alpha_{j}}{z-\zeta_{j}}~{}dz=0

holds because gg and (zζj)1(z-\zeta_{j})^{-1} are analytic in simply connected open subset of KK. If γ\gamma is homotopic to K\partial K_{\ell}, then by the Deformation Theorem we have

γg0𝑑z\displaystyle\oint_{\gamma}g_{0}~{}dz =Kg0𝑑z\displaystyle=\oint_{\partial K_{\ell}}g_{0}~{}dz
=Kg𝑑zj=1mKαjzζj𝑑z\displaystyle=\oint_{\partial K_{\ell}}g~{}dz-\sum_{j=1}^{m}\oint_{\partial K_{\ell}}\frac{\alpha_{j}}{z-\zeta_{j}}~{}dz
=2π𝔦αKαzζ𝑑z=0.\displaystyle=-2\pi\mathfrak{i}\alpha_{\ell}-\oint_{\partial K_{\ell}}\frac{\alpha_{\ell}}{z-\zeta_{\ell}}~{}dz=0~{}.

Note that the same conclusion holds when γ\gamma is oriented opposite to Kj\partial K_{j}. Finally, if γ\gamma is any closed contour in KK that is not homotopic to a point, it holds that γ\gamma can be decomposed as a closed chain (cf. Theorem 2.4 in [21])

γm1γ1++mnγn,nm\displaystyle\gamma\sim m_{1}\gamma_{\ell_{1}}+\cdots+m_{n}\gamma_{\ell_{n}}~{},\quad n\leq m

with γj\gamma_{\ell_{j}} being homotopic to Kj\partial K_{j} and mjm_{j} being the winding number of γ\gamma with respect to ζj\zeta_{j}. Then

γg0𝑑z=j=1nmjγjg0𝑑z=0\displaystyle\oint_{\gamma}g_{0}~{}dz=\sum_{j=1}^{n}m_{j}\oint_{\gamma_{\ell_{j}}}g_{0}~{}dz=0

holds by the previous conclusion. Therefore γg0𝑑z=0\int_{\gamma}g_{0}~{}dz=0 for any closed contour in γ\gamma. As remarked above, this is sufficient to show that g0g_{0} has an antiderivative. ∎

Remark 3.3.

For αj=bj+𝔦cj\alpha_{j}=b_{j}+\mathfrak{i}c_{j} in the proof above, we have

(20) bj=12πKj(ψ^,ψ)𝐭𝑑s,cj=12πKj(ψ,ψ^)𝐭𝑑s\displaystyle b_{j}=-\frac{1}{2\pi}\int_{\partial K_{j}}(\widehat{\psi},\psi)\cdot\mathbf{t}~{}ds~{},\quad c_{j}=\frac{1}{2\pi}\int_{\partial K_{j}}(\psi,-\widehat{\psi})\cdot\mathbf{t}~{}ds

are real-valued contour integrals around the boundary of the jjth hole. Again, note that the inner boundary Kj\partial K_{j} is taken to be oriented clockwise, with 𝐭\mathbf{t} behaving accordingly.

Using the above results, we may decompose g=ψ+𝔦ψ^g=\psi+\mathfrak{i}\widehat{\psi} into one part that has an antiderivative

g0=ψ0+𝔦ψ^0,\displaystyle g_{0}=\psi_{0}+\mathfrak{i}\widehat{\psi}_{0}~{},

and another part that is a linear combination of rational functions

j=1mαjzζj\displaystyle\sum_{j=1}^{m}\frac{\alpha_{j}}{z-\zeta_{j}} =j=1m(bjμjcjμ^j)+𝔦j=1m(cjμj+bjμ^j),(μjμ^j)=ln|xξj|,\displaystyle=\sum_{j=1}^{m}(b_{j}\mu_{j}-c_{j}\widehat{\mu}_{j})+\mathfrak{i}\sum_{j=1}^{m}(c_{j}\mu_{j}+b_{j}\widehat{\mu}_{j})~{},\quad\begin{pmatrix}\mu_{j}\\ -\widehat{\mu}_{j}\end{pmatrix}=\nabla\ln|x-\xi_{j}|~{},

where we use ζj=ξj(1,𝔦)\zeta_{j}=\xi_{j}\cdot(1,\mathfrak{i}), with ξj\xi_{j} being chosen when Theorem 3.1 is applied. Easy calculations verify that

Mj(x;bj,cj)\displaystyle M_{j}(x;b_{j},c_{j}) =12(bj,cj)(xξj)ln|xξj|\displaystyle=\frac{1}{2}(b_{j},c_{j})\cdot(x-\xi_{j})\ln|x-\xi_{j}|

satisfies ΔMj=bjμjcjμ^j\Delta M_{j}=b_{j}\mu_{j}-c_{j}\widehat{\mu}_{j}, and whose normal derivative can be directly obtained from

Mj(x;bj,cj)=12(bjμjcjμ^j)(xξj)+12ln|xξj|(bj,cj).\displaystyle\nabla M_{j}(x;b_{j},c_{j})=\frac{1}{2}(b_{j}\,\mu_{j}-c_{j}\,\widehat{\mu}_{j})\;(x-\xi_{j})+\frac{1}{2}\ln|x-\xi_{j}|\;(b_{j},c_{j})~{}.

Suppose that we have computed bj,cj,1jmb_{j},c_{j},~{}1\leq j\leq m, using Remark 3.3 and thereby obtained g0=ψ0+𝔦ψ^0g_{0}=\psi_{0}+\mathfrak{i}\widehat{\psi}_{0} as in Proposition 3.2. Since g0g_{0} has an antiderivative, we have that the vector fields

𝐅0=(ψ0ψ^0),𝐅^0=(ψ^0ψ0)\displaystyle\mathbf{F}_{0}=\begin{pmatrix}\psi_{0}\\ -\widehat{\psi}_{0}\end{pmatrix}~{},\quad\widehat{\mathbf{F}}_{0}=\begin{pmatrix}\widehat{\psi}_{0}\\ \psi_{0}\end{pmatrix}

are conservative. Let ρ0,ρ^0\rho_{0},\widehat{\rho}_{0} be their corresponding potentials, then it follows from the Cauchy-Riemann equations that ρ^0\widehat{\rho}_{0} is a harmonic conjugate of ρ0\rho_{0}, and their Neumann data is supplied with

ρ0𝐧=𝐅0𝐧,ρ^0𝐧=𝐅^0𝐧.\displaystyle\dfrac{\partial\rho_{0}}{\partial\mathbf{n}}=\mathbf{F}_{0}\cdot\mathbf{n}~{},\quad\dfrac{\partial\widehat{\rho}_{0}}{\partial\mathbf{n}}=\widehat{\mathbf{F}}_{0}\cdot\mathbf{n}~{}.

The solution to the Neumann problem Δρ0=0\Delta\rho_{0}=0, ρ0𝐧=𝐅0𝐧\nabla\rho_{0}\cdot\mathbf{n}=\mathbf{F}_{0}\cdot\mathbf{n} is unique up to an additive constant, and similarly for ρ^0\widehat{\rho}_{0}. Given the conclusion of Remark 2.2, we may fix these constants arbitrarily, and we make the choice to impose

Kρ0𝑑s=0,Kρ^0𝑑s=0.\displaystyle\int_{\partial K}\rho_{0}~{}ds=0~{},\quad\int_{\partial K}\widehat{\rho}_{0}~{}ds=0~{}.

Using the same techniques used to solve (8), we may determine the traces of ρ,ρ^\rho,\widehat{\rho} by solving

(21) 12ρ0(x)+K(G(x,y)𝐧(y)+1)ρ0(y)𝑑S(y)\displaystyle\frac{1}{2}\,\rho_{0}(x)+\int_{\partial K}\left(\dfrac{\partial G(x,y)}{\partial\mathbf{n}(y)}+1\right)\rho_{0}(y)~{}dS(y) =KG(x,y)𝐅0(y)𝐧(y)𝑑S(y),\displaystyle=\int_{\partial K}G(x,y)\,\mathbf{F}_{0}(y)\cdot\mathbf{n}(y)~{}dS(y)~{},
(22) 12ρ^0(x)+K(G(x,y)𝐧(y)+1)ρ^0(y)𝑑S(y)\displaystyle\frac{1}{2}\,\widehat{\rho}_{0}(x)+\int_{\partial K}\left(\dfrac{\partial G(x,y)}{\partial\mathbf{n}(y)}+1\right)\widehat{\rho}_{0}(y)~{}dS(y) =KG(x,y)𝐅^0(y)𝐧(y)𝑑S(y).\displaystyle=\int_{\partial K}G(x,y)\,\widehat{\mathbf{F}}_{0}(y)\cdot\mathbf{n}(y)~{}dS(y)~{}.

In summary, we have the following recipe to determine an anti-Laplacian Φ\Phi of a given harmonic function ϕ\phi on a multiply connected domain KK:

  1. (a)

    Write ϕ=ψ+jajλj\phi=\psi+\sum_{j}a_{j}\lambda_{j} as in Theorem 3.1, and determine ψ^\widehat{\psi} and a1,,ama_{1},\dots,a_{m} using (17) and (18).

  2. (b)

    Determine b1,,bm,c1,,cmb_{1},\dots,b_{m},c_{1},\dots,c_{m} by computing (20).

  3. (c)

    Set

    ψ0=ψj=1m(bjμjcjμ^j),ψ^0=ψ^j=1m(cjμj+bjμ^j).\displaystyle\psi_{0}=\psi-\sum_{j=1}^{m}(b_{j}\mu_{j}-c_{j}\widehat{\mu}_{j})~{},\quad\widehat{\psi}_{0}=\widehat{\psi}-\sum_{j=1}^{m}(c_{j}\mu_{j}+b_{j}\widehat{\mu}_{j})~{}.
  4. (d)

    Solve (21) and (22) using 𝐅0=(ψ0,ψ^0)\mathbf{F}_{0}=(\psi_{0},-\widehat{\psi}_{0}) and 𝐅^0=(ψ^0,ψ0)\widehat{\mathbf{F}}_{0}=(\widehat{\psi}_{0},\psi_{0}).

  5. (e)

    Set

    Φ(x)\displaystyle\Phi(x) =14(x1ρ0(x)+x2ρ^0(x))+j=1mMj(x;bj,cj)+j=1majΛj(x).\displaystyle=\frac{1}{4}\big{(}x_{1}\rho_{0}(x)+x_{2}\widehat{\rho}_{0}(x)\big{)}+\sum_{j=1}^{m}M_{j}(x;b_{j},c_{j})+\sum_{j=1}^{m}a_{j}\Lambda_{j}(x)~{}.

3.3. Summary of Multiply Connected Case

The strategies outlined in Section 2 for expanding the H1H^{1} semi-inner product and L2L^{2} inner product and reducing each term to integrals along the boundary K\partial K still hold in the multiply connected case. The two primary ways in which the computations have changed in the multiply connected case is (i) the Dirichlet-to-Neumann map for harmonic functions, and (ii) obtaining an anti-Laplacian of a harmonic function.

We also note that the FFT-based method (10) can still be used to obtain ψ^/𝐭\partial\widehat{\psi}/\partial\mathbf{t} from ψ^|K\widehat{\psi}|_{\partial K}, but must be used on each component K0,K1,,Km\partial K_{0},\partial K_{1},\dots,\partial K_{m} of the boundary separately. An astute reader may also notice that similar concerns would thwart our attempts to obtain ρ0,ρ^0\rho_{0},\widehat{\rho}_{0} with an FFT-based approach when KK is multiply connected, in contrast to the simply connected case.

Should we wish to obtain interior values of

v(x)=ψ(x)+P(x)+j=1majλj(x),\displaystyle v(x)=\psi(x)+P(x)+\sum_{j=1}^{m}a_{j}\lambda_{j}(x)~{},

which we emphasize is optional, we may proceed as follows. The values of PP and λj\lambda_{j} may be obtained through direct computation. To see how to obtain interior values of ψ\psi, consider the complex contour integral of f=ψ+𝔦ψ^f=\psi+\mathfrak{i}\widehat{\psi} along the outer boundary K0\partial K_{0}. Let γ\gamma be the positively oriented boundary of a closed disk that lies in KK and is centered at a fixed zKz\in K. Then K0\partial K_{0} can be decomposed into the chain

K0γK1Km\displaystyle\partial K_{0}\sim\gamma-\partial K_{1}-\cdots-\partial K_{m}

with the inner boundaries oriented clockwise. So integrating and applying Cauchy’s integral formula to γ\gamma yields

K0f(ζ)ζz𝑑ζ=2π𝔦f(z)j=1mKjf(ζ)ζz𝑑ζ,\displaystyle\oint_{\partial K_{0}}\frac{f(\zeta)}{\zeta-z}~{}d\zeta=2\pi\mathfrak{i}f(z)-\sum_{j=1}^{m}\oint_{\partial K_{j}}\frac{f(\zeta)}{\zeta-z}~{}d\zeta~{},

and rearranging gives the familiar formula

f(z)=12π𝔦Kf(ζ)ζz𝑑ζ,zK,\displaystyle f(z)=\frac{1}{2\pi\mathfrak{i}}\oint_{\partial K}\frac{f(\zeta)}{\zeta-z}~{}d\zeta~{},\quad z\in K~{},

provided that we orient the boundary components properly. The same argument can be applied to show that the components of the gradient can be obtained in the interior by applying the above result to ff^{\prime}, and similarly for higher derivatives.

4. Numerical Examples

Refer to caption
Refer to caption
Refer to caption
Figure 2. Punctured cells used for numerical experiments in Section 4.

For each of the following examples, we pick explicit functions v,wH1(K)C2(K)v,w\in H^{1}(K)\cap C^{2}(K) of the form

v=ϕ+P,w=ψ+Q,\displaystyle v=\phi+P~{},\quad w=\psi+Q~{},

where ϕ,ψ\phi,\psi are harmonic functions and P,QP,Q are polynomials. While we will pick v,wv,w to be explicitly-defined, note that only the boundary traces v|K,w|Kv|_{\partial K},w|_{\partial K} and the coefficients of the polynomial Laplacians Δv,Δw\Delta v,\Delta w are supplied as input for the computations. Using explicitly defined functions is convenient for convergence studies, but in practice the computations will work the same for implicitly-defined functions.

Unless otherwise noted, we keep the Kress parameter σ=7\sigma=7 fixed, as we observed that this value of the Kress parameter gave satisfactory results under a wide range of circumstances. Boundary integrals are evaluated by applying the trapezoid rule.

In each example, reference values for the H1H^{1} and L2L^{2} (semi-)inner products were obtained with Wolfram Mathematica. The mesh cell KK was defined using ImplicitRegion[], and volumetric integals were computed using NIntegrate[]. We remark that our implementation, albeit far from optimized, was significantly faster than Mathematica for computing these kinds of integrals. (In fairness, we compute these integrals as boundary integrals, whereas it seems that Mathematica implements general-purpose adaptive 2D quadrature over the volume, so perhaps the comparison in performance is unjustified.) For each reference value, we also give the error estimate that was provided by Mathematica.

Each of the numerical examples in this section is presented with Jupyter Notebook in the GitHub repository

https://github.com/samreynoldsmath/PuncturedFEM

which also contains the Python source code implementing the numerical methods we have described in this work.

Example 4.1 (Punctured Square).
Table 1. Errors in intermediate quantities for vv on the square with a circular hole in Example 4.1: the logarithmic coefficient a1a_{1}, the trace of the harmonic conjugate ψ^\widehat{\psi}, the weighted normal derivative wnd, and the trace of the anit-Laplacian Φ\Phi. The latter three are given in the L2L^{2} boundary norm.
nn a1a_{1} error ψ^\widehat{\psi} error wnd error Φ\Phi error
4 1.7045e-03 3.5785e-02 2.8201e-01 8.3234e-03
8 3.5531e-07 2.6597e-04 1.2855e-03 3.9429e-05
16 1.0027e-09 1.1884e-06 3.7415e-06 3.3785e-07
32 3.5905e-13 2.3095e-09 1.0434e-08 1.9430e-09
64 1.8874e-14 1.6313e-12 6.4780e-11 7.0728e-12

Let K0=(0,1)×(0,1)K_{0}=(0,1)\times(0,1) be a unit square, and let K1={x2:|xξ|<1/16}K_{1}=\{x\in\mathbb{R}^{2}:|x-\xi|<1/16\} be a disk of radius 1/41/4 centered at ξ=(1/2,1/2)\xi=(1/2,1/2). The cell under consideration is the square with the disk removed, K=K0K¯1K=K_{0}\setminus\overline{K}_{1}, as depicted in the left-hand side of Figure 2. Define

v(x)=ex1cosx2+ln|xξ|+x13x2+x1x23.\displaystyle v(x)=e^{x_{1}}\cos x_{2}+\ln|x-\xi|+x_{1}^{3}x_{2}+x_{1}x_{2}^{3}~{}.

Notice that vv can be decomposed into

v=ϕ+P,ϕ(x)=ex1cosx2+ln|xξ|,P(x)=x13x2+x1x23,\displaystyle v=\phi+P~{},\quad\phi(x)=e^{x_{1}}\cos x_{2}+\ln|x-\xi|~{},\quad P(x)=x_{1}^{3}x_{2}+x_{1}x_{2}^{3}~{},

with ϕ\phi being harmonic and the polynomial PP having the Laplacian

Δv(x)=ΔP(x)=12x1x2.\displaystyle\Delta v(x)=\Delta P(x)=12x_{1}x_{2}~{}.

Furthermore, ϕ\phi can be decomposed as

ϕ(x)=ψ(x)+a1ln|xξ1|\displaystyle\phi(x)=\psi(x)+a_{1}\ln|x-\xi_{1}|

with a1=1a_{1}=1 and ξ1=ξ=(1/2,1/2)\xi_{1}=\xi=(1/2,1/2). In Table 1, we report the errors in the computed approximations of a1a_{1}, ψ^\widehat{\psi}, the weighted normal derivative (wnd) of ϕ\phi, and the trace of the anti-Laplacian Φ\Phi. Since a harmonic conjugate ψ^\widehat{\psi} is unique only up to an additive constant, we compute the error as

(K(ψ^exactψ^computed+c)2𝑑s)1/2,\displaystyle\left(\int_{\partial K}(\widehat{\psi}_{\text{exact}}-\widehat{\psi}_{\text{computed}}+c)^{2}~{}ds\right)^{1/2}~{},

where cc is a constant minimizing the L2(K)L^{2}(\partial K) distance between the traces of ψ^exact\widehat{\psi}_{\text{exact}} and ψ^computed\widehat{\psi}_{\text{computed}}, namely

c=1|K|K(ψ^exactψ^computed)𝑑s.\displaystyle c=-\frac{1}{|\partial K|}\int_{\partial K}(\widehat{\psi}_{\text{exact}}-\widehat{\psi}_{\text{computed}})~{}ds~{}.

In general, an anti-Laplacian Φ\Phi is unique only up to the addition of a harmonic function, which is much less restrictive. However, we see from Remark 2.2 that two different anti-Laplacians computed using the techniques described will differ by the addition of a linear function c1x1+c2x2c_{1}x_{1}+c_{2}x_{2} for some constants c1,c2c_{1},c_{2}. It follows the that difference between Φcomputed\Phi_{\text{computed}} and

Φexact(x)=14ex1(x1cosx2+x2sinx2)+14|xξ|2(ln|xξ|1)\displaystyle\Phi_{\text{exact}}(x)=\frac{1}{4}e^{x_{1}}\big{(}x_{1}\cos x_{2}+x_{2}\sin x_{2}\big{)}+\frac{1}{4}|x-\xi|^{2}\big{(}\ln|x-\xi|-1\big{)}

ought to be well-modeled by c1x1+c2x2c_{1}x_{1}+c_{2}x_{2}, and we choose to determine optimal constants c1,c2c_{1},c_{2} via least-squares. Upon doing so, we compute the error in Φ\Phi with

(K(ΦexactΦcomputed+c1x1+c2x2)2𝑑s)1/2.\displaystyle\left(\int_{\partial K}(\Phi_{\text{exact}}-\Phi_{\text{computed}}+c_{1}x_{1}+c_{2}x_{2})^{2}~{}ds\right)^{1/2}~{}.

In Table 1, we list the absolute error in the logarithmic coefficient a1a_{1}, as well as the L2L^{2} boundary norm of the errors in the harmonic conjugate trace ψ^|K\widehat{\psi}|_{\partial K}, the weighted normal derivative of ϕ\phi, and the trace of the anti-Laplacian Φ\Phi. We observe superlinear convergence in these quantities with respect to the boundary discretization parameter nn. In Table 2, we provide the errors in the H1H^{1} semi-inner product and L2L^{2} inner product of vv and ww, where

w(x)=x10.5(x10.5)2+(y0.5)2+x13+x1x22.\displaystyle w(x)=\frac{x_{1}-0.5}{(x_{1}-0.5)^{2}+(y-0.5)^{2}}+x_{1}^{3}+x_{1}x_{2}^{2}~{}.

The reference values

Kvwdx\displaystyle\int_{K}\nabla v\cdot\nabla w~{}dx 4.46481780319135±9.9241×1015,\displaystyle\approx 4.46481780319135\pm 9.9241\times 10^{-15}~{},
Kvw𝑑x\displaystyle\int_{K}v\,w~{}dx 1.39484950156676±2.7256×1016\displaystyle\approx 1.39484950156676\pm 2.7256\times 10^{-16}

were obtained with Mathematica, as noted above. Notice that the convergence trends in these quantities parallels those of the intermediate quantities found in Table 1.

Table 2. Absolute errors in the H1H^{1} semi-inner product and L2L^{2} inner product for the Punctured Square (Example 4.1), Pac-Man (Example 4.2), and Ghost (Example 4.3).
Punctured Square Pac-Man Ghost
nn H1H^{1} error L2L^{2} error H1H^{1} error L2L^{2} error H1H^{1} error L2L^{2} error
4 1.5180e-02 3.4040e-03 7.2078e-02 2.1955e-02 2.4336e+00 5.9408e-03
8 2.6758e-04 8.3812e-05 3.3022e-02 5.4798e-03 1.0269e-02 1.3086e-02
16 8.4860e-07 3.8993e-08 1.2495e-03 1.0159e-04 1.5273e-03 1.3783e-04
32 1.0860e-09 2.8398e-11 6.5683e-06 4.6050e-07 5.3219e-07 8.1747e-07
64 9.5390e-13 1.1036e-13 4.6834e-08 2.1726e-09 1.5430e-11 4.6189e-11
Example 4.2 (Pac-Man).

For our next example, we consider the Pac-Man domain K=K0K¯1K=K_{0}\setminus\overline{K}_{1}, where K0K_{0} is the sector of the unit circle centered at the origin for θ0<θ<2πθ0\theta_{0}<\theta<2\pi-\theta_{0}, θ0=π/6\theta_{0}=\pi/6, and K1K_{1} is a disk of radius 1/41/4 centered at (1/10,1/2)(-1/10,1/2). (See Figure 2, center.) The function

v(x)=rαsin(αθ)\displaystyle v(x)=r^{\alpha}\,\sin(\alpha\theta)

specified in polar coordinates (r,θ)(r,\theta) is harmonic everywhere except possibly the origin for any fixed α>0\alpha>0. For the choice 0<α<10<\alpha<1, we have that the gradient of vv is unbounded near the origin; indeed, |v|=αrα1|\nabla v|=\alpha r^{\alpha-1}. Noting that the boundary K\partial K intersects the origin, it follows that normal derivative of vv is also unbounded near the origin. To test whether our strategy is viable for such functions, we compute the H1H^{1} seminorm and L2L^{2} norm of vv for α=1/2\alpha=1/2. The results are given in Table 2, using the reference values

K|v|2𝑑x\displaystyle\int_{K}|\nabla v|^{2}~{}dx 1.20953682240855912±2.3929×1018,\displaystyle\approx 1.20953682240855912\pm 2.3929\times 10^{-18}~{},
Kv2𝑑x\displaystyle\int_{K}v^{2}~{}dx 0.97793431492143971±3.6199×1019.\displaystyle\approx 0.97793431492143971\pm 3.6199\times 10^{-19}~{}.

Although convergence is still rapid in this case, it is less so than in the previous example, as may be expected when considering more challenging integrands, as we have here.

Example 4.3 (Ghost).

Our final example demonstrates that our method works when KK has more than one puncture, as well as when the boundary has edges that are not line segments or circlular arcs. The lower edge of the Ghost is the sinusoid x2=0.1sin(6πx1)x_{2}=0.1\sin(6\pi x_{1}) for 0<x1<10<x_{1}<1, the sides are vertical line segments, the upper boundary is a circular arc of radius 1/21/2 centered at (0.5,0.8)(0.5,0.8), and the inner boundaries are ellipses with 0.150.15 and 0.20.2 as the semi-minor and semi-major axes, respectively, with one centered at (0.25,0.7)(0.25,0.7) and the other at (0.75,0.7)(0.75,0.7). (See Figure 2, right.) The functions we choose to integrate are

v(x)\displaystyle v(x) =x10.25(x10.25)2+(x20.7)2+x13x2+x22,\displaystyle=\frac{x_{1}-0.25}{(x_{1}-0.25)^{2}+(x_{2}-0.7)^{2}}+x_{1}^{3}x_{2}+x_{2}^{2}~{},
w(x)\displaystyle w(x) =ln[(x10.75)2+(x20.7)2]+x12x22x1x23.\displaystyle=\ln\big{[}(x_{1}-0.75)^{2}+(x_{2}-0.7)^{2}\big{]}+x_{1}^{2}x_{2}^{2}-x_{1}x_{2}^{3}~{}.

Notice that these functions have singularities in the holes of KK, one rational and the other logarithmic. In Table 2, we compare the computed H1H^{1} and L2L^{2} (semi-)inner products to the reference values

Kvwdx\displaystyle\int_{K}\nabla v\cdot\nabla w~{}dx 6.311053612386±3.6161×1012,\displaystyle\approx-6.311053612386\pm 3.6161\times 10^{-12}~{},
Kvw𝑑x\displaystyle\int_{K}v\,w~{}dx 3.277578636852±1.0856×1013.\displaystyle\approx-3.277578636852\pm 1.0856\times 10^{-13}~{}.

We conjecture that for n=4n=4, the error in the H1H^{1} semi-inner product is significantly worse than in the other two examples because this level of boundary discretization is insufficient to fully capture the oscillatory behavior of the lower edge.

Lastly, we demonstrate the ability to obtain interior values of vv and v\nabla v in the interior of KK in Figure 3. All computations used to generate these values used the boundary discretization parameter n=64n=64. Due to the factor(s) of ζz\zeta-z in the denominator of the integrand in Cauchy’s integral formula, where ζ\zeta is a point on the boundary and zz is the point in the interior where we wish to evaluate vv, notice that the error in evaluation is considerably greater when zz is near the boundary. For this reason, we choose to not to perform the evaluation if |ζz|<ε|\zeta-z|<\varepsilon is found to hold for some boundary point ζK\zeta\in\partial K and a fixed ϵ>0\epsilon>0. For this example, we chose ε=0.02\varepsilon=0.02.

Refer to caption
Figure 3. Interior values of vv and v\nabla v in Example 4.3. In the left column, we have the computed values of vv on top, and the base 10 logarithm of the absolute error on bottom. This setup is repeated in the middle and right columns for the components of the gradient.

5. Conclusion

We have seen that, given implicitly-defined functions v,wv,w of the type that arise in a finite element setting, we can efficiently compute the H1H^{1} semi-inner product and L2L^{2} inner product of vv and ww over multiply connected curvilinear mesh cells. All of the necessary computations occur only on the boundary of mesh cells, although we have the option of obtaining interior values of these functions and their derivatives using quantities obtained in the course of these calculations. Two key computations needed for our approach are (i) a Dirichlet-to-Neumann map for harmonic functions, and (ii) finding the trace and normal derivative of an anti-Laplacian of a harmonic function. We have described how both of these computations may be feasiblely accomplished on planar curvilinear mesh cells with holes. Numerical examples demonstrate superlinear convergence with respect to the number of sampled boundary points.

Funding

This work was partially supported by the National Science Foundation through NSF grant DMS-2012285 and NSF RTG grant DMS-2136228.

Code availability

Python code used for the experiments in this manuscript is publicly available at https://github.com/samreynoldsmath/PuncturedFEM

References

  • [1] F. Aldakheel, B. Hudobivnik, E. Artioli, L. Beirão da Veiga, and P. Wriggers. Curvilinear virtual elements for contact mechanics. Comput. Methods Appl. Mech. Engrg., 372:113394, 19, 2020.
  • [2] A. Anand, J. S. Ovall, S. E. Reynolds, and S. Weißer. Trefftz Finite Elements on Curvilinear Polygons. SIAM J. Sci. Comput., 42(2):A1289–A1316, 2020.
  • [3] P. F. Antonietti, P. Houston, and G. Pennesi. Fast numerical integration on polytopic meshes with applications to discontinuous Galerkin finite element methods. J. Sci. Comput., 77(3):1339–1370, 2018.
  • [4] S. Axler. Harmonic functions from a complex analysis viewpoint. Amer. Math. Monthly, 93(4):246–258, 1986.
  • [5] L. Beirão da Veiga, F. Brezzi, L. D. Marini, and A. Russo. Polynomial preserving virtual elements with curved edges. Math. Models Methods Appl. Sci., 30(8):1555–1590, 2020.
  • [6] L. Beirão da Veiga, A. Russo, and G. Vacca. The virtual element method with curved edges. ESAIM Math. Model. Numer. Anal., 53(2):375–404, 2019.
  • [7] L. Beirão da Veiga, F. Brezzi, A. Cangiani, G. Manzini, L. D. Marini, and A. Russo. Basic principles of virtual element methods. Math. Models Methods Appl. Sci., 23(1):199–214, 2013.
  • [8] L. Beirão da Veiga, F. Brezzi, L. D. Marini, and A. Russo. The hitchhiker’s guide to the virtual element method. Math. Models Methods Appl. Sci., 24(8):1541–1573, 2014.
  • [9] F. Brezzi and L. D. Marini. Virtual element and discontinuous Galerkin methods. In Recent developments in discontinuous Galerkin finite element methods for partial differential equations, volume 157 of IMA Vol. Math. Appl., pages 209–221. Springer, Cham, 2014.
  • [10] D. Copeland, U. Langer, and D. Pusch. From the boundary element domain decomposition methods to local Trefftz finite element methods on polyhedral meshes. In Domain decomposition methods in science and engineering XVIII, volume 70 of Lect. Notes Comput. Sci. Eng., pages 315–322. Springer, Berlin, 2009.
  • [11] F. Dassi, A. Fumagalli, D. Losapio, S. Scialò, A. Scotti, and G. Vacca. The mixed virtual element method on curved edges in two dimensions. Comput. Methods Appl. Mech. Engrg., 386:Paper No. 114098, 25, 2021.
  • [12] P. R. Garabedian. Partial Differential Equations. John Wiley & Sons, New York, 1964.
  • [13] A. Greenbaum, L. Greengard, and G. B. McFadden. Laplace’s equation and the Dirichlet-to-Neumann map in multiply connected domains. Journal of Computational Physics, 105(1):267–278, 1993.
  • [14] W. Hackbusch. Hierarchical matrices: algorithms and analysis, volume 49 of Springer Series in Computational Mathematics. Springer, Heidelberg, 2015.
  • [15] H. Hakula. Resolving boundary layers with harmonic extension finite elements. Mathematical and Computational Applications, 27(4), 2022.
  • [16] C. Hofreither. L2L_{2} error estimates for a nonstandard finite element method on polyhedral meshes. J. Numer. Math., 19(1):27–39, 2011.
  • [17] C. Hofreither, U. Langer, and C. Pechstein. Analysis of a non-standard finite element method based on boundary integral operators. Electron. Trans. Numer. Anal., 37:413–436, 2010.
  • [18] C. Hofreither, U. Langer, and S. Weißer. Convection-adapted BEM-based FEM. ZAMM Z. Angew. Math. Mech., 96(12):1467–1481, 2016.
  • [19] V. V. Karachik and N. A. Antropova. On the solution of a nonhomogeneous polyharmonic equation and the nonhomogeneous Helmholtz equation. Differ. Uravn., 46(3):384–395, 2010.
  • [20] R. Kress. A Nyström method for boundary integral equations in domains with corners. Numer. Math., 58(2):145–161, 1990.
  • [21] S. Lang. Complex analysis, volume 103 of Graduate Texts in Mathematics. Springer-Verlag, New York, fourth edition, 1999.
  • [22] J. S. Ovall and S. E. Reynolds. A high-order method for evaluating derivatives of harmonic functions in planar domains. SIAM J. Sci. Comput., 40(3):A1915–A1935, 2018.
  • [23] J. S. Ovall and S. E. Reynolds. Quadrature for implicitly-defined finite element functions on curvilinear polygons. Computers & Mathematics with Applications, 107:1–16, 2022.
  • [24] S. Weißer. Residual error estimate for bem-based fem on polygonal meshes. Numer. Math., 118:765–788, 2011. 10.1007/s00211-011-0371-6.
  • [25] S. Weißer. Arbitrary order Trefftz-like basis functions on polygonal meshes and realization in BEM-based FEM. Comput. Math. Appl., 67(7):1390–1406, 2014.
  • [26] S. Weißer. Residual based error estimate and quasi-interpolation on polygonal meshes for high order BEM-based FEM. Comput. Math. Appl., 73(2):187–202, 2017.
  • [27] S. Weißer. Anisotropic polygonal and polyhedral discretizations in finite element analysis. ESAIM Math. Model. Numer. Anal., 53(2):475–501, 2019.
  • [28] S. Weißer. BEM-based Finite Element Approaches on Polytopal Meshes, volume 130 of Lecture Notes in Computational Science and Engineering. Springer International Publishing, 1 edition, 2019.
  • [29] S. Weißer and T. Wick. The dual-weighted residual estimator realized on polygonal meshes. Comput. Methods Appl. Math., 18(4):753–776, 2018.
  • [30] P. Wriggers, B. Hudobivnik, and F. Aldakheel. A virtual element formulation for general element shapes. Comput. Mech., 66(4):963–977, 2020.
  • [31] J. Xia, S. Chandrasekaran, M. Gu, and X. S. Li. Fast algorithms for hierarchically semiseparable matrices. Numer. Linear Algebra Appl., 17(6):953–976, 2010.