A Meshfree Partition of Unity Method for Diffusion ... - CiteSeerX

5 downloads 4498 Views 2MB Size Report
we describe the partition of unity mesh-free method (PUM) which is used ..... If the domain contains one or more subdomains, check if any subdomain is a proper ...
IMA Journal of Numerical Analysis (2005) Page 1 of 27 doi: 10.1093/imanum/dri017

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains M. EIGEL∗, E. GEORGE†, M. KIRKILIONIS‡ Mathematics Institute, University of Warwick, Zeeman Building, Coventry, CV4 7AL, UK. [Received on xxx] We present a numerical method for solving partial differential equations on domains with distinctive complicated geometrical properties. These will be called complex domains. Such domains occur in many real world applications, for example in geology or engineering. We are however in particular interested in applications stemming from the life sciences, especially cell biology. In this area such complex domains as retrieved from microscopy images at different scales are the norm and not the exception. Therefore, geometry is expected to directly influence the physiological function of different systems, for example signalling pathways. New numerical methods able to tackle such problems in this important area of application are urgently needed. In particular, the mesh generation problem has imposed many restrictions in the past. The approximation approach presented here for such problems is based on a promising mesh-free Galerkin method, the partition of unity method (PUM). We introduce the main approximation features, and then focus on the construction of appropriate covers as the basis of discretisations. As a main result we present an extended version of cover construction ensuring fast convergence rates in the solution process. Parametric patches are introduced as a possible way of approximating complicated boundaries without increasing the overall problem size. Finally, the versatility, accuracy and convergence behaviour of the PUM is demonstrated in several numerical examples. Keywords: complex domains, meshfree partition of unity method, generalised finite elements, cover generation

1. Introduction Simulation of technical and natural phenomena has become a primary tool of scientific understanding by either pre- or re-constructing the interacting mechanisms of a given problem. The need to understand a growing number of increasingly complicated problems has generated different sophisticated numerical methods to approximate solutions of the associated equations. Many such problems typically involving transport and reactions, can in general be adequately described by partial differential equations (PDE), although there are many exceptions where stochastic effects and discrete entities do not allow exclusive concentration on spatial continuum approximations. Common and at the same time traditional approaches to numerically solving PDE are finite differences (FD) and finite element methods (FEM). Both depend on a fixed structure of discretisation nodes and a defined connectivity to neighbour nodes, given by a mesh. Research to generalise these methods and alleviate or entirely remove the dependency on a mesh has ∗ [email protected][email protected][email protected]

c Institute of Mathematics and its Applications 2005; all rights reserved. IMA Journal of Numerical Analysis

2 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

gained momentum since the 1990s with the development of moving least squares (MLS) methods and the partition of unity method (PUM). Comprehensive overviews of mesh-free methods (MM) can be found in [9, 5, 17, 16]. The most important goals for MM is an improved flexibility in the construction of local approximations and better handling of complicated geometries and refinements. In Sec. 2 we describe the partition of unity mesh-free method (PUM) which is used throughout the paper. It is implemented in a computational code, the Generic Discretisation Framework (GDF), written by the authors. A key aspect of the PUM, the construction of a cover of the domain, is explained in detail in Sec. 3. As a major extension to existing algorithms and central to this paper we discuss cover creation strategies in settings with complex geometries and holes. This is followed in Sec. 4 with an overview of the actual discretisation process for a generic linear scalar PDE. Special attention is paid to the accurate treatment of boundary patches where numerical integration can degrade the convergence order. Finally, numerical examples demonstrate the capabilities of the method in Sec. 5. We confirm the anticipated convergence features, which in particular are shown for a geometrically complex setup including several holes in the domain. The outlook section, Sec. 6, summarises the main ideas of the manuscript and discusses the necessary future extensions for simulating systems of coupled nonlinear transport equations on complex and, in particular, nested domains. 2. The Partition of Unity Method 2.1

Introduction

The numerical method used in this paper is based on the framework of the partition of unity method (PUM), initially introduced by Melenk, Babuˇska [2, 18]. With regard to the construction of local function spaces, the class of generalised finite element methods (GFEM) is closely related and can be seen as a subclass of the PUM. Application of PUM and GFEM to real world problems were described in a series of papers by Griebel and Schweitzer [11, 15, 10, 13, 14, 12], the monograph [20] and in Strouboulis [25, 26, 23, 24]. The PUM exhibits some unique features which renders it especially attractive for some problems classical FEM cannot deal with efficiently: • Approximation spaces of arbitrary smoothness can be created. Moreover, special functions suited for approximating the sought solution are incorporated and adapted easily (cf. [18] and also [4]). • No mesh has to be created for the discretisation. Meshfree methods usually are based on a set of nodes {xi }Ni=1 for which corresponding patches {ωi }Ni=1 are defined, usually with the property that the domain Ω is covered by the union of the patches. The nodes can be redistributed or the node density changed without geometrical constraints as is the case with triangulations (cf. [8, 13]). • Adaptivity by hp-refinement can be carried out without any complications induced by the domain or function spaces (see [8, 11]). As usual we assume an appropriate Hilbert space H (Ω ) and the variational form of the PDE written with the help of a continuous bilinear form a and a linear form l, i.e. a : H ×H → R

and

l ∈ H 0,

together with appropriate boundary condition. The problem we are concerned with can then be stated as follows: Find u ∈ H s.t. a(u, v) = l(v) ∀v ∈ H . (2.1) The basic method of discretisation in the PUM framework is then given by the following steps:

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

3 of 27

• Given N points in a domain Ω on which a linear scalar PDE is defined, open sets called patches are S associated with each point to form a cover ΩN of the domain. (ΩN := {ωi }Ni=1 , with Ω ⊂ i ωi ). • A partition of unity of consistency order 0 and arbitrary smoothness) {ϕi }Ni=1 subordinate to the cover is constructed.  pi pi • The local function space on patch ωi , 1 6 i 6 N, is given by span ψik k=1 , with {ψik }k=1 being a set of approximating functions chosen for each patch. The global approximation space, also called the trial or the PUM space, is defined by VPU := span{ϕi (x)ψik (x)}i,k . Replacing H by the finite dimensional subspace VPU , a global approximation uPU to the unknown solution u of the PDE is defined as a (weighted) sum of local approximation functions on the patches: N

pi

N

uPU (x) = ∑ ϕi (x)ψi (x) = ∑ ϕi (x) i=1

i=1



! ξik ψik (x)

.

k=1

In case of Neumann problems, as investigated in this article, the PUM approximation space is conforming, i.e. VPU ⊂ H . Dirichlet problems were treated in, for example, [10]. • The unknown coefficients ξik are determined by substituting the above approximation into the PDE and using the method of weighted residuals to derive an algebraic system of equations Aξ = b.

(2.2)

Dirichlet boundary conditions are not discussed in this document as they are rarely encountered in problems arising in cell biology. They are more complicated to deal with than Neumann boundary conditions in mesh-free methods as they have to be imposed (weakly) on boundary patches. This is due to the fact that the trial functions are not fulfilling the so called Kronecker delta property. Different approaches have been suggested to handle essential boundary conditions. The Nitsche method, which has been used in the context of mortar finite elements for many years, and which also is used in some discontinuous Galerkin methods, is one of the preferred approaches, see [10] for details and [3, 6] for discussions of other methods. 2.2

Partition of Unity Method

Key to the PUM is the notion of a (M,C∞ ,C∇ )-partition of unity. According to Babuˇska and Melenk [18] we define: Definition 2.1 (Partition of Unity) Let Ω ⊂ Rd be an open set, and let ΩN := {ωi }Ni=1 be an open cover of Ω satisfying a point-wise overlap condition: ∃M ∈ N : ∀x ∈ Ω

card{i | x ∈ Ωi } 6 M.

