• No results found

Three dimensional elliptic solvers for interface problems and applications

N/A
N/A
Protected

Academic year: 2020

Share "Three dimensional elliptic solvers for interface problems and applications"

Copied!
32
0
0

Loading.... (view fulltext now)

Full text

(1)

Three dimensional elliptic solvers for interface problems and

applications

Shaozhong Deng Kazufumi Ito Zhilin Li

Abstract

Second order accurate elliptic solvers using Cartesian grids are presented for three dimen-sional interface problems in which the coefficients, the source term, the solution and its normal flux may be discontinuous across an interface. One of our methods is designed for general in-terface problems with variable but discontinuous coefficient. The scheme preserves the discrete maximum principle using constrained optimization techniques. An algebraic multigrid solver is applied to solve the discrete system. The second method is designed for interface problems with piecewise constant coefficient. The method is based on the fast immersed interface method and a fast 3D Poisson solver. The second method has been modified to solve Helmholtz/Poisson equations on irregular domains. An application of our method to an inverse interface problem of shape identification is also presented. In this application, the level set method is applied to find the unknown surface iteratively.

Key words. 3D elliptic interface problem, irregular domain, discontinuous coefficient, discrete maximum preserving scheme, quadratic optimization, algebraic multigrid, shape identification, level set method

AMS subject classifications. 65N06, 65N50

1

Introduction

In this paper, we develop two finite difference methods for three dimensional interface problems using Cartesian grids. Let Ω be a domain in R3 and Γ be an arbitrary piecewise smooth surface in Ω. The interface Γ divides Ω into two sub-domains Ω+ and Ω and therefore Ω = Ω+−∪Γ. We consider the elliptic equation of the form

∇ ·(β∇u(x, y, z)) +λ u(x, y, z) =f(x, y, z), (x, y, z)Γ, (1.1)

with a boundary condition onΩ. The coefficientsβ, λ, and the source termf may be discontinuous across the interface Γ.

Department of Mathematics, University of North Carolina at Charlotte, Charlotte, NC 28223, e-mail:

[email protected]

Center for Research in Scientific Computation & Department of Mathematics, North Carolina State University,

Raleigh, NC 27695, e-mail: [email protected]

Center for Research in Scientific Computation & Department of Mathematics, North Carolina State University,

(2)

Due to the discontinuity in the coefficient β, or/and the source/dipole distributions along the interface Γ, the solution and the normal flux may be discontinuous across the interface Γ and can be written as

[u] =w(s1, s2), [βun] =v(s1, s2), (1.2)

where w and v are two known functions defined only on the interface Γ, un = ∂u∂n =∇u·n is the limiting normal derivative of u, n is the unit normal vector pointing to Ω+ side. The interface Γ is expressed as a parametric form (x(s1, s2), y(s1, s2), z(s1, s2)), the jump [u] is defined as the difference of the limiting values of u from Ω+ and Ω sides. We refer the readers to [7, 8, 9] for more discussions on the jump conditions.

The problem can be solved by body fitted finite element methods, see [2], for one example; the ghost fluid method (GFM) [12] (which is first order accurate in the infinity norm but has a sym-metric linear system); fast solvers based on integral equations (assumingβ is a piecewise constant), see [4, 13], for example; the immersed interface method (IIM) reported in [7, 17] for example; and possibly some others. These methods have been described in details for two dimensional problems. Despite the fact that the extension of these methods to three dimensional (3D) problems may be straightforward, the implementation of these methods in 3D can be very different and few have appeared in the literature.

In this paper, we first develop the maximum principle preserving scheme for the interface prob-lems with variable but discontinuous coefficient by requiring the resulting finite difference matrix be an M-matrix using constrained optimization techniques. The M-matrix condition guarantees the convergence of the algebraic multigrid solver [15] when it is applied to solve the linear system of equations.

When the coefficient β is a piecewise constant, we propose a fast solver by transforming the original problem (1.1) to a Poisson equation with anunknown jumpin the normal derivative across the interface Γ. We use a GMRES method to determine the unknown jump so that the original jump in the flux is satisfied and thus the solution to the Poisson equation is also the solution to the original problem (1.1). There are several advantages of this approach: (1) the computed solution is second order accurate in the infinity norm; (2) the number of iterations in the GMRES method is almost independent of the mesh sizes; (3) the computed normal derivatives are observed to be second order accurate as well; (4) with slight changes, the methods can be, and have been applied to Helmholtz/Poisson equations defined on irregular domains.

We also present an application of the second method to an electrical impedance tomography problem in identifying an unknown interface in a 3D domain. The inverse problem is solved iteratively by coupling the level set method [14] with the fast Poisson solver on irregular domains developed in this paper.

(3)

2

Theoretical aspects

We hope to develop accurate finite difference methods based on Cartesian grids. To this end, we present a complete set of interface relations up to the second order derivatives by differentiating the jumps along the interface Γ, and making use of the original partial differential equation (PDE) (1.1). Since the flux jump condition [βun] is given in the normal direction of the interface, it is convenient to use a local coordinates in the normal and tangential directions.

2.1 A local coordinate system

Given a point (x∗, y∗, z∗) on the interface Γ, let ξ be the normal direction of Γ, η and τ be two orthogonal directions tangential to Γ, then the local coordinate transformation is given by

    

ξ = (x−x∗) α+ (y−y∗) α+ (z−z∗)α η = (x−x∗) α+ (y−y∗) α+ (z−z∗) α τ = (x−x∗) α + (y−y∗)α + (z−z∗)α,

(2.3)

where α represents the directional cosine betweenx-axis andξ, and so forth, see Figure 1 for an illustration.

Figure 1: A sketch of a three dimensional local coordinate transformation.

