GRADIENT BOUNDS FOR WACHSPRESS COORDINATES ON POLYTOPES MICHAEL FLOATER∗ , ANDREW GILLETTE† , AND N. SUKUMAR‡ Abstract. We derive upper and lower bounds on the gradients of Wachspress coordinates defined over any simple convex d-dimensional polytope P . The bounds are in terms of a single geometric quantity h∗ , which denotes the minimum distance between a vertex of P and any hyperplane containing a non-incident face. We prove that the upper bound is sharp for d = 2 and analyze the bounds in the special cases of hypercubes and simplices. Additionally, we provide an implementation of the Wachspress coordinates on convex polyhedra using Matlab and employ them in a 3D finite element solution of the Poisson equation on a non-trivial polyhedral mesh. As expected from the upper bound derivation, the H 1 -norm of the error in the method converges at a linear rate with respect to the size of the mesh elements. Key words. Wachspress coordinates, interpolation estimate, generalized barycentric coordinates, polyhedral finite element method. AMS subject classifications. 65D05, 65N30, 41A25, 41A30. 1. Introduction. Given a set of generalized barycentric coordinates {φv } on a polytope P , viewed as an open set in Rd with vertex set V , the standard vertex-based interpolation I of a function u : P → R is given by X (1.1) I(u) := u(v)φv . v∈V Let | · | denote the standard Euclidean norm. Observe that if φv ∈ C 1 (P ) for all v ∈ V , then X sup |∇I(u)(x)| ≤ sup |u(v)∇φv (x)| ≤ Λ max |u(v)|, x∈P x∈P v∈V v∈V where (1.2) Λ := sup λ(x) with λ(x) := x∈P X |∇φv (x)|. v∈V The main result of this paper is an upper bound on Λ over the class of simple convex polytopes when the φv coordinates in I are generalized Wachspress coordinates. We also derive lower bounds on Λ to illustrate the sharpness of the upper bound and provide code written in Matlab for numerical experimentation with the Wachspress coordinates on polygons and polyhedra. Our motivation for this analysis stems from the growing interest in using generalized barycentric coordinates for finite element methods on polygonal and polyhedral meshes [3, 7, 13, 18, 23]. In such methods, the interpolant I is suitable if it admits an a priori error estimate of the form (1.3) ku − I(u)kH 1 (P ) ≤ C diam(P ) |u|H 2 (P ) ∀u ∈ H 2 (P ), ∗ Department of Mathematics, University of Oslo, P.O. Box 1053 Blindern, 0316 Oslo, Norway, [email protected] † Department of Mathematics, University of California, San Diego, 9500 Gilman Drive MC 0112, La Jolla, CA 92093 [email protected] ‡ Department of Civil & Environmental Engineering, University of California, Davis, One Shields Avenue, Davis, CA 95616 [email protected] 1 2 where H k (P ) denotes the degree k Sobolev space over P . Following [7, Section 4] and classical finite element sources [2, 16], we can take the constant C to be q 2 , (1.4) C := (1 + CS (1 + Λ)) 1 + CBH with CS the Sobolev embedding constant satisfying kukC 0 (P ) ≤ CS kukH 2 (P ) independent of u ∈ H 2 (P ) and CBH the Bramble-Hilbert constant for linear approximation on a class of polytopes of diameter 1. Therefore, to prove (1.3) in this context, it suffices to provide an upper bound on Λ holding over the class of polytopes to be used as domain mesh elements and the set of coordinate functions φv to be used for interpolation via I. Here we consider the class of polytopes of dimension d that are simple, meaning the number of faces incident to each vertex is exactly d. We summarize our results in Table 1.1. Our bounds are in terms of a single geometric quantity h∗ , which denotes the minimum distance between a vertex of P and any hyperplane containing a non-incident face. The bounds are inversely proportional to h∗ , representing the fact that geometries with small h∗ values can result in large values of constant C in the a priori error estimate (1.3). The usefulness of h∗ as a measure of geometric quality is discussed further in Section 5. simple convex polytope in Rd 1 h∗ ≤ Λ ≤ 2d h∗ d-simplex in Rd 1 h∗ ≤ Λ ≤ d+1 h∗ d 1 h∗ ≤ Λ ≤ √ d+ d h∗ 2(1 + cos(π/n)) h∗ ≤ Λ ≤ 4 h∗ hyper-rectangle in R regular n-gon in R2 Table 1.1 Our bounds on Λ for various polytope types are summarized above. In the case of simplices and hyper-rectangles, Λ obtains the upper bound when the shapes are regular. The lower bound for regular n-gons approaches the upper bound as n → ∞, meaning 2d/h∗ is a sharp upper bound in the case d = 2. The lower bounds on Λ hold for any generalized barycentric coordinates {φv } that are C 1 at the vertices of P , while the upper bounds hold in the specific case of generalized Wachspress coordinates. The namesake of the Wachspress coordinates is the author of the book where they first appeared in the context of polygonal finite elements [19]; see also [20]. Warren first generalized this definition to polytopes in [21] and later to convex sets with coauthors in [22]. Our notation in this work follows the definition of the coordinates in Warren et al. [22] and Ju et al. [9]. The outline of the paper is as follows. In Section 2, we define generalized barycentric coordinates, generalized Wachspress coordinates, and h∗ precisely before deriving the upper bounds given in Table 1.1. In Section 3, we derive the lower bounds given in Table 1.1. In Section 4, we present an implementation of the Wachspress coordinates on convex polyhedra and employ them in a 3D finite element solution of the Poisson 3 equation on a non-trivial polyhedral mesh. We present our conclusions and discuss future directions in Section 5. nf 2 v nf1 hf2 (x) hf1 (x) x P Fig. 2.1. The value of the generalized Wachspress basis function φv at a point x inside a convex polytope P is defined in terms of the location of v, the normals nfi to the faces fi incident to v, and the distances hi (x) to the planes containing the fi . 2. Upper bounds. We start by fixing notation for describing polytope geometry. Let P ⊂ Rd be a convex d-dimensional polytope, viewed as an open set, with V and F the sets of vertices and (d − 1)-dimensional faces of ∂P , respectively. Let Vf ⊂ V denote the set of vertices of face f ∈ F , and Fv ⊂ F denote the set of faces incident to the vertex v ∈ V . Assume that P is simple meaning |Fv | = d for all v ∈V. For any x in P , let hf (x) denote the perpendicular distance from x to the (d − 1)hyperplane in Rd containing the face f ∈ F . Letting nf denote the outward unit normal to f and v any vertex in f , we can compute hf (x) via hf (x) = (v − x) · nf . (2.1) We will also make use of scaled normal vectors defined by pf (x) := nf /hf (x). (2.2) The generalized Wachspress coordinates for a simple polytope P as above are the functions φv : P → R, for v ∈ V , given by the formula, (2.3) φv (x) := wv (x) , W (x) where (2.4) W (x) := X wu (x), and wv (x) := det(pf1 (x), · · · , pfd (x)), u∈V where f1 , . . . , fd are the d faces adjacent to v listed in an counter-clockwise ordering around v as seen from outside P , and det denotes the regular vector determinant in Rd . The notation is summarized for the case d = 2 in Figure 2.1. We have hv (x) > 0 on P and det(nf1 , · · · , nfd ) > 0 by the strict convexity assumption and incident face ordering convention. Thus, P wv (x) > 0, W (x) > 0, and hence φv (x) > 0 on P . The partition of unity property v∈V φv (x) = 1 is immediate 4 P from (2.3) and a proof of the linear precision property v∈V φv (x)v = x can be found in [22] and [9]. The linear completeness property then follows immediately: for any linear function L : P → R, X (2.5) φv (x)L(v) = L(x). v∈V Before bounding Λ, we first derive a convenient expression for ∇φv in terms of the coordinates φu and the (vector-valued) ratios Rv (x) := (2.6) ∇wv (x) . wv (x) Lemma 2.1. For v ∈ V , ∇φv = φv (Rv − (2.7) X φu Ru ). u∈V Proof. Taking the gradient of φv yields ∇φv = wv ∇W ∇W ∇wv − = φ v Rv − φv . 2 W W W The result follows from the observation that X ∇wu X ∇W = = φu Ru . W W u∈V u∈V The bound on Λ will be in terms of the minimum distance between a vertex of P and any hyperplane containing a non-incident face. We denote this geometric quantity by (2.8) h∗ := min min hf (u). f ∈F u∈V \Vf We also introduce the notation µf to denote the sum of the coordinates associated with the face f , i.e. X (2.9) µf (x) := φv (x). v∈Vf Lemma 2.2. For f ∈ F , 1 1 − µf (x) ≤ . hf (x) h∗ (2.10) Proof. Since hf : P → R is linear, the linear completeness property (2.5) implies that X X X hf (x) = φu (x)hf (u) = φu (x)hf (u) ≥ h∗ φu (x) u∈V u∈V \Vf u∈V \Vf 5 Theorem 2.3. Let P be a simple convex polytope in Rd and let Λ from (1.2) be defined using generalized Wachspress coordinates from (2.3). Then Λ≤ (2.11) 2d . h∗ Proof. We first compute the gradient of wv as defined in (2.4). Observing that ∇hf (x) = −nf for x ∈ P , ! ! d X 1 1 nf` (2.12) ∇ Qd = Qd . hf` `=1 hf` `=1 hf` `=1 Thus, recalling the definition of pfi from (2.2), we have ! d X X det(nf1 , · · · , nfd ) (2.13) ∇wv = ∇ = wv pf` = wv pf . Qd `=1 hf` `=1 f ∈Fv Recalling the definition of Rv from (2.6), we have just shown X (2.14) Rv = pf . f ∈Fv Hence, by Lemma 2.1, X X X ∇φv = pf − φu pf φv u∈V f ∈Fv f ∈Fu X X = pf − µf pf f ∈Fv X = f ∈F X (1 − µf )pf − f ∈Fv µf pf , f ∈F \Fv and therefore, |∇φv | ≤ Av + Bv , where Av = φ v X (1 − µf ) f ∈Fv 1 , hf Bv = φv X f ∈F \Fv µf 1 . hf Switching from summation over vertices-then-faces to faces-then-vertices, we have (2.15) X Av = v∈V X X φv (1 − µf ) f ∈F v∈Vf X 1 1 = µf (1 − µf ) =: C, hf hf f ∈F and (2.16) X v∈V Bv = X X f ∈F v∈V \Vf φv µf X 1 1 = (1 − µf )µf = C, hf hf f ∈F 6 as well, and thus λ ≤ 2C. By Lemma 2.2, X X 1 1 d (2.17) C≤ µf = |Fv |φv = . h∗ h∗ h∗ f ∈F v∈V Therefore Λ ≤ 2d/h∗ as claimed. The result of Theorem 2.3 can be viewed as an improvement and generalization of a bound on |∇φv | for Wachspress coordinates on polygons given by Gillette, Rand and Bajaj in [7, Lemma 6]. Using Propositions 4, 7, and 8 from [7], we can write their bound as 2β ∗ /(π−β ∗ ) π2 4 , |∇φv | ≤ 2 (d∗ )4 sin(β∗ /2) cos(β ∗ /2) sin β ∗ where the interior angle βv at vertex v is assumed to lie in [β∗ , β ∗ ] ⊂ (0, π) and the length of an edge of P is at least d∗ . We now characterize our bound in terms of these same geometric quality measures to further illustrate the simplification provided here. Corollary 2.4. Let P be a strictly convex polygon with minimum and maximum interior angles β∗ and β ∗ , respectively, and minimum edge length d∗ . Then |∇φv | ≤ (2.18) 4 . d∗ (sin β∗ )(sin β ∗ ) Proof. Label the vertices of P in a counterclockwise fashion and let βk := ∠vk−1 vk vk+1 be the interior angle of P at vk . Either βk < π/2 and sin(βk ) > sin β∗ or βk ≥ π/2 and sin(βk ) ≥ sin β ∗ . Since P is strictly convex, we have sin β∗ , sin β ∗ ∈ (0, 1] and hence sin(βk ) ≥ (sin β∗ )(sin β ∗ ) > 0, without any qualification on βk . Now, again by the convexity of P , we have that min hk (v` ) = min(hk (vk−1 ), hk (vk+2 )). `6=k,k+1 Observe that hk (vk−1 ) = |vk−1 − vk | sin(βk ) ≥ d∗ (sin β∗ )(sin β ∗ ), and, similarly, hk (vk+2 ) ≥ d∗ (sin β∗ )(sin β ∗ ). It follows that h∗ ≥ d∗ (sin β∗ )(sin β ∗ ). By Theorem 2.3, |∇φv | ≤ 4/h∗ and the result follows. 2.1. Simplices. When P is a simplex, we can improve the upper bound, as the following lemma demonstrates. Lemma 2.5. Let P be a d-simplex in Rd . Then Λ≤ d+1 , h∗ with equality in the case that P is regular. Proof. Note that |V | = d + 1. For any v ∈ V and x ∈ P , we have ∇φv (x) = −nf /hf (v), where f is the unique face opposite to v. It follows that X 1 d+1 Λ = sup ≤ , hf (v) h∗ x∈P v∈V with equality in the case of a regular d-simplex. 7 v01 v11 v10 v00 Fig. 2.2. Notation for the hyper-rectangle case in d = 2: v00 = (a1 , a2 ), v10 = (b1 , a2 ), v01 = (a1 , b2 ), v11 = (a2 , b2 ). 2.2. Hyper-rectangles. We can also improve the upper bound in the case of a hyper-rectangle, i.e. P = [a1 , b1 ] × [a2 , b2 ] × · · · × [ad , bd ] ⊂ Rd . In this case, the Wachspress coordinates are just the standard multilinear basis functions, allowing for direct computation of their gradients and the following theorem. Theorem 2.6. Let P be a hyper-rectangle in Rd . Then √ d+d Λ≤ , h∗ with equality in the case that P is a hypercube. Proof. The 2d vertices of P can be indexed by ∈ {0, 1}d , with (v )i = ai if i = 0 and (v )i = bi if i = 1, i = 1, . . . , d. The notation is shown in Figure 2.2. Then, with hi := bi − ai , we have φ (x) = d Y 1 (xi − ai )i (bi − xi )1−i , h i i=1 Since each factor is linear, we have that ∂ 1 Y 1 φ (x) = (−1)1−i (xj − aj )j (bj − xj )1−j , ∂xi hi hj j6=i whence (2.19) |∇φ (x)| = d Y 1 h i=1 i 1/2 ! d XY (xj − aj )2j (bj − xj )2(1−j ) . i=1 j6=i Now, observe that on an interval [a, b] and for any c, d ≥ 0, the two functions p p c(x − a)2 + d and c(b − x)2 + d are convex for x ∈ [a, b]. For any variable xi , |∇φ (x)| takes on one of these forms when the other d − 1 variables are held fixed, meaning it is axially convex. Since axial convexity is a closed property under addition, λ is also axially convex. We thus have λ(x1 , x2 , . . . , xd ) ≤ max { λ(a1 , x2 , . . . , xd ), λ(b1 , x2 , . . . , xd ) } . 8 Similarly, λ(a1 , x2 , x3 , . . . , xd ) ≤ max { λ(a1 , a2 , x3 , . . . , xd ), λ(a1 , b2 , x3 , . . . , xd ) } , λ(b1 , x2 , x3 , . . . , xd ) ≤ max { λ(b1 , a2 , x3 , . . . , xd ), λ(b1 , b2 , x3 , . . . , xd ) } . Thus, by induction, we arrive at Λ = max λ(v ). ∈{0,1}d Evaluating λ(v ) using (2.19), we see that |∇φ (v )| = d X 1 h2 i=1 i !1/2 . The vertex v has d neighbors, vτi , where τi = (1 , . . . , 1 − i , . . . , d ). We find that |∇φτi (v )| = 1 . hi Further, for fixed , if η ∈ {0, 1}d with η 6∈ {, τi }, then |∇φη (v )| = 0. Therefore, Λ = λ(v ) = d X 1 h2 i=1 i !1/2 + d X 1 . h i=1 i Since h∗ = mini hi , the desired inequality follows. In the special case of a cube, all hi are equal, thereby completing the result. While Lemma 2.5 and Theorem 2.6 suggest that the upper bound from Theorem 2.3 could possibly be improved, we will see in the next section that when d = 2, the bound from the Theorem 2.3 is in fact sharp over the class of simple convex polygons. 3. Lower bounds. Our lower bounds on Λ are based on the observation that for any v ∈ V , Λ ≥ λ(v). We now broaden our scope from generalized Wachspress coordinates to allow any generalized barycentric coordinates satisfying the linear completeness property (2.5) and that are C 1 at the vertices of v. To be clear, we do not assume that piecewise interpolation using the φv is C 1 , only that on a given polytope P , the associated functions φv have well-defined gradients at the vertices of P . We start with the polygonal case in order to clarify the subsequent generalizations to d > 2. 3.1. Polygons. We start with a general lemma. Suppose f : R2 → R is C 1 in a neighborhood of a point x ∈ R2 . Then f has a directional derivative Dv f (x) for any non-zero vector v = (v1 , v2 ) ∈ R2 , which can be expressed in terms of its gradient as Dv f (x) = v · ∇f (x). Lemma 3.1. If v and w are two linearly independent vectors in R2 then (3.1) ∇f = (Dw f )v⊥ − (Dv f )w⊥ , v×w 9 and (3.2) |∇f | = |(Dw f )v − (Dv f )w| , |v × w| where v⊥ := (−v2 , v1 ), v × w := v1 w2 − v2 w1 , and | · | is the Euclidean norm. Proof. To show (3.1) it is sufficient to show that v · ∇f = Dv f and w · ∇f = Dw f . These follow from taking the scalar product of the first equation with v and w respectively, using the fact that v · w⊥ = −v × w. Equation (3.2) follows from the fact that (Dw f )v⊥ − (Dv f )w⊥ = ((Dw f )v − (Dv f )w)⊥ . We now use Lemma 3.1 to estimate Λ from below. Suppose that P ∈ R2 is a convex polygon with vertices v1 , . . . , vn indexed in some counterclockwise ordering, and that φi : P → R, i = 1, . . . , n are any set of generalized barycentric coordinates. Let u : P → R with ui := u(vi ) so that the formula (1.1) for I(u) gives I(u) = n X φi (x)ui . i=1 Observe that I(u) : P → R is piecewise linear on ∂P . Thus, at any vertex vi , we have Dei−1 u(vi ) = di−1 and Dei u(vi ) = di where ej = vj+1 − vj and dj = uj+1 − uj . Letting g := I(u) to ease notation and evaluating (3.2) with f = g at x = vi yields (3.3) |∇g(vi )| = |di ei−1 − di−1 ei | . ei−1 × ei Corollary 3.2. Let P be a convex polygon as above. Then λ(vi ) = |ei | + |ei + ei−1 | + |ei−1 | . ei−1 × ei Proof. Note that if u = φj then ui = δij so that I(u) = φj . Using this fact and (3.3), we have the following formulae. For u = φi−1 , di−1 = −1, di = 0, and so |∇φi−1 (vi )| = |ei | . ei−1 × ei For u = φi , di−1 = 1, di = −1, and so |∇φi (vi )| = |ei + ei−1 | . ei−1 × ei For u = φi+1 , di−1 = 0, di = 1, and so |∇φi+1 (vi )| = |ei−1 | . ei−1 × ei Since ∇φj (vi ) = 0 for all other j, the result follows. 10 Theorem 3.3. Let P be the regular n-gon with vertices on the unit circle. Then Λ≥ 2(1 + cos(π/n)) h∗ and h∗ = 4 sin2 (π/n) cos(π/n). Proof. Let vi = (cos(iθ), sin(iθ)), i = 1, . . . , n, with θ = 2π/n. Since Λ ≥ λ(vn ), it suffices to show that λ(vn ) is equal to the desired lower bound. Since vn−1 = (cos θ, − sin θ), vn = (1, 0), v1 = (cos θ, sin θ), we have en−1 = vn − vn−1 = (1 − cos θ, sin θ) and en = v1 − vn = (cos θ − 1, sin θ). Therefore, |en | = |en−1 | = 2 sin(θ/2), |en + en−1 | = |v1 − vn−1 | = 2 sin(θ), and en−1 × en = 2(1 − cos θ) sin θ. Thus by Corollary 3.2 and the double angle formulas, λ(vn ) = 1 + cos(θ/2) 2 sin(θ/2) + sin θ = . (1 − cos θ) sin θ 2 sin2 (θ/2) cos(θ/2) Thus, it only remains to show that h∗ has the desired expression. We have that h∗ = h1 (vn ) = (v1 − vn ) · n1 . Since n1 is the unit normal to the edge between v1 and v2 , we have " # cos(3θ/2) n1 = . sin(3θ/2) Using summation and sum-to-product trigonometric identities, we compute that h∗ = (cos θ − 1) cos(3θ/2) + sin θ sin(3θ/2) = 4 sin2 (θ/2) cos(θ/2). We obtain a further lower bound on Λ, this time for general convex polygons. Theorem 3.4. Let P be a convex polygon in R2 . For any generalized barycentric coordinates φ1 , . . . , φn on P that are C 1 at the vertices of P , Λ≥ 1 . h∗ Further, if all the interior angles of P are obtuse, Λ≥ 2 . h∗ 11 Proof. There is some index i such that either h∗ = hi (vi−1 ) or h∗ = hi−1 (vi+1 ). Without loss of generality, assume that h∗ = hi (vi−1 ). Then, with βi the interior angle of P at vi , whether acute or obtuse, hi (vi−1 ) = |ei−1 | sin βi , and so ei−1 × ei = |ei−1 ||ei | sin βi = |ei |h∗ . Then by Corollary 3.2, λ(vi ) ≥ 1/h∗ . In the case that βi is obtuse, i.e., βi ≥ π/2, |ei−1 + ei | = |vi+1 − vi−1 | ≥ |ei |, and Corollary 3.2 gives λ(vi ) ≥ 2/h∗ . 3.2. Simple polyhedra. We now consider the case where P is a simple convex polyhedron in R3 and φv are any set of generalized barycentric coordinates on P that are C 1 at the vertices of P . We first prove a lemma about the geometry of P . Lemma 3.5. For any face f ∈ F , let w ∈ V \ Vf be a vertex of P satisfying (3.4) hf (w) = min hf (u). u∈V \Vf Then w is a neighbor of a vertex in f . Proof. We show first that any vertex u ∈ V \ Vf has a neighbor v ∈ Nu such that hf (v) < hf (u). Indeed, if to the contrary, hf (v) ≥ hf (u) for all v ∈ Nu then, by the convexity of P , the half-space H ⊂ R3 defined by the equation {y ∈ R3 : hf (y) ≥ hf (u)} must contain P , which contradicts the fact that the vertices of f lie outside H. Suppose now that w ∈ V \ Vf is any vertex satisfying (3.4). By the above argument, there must be some neighbor v ∈ Nw such that hf (v) < hf (w). If v 6∈ Vf , this contradicts the definition of w. Therefore v ∈ Vf , which proves the lemma. Similar to the planar case, if u, v, w are linearly independent vectors in R3 , then for a smooth enough function f : R3 → R, (3.5) ∇f = (Dw f )u × v + (Du f )v × w + (Dv f )w × u . det(u, v, w) Let u : P → R with uv := u(v) so that the formula (1.1) for I(u) gives X I(u)(x) = φv (x)uv . v∈V Fix v ∈ V and let wi , i = 1, 2, 3 be the three neighbors of v, in some clockwise ordering as seen from outside P . Let ei = wi − v and di = uwi − uv . Since I(u) is linear along the edges of P , Dwi u(v) = di . Letting g := I(u) to ease notation and evaluating (3.5) with f = g at x = v yields the formula (3.6) ∇g(v) = d1 e2 × e3 + d2 e3 × e1 + d3 e1 × e2 . det(e1 , e2 , e3 ) We use this to prove a lower bound on Λ for convex polyhedra. 12 Theorem 3.6. Let P be a convex polyhedron in R3 . For any generalized barycentric coordinates φv on P that are C 1 at the vertices of P , Λ≥ 1 . h∗ Proof. By Lemma 3.5, we can set f ∈ F and v ∈ f so that h∗ = hf (w3 ). Since φu (v) = δuv , λ(v) = |∇φv (v)| + 3 X |∇φwi (v)|. i=1 By (3.6), ∇φv (v) = −(e2 × e3 + e3 × e1 + e1 × e2 ) , det(e1 , e2 , e3 ) and ∇φw1 (v) = e2 × e3 , det(e1 , e2 , e3 ) ∇φw2 (v) = e3 × e1 , det(e1 , e2 , e3 ) ∇φw3 (v) = e1 × e2 . det(e1 , e2 , e3 ) Note that f is the face of P containing the vertices v, w1 , and w2 . We thus have det(e1 , e2 , e3 ) = (e1 × e2 ) · e3 = |e1 × e2 |(−nf ) · e3 , Using this and (2.1), we see that |∇φw3 (v)| = 1/|ee · nf | = 1/hf (w3 ), and hence λ(v) ≥ 1 1 = . hf (w3 ) h∗ Since Λ ≥ λ(v) for any v ∈ V , we have completed the proof. 3.3. Simple polytopes. For a simple convex polytope P in Rd with d > 3, the bound Λ ≥ 1/h∗ holds by the same analysis as in the polyhedral case just presented. Note that the proof technique of Lemma 3.5 is not specific to R3 and thus carries over to the generic d case immediately. The proof technique for Theorem 3.6 is also not specific to R3 , although the notation becomes more dense. Since the cases d > 3 are of less interest from an application perspective, and in the interest of space, we omit stating the straightforward generalizations of the proof. 4. Numerical Experiments. As discussed in the introduction, the upper bounds derived on Λ suffice to ensure that a Lagrange-style finite element method employing generalized Wachspress coordinates as basis functions will obtain a linear order a priori error estimate as stated in (1.3). We provide numerical evidence of this convergence not only to confirm its theoretical validity, but also to demonstrate that implementing such basis functions is computationally viable. The numerical computations were carried out in MATLABTM . We include code for the computation of the basis functions on polygons and polyhedra in the Appendix. Consider the following three-dimensional Poisson boundary-value problem: (4.1a) −∇2 u = f (4.1b) u=0 in Ω = (0, 1)3 , on ∂Ω. 13 (a) (b) (c) (d) Fig. 4.1. Polyhedral meshes on which we solve a Poisson problem using generalized Wachspress basis functions in a finite element method. A fifth mesh (e) of even finer resolution is not shown. Table 4.1 Relative error norms for solution of the Poisson problem on the polyhedral meshes shown in Figure 4.1. The quantity h denotes the maximum diameter of a mesh element. Mesh # of nodes h a b c d e 78 380 2340 16388 122628 0.7071 0.3955 0.1977 0.0989 0.0494 ||u − uh ||0,P ||u||0,P 2.0 × 10−1 5.4 × 10−2 1.4 × 10−2 3.5 × 10−3 8.8 × 10−4 Rate – 2.28 1.96 1.99 2.00 |u − uh |1,P |u|1,P 4.1 × 10−1 2.1 × 10−1 1.1 × 10−1 5.4 × 10−2 2.7 × 10−2 Rate – 1.14 0.97 0.99 0.99 The weak form of this problem is: find u ∈ H01 (Ω) such that Z Z (4.2) ∇u · ∇w dx = f w dx, ∀w ∈ H01 (Ω), Ω Ω H01 (Ω) where is the standard Sobolev space of degree 1 with vanishing values on the boundary. We define a Galerkin method for approximating the solution to (4.2). First, we fix a sequence of meshes made of polygonal prismatic elements, as shown in Figure 4.1. The meshes have increasingly smaller values of h, the maximum diameter of a mesh element, but the geometric quality of the elements does not degrade with h. More precisely, there is a constant γ > 0 such that if any element from any mesh in the sequence is scaled to have diameter 1, the computed value of h∗ will be ≥ γ. For each simple polyhedral element Pe , we label the vertices v1 , . . . , vn , and associate the basis function φi (x) := φv (x) to the vertex vi . Note that different elements need not have the same number of vertices. We choose the set of generalized Wachspress coordinates {φi (x)}ni=1 to be the basis for the trial and test spaces on Pe . This yields the linear system Z Z i (4.3) Ke de = fe , with Kij = ∇φ · ∇φ dx, f = f φi dx, i j e e Pe Pe and de is a vector of unknown coefficients. The global stiffness matrix K is formed by assembling contributions from all the Ke ; similarly, the global element source vector f is formed by assembling contributions from all the fe . The global linear system, Kd = f , is solved after imposing the homogeneous Dirichlet boundary conditions. 14 We choose f (x) in (4.1) so that the exact solution to the Poisson problem is u(x) = xyz(1 − x)(1 − y)(1 − z). To evaluate Ke and fe in (4.3), we partition each polyhedral element into tetrahedra, and use a second-order accurate polynomialprecision quadrature rule (four quadrature points) within each tetrahedron [15]. The relative error norms are listed in Table 4.1. The polyhedral finite element method delivers optimal convergence rates of 2 and 1 in the L2 norm and the H 1 seminorm, respectively, as expected from the a priori estimate (1.3). 5. Conclusion and Future Directions. The results presented in this paper help to answer a significant question in finite element theory: what makes a good linear finite element? While the notion of a ‘good’ element is highly dependent on the application context, it is generally acknowledged that avoiding large angles [1, 8] or large circumradii [11, 12] is desirable for finite element methods. The circumradius rcirc of a triangle is defined as the radius of its circumcircle. Using results from Shewchuk [14] for geometric properties of triangles, we find that rcirc = `min `med /2h∗ where `min , `med are the lengths of the shortest two sides of the triangle. Scaling the largest edge of the triangle to length 1, we see that rcirc = (`min + `med )2 1 `min `med ≤ ≤ . 2h∗ 8h∗ 2h∗ Therefore, a triangular mesh that avoids small h∗ values also avoids large circumradii. The question of what makes a ‘good’ linear finite element becomes much more difficult for polytopes as their geometry can be quite exotic and difficult to characterize by only a few parameters. Even on tetrahedra, this question is quite subtle as evidenced by the wealth of literature in this area. Hence, our work is only a first viewpoint toward a generic characterization of the relationship between polytope element geometry and interpolation error estimates. The quantity h∗ is easily computed and relates closely to the operator norm of the interpolant I, as evidenced both by our bounds on Λ and by our numerical experiments. Additionally, as discussed at the beginning of Section 3, recall that our lower bounds on Λ pertain to any set of generalized barycentric coordinates that are C 1 at the vertices of simple polytopes. Our proof technique reveals that no generalized barycentric coordinates can be C 1 at a non-simple vertex (i.e. a vertex incident to more than d faces of P ) as this would require the gradient at the vertex to satisfy more than d linearly independent constraints. Further, while the Wachspress coordinates are indeed C 1 at simple vertices, other coordinates may not be, leaving open the possibility that Λ may in fact be smaller than 1/h∗ for a different choice of generalized barycentric coordinates [4, 5, 6, 10, 17]. We plan to pursue this question in future work. Finally, the code used in our experiments, which appears in the Appendix, is designed to simplify the process of computing and integrating the Wachspress coordinate functions and their gradients on convex polygons and generic (i.e. simple or non-simple) convex polyhedra. The code follows the definitions and derivations of Section 2. We were motivated to develop this code after learning at a recent workshop [24] of the growing interest in the computer graphics and finite element communities for efficient implementation of polyhedral generalized barycentric coordinates. 15 Acknowledgments. The authors thank Gianmarco Manzini for providing the polyhedral meshes that were used in the convergence study and Alexander Rand for helpful conversations about the error estimation literature. AG acknowledges support as a postdoc from NSF Award DMS-0715146 and by NBCR at UC San Diego. NS acknowledges support from NSF Award CMMI-1334783 at UC Davis. Appendix A. MATLABTM codes for the computation of Wachspress basis functions on convex polygons and polyhedra are listed. For geometric computations on polyhedra, the geom3d library is used [25]. Wachspress basis functions on convex polygons. We restate the formulae for the Wachspress coordinates from (2.3) and (2.4) and their gradients from (2.6) and (2.7) in the case d = 2 before giving the code used to compute them. Let P ⊂ R2 be a convex polygon, with vertices v1 , . . . , vn ∈ R2 in some counterclockwise ordering. Let ni ∈ R2 be the outward unit normal to the edge ei = [vi , vi+1 ], with vertices indexed cyclically, i.e., vn+1 := v1 etc. For any x in P , let hi (x) be the perpendicular distance of x to the edge ei and define pi (x) := ni /hi (x). Then the coordinate functions φi := φvi : P → R are given by (5.1) φi = wi n X wj where wi := det(pi−1 , pi ). j=1 The gradient functions are given by (5.2) ∇φi = φi (Ri − n X φj Rj ) where Ri := pi−1 + pi . j=1 These functions are implemented in MATLABTM as follows. function [phi dphi] = wachspress2d(v,x) % % Evaluate Wachspress basis functions and their gradients in a convex polygon % % Inputs: % v : [x1 y1; x2 y2; ...; xn yn], the n vertices of the polygon in ccw % x : [x(1) x(2)], the point at which the basis functions are computed % Outputs: % phi : output basis functions = [phi_1; ...; phi_n] % dphi : output gradient of basis functions = [dphi_1; ...; dphi_n] n = size(v,1); w = zeros(n,1); R = zeros(n,2); phi = zeros(n,1); dphi = zeros(n,2); un = getNormals(v); p = zeros(n,2); for i = 1:n 16 h = dot(v(i,:) - x,un(i,:)); p(i,:) = un(i,:) / h; end for i = 1:n im1 = mod(i-2,n) + 1; w(i) = det([p(im1,:);p(i,:)]); R(i,:) = p(im1,:) + p(i,:); end wsum = sum(w); phi = w/wsum; phiR = phi’ * R; for k = 1:2 dphi(:,k) = phi .* (R(:,k) - phiR(:,k)); end function un = getNormals(v) % Function to compute the outward unit normal to each edge n = size(v,1); un = zeros(n,2); for i = 1:n d = v(mod(i,n)+1,:) - v(i,:); un(i,:) = [d(2) -d(1)]/norm(d); end Wachspress basis functions on convex polyhedra. We state the formulae for generalized Wachspress coordinates and their gradients on generic (simple or nonsimple) convex polyhedra before giving the code used to compute them. In the case of a simple polyhedron, this definition recovers the d = 3 case of (2.3), (2.4), (2.6) and (2.7). Let P ⊂ R3 be a convex polyhedron, with vertex set V . For each v ∈ V , denote the k ≥ 3 faces incident on v by f1 , f2 , . . . , fk , in some counter-clockwise order as seen from outside P . Let n1 , n2 , . . . , nk be the outward unit normals to these faces, respectively. Let hi (x) > 0 be the perpendicular distance of x from the face fi and define pi (x) := ni /hi (x). Then the coordinate functions φv : P → R are given by (5.3) wv φv = X wu where wv := k−2 X wi,v wi,v := det(pi , pi+1 , pk ). and i=1 u∈V The gradient functions are then given by ! X (5.4) ∇φv = φv Rv − φu Ru where u∈V Rv := k−2 1 X wi,v (pi + pi+1 + pk ). wv i=1 These functions are implemented in MATLABTM as follows. 17 function [phi dphi] = wachspress3d(v,g,un,x) % % % % % % % % % % % % % Evaluate Wachspress basis functions and their gradients in a convex polyhedron Inputs: v : [x1 y1 z1; x2 y2 z2; ...; xn yn zn], the n vertices of the polyhedron g : cell array: [i1 i2 ... i_{k1}]; . . . ; [i1 i2 ... i_{kn}], which are the n neighborhood graphs, each in some counter-clockwise order as seen from outside the polyhedron un : [x1 y1 z1; x2 y2 z2; ...; xm ym zm], unit normal to each facet x : [x(1) x(2) x(3)], the point at which the basis functions are computed Outputs: phi : basis functions = [phi_1; ...; phi_n] dphi : gradient of basis functions = [dphi_1; ...; dphi_n] n = size(v,1); w = zeros(n,1); R = zeros(n,3); phi = zeros(n,1); dphi = zeros(n,3); for i = 1:n f = g{i}; k = length(f); p = zeros(k,3); for j = 1:k h = dot(v(i,:) - x,un(f(j),:)); p(j,:) = un(f(j),:) / h; end wloc = zeros(k-2,1); Rloc = zeros(k-2,3); for j = 1:k-2 wloc(j) = det([p(j,:); p(j+1,:); p(k,:)]); Rloc(j,:) = p(j,:) + p(j+1,:) + p(k,:); end w(i) = sum(wloc); R(i,:) = (wloc’ * Rloc) / w(i); end wsum = sum(w); phi = w/wsum; phiR = phi’ * R; for d = 1:3 dphi(:,d) = phi .* (R(:,d) - phiR(:,d)); end 18 REFERENCES [1] I. Babuška and A. K. Aziz, On the angle condition in the finite element method, SIAM Journal on Numerical Analysis 13:2 (1976) 214–226. [2] S. Brenner, L. Scott, The Mathematical Theory of Finite Element Methods, Texts in Applied Mathematics, vol. 15, third edition, Springer, New York (2008) [3] L. B. da Veiga, F. Brezzi, A. Cangiani, G. Manzini, L. D. Marini, and A. Russo, Basic principles of virtual element methods, Math. Mod. Meth. App. Sci. 23:1 (2013) 199–214. [4] M. S. Floater, Mean value coordinates, Comp. Aided Geom. Design 20 (2003), 19–27. [5] M. S. Floater, K. Hormann, and G. Kós, A general construction of barycentric coordinates over convex polygons, Adv. in Comp. Math. 24 (2006), 311–331. [6] M. S. Floater, G. Kos, and M. Reimers, Mean value coordinates in 3D, Comp. Aided Geom. Design 22 (2005), 623-631. [7] A. Gillette, A. Rand, C. Bajaj, Error estimates for generalized barycentric interpolation, Adv. Comp. Math. 37:3 (2012), 417–439. [8] P. Jamet, Estimations d’erreur pour des éléments finis droits presque dégénérés, ESAIM: Mathematical Modelling and Numerical Analysis-Modélisation Mathématique et Analyse Numérique, 10:R1 (1976), 43–60. [9] T. Ju, S. Schaefer, J. Warren, and M. Desbrun, A geometric construction of coordinates for convex polyhedra using polar duals, in Geometry Processing 2005, M. Desbrun and H. Pottman (eds.), Eurographics Association 2005, 181–186. [10] T. Ju, S. Schaefer, and J. Warren, Mean value coordinates for closed triangular meshes, ACM TOG 24 (2005), 561–566. [11] M. Křı́žek, On semiregular families of triangulations and linear interpolation, Applications of Mathematics, 36:3, (1991), 223–232. [12] A. Rand, Average interpolation under the maximum angle condition, SIAM Journal on Numerical Analysis, 50:5 (2012),2538–2559. [13] A. Rand, A. Gillette, C. Bajaj, Interpolation error estimates for mean value coordinates, Adv. Comp. Math., 39:2, (2013), 327–347. [14] J. Shewchuk, What is a good linear element? Interpolation, conditioning, and quality measures, in Eleventh International Meshing Roundtable, (2002), 115–126. [15] L. Shunn and F. Ham, Symmetric quadrature rules for tetrahedra based on a cubic closepacked lattice arrangement, Journal of Computational and Applied Mathematics. 235 (2012), 4348–4364. [16] G. Strang and G. Fix, An Analysis of the Finite Element Method. Prentice-Hall, Englewood Cliffs, N.J., 1973. [17] N. Sukumar, Construction of polygonal interpolants: a maximum entropy approach, Int. J. Num. Meth. Eng. 61:12, (2004) 2159–2181. [18] N. Sukumar and A. Tabarraei, Conforming polygonal finite elements, Int. J. Num. Meth. Eng. 61:12, (2004) 2045–2066. [19] E. L. Wachspress, A Rational Finite Element Basis, Academic Press, 1975. [20] E. L. Wachspress, Barycentric coordinates for polytopes, Comp. Aided Geom. Design 61 (2011), 3319–3321. [21] J. Warren, Barycentric coordinates for convex polytopes, Adv. in Comp. Math. 6 (1996), 97– 108. [22] J. Warren, S. Schaefer, A. Hirani, and M. Desbrun, Barycentric coordinates for convex sets, Adv. in Comp. Math. 27 (2007), 319–338. [23] M. Wicke, M. Botsch, and M. Gross, A finite element method on convex polyhedra, in Proceedings of Eurographics 07 (2007), pp. 355–364. [24] NSF Workshop on Barycentric Coordinates in Graphics Processing and Finite/Boundary Element Methods, Columbia University, New York, NY, 2012. Web page: http://www.inf.usi.ch/hormann/nsfworkshop/. [25] D. Legland, geom3d, http://www.mathworks.com/matlabcentral/fileexchange/24484-geom3d, 2012.

* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project

Download PDF

advertisement