Moreover let {ϕi } be a Lipschitz partition of unity subordinate to the cover ΩN satisfying supp(ϕi ) ⊂ ΩN

∀i,

∑ ϕi ≡ 1 on Ω , i

kϕi kL2 (Rd ) 6 C∞ ,

k∇ϕi kL∞ (Rd ) 6

C∇ , diam(ωi )

4 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

with two positive constants C∞ and C∇ . Then {ϕi }Ni=1 is called a (M,C∞ ,C∇ )-partition of unity subordinate to the cover {ωi }. The PU is said to be of degree m ∈ N0 if ϕi ∈ Cm (Rd ) for all i. There are several ways for constructing a partition of unity satisfying this definition. We use the well known Shepard functions which are described later in this paper. In order to provide good (global) approximation results, the numerical method has to fulfil two main criteria: pi of arbitrary Local Approximation: On each patch ωi a local approximation space Vi = span{ψik }k=1 degree pi is defined. Functions in Vi have to be able to approximate the solution in ωi accurately. Polynomial bases are most common but may not provide the best possible approximation for specific problems, see [2, 18, 3] for further examples.

Global Continuity: The global approximation space VPU is created by blending together the set of local spaces {Vi }Ni=1 by a partition of unity {ϕi }Ni=1 on Ω while keeping the local approximation properties. Definition 2.2 (PUM space) Let {ωi }Ni=1 be an open cover of Ω ⊂ Rd , let {ϕi }Ni=1 be a (M,C∞ ,C∇ )partition of unity subordinate to {ωi } and let Vi ⊂ H 1 (Ω ∩ ωi ) be given. Then the space ) ( N

VPU := ∑ ϕi Vi = i=1

N

∑ ϕi v | v ∈ Vi

(2.4)

i=1

= span{ϕi ψik | ψik ∈ Vi , i = 1 . . . N, k = 1 . . . pi } is called a PUM space of degree m ∈ N if VPU ⊂ Cm (Ω ). The PUM space is used as approximation space for the discretisation of the problem equation. A general approximation result is provided by the following theorem. T HEOREM 2.1 (A PPROXIMATION P ROPERTY [18]) Let Ω ⊂ Rd be given, {ωi }, {ϕi } and {Vi } as in Definitions 2.2 and 2.1. Let u ∈ H be the function to be approximated and assume that the local approximation spaces Vi possesses the following approximation properties: On each patch Ω ∩ ωi the function u can be approximated by a function vi ∈ Vi such that ku − vi kL2 (Ω ∩ωi ) 6 ε1,i

k∇(u − vi )kL2 (Ω ∩ωi ) 6 ε2,i

and

hold. Then the function uPU := ∑i ϕi vi ∈ VPU ⊂ H satisfies

ku − uPU kL2 (Ω ) 6

!1/2

√ MC∞



2 ε1,i

,

(2.5a)

i

√ k∇(u − uPU )kL2 (Ω ) 6 2M

∑ i

C∇ 2 2 2 ε +C∞2 ε2,i diam(ωi ) 1,i

!1/2 .

(2.5b)

For instance, if u ∈ H 2 (Ω ), assuming a patch-wise error bound depending on the patch size hi and linear polynomial local spaces such that ε1,i (hi , pi ) 6 Ci h2i p−1 i kukH 2 (Ω ∩ωi ) ,

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

5 of 27

then Theorem 2.1 yields ku − uPU kL2 (Ω ) 6 MC∞ max{Ci h2i p−1 i } kukH 2 (Ω ∩ωi ) . i

This shows that the method can be used as a h-, p- or hp-version by adjusting density of nodes or the consistency order of the local spaces which makes the method very versatile. While this a priori approximation result is shown for polynomial spaces, it is obvious from the construction of the local spaces that the approximation can be improved if a base of the solution space of the problem is known, see [18]. Refinement strategies (h-refinement by decreasing patch sizes or p-refinement by increasing local approximation quality) can be carried out independently on each patch. Moreover, the burden to fulfil strict structuring criteria (e.g. avoiding hanging nodes and overlapping meshes) when dealing with refinement and remeshing of triangulations is entirely omitted. The partition of unity ensures smoothness of the global function space while local features of the employed function spaces are preserved. When using an arbitrary cover of patches it can happen that the union of local bases is not linearly independent on some patches. While this might not be a major problem as long as only a few function spaces exhibit linear dependence, the solution process may become more difficult. This complication of obtaining singular operator matrices was reported on in [24], where also an iterative solution algorithm was suggested based on perturbing the algebraic system. A recent investigation of this topic can be found in [27]. By the cover construction algorithm described in section 3 we completely abolish this difficulty by ensuring linearly independent function spaces. In [11] Schweitzer defined the so called flat top property which is a sufficient (but not necessary) condition for this. First, for a cover ΩN := {ωi }Ni=1 we define the neighbour index sets n(x) := {i | x ∈ ωi } / n(i) := { j | ωi ∩ ω j 6= 0}

∀x ∈ Ω, i = 1, . . . , N.

Definition 2.3 (Flat top property) Let Φ := {ϕi } be a partition of unity subordinate to the cover {ωi }Ni=1 of domain Ω as defined in 2.2, µ the Lebesgue measure in Rd . Then Φ is said to have the flat top property, if ˜ ω˜ i ), µ(ωi ) 6 Cµ(

i = 1...N

(2.6)

with a constant C˜ ∈ R+ independent of the patch and the sub-patch ω˜ i ⊂ ωi defined as ω˜ i := {x ∈ ωi | n(x) = {i}}.

(2.7)

R EMARK 2.1 In a partition of unity exhibiting this property all patches ωi have a subset ω˜ i larger than a null-set in the Lebesgue sense with no other patches overlapping. 2.3

Partition of unity construction

We now construct a straightforward 0th order PU due to Shepard [21]. First, weight functions wi : Rd → [0, 1] are defined on each patch. These are used to localise functions by requiring supp(wi ) ⊂ ω i .

6 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

Weight functions are usually defined on the unit interval and then transformed to match the patch by an affine map Ti , i.e. wi (x) := w ◦ Ti (x). A common univariate weight function is given by the cubic spline, see e.g. [9, 5]. Weight functions in our case are symmetrically extended to the dimension d of the domain Ω ⊂ Rd N (ι) and translated to the respective patches ωi . On rectangular patches ωi = dι=1 ωi defined by (ι)

ωi

(ι)

(ι)

= {x(ι) ∈ R | kx(ι) − xi k 6 hi }.

It is straightforward to use a tensor product approach with functions w(ι) , supp(wi ) = ωi . We thus define, in abuse of notation, the tensor product weight function w i (x) :=

d O

wi (x(ι) ) =

ι=1

d  x(ι) − x(ι)  O i

w

ι=1

hi

.

(2.8)

To this end, a positive weight function wi : Ω ⊂ Rd → [0, 1] is assigned to each patch ωi . This positive weight function will be used to restrict trial functions to the respective patch and to construct the partition of unity. A simple averaging provides the Shepard partition of unity functions ϕi (x) =

wi (x) N ∑ j=1 w j (x)

=

wi (x) . ∑ j∈n(i) w j (x)

(2.9)

Assuming k∇wi k 6 Cw ,

∑ wi > CΣ diam(ωi )

on ωi ∩ Ω with Cw ,CΣ > 0,

i

the partition of unity functions {ϕi } defined by (2.9) form a (M,CCΣ ,CCΣ−1 (1 + MC2CΣ−2 ))-partition of unity with respect to definition 2.1 (see also [1]). This partition of unity has approximation order 0, i.e. it can reproduce constants. 3. Cover Construction 3.1

Introduction

As indicated in Sec. 2.1, a key first step in the discretisation of a set of partial differential equations in the mesh-free partition ofSunity framework, is the formation of a finite open cover ΩN = {ωi }Ni=1 of the domain of interest, Ω ⊂ i ωi . Here N represents the number of patches in the cover, and we typically associate one point or node in a patch with that patch leading to N nodes. Recall from Sec. 2.2 that a global approximation space VPU is created by blending together local approximation spaces {Vi }Ni=1 with partition of unity functions{ϕi }Ni=1 . The support of each blended local space ϕi Vi is the closure of a unique cover patch, ω i . The cover greatly influences the efficiency of the mesh-free method, with, for example, the neighbouring relationships Ni = {ω j ∈ ΩN | ωi ∩ω j 6= 0} / determining the sparseness of the linear system resulting from the discretisation and determining the speed with which the approximate solution can be evaluated at a given point x. In this manuscript, we focus on covers of 2−dimensional domains. While these covers may be comprised of any type of open sets, in practise we use squares. This is convenient since the weight functions we use to construct partitions of unity in dimensions greater than 1 are products of 1d weight functions.

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

7 of 27

In addition integration over the intersection of square patches is much easier than integration over the intersection of other more general types of patches. Likewise, integration of domain regions delineated by the boundary is typically easier on squares than on other types of patches. Studies mentioned in [12] indicate that patches of other shapes, such as circles, offer little real additional benefit while being more difficult to work with. As discussed in Sec. 4, in order to setup the discrete version of a PDE, its weak form is integrated numerically on overlap regions of patches. The computational complexity of this task is alleviated by making use of a tree structure on which the cover creation is based (cf. [13] and the discussion following Algorithm 1). 3.2

Cover Construction Algorithm

Cover construction in GDF is based on the algorithm described in [13], however our focus on subdomains and extremely complicated domains has lead to several unique extensions to that existing algorithm. These extensions are primarily encapsulated later in Sec. 3.3 as well as in steps 6, 7, and 8 of our core cover construction algorithm summarised in Algorithm 1. The following notation is used throughout this section: • Ω : the domain of interest (with Ω being its closure). • N0 : the initial number of points to be inserted in Ω to help form the cover. These points can be either regularly or irregularly distributed. • N : the final number of patches in the cover. • ωi (i = 1 . . . N) : the ith cover patch (with ω i being its closure). • ΩN : a cover of Ω consisting of N patches (ΩN = {ωi }Ni=1 ). • xi : the point (or node) associated with patch ωi . Typically, this point is in the centre of the patch. • αi : the cover factor of the ith patch = the number by which the length and width of patch i is multiplied in order to extend it so that patches overlap and form a proper cover of the domain (as opposed to simply partitioning the domain). Often, αi = α j ∀ i, j ∈ {1, . . . , N} and we refer to the cover factor simply as α. Algorithm 1: (Core cover construction algorithm) 1. Form a (minimum) bounding box B ⊇ Ω . 2. Insert the first point x1 into the domain and let ω1 = B initially. 3. For each new x j , j = 2, . . . , N0 , • insert x j into Ω . • if x j ∈ / ωi for i = 1, . . . , j − 1, name the patch into which x j was inserted ω j • else if x j ∈ ωi for some i ∈ {1, . . . , j − 1} subdivide ωi into equally sized patches (4 equallysized patches in 2d). Rename ωi as the new smaller patch containing xi . • repeat the preceding two sub-steps until xi and x j are in different patches.

8 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

Note that if the spatial dimension is greater than 1, many empty patches may be created by the preceding steps. For example, subdividing a 2d box only once to isolate two points into separate sub-patches creates two empty patches. Furthermore, non-empty patches obtained from these first three steps will likely not cover the entire domain (see Fig. 1 (a) and (b)). 4. For each empty patch created in step 3, • insert a point xk , k = N0 + 1, . . . , N, into Ω and name that patch ωk . This gives a set of patches {ωi }Ni=1 whose intersection with the domain partition the interior of the domain. To get an overlapping cover: 5. For each ωi , i = 1, . . . , N • extend ωi by a multiplicative cover factor αi typically chosen to be 1 < αi < 2. 6. If the domain contains one or more subdomains, check if any subdomain is a proper subset of a patch. If so, refine that patch until it intersects the boundary of the subdomain. Of the patches created during this process, only those which are not disjoint from the domain are added to the cover, and the value of N is adjusted accordingly. This step guarantees that subdomain boundaries are always properly resolved by the cover. 7. The preceding steps give an overlapping cover of the domain as required by the PUM. One may optionally perform further refinements of this cover. There are two refinements which we perform to aid our computations: • To facilitate integration of the region(s) interior to the domain on a patch which is intersected by the boundary, we refine boundary patches if necessary until no boundary patch is intersected by the boundary more than twice. • To permit more efficient computation, we refine patches so that no two adjacent patches differ by more that k (for some integer k > 0) refinement levels. In practise, k = 1 is chosen. This ensures that on a simple 2−dimensional rectangular domain and for any cover factor, 1 < α < 2, no patch will contain another patch as a proper subset. 8. Finally, For i = 1, . . . , N • if (ωi ∩ Ω ) ⊆ (ω j ∩ Ω ) for some j = 1, . . . , N, j 6= i, then – ΩN −→ ΩN \ ω j – N −→ N − 1 The data structures used for the subdivision process in the algorithm are quadtrees, so un-extended patches which differ by k levels of refinement differ in area by a factor of 4k . Two competing interests must be weighed in determining the choice of α (step 5). On one hand, too small an overlap between adjacent patches may result in very steep gradients in the trial functions, with the ensuing numerical costs (such as very expensive quadrature schemes to ensure accuracy). On the other hand, too large an overlap could result in too many “neighbouring” patches for each patch (for example, the “neighbours” of a patch could include non-adjacent patches or some patches might become proper subsets of others) and a

9 of 27

1

1

0.5

0.5

0

0

Y

Y

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

-0.5

-0.5

-1

-1 -1

-0.5

0 X

0.5

1

-1

-0.5

(a)

0 X

0.5

1

0 X

0.5

1

(b)

1

1

R 0.5

0

Y

Y

0.5

R

-0.5

R

R

-0.5

0 X

0

-0.5

-1

-1 -1

(c)

0.5

1

-1

-0.5

(d)

FIG. 1. Key stages of cover construction. (a) Three points distributed randomly in a complex domain and the initial cover. (Steps 1–3 of Algorithm 1). (b) An increase in the number of patches so that the whole domain is covered. Patches have also been extended by α = 1.2. (Steps 4 and 5). (c) Optional refinements of the cover. In addition, each patch whose centre point is outside of the domain has the point associated with it relocated within the patch to lie in the domain. Four patches whose intersection with the domain are subsets of another patch are labelled ’R’ and will be removed in the final stage of basic cover construction. (Step 7). (d) The final cover of 116 patches with the four patches from frame (c) removed. (Step 8).

10 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

discretisation which produces a system of equations which is dense and difficult or inefficient to solve. Indeed, too large an α may result in linear dependence when the bases of the local approximation spaces {Vi }Ni=1 are combined to attempt to form a basis for the global approximation space VPU as mentioned earlier. We restrict the relative sizes of adjacent patches and the choice of cover factors (neighbouring patches differ by at most 1 level of refinement and 1 < α < 2) so that the non-null intersection of a patch occurs only with immediately adjacent patches. A further restriction of 1 < α < 1.5 on rectangular domains guarantees that each patch contains a centrally-located subset (of non-zero Lebesgue measure) on which all partition of unity functions are zero except the one associated with that patch. This is the flat top property outlined in Sec. 2.2, and it guarantees that the union of all local basis functions will be linearly independent. In Sec. 3.3 we outline extensions to the above algorithm which guarantee the flat top property on arbitrary domains. Fig. 1 exhibits key stages in the construction of a 2d cover of a complex domain. Of particular interest to us are domains containing many holes, a typical situation encountered in cell biology. For such complex domains we again form covers as described above, treating the interior boundaries just like the exterior boundary of the domain. Fig. 2 illustrates one such case for a domain containing 8 holes and 918 patches. If it is necessary to solve equations on a subdomain, a separate cover is created for that subdomain as described in Algorithm 1.

1 1

0.5

0

Y

Y

0.5

0

-0.5 -0.5

-1 -1 -1

-0.5

0 X

0.5

1

(a)

-1

-0.5

0 X

0.5

1

(b)

FIG. 2. (a) View of a domain containing 918 points and eight holes of varying sizes, and (b) domain with cover, with

a cover factor of 1.2.

3.3

Extensions to the Cover Construction Algorithm

Many extensions to the core cover construction algorithm, Algorithm 1, are possible, forming an important area of research similar to mesh generation theory for mesh-based methods. We will introduce three such extensions, with the first two geared towards ensuring that the resulting cover has the flat top property (see Sec. 2.2) for arbitrary domains. Note that on irregular domains, even the restriction of cover factor α to 1 < α < 1.5 combined with the requirement that neighbouring patches differ by at most 1 level of refinement, are not enough to guarantee the flat top property. For example, that property can be violated if a patch intersecting the domain boundary contains only a tiny domain region

11 of 27

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

1

1

R 0.5

0.5 R R

R

-0.5

R

R

R

Y

Y

R 0

R

0

-0.5

R R

R

-1 -1

-1 -0.5

0 X

(a)

0.5

1

-1

-0.5

0 X

0.5

1

(b)

FIG. 3. Last stages of cover construction illustrating the second extension to Algorithm 1. (a) A cover containing 120 patches created from steps 1 – 7 of Algorithm 1. Twelve patches whose intersection with the domain are contained in the union of other patches, are labelled ’R’ and will be removed in the final stage of cover construction. (b) The final cover of 108 patches with the twelve patches from frame (b) removed. (Modified step 8 of Algorithm 1).

in one of the corners (and away from the centre) of that patch. The third extension discussed makes the flat top property likely but does not guarantee it, but it does have the advantage of reducing the overall number of patches used and also shows the flexibility of our method since in involves the use of patches of varying cover factors. Firstly, a simple adjustment to Algorithm 1 guarantees that the cover has the flat top property. In step 7 of the algorithm, continue subdividing until the centre point of each patch which intersects the domain boundary is in the domain (discarding patches which are disjoint from the domain). Because of our restriction of cover factor α to 1 < α < 1.5 combined with the requirement that neighbouring patches differ by at most 1 level of refinement, the centre of each patch will then be both in the domain and disjoint from all neighbouring patches. Hence clearly such a cover will have the flat top property. However, since this extension can lead to a vast increase in the number of patches over which to integrate and since we find that our partition of unity method works well without it, we do not use this extension in practical computations. Secondly, we can again guarantee the flat top property by modifying step 8 of Algorithm 1 as follows: eliminate each boundary patch whose intersection with the domain is fully contained within the union of neighbouring patches. Clearly, if such patches are removed from the cover one still has a valid cover of the domain with the remaining patches, and by definition each remaining boundary patch must have a non-null (in the Lebesgue sense) subset which is disjoint from all of its neighbouring patches (in other words, it must have the flat top property). And since non-boundary patches will also have the flat top property due to our already-mentioned restricted choice of cover factor and relative sizes of neighbouring patches, then the entire cover has the flat top property. This extension to Algorithm 1 has the advantage over the first extension of being less expensive and in fact reducing the number of patches. We typically use this extension in practise, and its effect on the construction of the cover from Fig. 1 can be seen in Fig. 3, which mimics the last two frames of Fig. 1.

12 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

A third extension involves eliminating boundary patches whose intersection with the domain is small (relative to their sizes) and expanding adjacent patches appropriately to ensure that the domain remains covered. This extension, like extension 2, reduces the total number of patches and also exhibits the flexibility of our approach since we use cover factors of varying sizes within the same cover. And while this extension does not guarantee the flat top property, it does make this property more likely in the resultant cover since the types of patches removed are the ones most likely to not have their centre points in the domain and hence most likely to be the subset of neighbouring patches. Fig. 4 illustrates the effects of the algorithm with a domain having a complex shape. A cover created by Algorithm 1 is modified to remove four patches, and eleven neighbouring patches are extended to ensure that the domain remains covered. We describe this extended cover creation process explicitly in Algorithm 2. In Fig. 4, the value of TOL from step 2 of Algorithm 2 is 0.25. This algorithm shows the versatility of the PUM, where a useful choice in the many parameters the method offers (different patch form, patch size, reallocation strategies of patch centre etc.) can lead to vastly greater efficiency and applicability.

1

1

0.5

0.5 E EEE

E EEE

E EEE

E EEE

R

R

E EEE

EEE EEE

0

Y

Y

E EEE

E EEE

E EEE

R

E EEE

R

EEE

EEE

EEE

EEE EEE

0 EEE EEE

-0.5

-0.5 E EEE

E EEE

EEE

-1

EEE

-1

-1

-0.5

0

0.5

1

-1

X

(a)

-0.5

0

0.5

1

X

(b)

FIG. 4. (a) A cover created by Algorithm 1, with patches to be removed labelled ’R’ and patches which will be

extended to maintain a complete cover labelled ’EEE’. (b) The cover generated at the end of Algorithm 2, with four patches from the original cover removed and eleven patches (labelled ’EEE’) extended.

Algorithm 2: An extended cover construction algorithm 1. Perform Algorithm 1. 2. For each boundary patch, check what proportion of its size (area in 2d) lies within the domain. If this proportion is < TOL, tag the patch for potential removal. 3. For each patch tagged for potential removal, do the following:

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

13 of 27

• Determine which of its neighbours could be expanded to take its place (notably, such a patch cannot be also tagged for removal), and determine the maximum amount by which these neighbours could be expanded without crossing the centre point of an adjacent patch. • Gradually increase the size (i.e. cover factor) of all patches to be expanded until the union of these expanded patches covers the domain region of the patch to be removed (success) or until the cover factor of an expanded patch is within some preset tolerance of the maximum allowed cover factor (failure). • If the preceding step ends successfully and the expanded patches do not intersect the boundary of the domain more than twice, remove the patch tagged for removal and expand the neighbouring patches by the cover factors determined in the preceding step. Otherwise, do nothing to the patch tagged for removal and its neighbours. 4. Discretisation and Quadrature In order to set up the algebraic equation system (2.2) for the partition of unity method, the finite analogue pi of problem (2.1) has to be evaluated with respect to all patches ωi and all basis functions {ϕi ψik }k=1 defined on the respective patch. This is the most time consuming part of the method due to the (potentially) arbitrary distribution of nodes. Eventually, it is necessary to find for each patch all of its neighbours in order to determine the integration areas. Fortunately, this costly procedure can be alleviated by reusing information about overlapping patches, as long as nodes are static. The numerical integration of boundary patches is another demanding task, depending on the shape of the domain. A simple approach would be to stick with regular integration cells (e.g. squares in 2d) and successively refine integration areas along boundaries to asymptotically approximate the real integration area. Another method using curvilinear patches with higher accuracy and fewer integration areas is mentioned in the section on quadrature. 4.1

Galerkin Discretisation

It is instructive to define a simple model problem for illustrating the approximation of the weak form. We consider solving the scalar linear Neumann problem − div ·(grad u(x)) + u(x) = f (x),

x ∈ Ω,

∂ u(x) = g(x), ∂ν

(4.1)

x ∈ ∂Ω,

where ν denotes the outer normal with respect to the domain’s boundary. The (strong) solution of this equation is in C2 (Ω ) ∩ C1 (Ω ) and cannot be determined analytically on arbitrary domains. We therefore seek a weak solution u ∈ H 1 (Ω ) which solves the weak form of the problem. Multiplying (4.1) by an arbitrary compact test function v of sufficient smoothness, integrating over Ω and using Green’s theorem, we obtain Z

Z

(∇u ∇v + uv) dx = Ω

Z

f v dx + Ω

∂Ω

∂u v ds. ∂ν

(4.2)

Substituting the Neumann boundary condition of (4.1) in the boundary term and rewriting (4.2) according to (2.1) using

14 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

Z

(∇u ∇v + uv) dx

a(u, v) := ZΩ

Z

f v dx +

l(v) := Ω

gv ds, ∂Ω

we obtain the following problem formulation: Find u ∈ VPU s.t. a(u, v) = l(v) ∀v ∈ VPU .

(4.3)

Here, the problem is projected into the finite dimensional PUM space VPU . It can be shown that, assuming sufficient regularity of a and l, that the weak solution of the variational problem (4.3) is also a strong solution of (4.1). Besides, applying the fundamental Lax-Milgram lemma, it is straightforward to show uniqueness of the solution of (4.3). Finally the linear equation system (2.2) resulting from evaluating (4.3) has to be solved efficiently. This can be done with direct solvers for smaller systems and certain special types of equations, or iterative solvers, e.g. based on the conjugate gradient methods. In [14] a multilevel solver for the PUM was developed. We now discretise the weak form for assembling (2.2) using the described Shepard partition of unity construction A = (ai j ), with ai j = a(ϕi ψik , ϕ j ψ lj ) ∈ Rdim(Vi )×dim(V j ) , fˆ = ( fi ), with fi = h f , ϕi ψik iL2 (Ω ) =

Z

f ϕi ψik ∈ Rdim(Vi ) .

(4.4) (4.5)



We recall that the partition of unity functions and their first order derivatives are

ϕi (x) =

wi (x) ∑Nk=1 wk (x)

=

wi (x) . ∑ωk ∈N(x) wk (x)

(4.6)

Let N(x) := {ωi | x ∈ ωi } denote the set of all patches overlapping x. Hence

∇ϕi (x) =

∇wi (x) ∑ωk ∈N(x) wk (x) − wi (x) ∑ωk ∈N(x) ∇wk (x) . (∑ωk ∈N(x) wk (x))2

(4.7)

Let W := ∑Nk=1 w ◦ Ti (x) and Di := ∇w ◦ Ti (x)W − w ◦ Ti (x) ∑Nk=1 ∇w ◦ Tk (x). We then get the stiffness matrix entries

n a(ϕ j ψ m j , ϕi ψi ) =

Z

W −4 Di ψin D j ψ m j +



Z

W −2 wi ∇ψin w j ∇ψ m j



Z

+ Ω

W −3 Di ψin w j ∇ψ m j +

Z Ω

(4.8) W −3 Di ∇ψin D j ψ m j ,

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

15 of 27

and the load vector with boundary term

h f , ϕi ψin iL2 = 4.2

Z Ω

W −1 wi ψin f +

Z

W −1 ψin g.

(4.9)

∂Ω

Numerical integration

All methods based on an integral form of the problem equations need to evaluate integrals on the computational domain. This is usually done by applying a numerical integration scheme on a decomposition of the domain. Arbitrary order quadrature rules can for instance be constructed based on Gaussian integration. In one dimension this is optimal in the sense that m integration points provide the exact value for a polynomial of degree 2m − 1. For higher dimension a straightforward way of extending the one dimensional scheme is to use a tensor product approach. However, this approach does not show the same optimal complexity as in 1d and different schemes have been developed for at least getting quasioptimal complexity. One alternative method is quadrature based on a sparse grid structure which was utilised for mesh-free discretisations in [13]. In our mesh-free discretisation we have to evaluate integrals for the overlap regions of neighbouring patches. Recalling the construction of the trial function ϕi ψil for patch ωi , it becomes clear that the integration area needs to be broken up into smaller subareas due to the discontinuities of the partition of unity function gradients ∇ϕi . Unfortunately it is immediately obvious that discontinuities in the derivatives arise along boundaries with overlapping neighbour patches. Therefore, these boundary segments are extended up to the boundaries of the respective patch such that the integration area is split into subareas with only smooth (rational) functions inside. The required steps are illustrated in [13]. Moreover, approximation functions inherit the regularity of the utilised weight function w. Hence, additional splittings have to be introduced for all involved patches ωi ∈ N(x) according to the derivative discontinuities of all wi = w ◦ Ti . While most integration areas are simple in the sense that an affine map can be applied for transforming the reference cell [−1, 1]d onto the physical patch, at boundaries this approach can lead to large errors and degrade accuracy. Another approach is to use higher order polynomial approximations for integration areas of boundary patches. This can permit the use of large boundary patches in which the boundary segment is quite complicated and thus limit the need for refinement of boundary patches to fully resolve complicated boundary topology, resulting in more efficient code. Parametric transformations (of the same order as the approximation spaces, i.e. isoparametric) are common in finite element codes. In our simulations, we support arbitrary order maps in patches intersecting any interface. In Fig. 5, the effect of these parametric maps in approximating the real boundary of a domain is demonstrated. The fourth order parametric map almost perfectly recreates the original domain boundary, as demonstrated by the magnified view of one of the curved sections of that boundary. Here, the domain is covered with only 4 equally sized patches with cover factor of 1.8. Note that since the patches do not differ in size, this cover still has the flat top property even with a cover factor which is greater than 1.5 (but less than 2).

As further evidence of the merits of parametric maps, we numerically approximate the area of the

16 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

2

1.5 BOUNDARY COVER

BOUNDARY PARAMETRIC BOUNDARY REGION MAGNIFIED

1.5 1 1 0.5

0

Y

Y

0.5 0

-0.5 -0.5 -1 -1 -1.5 -2 -2

-1.5

-1

-0.5

0 X

0.5

1

1.5

-1.5 -1.5

2

-1

-0.5

(a)

0.5

1

1.5

(b) BOUNDARY PARAMETRIC BOUNDARY

1

0 X

BOUNDARY PARAMETRIC BOUNDARY

1

0.8

0.8 Y

0.9

Y

0.9

0.7

0.7

0.6

0.6

0.5

0.5

0.4

0.4 0.4

0.5

0.6

0.7

0.8

0.9 X

1

1.1

1.2

1.3

1.4

0.4

0.5

0.6

0.7

(c)

0.8

0.9 X

1

1.1

1.2

1.3

1.4

(d)

FIG. 5. (a) Smooth domain with cover (cover factor 1.8). (b) Piecewise linear approximation to boundary. The region

enclosed in the small box is shown magnified in the remaining frames. (c) Close-up of a quadratic approximation to the boundary. (d) Close-up of a cubic approximation to the boundary.

domain of Fig. 5 by integrating f (x) = 1 on the domain, using the given cover and the partition of unity functions, ϕi , as explained in Sec. 5 in the description of error approximation (i.e., using the fact that R 4 R Ω 1dx = ∑i=1 ωi ∩Ω (ϕi ∗ 1)dx). Since the domain is polygonal, we can also compute its exact area [19], and in the following table we demonstrate the improvement in relative error with increasing parametric map order.

Parametric Map Order 1 (Linear) 2 (Quadratic) 3 (Cubic)

Actual Area

Approximated Area

Relative Error

3.3721 3.3721 3.3721

3.0765 3.3357 3.3658

8.7663−2 1.0803−2 1.8594−3

Using the same domain and cover (containing four patches) of Fig. 5, we also look at the effect of the order of the parametric map on the rate of convergence, ρL2 , of the relative error measured in the L2

17 of 27

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

norm, eL2 . We solve −∆ u + u ∂ u ∂ν

=f

in Ω ,

=g

on ∂ Ω .

using GDF, with f and g chosen to give a solution of u(x, y) = x2 y and with all normal derivatives computed on the real domain boundary. We increase the polynomial degree, p, of the local approximation spaces {Vi }4i=1 for several fixed parametric map orders and record the relative error in the L2 norm as well as the rate of convergence, ρL2 , and the degrees of freedom, dof. The results are summarised in the following table. See the preamble to the examples in Sec. 5 for a more detailed description of ρL2 .

p 1 2 3

Linear Parametric Maps dof eL 2 ρL 2 12 24 40

3.4240−1 2.1114−1 1.6720−1

0.6974 0.4568

Quadratic Parametric Maps p dof eL2 ρL 2

p

1 2 3

1 2 3

12 24 40

2.8786−1 9.0590−2 2.5011−2

1.6679 2.5196

Cubic Parametric Maps dof eL 2 ρL 2 12 24 40

2.7536−1 8.2273−2 1.0876−2

1.7428 3.9611

For this example, two trends of note are that the relative error decreases with increasing parametric map order, and the rate of convergence ρL2 is faster with increasing parametric map order. 5. Numerical Results The Generic Discretisation Framework (GDF) developed by the authors implements the ideas presented in the previous sections of this document. It is written in the C++ programming language which provides good run-time performance and modern paradigms for software design such as reusability by object orientation and generic programming through templates. In this section we demonstrate the performance of the partition of unity meshfree method as implemented in GDF. Stationary elliptic problems are solved in two dimensions on (−1, 1)2 and on more complex regions which are handled automatically by the simulation framework as described in Sec. 3. We also solve an instationary problem on a complex domain, using a theta scheme for time-stepping. Unless noted otherwise the standard function spaces are complete linear polynomials multiplied by the local partition of unity functions obtained by the Shepard construction from linear B-spline weights (see Sec. 2.3). Refinement of the patch size (h-refinement) and of the polynomial degree (p-refinement) are demonstrated. The convergence rate ρ with respect to successive refinement levels l − 1 and l is exhibited, according to log ρ := −

ku−ulpum k ku−ul−1 pum k l

dof log dof l−1

.

(5.1)

Following [11], we replace α in the traditional ku − upum k = O(hα ) measure of convergence rates by ρ = α/d, where d is the spatial dimension. That relation is based on the error estimate ku − upum k = O(dof−ρ ) [2, 18] (where dof is the degrees of freedom) and the observation that for N uniformly distributed points in (−1, 1)d , we get evenly-sized patches of characteristic width h ∼ N −1/d ∼ dof−1/d .

18 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

1.5

1.5

1

1

0.5

0.5

0

0

Y

Y

Hence hα ∼ dof−α/d , leading to the relation between ρ and α. Note that in Examples 1 and 2, the points are uniformly distributed in the domains, and for these simple domains this means that at each refinement level, the cover patches are of uniform size. Fig. 6 illustrates the typical uniform cover patches used in Examples 1 and 2.

-0.5

-0.5

-1

-1

-1.5 -1.5

-1

-0.5

0

0.5

1

1.5

-1.5 -1.5

-1

-0.5

X

0

0.5

1

1.5

X

(a)

(b)

FIG. 6. Typical uniform covers used in Examples 1 and 2, with cover factor 1.2. (a) Cover for N = 16 uniformly distributed points. (b) Cover for N = 64 uniformly distributed points.

The following notation applies to all tables and graphs in this section: • l = the number of spatial or polynomial (which one will be clear from the context) refinements. • N = the number of points (= the number of patches) in the domain. • p = the degree of the (polynomial) local approximation spaces. • hmin = the minimal patch width (and length). • dof = the degrees of freedom = ∑i dim(Vi ). • e = the relative error =

ku−upum k kuk

(both the L2 and H 1 norms are used throughout).

• ρ = the PUM convergence rate. Errors on the square domains are approximated simply by integrating over the unextended cover (cover factor α = 1), which partitions the domain, then using the additivity of integration to sum these local integrals. For the complex domains, this approach is not ideal since an unextended cover may no longer fully cover the domain. Therefore, for approximating the error on complex domains we simply integrate over the existing overlapping cover of the domain (intersected with the domain), multiplying integrands of a patch by the partition of unity function for that patch then summing these local integrals. Here, with {ωi }Ni=1 being a cover ofR Ω and {ϕi }4i=1 being a partition of unity subordinate to that cover, R we use the fact that Ω f dx = ∑Ni=1 ωi ∩Ω ϕi f dx for any integrand of interest, f .

19 of 27

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

5.1

Example 1, h-refinement

We perform h-refinement convergence tests on the domain Ω = (−1, 1)2 , solving

−∆ u + u ∂ u ∂ν

=f

in Ω ,

(5.2)

=g

on ∂ Ω .

(5.3)

A cover factor of 1.2 is used in this example. We select f and g so that the actual solution is u(x, y) = (x2 − 1)2 (y2 − 1)2 + y3 − 3y. With linear local approximation spaces (p = 1), finite element theory predicts an optimal convergence rate of αL2 = 2 and αH 1 = 1, corresponding to ρL2 = 1 and ρH 1 = 0.5 in the partition of unity method.

1 L2

RELATIVE ERROR NORM

H1 0.1

0.01

0.001

1e-04 10

100

1000 10000 DEGREES OF FREEDOM

100000

FIG. 7. Log-log plot of the L2 and H 1 relative error versus the degrees of freedom for Example 1.

5.2

l

N

p

dof

hmin

eL 2

eH 1

ρL 2

ρH 1

0 1 2 3 4

16 64 256 1024 4096

1 1 1 1 1

48 192 768 3072 12288

0.6 0.3 0.15 0.075 0.0375

6.09281−2 1.96762−2 5.44612−3 1.40879−3 3.56327−4

2.41333−1 1.34737−1 6.99747−2 3.53910−2 1.77574−2

0.815 0.927 0.975 0.992

0.420 0.473 0.492 0.497

Example 2, h- and p-refinements

Again we solve Equations 5.2 and 5.3 with cover factor 1.2 and Ω = (−1, 1)2 . The functions f and g are selected to produce an actual solution of u(x, y) = e4(x+y) , which has very steep gradients. Both h− and p−refinement are performed. We first discuss the example in the context of h−refinement as in Example 1, then re-examine the data to determine the effect of p−refinement on errors and convergence rates.

20 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS 1

1 0.1

0.01

RELATIVE ERROR H1 NORM

RELATIVE ERROR L2 NORM

0.1

0.001 1e-04 1e-05 1e-06 1e-07

LINEAR

1e-08 QUADRATIC CUBIC 1e-09 QUARTIC 1e-10 QUINTIC 1e-11 10 100

1000 10000 DEGREES OF FREEDOM

(a)

100000

0.01 0.001 1e-04 1e-05 1e-06

LINEAR

QUADRATIC 1e-07 CUBIC QUARTIC 1e-08 QUINTIC 1e-09 10 100

1000 10000 DEGREES OF FREEDOM

100000

(b)

FIG. 8. Log-log plots of the L2 (frame (a)) and H 1 (frame (b)) relative error versus the degrees of freedom for Example 2a.

5.2.1 Example 2a Here, we use linear (p = 1) to quintic (p = 5) approximation spaces. The optimal convergence rates with respect to spatial (h) refinement for the various local approximation spaces are summarised below:

• Linear (p = 1): αL2 = 2 and αH 1 = 1, corresponding to ρL2 = 1 and ρH 1 = 0.5.

• Quadratic (p = 2): αL2 = 3 and αH 1 = 2, corresponding to ρL2 = 1.5 and ρH 1 = 1.

• Cubic (p = 3): αL2 = 4 and αH 1 = 3, corresponding to ρL2 = 2 and ρH 1 = 1.5.

• Quartic (p = 4): αL2 = 5 and αH 1 = 4, corresponding to ρL2 = 2.5 and ρH 1 = 2.

• Quintic (p = 5):αL2 = 6 and αH 1 = 5, corresponding to ρL2 = 3 and ρH 1 = 2.5.

The plot of the convergence rates for all examples is given in Fig. 8 and the convergence data is also presented in tabular form.

21 of 27

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

l

N

p

dof

hmin

eL2

eH 1

ρL 2

ρH 1

3.14722−1 1.08097−1 3.18610−2 8.75292−3 2.29434−3

6.84650−1 4.30457−1 2.40695−1 1.27015−1 6.50780−2

0.771 0.881 0.932 0.966

0.335 0.419 0.461 0.482

2.78215−1 8.97816−2 2.45541−2 6.35400−3 1.61271−3

1.34 1.49 1.52 1.52

0.816 0.935 0.975 0.989

8.02433−2 1.29718−2 1.71647−3 2.15097−4 2.67184−5

1.82 1.97 2.00 2.00

1.31 1.46 1.50 1.50

1.80042−2 1.45778−3 9.37562−5 5.68235−6 3.43915−7

2.30 2.47 2.52 2.53

1.81 1.98 2.02 2.02

3.34474−3 1.40457−4 4.70545 −6 1.48323−7 4.61986−9

2.75 2.92 2.97 2.94

2.29 2.45 2.49 2.50

Linear 0 1 2 3 4

16 64 256 1024 4096

1 1 1 1 1

48 192 768 3072 12288

0.6 0.3 0.15 0.075 0.0375

Quadratic 0 1 2 3 4

16 64 256 1024 4096

2 2 2 2 2

96 384 1536 6144 24576

0.6 0.3 0.15 0.075 0.0375

9.37964−2 1.46400−2 1.86645−3 2.26685−4 2.75672−5

Cubic 0 1 2 3 4

16 64 256 1024 4096

3 3 3 3 3

160 640 2560 10240 40960

0.6 0.3 0.15 0.075 0.0375

2.22270−2 1.78415−3 1.16339−4 7.24902−6 4.50148−7

Quartic 0 1 2 3 4

16 64 256 1024 4096

4 4 4 4 4

240 960 3840 15360 61440

0.6 0.3 0.15 0.075 0.0375

4.20364−3 1.74371−4 5.64841−6 1.70896−7 5.14998−9

Quintic 0 1 2 3 4

16 64 256 1024 4096

5 5 5 5 5

336 1344 5376 21504 86016

0.6 0.3 0.15 0.075 0.0375

6.82202−4 1.50475−5 2.62825−7 4.25647−9 7.25203−11

In summary, we see that the optimal convergence rates are achieved (or almost achieved) with respect to spatial refinement for each fixed local polynomial approximation space degree, p. 5.2.2 Example 2b To study the rate of convergence with respect to p− refinement, we look at the errors for increasing p and fixed N. For solutions, u, we expect this rate of convergence to  analytic √  −b dof [12]. We include below one representative table of be exponential – i.e. ku − upum k = O e the convergence rates, ρ, computed using Equation 5.1 with l representing the polynomial instead of spatial refinement level and with N = 1024. The related semi-log plot of relative errors versus degrees of freedom, Fig 9, clearly illustrates the exponential convergence.

22 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

l

N

p

dof

hmin

eL 2

eH 1

ρL2

ρH 1

0 1 2 3 4

1024 1024 1024 1024 1024

1 2 3 4 5

3072 6144 10240 15360 21504

0.075 0.075 0.075 0.075 0.075

8.75292−3 2.26685−4 7.24902−6 1.70896−7 4.25647−9

1.27015−1 6.35400−3 2.15097−4 5.68235−6 1.48323−7

5.27 6.74 9.24 11.0

4.32 6.63 8.96 10.8

1 L2

RELATIVE ERROR NORM

0.1

H1

0.01 0.001 1e-04 1e-05 1e-06 1e-07 1e-08 1e-09 0

4000

8000 12000 16000 DEGREES OF FREEDOM

20000

24000

FIG. 9. Semi-log plot of the L2 and H 1 relative error versus the degrees of freedom for Example 2b with N=1024 and p ranging from 1 to 5, showing the effect of p−refinement on errors.

5.3

Example 3, complex domain with holes (h-refinement)

We solve Equations 5.2 and 5.3 on a domain, Ω , consisting of (−1, 1)2 filled with eight holes of varying sizes, using linear local approximation spaces multiplied by local partition of unity functions obtained by the Shepard construction from quadratic B-spline weights. This domain, along with its cover for the penultimate distribution of 918 points, is pictured in Fig. 2 of Sec. 3. Even on this complex domain, the optimal convergence rates are achieved for a linear approximation. The f and g of Equations 5.2 and 2 2 5.3 are selected to give a solution of u(x, y) = 1000e−10{(x+0.5) +y } , which has very steep gradients.

5.4

l

N

p

dof

hmin

eL 2

eH 1

ρL 2

ρH 1

0 1 2 3

133 231 918 3585

1 1 1 1

399 693 2754 10755

0.075 0.075 0.075 0.0375

1.22059−1 6.39602−2 1.65654−2 4.37436−3

4.12746−1 3.08083−1 1.52778−1 7.85861−2

1.171 0.979 0.977

0.530 0.508 0.490

Example 4, complex domain with many holes of varying shapes and sizes (h- and p-refinements)

We solve Equations 5.2 and 5.3 on a domain, Ω , consisting of (−1, 1)2 filled with thirty holes of varying shapes and sizes, using complete local polynomial spaces multiplied by local partition of unity functions constructed with quadratic B-spline weights. As in Example 3, the choice of f and g in Equations 5.2 and

23 of 27

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

(b) 1

0.5

0.5

0

0

Y

Y

(a) 1

-0.5

-0.5

-1

-1 -1

-0.5

0 X

0.5

1

-1

-0.5

0 X

0.5

1

FIG. 10. (a) The domain of Example 4, with 30 holes. (b) The same domain with a cover of 2101 patches with cover factor 1.3.

2

2

5.3 results in a solution of u(x, y) = 1000e−10{(x+0.5) +y } . The domain as well as its cover (consisting of 2101 patches) is exhibited in Fig. 10. We perform a base simulation using linear local approximation spaces on a cover of 2101 patches. We then perform one step of h-refinement and one step of prefinement. Despite the fact that the h-refinement step produces a problem with slightly more degrees of freedom than the p-refinement step, it is less accurate than the results of p-refinement, as is expected. The key observation is the ease with which both of these refinements can be carried out in GDF even on such a complex domain. The relative errors and convergence rates for both cases are summarised in the following two tables. h-refinement eL 2

l

N

p

dof

hmin

0 1

2101 4904

1 1

6303 14712

7.93457−5 7.93457−5

3.05007−2 3.12260−3

eH 1

ρL2

ρH 1

1.87271−1 6.38834−2

2.689

1.269

p-refinement

5.5

l

N

p

dof

hmin

eL 2

eH 1

ρL2

ρH 1

0 1

2101 2101

1 2

6303 12606

7.93457−5 7.93457−5

3.05007−2 1.85277−3

1.87271−1 1.90993−2

4.041

3.294

Example 5, an instationary problem and mass conservation

Finally, we solve the following instationary (diffusion) equation with the stated boundary and initial conditions:

24 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS 1

0.5

0

-0.5

-1 -1

-0.5

0

0.5

1

FIG. 11. Domain with cover on which the diffusion equation is solved (Example 5).

∂ u−∆u = 0 ∂t ∂ u=0 ∂ν u(x,t = 0) = e−10(x

in Ω ,

(5.4)

on ∂ Ω ,

(5.5)

2 +y2 )

.

(5.6)

A theta-scheme with θ = 1/2 (the Crank-Nicolson scheme) is used. The domain on which this problem is solved along with its cover (with cover factor 1.2), is exhibited in Fig. 11. The time step was 0.01, and we plot the solution at the initial time and at selected subsequent times, up to the end of the simulation at t = 3.0. Even on this complex domain, mass is conserved. This is conveyed in Fig. 12 where we list selected simulation times with corresponding mass, and where we see an almost constant mass plotted against simulation time.

6. Outlook The presented partition of unity method proves to be a flexible numerical approach to solving partial differential equations in different areas, especially where complex domains are creating severe problems for mesh generation algorithms. Convergence rates are as predicted by the theory and as one of our main insights can be maintained also for such complex domains. Moreover, the method which is based on ideas of Schweitzer [20] has been extended allowing a better handling of parametric boundary patches and many holes such that it is capable of creating automatically a discretisation cover in a robust way (see also [8] for further extensions). By this, the method provides a comprehensive basic approach for

25 of 27

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

0 0.25 0.5 0.75 1 1.25 1.5 1.75 2 2.25 2.5 2.75 3

Mass 0.275610 0.276629 0.276620 0.276550 0.276464 0.276371 0.276264 0.276153 0.276034 0.275912 0.275786 0.275658 0.275527

Mass vs. Time 0.3 0.295 0.29 0.285 0.28 MASS

Time

0.275 0.27 0.265 0.26 0.255 0.25 0

0.5

1

1.5

2

2.5

3

TIME

FIG. 12. Left: Table showing the value of the mass at selected times for Example 5. Right: A plot of the mass versus simulation time for the same example. The relative error after 299 time steps is er = 0.000301150

t =0

t = 0.02

t = 0.15

t =3

FIG. 13. Plots of the solution function at selected times for Example 5.

26 of 27

M. EIGEL, E. GEORGE, M. KIRKILIONIS

tackling complex problems as seen in many real world applications such as the life sciences. More involved models, including nonlinear problems and, in particular, problems with nonlinear interface conditions and processes on interfaces, are described in a forthcoming paper [7]. R EFERENCES [1] I. Babuˇska, U. Banerjee, and J. E. Osborn. Generalized finite element methods - main ideas, results and perspective. Int. J. Comp. Meth., 1(1):67–103, 2004. [2] I. Babuˇska and J. M. Melenk. The partition of unity method. Internat. J. Numer. Methods Engrg., 40(4):727–758, 1997. [3] Ivo Babuˇska, Uday Banerjee, and John E. Osborn. Survey of meshless and generalized finite element methods: a unified approach. Acta Numer., 12:1–125, 2003. [4] Ivo Babuˇska, Gabriel Caloz, and John E. Osborn. Special finite element methods for a class of second order elliptic problems with rough coefficients. SIAM J. Numer. Anal., 31:945–981, 1994. [5] T. Belytschko, Y. Krongauz, D. Organ, M. Fleming, and P. Krysl. Meshless methods: An overview and recent developments. Comput. Methods Appl. Mech. Engrg., 139:3–47, 1996. [6] Serge Dumont, Olivier Goubet, Tuong Ha-Duong, and Pierre Villon. Meshfree methods and boundary conditions. Internat. J. Numer. Methods Engrg., 67(7):989–1011, 2006. [7] Martin Eigel, Erwin George, and Markus Kirkilionis. A meshfree partition of unity method for interface problems with biological applications. in preparation, 2008. [8] Martin Eigel, Erwin George, and Markus Kirkilionis. A partition of unity meshfree method solving transportreaction equations on complex domains: Implementation and applications in the life sciences. In Michael Griebel and Marc Alexander Schweitzer, editors, Meshfree Methods for Partial Differential Equations IV. Springer-Verlag Berlin and Heidelberg GmbH & Co. K, to be published in 2008. [9] Thomas-Peter Fries and Herman-Georg Matthies. Classification and overview of meshfree methods. Tech. rep., TU Brunswick, Germany, 03, 2003. [10] M. Griebel and M. A. Schweitzer. A particle-partition of unity method. V. Boundary conditions. In Geometric analysis and nonlinear partial differential equations, pages 519–542. Springer, Berlin, 2003. [11] M. Griebel and M. A. Schweitzer. A particle-partition of unity method part vii: Adaptivity. preprint, 2006. [12] Michael Griebel and Marc Alexander Schweitzer. A particle-partition of unity method for the solution of elliptic, parabolic, and hyperbolic PDEs. SIAM J. Sci. Comput., 22(3):853–890 (electronic), 2000. [13] Michael Griebel and Marc Alexander Schweitzer. A particle-partition of unity method. II. Efficient cover construction and reliable integration. SIAM J. Sci. Comput., 23(5):1655–1682 (electronic), 2002. [14] Michael Griebel and Marc Alexander Schweitzer. A particle-partition of unity method. III. A multilevel solver. SIAM J. Sci. Comput., 24(2):377–409 (electronic), 2002. [15] Michael Griebel and Marc Alexander Schweitzer. A particle-partition of unity method. IV. Parallelization. In Meshfree methods for partial differential equations (Bonn, 2001), volume 26 of Lect. Notes Comput. Sci. Eng., pages 161–192. Springer, Berlin, 2003. [16] A. Huerta, T. Belytschko, S. Fern´andez-M´endez, and T. Rabczuk. Meshfree methods. In Erwin Stein, Ren´e de Borst, and Thomas J. R. Hughes, editors, Encyclopedia of Computational Mechanics, volume 1, chapter 10, pages 279–309. John Wiley & Sons, 2004. [17] S. Li and Liu W.K. Meshfree Particle Methods. Lecture Notes in Computational Science and Engineering. SpringerVerlag, Berlin, 2004. [18] J. M. Melenk and I. Babuˇska. The partition of unity finite element method: basic theory and applications. Comput. Methods Appl. Mech. Engrg., 139(1-4):289–314, 1996. [19] Joseph O’Rourke. Computational Geometry in C. Cambridge University Press, Cambridge, 2000. [20] Marc Alexander Schweitzer. A parallel multilevel partition of unity method for elliptic partial differential equations, volume 29 of Lecture Notes in Computational Science and Engineering. Springer-Verlag, Berlin, 2003.

A Meshfree Partition of Unity Method for Diffusion Equations on Complex Domains

27 of 27

[21] D. Shepard. A two-dimensional interpolation function for irregular spaced points. Proc. ACM Nat. Conf, pages 517–524, 1968. [22] G. Strang and G. J. Fix. An Analysis of the Finite Element Method. Prentice-Hall, Englewood Cliffs, 1973. [23] T. Strouboulis, I. Babuˇska, and K. Copps. The design and analysis of the generalized finite element method. Comput. Methods Appl. Mech. Engrg., 181(1-3):43–69, 2000. [24] T. Strouboulis, K. Copps, and I. Babuˇska. The generalized finite element method: an example of its implementation and illustration of its performance. Internat. J. Numer. Methods Engrg., 47(8):1401–1417, 2000. [25] T. Strouboulis, K. Copps, and I. Babuˇska. The generalized finite element method. Comput. Methods Appl. Mech. Engrg., 190(32-33):4081–4193, 2001. [26] Theofanis Strouboulis, Lin Zhang, and Ivo Babuˇska. Generalized finite element method using mesh-based handbooks: application to problems in domains with many voids. Comput. Methods Appl. Mech. Engrg., 192(28-30):3109–3161, 2003. Multiscale computational mechanics for materials and structures (Cachan, 2002). [27] Rong Tian, Genki Yagawa, and Haruo Terasaka. Linear dependence problems of partition of unity-based generalized FEMs. Comput. Methods Appl. Mech. Engrg., 195(37-40):4768–4782, 2006.

Suggest Documents