The three dimensional coordinate transformation above can also be written in a matrix-vector form. Define the local transformation matrix as

A=

ααxξ αα αα α α α

, (2.4)

then we have

ηξ τ

 =A

  x−x

y−y∗ z−z∗

(4)

Also, for any differentiable function p(x, y, z), we have

  pp¯¯ξη

¯

pτ  =A

  ppxy

pz

, (2.6)

where ¯p(ξ, η, τ) =p(x, y, z), and

pp¯¯ξξηξ pp¯¯ξηηη pp¯¯ητξτ ¯

pτξ p¯τη p¯ττ

 =A

ppxxyx ppxyyy ppxzyz pzx pzy pzz

AT, (2.7)

where AT is the transpose of A. It is easy to verify thatATA=I, where I is the identity matrix. For two dimensional problems, the matrix-vector relations under the local coordinates can be found in [3].

Note that under the local coordinate transformation (2.3), the PDE (1.1) is invariant, that is

(β ux)x+ (β uy)y + (β uz)z+λu

= β(uxx+uyy+uzz) +βxux+βyuy+βzuz+λu

= β¯(¯uξ ξ+ ¯uη η+ ¯uτ τ) + (βx, βy, βz)

  uuxy

uz  +λu

= β¯(¯uξ ξ+ ¯uη η+ ¯uτ τ) + ( ¯βξ¯η¯τ)A−TAT   uu¯¯ξη

¯

uτ  + ¯λu¯

= β¯(¯uξ ξ+ ¯uη η+ ¯uτ τ) + ¯βξu¯ξ+ ¯βηu¯η+ ¯βτu¯τ+ ¯λu¯ = ( ¯βu¯ξ)ξ+ ( ¯βu¯η)η+ ( ¯βu¯τ)τ + ¯λu.¯

Therefore we will drop the bars for simplicity.

2.2 Interface relations

We use the superscripts + or to denote the limiting values of a function from Ω+ side and Ω side of the interface respectively. Under the local coordinates, the limiting differential equation from the side, for example, can be written as

β−(u−ξξ+u−ηη+u−ττ) +βξ−u−ξ +β−ηu−η +βτ−u−τ +λ−u−−f−= 0. (2.8) Also under the local ξ-η-τ coordinate system, the interface can be expressed as

ξ=χ(η, τ), with χ(0,0) = 0, χη(0,0) = 0, χτ(0,0) = 0. (2.9)

(5)

Let us first differentiate the first jump condition [u] = w in (1.2) with respect to η and τ

respectively to get

[uξ]χη+ [uη] =wη, (2.10)

[uξ]χτ + [uτ] =wτ. (2.11)

Differentiating (2.10) with respect to τ yields

χη

∂τ[] +χητ[] + [uηξ]χτ+ [uητ] =wητ. (2.12)

Differentiating (2.10) with respect toη and differentiating (2.11) with respect toτ respectively we obtain

χη

∂η[] +χηη[] +χη[uηξ] + [uηη] =wηη, (2.13)

χτ

∂τ[] +χττ[] +χτ[uτξ] + [uττ] =wττ. (2.14)

Before differentiating the jump of the normal derivative [βun] =vin (1.2), we first express the unit normal vector of the interface Γ as

n= p(1, −χη, −χτ )

1 +χη2+χτ2. (2.15)

So the second interface condition [βun] =v in (1.2) can be written as

[β (uξ−uηχη−uτχτ) ] =v(η, τ)

q

1 +χη2+χτ2. (2.16)

Differentiating this with respect to η gives

[ (βξχη+βη) (uξ−uηχη−uτχτ) ]

+

· β

µ

uξξχη+uξη−χη

∂ηuη−χτ

∂ηuτ−uηχηη−uτχητ ¶¸

=vη q

1 +χη2+χτ2+v p χηχηη

1 +χη2+χτ2.

(2.17)

Similarly, differentiating (2.16) with respect to τ gives

[ (βξχτ+βτ) (uξ−uηχη−uτχτ) ]

+

· β

µ

uξξχτ+uξτ−χη

∂τuη−χτ

∂τuτ−uηχητ −uτχττ ¶¸

=vτ q

1 +χη2+χτ2+v p χτχττ

1 +χη2+χτ2.

(6)

At the origin, χη(0,0) =χτ(0,0) = 0, and from (2.10)–(2.18) we can conclude that

u+ = u−+w, u+ξ = β

β+u

ξ +

v β+, u+η = u−η +wη, u+τ = u−τ +wτ,

u+ητ = u−ητ + (u−ξ −u+ξ)χητ +wητ, u+ηη = u−ηη+ (u−ξ −u+ξ)χηη+wηη, u+ττ = u−ττ+ (u−ξ −u+ξ)χττ +wττ,

u+ξη = β

β+u

ξη+

µ

u+η −β β+u

η

χηη+

µ

u+τ −β β+u

τ

χητ

+β

η

β+u

ξ

βη+ β+u

+

ξ +

vη β+,

u+ξτ = β

β+u

ξτ+

µ

u+η −β β+u

η

χητ +

µ

u+τ β β+u

τ

χττ

+β

τ

β+u

ξ

β+τ β+u

+

ξ +

vτ β+.

(2.19)

To get the relation for u+ξ ξ we need to use the differential equation (1.1) itself from which we can write

[β(uξξ+uηη+uττ) +βξuξ+βηuη+βτuτ+λu] = [f]. (2.20) Notice that

λ−u−−λ+u+=λ−u−−λ+u−+λ+u−−λ+u+=[λ]u−−λ+[u]. (2.21) Rearranging equation (2.20) and using (2.21) above we get

β+ ³

