Part I, Chapter 3 Simplicial finite elements This chapter deals with finite elements (K, P, Σ) where K is a simplex in Rd with d ≥ 2, the degrees of freedom Σ are either nodal values in K or integrals over the faces (or edges) of K, and P is the space Pk,d composed of multivariate polynomials of total degree at most k ≥ 0. We focus our attention on scalar-valued finite elements, but most of the results in this chapter can be extended to the vector-valued case by reasoning componentwise. Examples of vector-valued elements where the normal and the tangential components at the boundary of K play specific roles are studied in Chapters 8 and 9. 3.1 Simplices and barycentric coordinates Simplices in Rd , d ≥ 1, are ubiquitous objects in the finite element theory. We review important properties of simplices in this section. 3.1.1 Simplices Definition 3.1 (Simplex, vertices). Let d ≥ 1. Let {zi }i∈{0: d} be a set of points in Rd such that the vectors {z1 − z0 , . . . , zd − z0 } are linearly independent. Then, the convex hull of these points is called a simplex in Rd , say K = conv(z0 , . . . , zd ). By definition, K is a closed set. If d = 1, a simplex is an interval [xl , xr ] with real numbers xl < xr ; if d = 2, a simplex is a triangle; and if d = 3, a simplex is a tetrahedron. The points {zi }i∈{0: d} are the vertices of K. Example 3.2 (Unit simplex). The unit simplex in Rd corresponds to the P d choice {x ∈ R | 0 ≤ xi ≤ 1, ∀i ∈ {1: d}, i∈{1: d} xi ≤ 1}. This set has 1 . d-dimensional measure equal to d! Definition 3.3 (Faces, normals). For all i ∈ {0: d}, the convex hull of the set {z0 , . . . , zd } \ {zi } is denoted Fi and is called the face of K opposite to the ♥♥ 30 Chapter 3. Simplicial finite elements vertex zi . By construction, Fi is a subset of an affine hyperplane in Rd , and the unit normal to Fi pointing outward K is denoted nK,i . The unit outward normal vector on ∂K is denoted nK . Definition 3.4 (l-faces). For all l ∈ {0: d−1}, an l-face of K is the convex hull of a subset of {zi }i∈{0: d} of cardinality (l + 1). By definition the l-faces are closed. The 0-faces of K are the vertices of K. The 1-faces of K are called edges. In dimension d = 2, the notions of edge and face coincide. In dimension d = 1, the notions of vertex, edge, and face coincide. Example 3.5 (Number of faces and edges). The number of l-faces in a since an l-face is defined by selecting a subset of vertices simplex in Rd is d+1 l+1 with cardinality (l + 1). In particular, there are (d + 1) faces and vertices, and edges. there are d(d+1) 2 3.1.2 Barycentric coordinates in a simplex Let K be a simplex in Rd with vertices {zi }i∈{0: d} . For all x ∈ Rd , we denote by λi (x), for all i ∈ {1: d}, the components of the vector x − z0 in the basis (z1 − z0 , . . . , zd − z0 ), i.e., X x − z0 = λi (x)(zi − z0 ). (3.1) i∈{1: d} Differentiating twice (3.1), we infer that the second Fréchet derivative of λi vanishes identically, i.e., D2 λi (x)(h1 , h2 ) = 0 for all h1 , h2 ∈ Rd . This implies that λi is an affine function of x, i.e., there exist γi ∈ R and gi ∈ Rd such that λi (x) = γi + gi ·x for all x ∈ Rd . Note that Dλi is independent of x and Dλi (h) = gi ·h for all h ∈ Rd ; in other words, ∇λi = gi . To allow all the vertices of K P to play a symmetric role, we introduce the additional function λ0 (x) := 1 − i∈{1: d} λi (x), so that the following holds for all x ∈ Rd : X X λi (x) = 1 and x= λi (x)zi . (3.2) i∈{0: d} i∈{0: d} A consequence of the above definitions is that λi (zj ) = δij , ∀i, j ∈ {0: d}, (3.3) This implies that the P functions {λi }i∈{0: d} are linearly independent: if the linear combination i∈{0: d} βi λi (x) vanishes identically, evaluating it at a vertex zj yields βj = 0 for all j ∈ {0: d}. Moreover, since K is the convex hull of {zi }i∈{0: d} , we infer that 0 ≤ λi (x) ≤ 1, ∀x ∈ K, ∀i ∈ {0: d}. (3.4) Part I. Getting Started 31 Definition 3.6 (Barycentric coordinates). The functions {λi }i∈{0: d} are called the barycentric coordinates in K. Proposition 3.7 (Geometric expression). The barycentric coordinates are such that |Fi | nK,i ·(x − zi ), (3.5) λi (x) = 1 − d|K| |Fi | for all x ∈ K and all i ∈ {0: d}, whence ∇λi = − d|K| nK,i . Proof. Since λi is constant on Fi , its gradient is collinear to nK,i . Since λi is affine, we can write λi (x) = 1 − ci nK,i ·(x − zi ). We obtain ci by using that |K| = d1 |Fi |(nK,i ·(zj − zi )) for all j 6= i. ⊓ ⊔ Remark 3.8 (Geometric identities). The following holds: X X |Fi |nK,i = 0, |Fi |nK,i ⊗ (cFi − cK ) = |K|Id , i∈{0: d} (3.6) i∈{0: d} where cFi is the barycenter of Fi , cK that of K, and Id the identity matrix in Rd×d . These identities hold in any polyhedron, see Exercise 3.1 for proofs. ⊓ ⊔ 3.1.3 Geometric map TA (♦) The following construction is important for finite elements having degrees of freedom over edges or faces, see §3.4 and Chapters 8 and 9 for examples. Let A be an affine subspace of Rd of dimension l ∈ {1: d−1}. We can build an affine geometric map TA : Rl → A as follows: Fix a simplex S A in A with vertices {ziA }i∈{0: l} and fix a simplex Sbl in Rl with vertices {b zi }i∈{0: l} and l b b barycentric coordinates {λi }i∈{0: l} . Typically, S is the unit simplex in Rl . P bi (y)z A for all y ∈ Rl . Note that TA (Sbl ) = S A Then, set TA (y) = i∈{0: l} λ i and TA (b zi ) = ziA for all i ∈ {0: l}; we often consider the restriction of TA to Sbl and abuse the notation by still writing TA instead of TA|Sbl . Proposition 3.9 (Diffeomorphism). The map TA is a smooth diffeomorphism. bi }i∈{0: l} are affine functions, the Proof. Since the barycentric coordinates {λ ∞ map TA is of class C and DTA (y) is independent of y. Thus, we only need to verify that the linear map DTA : Rl → Rl is invertible, which will follow by verifying that DTA is injective. Let h ∈ Rl be such that DTA (h) = 0. This P bi (h) = 0 for all i ∈ {0: l} bi (h)(z A − z A ) = 0, so that Dλ yields i∈{1: l} Dλ 0 i A A A A since the vectors (z1 −z0 , . . . , zl −z0 ) are linearly independent. We conclude using Exercise 3.2(iv). ⊓ ⊔ 32 Chapter 3. Simplicial finite elements 3.2 The polynomial space Pk,d The real vector space Pk,d is composed of d-variate polynomial functions p : Rd → R of total degree at most k. Thus, αd 1 Pk,d = span {xα 1 . . . xd , 0 ≤ α1 , . . . , αd ≤ k, α1 + . . . + αd ≤ k} . (3.7) The importance of the polynomial space Pk,d is rooted in the fact that the Taylor expansion of order k of a d-variate function belongs to Pk,d . Another important fact is that, for any smooth function v : Rd → R, [ v ∈ Pk,d ] ⇐⇒ [ Dk+1 v(x) = 0, ∀x ∈ Rd ]. The vector space Pk,d has dimension k + 1 k+d dim Pk,d = = 21 (k + 1)(k + 2) d 1 (k + 1)(k + 2)(k + 3) 6 (3.8) if d = 1, if d = 2, (3.9) if d = 3. See Exercise 3.3 for the proof. We omit the subscript d and simply write Pk when the context is unambiguous. An element α = (α1 , . . . , αd ) of Nd is called a multi-index, and its length is defined to be |α| = α1 + . . . + αd . A generic polynomial function p ∈ Pk,d can be written in the form X αd 1 aα xα , xα := xα (3.10) p(x) = 1 . . . xd , α∈Ak,d with real coefficients aα and multi-index set Ak,d = {α ∈ Nd | |α| ≤ k}. Note that card(Ak,d ) = dim(Pk,d ) = k+d d . Lemma 3.10 (Trace). Let H be an affine hyperplane in Rd and let TH : Rd−1 → H be an affine bijective map. Then, p ◦ TH ∈ Pk,d−1 for all p ∈ Pk,d . Proof. Observe first that Dk+1 (p ◦ TH )(y) = 0 for all y ∈ Rd−1 by using the chain rule and the fact that TH is affine, then apply (3.8). ⊓ ⊔ 3.3 Lagrange (nodal) finite elements We begin with a simple example, see Table 3.1 for k = 1. Proposition 3.11 (Simplicial Lagrange, k = 1). Let K be a simplex in Rd with vertices {zi }i∈{0: d} . Let P = P1,d . Let Σ = {σi }i∈{0: d} be the linear forms on P such that σi (p) = p(zi ) for all i ∈ {0: d}. Then, (K, P, Σ) is a Lagrange finite element. Part I. Getting Started 33 Proof. We verify unisolvence. First, we notice that dim P = d + 1 = card Σ. Moreover, we observe that X p(x) = p(z0 ) + Dp(x − z0 ) = p(z0 ) + λi (x)Dp(zi − z0 ) = X i∈{0: d} i∈{1: d} λi (x)(p(z0 ) + Dp(zi − z0 )) = X λi (x)p(zi ), i∈{0: d} for all p ∈ P and all x ∈ Rd , where we have used that p is affine, the definition (3.1) of barycentric coordinates, the linearity of Dp, and the first identity in (3.2). This proves that a polynomial in P vanishing at the (d + 1) vertices of K vanishes identically. ⊓ ⊔ We now extend the above construction to arbitrary polynomial order k ≥ 1 using equi-distributed nodes, see Remark 3.13 for alternative choices. Proposition 3.12 (Simplicial Lagrange). Let K be a simplex in Rd . Let k+d k ≥ 1 and let P = Pk,d . Set nsh and consider the set of nodes d P= {aα }α∈Ak,d such that aα − z0 = i∈{1: d} αki (zi − z0 ). Let Σ = {σα }α∈Ak,d be the linear forms on P such that σα (p) = p(aα ) for all α ∈ Ak,d . Then, (K, P, Σ) is a Lagrange finite element. = dim Pk,d , we need to Proof. We verify unisolvence. Since card Σ = k+d d prove the following assertion which we call [Ak,d ]: A polynomial p ∈ Pk,d vanishing at all the Lagrange nodes {aα }α∈Ak,d of any simplex in Rd vanishes identically. Assertion [Ak,1 ] holds for all k ≥ 1 owing to Proposition 2.4. Assume now that d ≥ 2 and that [Ak,d−1 ] holds for all k ≥ 1 and let us prove that [Ak,d ] holds for all k ≥ 1. Assume that p ∈ Pk,d vanishes at all the Lagrange nodes of a simplex K. Let F0 be the face of K opposite to the vertex z0 and consider an affine bijective map TH0 : Rd−1 → H0 , where H0 is the affine hyperplane supporting F0 . Then, p ◦ TH0 is in Pk,d−1 owing to Lemma 3.10, and this polynomial vanishes at all the Lagrange nodes of (F ) in Rd−1 . Owing to [Ak,d−1 ], p ◦ TH0 ≡ 0, and since the simplex TH−1 0 TH0 is bijective, p|F0 ≡ 0. Denoting by λ0 ∈ P1,d the barycentric coordinate associated with z0 , this implies that there is q ∈ Pk−1,d such that p = λ0 q (see Exercise 3.3(iv)). Let us now prove by induction on k that q ≡ 0. For k = 1, q is in P0,d and q(z0 ) = 0 (since λ0 (z0 ) = 1 6= 0 and p(z0 ) = 0); hence, q ≡ 0. This proves [A1,d ]. Now, let us assume that [Ak−1,d ] holds for k ≥ 2. Since k ≥ 2, q vanishes at all the Lagrange nodes aα such that α1 + . . . + αd < k (since λ0 (aα ) 6= 0 at these nodes), i.e., α1 + . . . + αd ≤ k − 1. Hence q vanishes at all the Lagrange nodes aα , α ∈ Ak−1,d . Since these nodes belong again to a simplex, [Ak−1,d ] implies q ≡ 0. ⊓ ⊔ Table 3.1 presents examples of node location and shape functions for k ∈ {1, 2, 3} in dimensions d ∈ {2, 3}. The bullets conventionally indicate the location of the nodes; see Exercise 3.4 for some properties of these nodes. 34 Chapter 3. Simplicial finite elements P1 P2 λi λi (2λi − 1) 4λi λj P3 1 λ (3λi − 1)(3λi − 2 i 9 λ (3λi − 1)λj 2 i 9 − 2 λi (3λi − 2)λj 2) 27λi λj λk Table 3.1. Two- and three-dimensional P1 , P2 , and P3 Lagrange finite elements. Visible degrees of freedom are shown in black, hidden degrees of freedom are in white, and hidden edges are represented with dashed lines. The shape functions are expressed in terms of the barycentric coordinates; the first line lists shape functions attached to nodes for all i ∈ {0: d}, the second and third lines those attached to edges for all i, j ∈ {0: d}, i < j, and the fourth line those attached to faces for all i, j, k ∈ {0: d}, i < j < k. Possible choices for the domain of the interpolation operator are V (K) = C 0 (K) or V (K) = W s,p (K) with p ∈ [1, ∞] and s > dp , see §1.4.1. Remark 3.13 (High-order). Finding Fekete points on simplices is delicate, see Chen and Babuška [132] and Taylor et al. [444] for results on triangles with polynomial order up to k = 13 and k = 19, respectively, see also Canuto et al. [120, p. 112]. A comparison of various nodal sets on triangles and tetrahedra can be found in Blyth et al. [55]. ⊓ ⊔ Remark 3.14 (Modal and hybrid simplicial elements). A hierarchic basis of the polynomial space Pk,d can be built by combining a hierarchical univariate basis of Pk,1 with the barycentric coordinates, see Ainsworth and Coyle [7] and Exercise 3.5. Another possibility is to introduce a nonlinear transformation mapping the simplex to a cuboid and to use tensor products of one-dimensional basis functions in the cuboid; see Proriol [382] for an early work, Dubiner [199], Owens [370], Karniadakis and Sherwin [304, §3.2]. ⊓ ⊔ Part I. Getting Started 35 Remark 3.15 (Prismatic Lagrange elements). Let d ≥ 3 and set x′ = (x1 , . . . , xd−1 ) for all x ∈ Rd . Let K ′ be a simplex in Rd−1 and let [zd− , zd+ ] be a compact interval with non-empty interior. Then, the set K = {x ∈ Rd | x′ ∈ K ′ , xd ∈ [zd− , zd+ ]} is called a prism in Rd . Let k ≥ 1 and let PRk = span{p(x) = p1 (x′ ) p2 (xd ) | p1 ∈ Pk,d−1 , p2 ∈ Pk,1 }. Examples of prismatic Lagrange elements based on K and PRk with equidistributed nodes are shown in Table 3.2 for k ∈ {1, 2, 3}. ⊓ ⊔ PR1 PR2 PR3 Table 3.2. Nodes for prismatic Lagrange finite elements of degree 1, 2, and 3. The bullets indicate the location of the nodes; only visible nodes are shown. 3.4 Canonical hybrid finite elements(♦) We present a finite element (K, P, Σ) based on the polynomial space Pk,d whose degrees of freedom combine values at the vertices of the simplex K with integrals on the l-faces of K for l ≥ 1 (hence the name hybrid). This finite element is used in Chapter 9 to build potentials of curl-free functions associated with the simplicial Nédélec finite element (hence the name canonical). For simplicity, we focus on the case d = 3; the construction is possible in any space dimension. Let K be a simplex in Rd with vertices {zi }i∈{0: d} (d = 3). The edges of K are denoted {Ei }i∈{1: 6} and its faces {Fi }i∈{0: d} . Let TEi : Sb1 → Ei and TFi : Sb2 → Fi be affine bijective maps (see §3.1.2), where Sb1 and Sb2 are the unit simplices in R and R2 . Let k ≥ 1 be the polynomial order. The canonical hybrid finite element involves vertex degrees of freedom, edge degrees of freedom if k ≥ 2, surface (or face) degrees of freedom if k ≥ 3, and volume (or cell) degrees of freedom if k ≥ 4. We consider the following degrees of freedom: 36 Chapter 3. Simplicial finite elements σix (p) = p(zi ), i ∈ {0: d}, (3.11a) Z 1 e ) p dl, i ∈ {1: 6}, m ∈ {1: nesh }, (3.11b) (µm ◦ TE−1 σi,m (p) = i |Ei | Ei Z 1 s (ζm ◦ TF−1 ) p ds, i ∈ {0: d}, m ∈ {1: nssh }, (3.11c) σi,m (p) = i |Fi | Fi Z 1 v σm (p) = ψm p dx, m ∈ {1: nvsh } (3.11d) |K| K and and {µm }m∈{1: nesh } is a basis of Pk−2,1 , nssh = k−1 where nesh = k−1 2 1 k−1 v {ζm }m∈{1: nssh } is a basis of Pk−3,2 , and nsh = 3 and {ψm }m∈{1: nvsh } is a basis of Pk−4,3 . Observe that the total number of degrees of freedom is nsh = d X k−1 d+1 j=0 j d−j = k+d d = dim(Pk,d ), (3.12) owing to Vandermonde’s convolution identity. Proposition 3.16 (Canonical hybrid finite element). Let k ≥ 1. Let K be a simplex in Rd , let P = Pk,d , and let Σ = {σi }i∈N be the degrees of freedom defined in (3.11). Then, (K, P, Σ) is a finite element. Proof. Owing to (3.12), we only need to prove that if p ∈ Pk,d is such that σi (p) = 0 for all i ∈ N , then p vanishes identically. First, p vanishes at all the vertices of K. If k = 1, this concludes the proof. If k ≥ 2, fix an edge E of K. Since p◦TE vanishes at the two endpoints of E, p◦TE = λ0 λ1 q where λ0 , λ1 ∈ P1,1 are the local barycentric coordinates over Sb1 and q ∈ RPk−2,1 . Since the degrees of freedom of p attached to E vanish, we infer that Sb1 λ0 λ1 q 2 dl = 0, which implies q = 0. This implies that p is identically zero on all edges of K. If k = 2, this completes the proof since all the Lagrange nodes for k = 2 are located at the edges of K. If k ≥ 3, we proceed similarly by fixing a face F of K and showing that p is identically zero on all faces of K. If k = 3, this completes the proof since all the Lagrange nodes for k = 3 are located at the faces of K. Finally, for k ≥ 4, we infer that p = (λ0 . . . λd )qK where {λi }i∈{0: d} are the barycentric coordinates of K and qK ∈ Pk−4,d R . Since the 2degrees of dx = 0, freedom of p attached to K vanish, we infer that K (λ0 . . . λd )qK which implies qK = 0. The proof is complete. ⊓ ⊔ The shape functions associated with the vertices, the edges, the faces, and K are denoted{ξi }i∈{0: d} , {µ̃i,m }i∈{1: 6},m∈{1: nesh } , {ζ̃i,m }i∈{0: d},m∈{1: nssh } , and {ψ̃m }m∈{1: nvsh } , respectively. All these functions are in Pk,d and form a basis thereof. The interpolation operator acts as follows: Part I. Getting Started g IK (v)(x) + X i∈{0: d} = X i∈{0: d} 37 nesh Z 6 X X 1 v(zi )ξi (x) + v(µm ◦ TEi ) dl µ̃i,m (x) |Ei | Ei i=1 m=1 Z nv sh X X 1 Z 1 v(ζm ◦ TFi ) ds ζ̃i,m (x)+ vψm dx ψ̃m (x), |Fi | Fi |K| K m=1 m=1 nssh and its domain can be chosen to be C 0 (K) or W s,p (K) with s > (1, ∞] or with s = d for p = 1. d p for p ∈ Exercises Exercise 3.1 (Geometric identities). Prove (3.6). (Hint: differentiate (3.2) and use (3.5).) Devise another proof valid in any polyhedron using the divergence theorem. Exercise 3.2 (Barycentric coordinates). Let K be a simplex in Rd . (i) Give the explicit expression of the barycentric coordinates over K in dimension d ≥ 1 when K is the unit simplex. (ii) For any x ∈ K, let Ki (x) be the simplex obtained by joining x to the d i (x)| vertices zj with j 6= i. Show that λi (x) = |K|K| . R R 1 |K| for all i ∈ {0: d}, and that Fj λi ds = (iii) Prove that K λi dx = d+1 R 1 d |Fj | for all j ∈ {0: d} with j 6= i, and Fi λi ds = 0. (Hint: consider an affine transformation mapping K to the unit simplex.) (iv) Prove that if h ∈ Rd satisfies Dλi (h) = 0 for all i ∈ {1: d}, then h = 0. Prove that the family {nK,i }i∈{1: d} is a basis of Rd . Exercise 3.3 (Space Pk,d ). (i) Give a basis for the polynomial space P2 in dimensions d ∈ {1, 2, 3}. (ii) Show that any polynomial p ∈ Pk,d can be written in the form p(x1 , . . . , xd ) = r(x1 , . . . , xd−1 ) + xd q(x1 , . . . , xd ), with unique polynomials r ∈ Pk,d−1 and q ∈ Pk−1,d . (iii) Determine the dimension of Pk,d . (Hint: by induction on d.) (iv) Let K be a simplex in Rd . Let F0 be the face of K opposite to the vertex z0 . Prove that if p ∈ Pk,d is such that p|F0 ≡ 0, then there is q ∈ Pk−1,d such that p = λ0 q. (Hint: write the Taylor expansion of p at zd and use (3.1) with zd playing the role of z0 .) Exercise 3.4 (Nodes of simplicial Lagrange FE). Let K be a simplex in Rd , and consider the set of nodes {ai }1≤i≤nsh with barycentric coordinates id i0 k , . . . , k , ∀i0 , . . . , id ∈ {0: k} with i0 + . . . + id = k. 38 Chapter 3. Simplicial finite elements (i) Prove that the number of nodes located on any one-dimensional edge of K is (k + 1) in any dimension d ≥ 2. (ii) Prove that the number of nodes located on any (d − 1)-dimensional face of K is the dimension of Pk in dimension (d − 1). (iii) Prove that if k ≤ d, all the nodes are located on the boundary of K. Exercise 3.5 (Hierarchical basis). Let k ≥ 1 and let {θ0 , . . . , θk } be a hierarchical basis of Pk,1 . Let {λ0 , . . . , λd } be a basis of P1,d and assume that λi : Rd → R is surjective for all i ∈ {0: d} (i.e., λi is not constant). (i) Show that the functions (mapping Rd to R) {θ0 (λi ), . . . , θk (λi )} are linearly independent, for all i ∈ {0: d}. (Hint: consider a linear P P combination l∈{0: k} αl θl (λi ) ∈ Pk,d and prove that the polynomial l∈{0: k} αl θl ∈ Pk,1 vanishes at (k + 1) distinct points.) (ii) Show that the functions (mapping Rd to R) from the set Sk,d := {θα1 (λ1 ) . . . θαd (λd ) | (α1 , . . . αd ) ∈ Nd , |α| ≤ k} are linearly independent. (Hint: by induction on d.) (iii) Show that (Sk,d )k≥0 is a hierarchical polynomial basis, i.e., Sk,d ⊂ Sk+1,d and Sk,d is basis of Pk,d . (Note: the (d + 1) vertices of K do not play the same role; in fact, the vertex z0 plays a different role since its barycentric coordinate λ0 is not used in the construction of the basis.) Exercise 3.6 (Cubic Hermite triangle). Let K be a (non-degenerate) triangle with vertices {z0 , z1 , z2 }. Set P = P3,2 and Σ = {p(zi ), ∂x1 p(zi ), ∂x2 p(zi )}0≤i≤2 ∪ {p(aK )}, where aK is a point inside K. Show that (K, P, Σ) is a finite element. (Hint: show that any p ∈ P3,2 for which all the degrees of freedom vanish is identically zero on the three edges of K and infer that p = cλ0 λ1 λ2 for some c ∈ R.)