u+ξ ξ+u+η η+u+ττ ´

+βξ+u+ξ +βη+u+η +βτ+u+τ =

β− ³

u−ξ ξ+u−η η+u−ττ ´

+βξ−u−ξ

+β−ηu−η +βτ−uτ+ [f] +λ−u−−λ+u+.

(2.22)

Plugging the sixth and seventh equations of (2.19) in (2.22) and collecting terms finally we have

u+ξ ξ= β

β+u

ξ ξ+

µ β− β+ 1

u−η η +

µ β− β+ 1

u−ττ+

u+ξ Ã

χηη+χττ−β

+

ξ

β+ !

−u−ξ Ã

χηη+χττ −β

ξ

β+ !

+ 1

β+ ¡

β−ηu−η −βη+u+η¢+ 1

β+ ¡

βτ−u−τ −βτ+u+τ¢

1

β+ ¡

[λ]u−+λ+[u]¢+ [f]

β+ −wηη−wττ.

(7)

3

The computational frame

For simplicity, we assume that the domain Ω is a solid cube, say [a1, b1]×[a2, b2]×[a3, b3]. We wish to solve the problem using a finite difference method and a uniform Cartesian grid with

xi=a1+ih, yj =a2+jh, zk=a3+kh, 0≤i≤L, 0≤j≤M, 0≤k≤N.

We also assume that h = (b1 −a1)/L = (b2−a2)/M = (b3−a3)/N to make many expressions simple.

We use the zero level surface of a three dimensional functionϕ(x, y, z) to express the interface, that is

ϕ(x, y, z) <0, if (x, y, z)−, ϕ(x, y, z) = 0, if (x, y, z)Γ, ϕ(x, y, z) >0, if (x, y, z)Ω+.

(3.24)

We assume that the level set function is Lipschitz continuous and ϕ(x, y, z) C2 in the small neighborhood of the zero level set ϕ = 0 that represents the interface Γ. At a grid point xijk,

let ϕminijk and ϕmaxijk be the minimum and maximum values of the level set function ϕ at ϕi±1,j,k,

ϕi,j±1,k,ϕi,j,k±1, and ϕijk. We definexijk as an irregular grid point if

ϕmaxijk ϕminijk 0. (3.25)

Otherwise xijk is called aregular grid point.

3.1 Setting-up a local coordinate system using the level set function

Given a point X = (x∗, y∗, z∗) on the interface, we choose theξ direction as the normal direction of the interface

ξ = ∇ϕ

|∇ϕ| = (ϕx, ϕy, ϕz)

T/qϕ2

x+ϕ2y +ϕ2z,

where the unit normal direction is evaluated at (x∗, y∗, z∗). The η- and τ- axes are in the tangent plane passing through (x∗, y∗, z∗). We choose the first tangential direction as

η= (ϕy, −ϕx, 0)T/ q

ϕ2x+ϕ2y,

ifϕ2x+ϕ2y 6= 0. Otherwise we choose

η= (ϕz, 0, −ϕx)T/pϕ2x+ϕ2z.

The corresponding second tangential direction is

τ = s

|s|, where s= (ϕxϕz, ϕyϕz, −ϕ

2

x−ϕ2y)T,

ifϕ2x+ϕ2y 6= 0. Otherwise we choose

τ = t

|t|, where t= (−ϕxϕy, ϕ

2

(8)

3.2 Computing the projections

For each irregular grid point x = (xi, yj, zk), we select a point X = (x∗i, y∗j, zk) on the interface. Although not necessarily, we take this point as the projection of (xi, yj, zk) on the interface. The projection X is the closest point on the interface to the grid point (xi, yj, zk) withϕ(X) = 0. In practice, we can only compute the projection approximately. Since the interface Γ is represented as the zero level surfaceϕ= 0, and the level set functionϕhas the fastest rate of increase/decrease in the normal direction of the level surfaces, we write the projection as

X =x+αp,

wherep=∇ϕ/|∇ϕ|, andα∼his an approximation of the signed distance from the grid pointxto the projectionX. NeglectingO(α3) and higher order terms in the Taylor expansion ofϕ(X) = 0, we get a quadratic equation for α

ϕ(x) +|∇ϕ|α+1 2 (p

T He(ϕ)p)α2= 0,

where He(ϕ) is the Hessian matrix ofϕ

He(ϕ) =

ϕϕxxyx ϕϕxyyy ϕϕxzyz ϕzx ϕzy ϕzz

 .

The values of ϕ, ϕx, ϕy, ϕz, ϕxx,ϕxy,ϕxz, ϕyy, ϕyz, and ϕzz are all computed at the grid point

x= (xi, yj, zk) using the standard central finite difference scheme. Since the truncation error of the above quadratic expansion is ofO(α3)∼O(h3), and the central finite difference schemes are second order accurate, and the quantities ϕx, ϕy, and ϕz appear in the linear and quadratic terms of α, and the second order derivatives ϕxx, · · ·, ϕzz appear in the quadratic term of α, the computed projections are third order accurate.

4

The maximum principle preserving scheme

We now derive a finite difference equation of the form

ns X

m

γmui+im,j+jm,k+km+λijkuijk=fijk+Cijk, (4.26)

at every grid point (xi, yj, zk) to approximate (1.1), whereim, jm, kmtake values from 012· · ·, meaning that the summation is taken over the neighboring grid points centered at (xi, yj, zk). Note that we have omitted the dependency of m on i, j, and k, for simplicity. At a regular grid point, we use the standard seven point finite difference scheme

γi1,jk = βi−1/2,j,k

h2 , γi+1,jk =

βi+1/2,j,k

h2 , γi,j−1,k =

βi,j1/2,k

h2 ,

γi,j+1,k = βi,jh+12/2,k, γi,j,k−1 =

βi,j,k1/2

h2 , γi,j,k+1 =

βi,j,k+1/2

h2 ,

γi,j,k =(γi1,jk+γi+1,jk+γi,j−1,k+γi,j+1,k+γi,j,k−1+γi,j,k+1), Cijk= 0

(4.27)

(9)

4.1 Setting-up the finite difference equations at irregular grid points

At irregular grid points, we use the method of un-determined coefficients to find the coefficients of the finite difference scheme. Let X be the projection of (xi, yj, zk) on the interface. Using the Taylor expansion from both sides of the interface at X, we can write

ns X

m

γmu(xi+im, yj+jm, zk+km) +λijku(xi, yj, zk)

=

ns X

m

γm µ

+ξξm+uη±ηm+ττm+ ξ 2

m

2 u

±

ξξ+

ηm2

2 u

±

ηη

+τ 2

m

2 u

±

ττ+ξmηmu±ξη+ξmτmu±ξτ+ηmτmu±ητ +O(h3)

+λijk(uijk+O(h)),

(4.28)

where the function values and the derivatives are defined as the limiting value atX from the side where the grid point (i+im, j+jm, k+km) is in. Using the interface relations (2.19) and (2.23), the expression above can be written as

ns X

m

γmu(xi+im, yj+jm, zk+km) +λijku(xi, yj, zk)

a1u−+a2u++a3u−ξ +a4u+ξ +a5u−η +a6u+η +a7u−τ +a8u+τ

+a9u−ξ ξ+a10u+ξ ξ+a11u−η η+a12u+η η+a13u−ττ +a14u+ττ+a15u−ξ η+a16u+ξ η+a17u−ξτ +a18u+ξτ +a19u−ητ +a20u+ητ +λ−u−,

(4.29)

with the higher order terms being neglected, where the coefficients ai’s depend only on the position of the stencil relative to the interface. They are independent of the functionsu, β, λ, andf. If we define the index sets K+ and K− by

={m: (ξm, ηm, τm) is on the ± side of Γ}, (4.30) then the ai’s with odd subscript are given by

a1 = X

m∈K−

γm, a3 = X

m∈K−

γmξm, a5 = X

m∈K−

γmηm, a7= X

m∈K−

γmτm,

a9 = 1 2

X

m∈K−

γmξm2, a11= 1 2

X

m∈K−

γmηm2, a13= 1 2

X

m∈K−

γmτm2, (4.31)

a15=

X

m∈K−

γmξmηm, a17=

X

m∈K−

γmξmτm, a19=

X

m∈K−

γmηmτm.

Theai’s with even subscript are exactly the same as above except the summation is from the subset

(10)

arranged as follows

ns X

m

γmu(xi+im, yj+jm, zk+km) +λijku(xi, yj, zk)

= ( )u−+ ( )u−ξ + ( )u−η + ( )u−τ + ( )u−ξξ+ ( )u−ηη

+ ( )u−ττ+ ( )u−ξη+ ( )u−ξτ + ( )u−ητ +Cijk.

(4.32)

The contents in the parenthesis are the corresponding terms in the left hand side of (4.33)-(4.42). The last term Cijk is a linear function of the jumps in the solution and the flux and is given in (4.43). We want the finite difference scheme to be second order accurate to the differential equation. Therefore at X we match (4.29) with the PDE (2.8) from the side, i.e., we equate (4.32) to

β−(u−ξξ+uηη +u−ττ) +βξ−u−ξ +βη−uη+βτ−u−τ. Hence we obtain the linear system of equations for the coefficientsγi’s below:

a1−a10 [λ]

β+ +a2 = 0, (4.33)

a3−a10

Ã

χηη+χττ −β

ξ

β+ !

+a12χηη+a14χττ+a16β

η

β+

+a18β

τ

β+ +a20χητ + β− β+

(

a4+a10

Ã

χηη+χττ β

+

ξ

β+ !

−a12χηη−a14χττ−a16β +

η

β+ −a18 βτ+

β+ −a20χητ )

= βξ−, (4.34)

a5+a10β

η

β+ −a16 β−

β+ χηη−a18 β− β+χητ

+a6−a10

β+η

β+ +a16χηη+a18χητ = β

η, (4.35)

a7+a10β

τ

β+ −a16 β−

β+χητ −a18 β− β+χττ

+a8−a10β +

τ

β+ +a16χητ +a18χττ = β

τ, (4.36)

a9+a10β

β+ = β

, (4.37)

a11+a12+a10

µ β− β+ 1

= β−, (4.38)

a13+a14+a10

µ β− β+ 1

= β−, (4.39)

a15+a16β

β+ = 0, (4.40)

a17+a18β

β+ = 0, (4.41)

(11)

If we can solve this linear system of equations to get γi’s, then by collecting the remaining terms in (4.29), we can determine the correction term which is given by

Cijk = a10

µ

[f]

β+ λ+w

β+ −wηη−wττ

+a12wηη+a14wττ

+a16

β+ +a18 vτ

β+ +a20wητ +a2w

+ 1

β+ (

a4+a10

Ã

χηη+χττ−β

+

ξ

β+ !

−a12χηη

−a14χττ−a16

βη+ β+ −a18

βτ+

β+ −a20χητ )

v

+

Ã

a6−a10β +

η

β+ +a16χηη+a18χητ !

wη

+

µ

a8−a10β +

τ

β+ +a16χητ +a18χττ

wτ.

(4.43)

4.2 Computing the principal curvatures using the level set function

In order to determine the matrix entries of the linear system of equations (4.33)–(4.42) for the coefficients γi’s, we need to compute the second order tangential derivatives χηη,χττ,χτη of χ at

X. We call these quantities principal curvatures. These quantities are computed from the level set function. Since ϕ(χ(η, τ), η, τ) = 0, it follows from the implicit function theory that

ϕη+ϕξχη = 0, (4.44)

ϕτ+ϕξχτ = 0. (4.45)

and

ϕηη+ϕηξχη+ (ϕξη+ϕξξχη)χη +ϕξχηη = 0,

ϕητ +ϕηξχτ + (ϕξτ +ϕξξχτ)χη+ϕξχητ = 0,

ϕττ +ϕτξχτ+ (ϕξτ+ϕξξχτ)χτ +ϕξχττ = 0.

So, we have

 

χηη = −ϕηηξ χττ = −ϕττξ χητ = −ϕητξ,

(4.46)

where (ϕξ, ϕη, ϕτ) and (ϕξξ, ϕηη, ϕττ) are given in (2.6) and (2.7), respectively. Our procedure for evaluating the principal curvatures includes:

(12)

Use the bi-linear interpolation to compute the first and second order derivativesϕx,ϕy,· · ·,

ϕzz in the original coordinates at the projection pointX.

Use the formula (2.6)–(2.7) to get the first order derivativesϕξ,ϕη, and ϕτ.

Use the formula (4.46) to compute the principal curvatures ϕη,η, ϕη,τ, and ϕτ,τ in the local coordinates.

The bi-linear interpolation uses eight grid points. Given any point (x∗, y∗, z∗) on the interface, we can find a cube containing the point with the eight vertices (x0, y0, z0), (x0, y0, z1), (x0, y1, z0), (x0, y1, z1), (x1, y0, z0), (x1, y0, z1), (x1, y1, z0), and (x1, y1, z1). Let Qijk be the function values at

the eight vertices. The eight point bi-linear interpolation is defined as

Q(x∗, y∗, z∗) = 1 8

1

X

i,j,k=0

Qijkx¯iy¯jz¯k, (4.47)

where

¯

xi = 1 + (2i−1)

µ

2(x−x0)

h 1 ¶

, y¯j = 1 + (2j−1)

µ

2(y−y0)

h 1 ¶

,

¯

zk = 1 + (2k−1)

µ

2(z−z0)

h 1 ¶

.

(4.48)

4.3 Computing the tangential derivatives of interface quantities

In the evaluation of the correction termsCijk, we need to compute the tangential derivatives such as wη,wτ,wηη,wττ,wητ,vη, andvτ, wherew and v are only defined along the interface Γ. They are computed using the least squares interpolation.

Letgbe a function defined on the interface and therefore we know its values at the projections

Xp. We explain below how to compute its tangential derivatives at a particular projectionXusing the projections Xp in the neighborhood ofX.

In the neighborhood of X, the interface quantity g can be written as g(η, τ) using the local coordinates. The least squares interpolation for gη,gτ, andgηη atX, for example, can be written as

gη(X) = X

|XX p|≤R²

αpgp, gτ(X) = X

|XX p|≤R²

λpgp,

gηη(X) = X

|XX p|≤R²

σpgp,

(4.49)

(13)

Using the Taylor expansion atX, we have

X

|Xp−X|≤R²

αpgp = X

|Xp−X|≤R² αp

µ

g∗+∇g∗·(XpX) +1 2(X

p−X)TH(g∗)(X∗p−X) +· · ·

= ( )g∗+ ( )gη+ ( )gτ+ ( )g∗ηη+ ( )g∗ητ + ( )gττ +h.o.t,

whereH(g∗) is the Hessian matrix of g∗ in terms of the variablesηandτ under the local coordinates

ξ-η-τ centered at the projection X, h.o.t stands for the high order terms of |XpX∗|, and the contents in the parentheses are the corresponding right hand side in the system of equations below. Using the method of the under-determined coefficient, we set

X

p

αp= 0, X

p

αpηp = 1, X

p

αpτp = 0, X

p

αpηp2= 0, X

p

αpτp2= 0, X

p

αpηpτp = 0,

(4.50)

where (ηp, τp)’s are the coordinates of the projections Xp on the interface in the parametric form

ξ =χ(η, τ) centered atX. The under-determined system is solved by the SVD subroutine form LAPACK/LINPACK which is available from the Netlib. The other tangential derivatives can be computed in the same way with different right hand side. Since the coefficients matrix is the same, we just need to compute the SVD once.

4.4 An optimization approach

After the preparations from previous sub-sections, we are ready to determine the coefficients γm’s and ns in the finite difference equation in (4.26) for all irregular grid points. It seems that we can take ns = 10 because there are ten equations (4.33)–(4.42). The problem is that we can not guarantee that the system (4.33)–(4.42) have a solution and the stability of the resulting system of the finite difference equations.

We propose the maximum principle preserving scheme by choosingns>10 and adding the sign constraints

γm <0, if (im, jm, km) = (0,0,0),

γm 0, if (im, jm, km)6= (0,0,0), (4.51)

in addition to the linear system of equations (4.33)–(4.42). The sign constraints will guarantee the coefficient matrix of the system of the finite difference equations be an M-matrix.

To solve the linear system of equations (4.33)–(4.42) with the inequality constraints (4.51), we construct a quadratic optimization problem

min

γ

1 2

X

m

(γm−dm)2, (4.52)

s.t.

=b, the system of (4.33)–(4.42), γm <0, if (im, jm, km) = (0,0,0), γm 0, if (im, jm, km)6= (0,0,0),

(14)

where γ = (γ1, γ2,· · · , γns)T is the vector composed of the coefficients of the finite difference

scheme, and =b denotes the equality constraints specified by (4.33)–(4.42). We also want to choose γm’s in such a way that the finite difference scheme (4.26) reduces to the standard central finite difference scheme if there is no interface or the coefficientβ of the PDE is continuous across the interface. This can be done by choosing

dm= βi+im/2,j+jm/2,k+km/2

h2 , if (im, jm, km) is one of the six neighbors of (0,0,0),

d0 = 1

h2 X

m,m6=0

βi+im/2, j+jm/2, k+km/2, (4.54)

dm= 0, otherwise,

where the summation is over the six neighbors of the grid point (xi, yj, zk) and βi1/2,j,k =β(xi−

h/2, yj, zk) and so forth.

There are several commercial and educational software packages that are designed to solve con-strained quadratic optimization problems, such asQP in Matlab andQLby K. Schittkowski [16].

What the minimum ns should be that can guarantee the existence of the solution to the op-timization problem is still an open theoretical problem. In our implementation, we take all the grid points in the cube centered at (xi, yj, zk), that is ns = 27. We have not experienced any numerical failure for our testing problems. In [11], the authors numerically showed the existence of the solution to the optimization problem in two space dimensions. We believe that the conclusions are also true in three dimensions.

If the optimization problem has a solution at all irregular grid points, then it is shown in [11] that the solution to the finite difference scheme has second order accuracy globally in the infinity norm. We omit the proof here since it is essentially the same as in two space dimensions.

We summarize our algorithm for the elliptic interface problem with variable but discontinuous coefficient below.

Set-up a Cartesian grid.

Label the grid points as regular, irregular.

Find the projections of irregular grid points on the interface as described in Sec. 3.2.

At each irregular grid point, calculate the local coordinates (ξm, ηm, τm) for 27 neighboring grid points. Calculate the matrix B and vectors b from the system (4.33)-(4.42), and di

from (4.54). Solve the quadratic programming (4.52)–(4.53) for γm’s and then compute the correction term Cijk using (4.43).

Use the formula (4.27) as the finite difference scheme at regular grid points. Form the system of the finite difference equations (4.26).

(15)

4.5 An algebraic multigrid solver

If the coefficientβnot only has a jump across the interface, but also is a function of location (x, y, z), there are almost no fast elliptic solvers that can be used to solve the linear system of equations obtained from our maximum principle preserving scheme. The Gauss-Seidel or SOR method is too slow in convergence. We use the algebraic multigrid method (AMG) developed by the German National Research Center for Information Technology (GMD) which is available on the Internet, see also [15]. The AMG has been shown to be a robust and efficient solver for a linear system of equations Qu =F with certain properties. The AMG is guaranteed to converge if the coefficient matrix Qsatisfies one of the following conditions:

Qis positive/negative definite or semi-positive/negative definite with ROWSUM =0 for each row, where ROWSUM denotes the sum of the entries in each row.

Q is “essentially” positive type, i.e.,

The diagonal entries ofQ must be positive/negative.

Most of the off-diagonal entries ofQ are non-positive/non-negative.

For each row, the ROWSUM should be non-negative/non-positive.

The linear system of equations derived from the maximum principle preserving scheme is “essen-tially” negative definite matrix (an M-matrix) and the algebraic multigrid solver can be applied. Our numerical experiments showed that the AMG method generally converged faster than the SOR method. The speed-up increases as the size of the mesh gets larger.

4.6 Numerical results for the maximum principle preserving scheme

We have done a number of numerical experiments which confirm second order accuracy of the max-imum principle preserving scheme. The numerical tests are done using Sun Ultra 10 workstations or the CRAY T916 supercomputer at the North Carolina Supercomputing Center (NCSC). The computational domain is [1,1]×[1,1]×[1,1]. In all examples, L=M =N, andns= 27 (i.e., all 27 grid points involved in the usual 27 point stencil) unless otherwise specified. The convergence tolerance for the algebraic multigrid method is 105.

Example 4.1 We present an example with a variable and discontinuous coefficient β. The inter-face is a sphere x2+y2+z2= 1/4. The differential equation is

(βux)x+ (βuy)y+ (βuz)z=f,

where

β(x, y, z) =

(

r2+ 1, if r < 12, b, if r 12,

(16)

and b is a constant andr =px2+y2+z2. The Dirichlet boundary condition is determined from the exact solution

u(x, y, z) =

    

r2, if r < 12, µ

r4

2 +r

/bµr40 2 +r

2 0

/b+r02, if r 12,

(4.55)

where r0 = 1/2.

It can be calculated that [u] = 0 and [βun] = 0 in this example. However, the normal derivative

un is discontinuous due to the discontinuity in the coefficientβ.

The jump in the coefficientβ depends on the choice of the constantb. We tested three different cases, b= 1, b= 10 (small jump), andb= 1000 (large jump). Table 1 shows the results of the grid refinement analysis. The maximum relative error is defined as

kEN k= max

i,j,k |u(xi, yj, zk)−uijk |

max

i,j,k |u(xi, yj, zk)|

, (4.56)

where uijk is the computed approximation to the exact one u(xi, yj, zk). We also display the ratio of two successive errors

ratio = kEN k∞ kE2N k∞

. (4.57)

In Table 1, we see that the average ratioapproaches number 4 indicating second order accuracy of the maximum principle preserving scheme.

Table 1: The grid refinement analysis for Example 4.1.

b= 1 b= 10 b= 1000

L×M×N kEN k ratio kEN k ratio kEN k ratio 26×26×26 1.247×103 1.525×103 3.485×103

52×52×52 3.979×104 3.134 5.240×104 2.910 1.111×103 3.137 104×104×104 9.592×105 4.148 1.010×104 5.188 1.605×104 6.922

Example 4.2 Now we present an example of multi-connected domain and discontinuous solution. The level set function is

ϕ(x, y, z) =S1(x, y, z)S2(x, y, z),

where

S1(x, y, z) = (x−0.2)2+ 2(y−0.2)2+z20.01,

(17)

The interface is the zero level set of ϕ(x, y, z) that satisfies ϕ(x, y, z) = 0. The coefficient β is piecewise constant β+ in Ω+ and β− in−. The source term is

f(x, y, z) =

(

6β−ex+2y+z, in Ω−,

−β+(4π2sin 2πx+π2sinπy+ 16π2sin 4πz), in Ω+.

The Dirichlet boundary condition is determined from the exact solution

u(x, y, z) =

(

ex+2y+z, in Ω−,

sin 2πx+ sinπy+ sin 4πz, in Ω+. (4.58)

The jump conditions are

[u ] = sin 2πx+ sinπy+ sin 4πz−ex+2y+z,

and

  

[βuξ] [βuη] [βuτ]

   =A

   

2πβ+cos 2πx−β−ex+2y+z

πβ+cosπy−2β−ex+2y+z 4πβ+cos 4πz−β−ex+2y+z

   ,

and A is the local coordinate transformation matrix defined in (2.4).

We tested two different cases,β−=β+= 1, andβ−= 1, β+ = 1000. Figure 2 shows a slice of the computed solution for the bigger jump case, and Table 2 shows the results of the grid refinement analysis. Again second order accuracy is observed.

0 20

40 60

80 100

120

0 20 40 60 80 100 120

−3 −2 −1 0 1 2 3

Figure 2: A slice of the computed solution u(x, y,0) for Example 4.2. The parameters are: β+ = 1000, β−= 1 and L=M =N = 104.

(18)

Table 2: The grid refinement analysis for Example 4.2.

β+= 1, β−= 1 β+= 1000, β−= 1

L×M×N kEN k ratio kEN k ratio 52×52×52 3.108×102 2.032×102

104×104×104 6.758×103 4.599 4.771×103 4.259

Table 3: Comparison of CPU time (in seconds) of the SOR method and the AMG method on Sun Ultra 10.

Example 4.1 Example 4.2

L×M×N (b= 107) (β+= 104, β−= 1)

SOR AMG SOR AMG

20×20×20 0.21 1.57 0.06 0.83

40×40×40 27.51 25.56 29.62 13.89 80×80×80 1410.54 265.26 1464.57 265.84

4.7 A special case

When β andλare continuous but the solution and/or the normal derivative have jumps across the interface, the maximum principle preserving method becomes the standard central finite difference scheme. Furthermore if β is a constant, we have the following theorem.

Theorem 4.1 If β(x, y, z) is a constant β and λ is continuous, then the solution of equations (4.33)–(4.42) are

γi1,jk =γi+1,jk =γi,j1,k=γi,j+1,k =γij,k1 =γij,k+1= β

h2, γijk=

6β

h2, (4.59)

and all other coefficients γi+im,j+jm,k+km = 0. The solution above is also a solution to the

con-stained optimization problem.

Proof: We only need to verify that these γijk’s satisfy the linear system of equations (4.33)– (4.42) at any irregular grid point. Without loss of generality, we assume the irregular grid point (xi, yj, zk) be the origin. The continuity condition of λ means [λ] = 0, and a constant β means [β] = 0. We also have ρ = β−/β+ = 1, βξ = βη = βτ = 0, etc. Therefore the linear system of equations (4.33)–(4.42) becomes

          

a1+a2 = 0, a3+a4 = 0,

a5+a6 = 0, a7+a8 = 0, a9+a10 = β, a11+a12=β, a13+a14 = β, a15+a16= 0,

(19)

The first equation

a1+a2 = 0, i.e. X

m

γm = 0,

is obviously true. Under the transformation (2.3), let the new coordinates corresponding to (0,0,0), (−h,0,0), (h,0,0), (0,−h,0), (0, h,0), (0,0,−h) and (0,0, h) be (ξm, ηm, τm), m= 1, . . . , 7. Define

Ym =

  ξηmm

τm

, m= 1,2, . . . , 7,

and

X1 =

  −x

−y∗

−z∗

, X2=

−h−x

−y∗

−z∗

, X3 =

  h−x

−y∗

−z∗

, X4 =

  −x

−h−y∗

−z∗  ,

X5 =

  −x

h−y∗

−z∗

, X6=

  −x

−y∗

−h−z∗

, X7 =

  −x

−y∗ h−z∗

 .

We can verify

Ym =AXm, m= 1,2, . . . , 7,

and

aa35++aa46

a7+a8

 =

     

P

m γmξm

P

m γmηm

P

m γmτm

     =

P

m γmYm =

P

m γmAXm

= β

h2A   

6x∗−h−x∗+h−x∗−x∗−x∗−x∗−x∗

6y∗−y∗−y∗−h−y∗+h−y∗−y∗−y∗

6z∗−z∗−z∗−z∗−z∗−h−z∗+h−z∗   

=

  00

0

 .

Therefore, the second to the fourth equations (4.34)–(4.36) are also satisfied. To prove the rest, we can easily verify

X

m

γm Xm XTm=

  

2β 0 0

0 2β 0

0 0 2β

 

= 2βI.

Therefore we have X

m

γm

2 Ym Y

T

m = 12

X

m

(20)

sinceAAT =I, where Ais defined in (2.4). Furthermore, we have the following

X

m

γm

2 YmY

T

m=

       

P

m

γm

2 ξ 2

m P

m

γm

2 ξmηm

P

m

γm

2 ξmτm

P

m

γm

2 ξmηm

P

m

γm

2 η 2

m P

m

γm

2 ηmτm

P

m

γm

2 ξmτm

P

m

γm

2 ηmτm

P

m

γm

2 τ 2

m

        ,

which implies that

a9+a10=a11+a12=a13+a14=β, a15+a16=a17+a18=a19+a20= 0.

This concludes the proof. 2

The result above tells us that for Poisson equations, the standard central finite difference scheme can be applied directly with the right hand side being modified by Cijk even if the solution and/or the normal derivative have jumps. Fast Poisson solvers such as the one from the Fishpack [1] can be used to solve the resulting linear system.

5

A fast Poisson solver for piecewise constant coefficient

In this section, we discuss a fast algorithm for solving the Poisson equation (1.1), (1.2) when β is piecewise constant in the domain Ω and λ≡0. Divided by the coefficient in each sub-domain of Ω, the original problem can be written as

u= f

β+, if (x, y, z)

+,

u= f

β−, if (x, y, z)

, (5.60a)

[u] =w, [βun] =v, (5.60b)

Given BC on . (5.60c)

The Poisson equation is only valid in the interior of the domain excluding the interface Γ. The Poisson equation can be solved readily with a fast 3D Poisson solver if we know the jump in the solution [u] = w and the jump in the normal derivative [un]. This is because the system of the finite difference equations (4.26) for uijk reduces to the standard seven point discrete Poisson equation with modified right hand side, see Sec. 4.7. However, the second jump condition for the original problem (1.1) is in the flux [βun] = v instead of [un]. We cannot divide β from the flux jump condition because β is discontinuous. In [10], a fast method for two dimensional problems is proposed. In this section, we describe our algorithm for three dimensional problems.

(21)

it is one dimensional lower than the dimension of the solutionu. We apply the GMRES method to solve the unknown jumpgby eliminatingufrom the augmented system. Numerically, we represent the unknown jump g only at certain projectionsXc of the irregular grid points from a particular side of the interface, for example, the side where ϕ≥ 0 to avoid possibly clustered points. We call these projections Xc control points where we will find the unknown jump [un] numerically.

5.1 Setting-up the system of equations for [un] and computing the residual

We select the projections from the ϕ≥ 0 side as a set of control points X1,X2,· · ·,X∗Ncontr, and

the jump in the normal derivative [un] asG1,G2,· · ·,GNcontr at the control pointsXc. Denote the resulting discrete linear system of equations for G= [G1, G2,· · · , GNcontr]T as

S G= ¯b, (5.61)

where S is an Ncontr by Ncontr matrix. The matrix-vector form above is the Schur complement system of the augmented system

" A B E D

# " U G

#

=

" ¯ F1

¯

F2

#

, (5.62)

where the system of the first row in the block matrix is the system of finite difference equations of the Poisson equation given [u] = w and [un] = G defined at the control points, while the second row is the flux jump condition [βun(g)] =v in the discrete form. In our implementation, the Schur complement S = D−EA−1B and other matrices are never formed explicitly. Below, we outline our method to compute the residual vector R(G) =S G−b¯:

Step 1: For a given vectorGdefined at control pointsXc, we use the least squares interpola-tion to get the intermediate jump g of the normal derivative and their first order derivatives along the interface at all projectionsXp. The scheme is discussed in the next sub-section. Step 2: Solve the Poisson equation for uijk(G) with given [u] = w and the interpolated

[un] = g. This step is done using a fast Poisson solver since only the right hand side of (5.60a) needs to be modified by the correction term Cijk determined from (4.43). The main computational cost in this step includes the time to determine the correction terms and solve the Poisson equation.

Step 3: Compute the residual vector

R(G) =β+u+n(g)−β−u−n(g)−v=SG−b¯, (5.63) which is simply the equation of the flux jump condition at the control points. The normal derivatives u+n(g) and u−n(g) at the control points Xc are computed by the least squares interpolation which will be explained in Sec. 5.3.

(22)

g0(Xc) =v(Xc). When the convergence criteria is met, we not only have the jump in the normal derivatives of the both sides at the control points, but also the solution to the original PDE (1.1).

Below we outline the entire fast algorithm for 3D elliptic interface problems with piecewise constant coefficient. Some implementation details can either be found in previous sections or will be explained further later in this section.

Outline of the algorithm for Poisson equations with piecewise constant coeffi-cient:

Set-up a Cartesian grid.

Label the grid points as regular, irregular. Find the projections for irregular grid points.

Select a set of control points, for example, we choose the projection points from a particular side of the interface as the control points.

Let [u] =w, [un] = 0. Compute the residual of the Schur complement to get the right hand side ¯b.

Set G0=v, call the GMRES method to solve the Schur complement. Once the convergence criteria is met, the method returns an approximate solutionU(Gkfinal), the normal derivative u+n and u−n corresponding to the final stepkfinal.

5.2 Computing the surface quantities of the jump [un] defined only at control points

In Sec. 4.3, we have discussed the least squares interpolation scheme to compute the surface deriva-tives of an interface quantity, for example, wη,wτ from w, the jump in the solution. The surface derivatives are needed in computing the correction terms for the Poisson equation (5.60a). How-ever, the intermediate unknown vector G = [un] is only defined at the control points Xc, which are the projections of a particular side of the interface, say ϕ≥0 in our choice. The least squares interpolation scheme needs to be modified to use only the information from the control points but not all the projections. GivenGthat are difined at the control points, the interpolation scheme for

g,gη,gτ at any projection X are

gη(X) = X

|XX c|≤R²

¯

αcGc, gτ(X) = X

|XX c|≤R²

¯

λcGc,

g(X) = X

|XXc|≤R²

¯

σcGc,

(5.64)

References

Related documents