advertisement

Part II, Chapter 7 Generation of finite elements b and a collection of Suppose that we are given a mesh Th , i.e., a reference cell K b → K as described in Chapter 3. geometric maps {TK }K∈Th such that TK : K Our first goal in this chapter is to generate a finite element (K, P, Σ) in each b Pb, Σ). b We will see that this cell K ∈ Th from a reference finite element (K, task entails introducing a new ingredient, namely an isomorphism to transform b This construction provides functions defined in K to functions defined in K. the cornerstone for the analysis of the interpolation error to be performed in Chapter 8. The second important result presented in this chapter identifies how the standard differential operators are transformed by the geometric map. These results are of fundamental importance in the rest of the book. 7.1 Geometric maps In this book, we consider meshes where each cell K is constructed from a b and a geometric map TK : K b → TK (K) b = K. fixed reference cell, say K, b We assume that K is a polyhedron (see Definition B.8) and we are going to construct TK so that the vertices, edges, and faces of K are the images by b For this purpose we introduce a TK of the vertices, edges, and faces of K. b bgeo ) with nodes {b scalar-valued Lagrange finite element (K, Pbgeo , Σ zi }i∈Ngeo b b and shape functions {ψi }i∈Ngeo spanning the real vector space Pgeo where bgeo ). We assume for simplicity that all the mesh cells K ∈ Th ngeo = card(Σ b Pbgeo , Σ bgeo ). are generated from the same geometric reference finite element (K, b It is standard to assume that Pgeo is a space of d-variate polynomials and that there is an integer kgeo ≥ 1 so that b Pkgeo ,d ⊂ Pbgeo ⊂ C ∞ (K). (7.1) 78 Chapter 7. Generation of finite elements b Pbgeo , Σ bgeo ) is called Definition 7.1 (Geometric element). The triple (K, the geometric reference finite element, {b zi }i∈Ngeo the geometric reference b nodes, and {ψi }i∈Ngeo the geometric reference shape functions. A mesh is a data structure produced by a mesh generator. This data structure always contains a list of points called geometric nodes or mesh vertices, say Vh := {z1 , . . . , zNgeo }, and assuming that the mesh is composed of Nel elements, the mesh generator provides a connectivity array relating nodes and cells. The connectivity array is a map j : {1, . . . , ngeo }×{1, . . . , Nel } −→ {1, . . . , Ngeo } such that the collection of points {zj(1,m) , . . . , zj(ngeo ,m) } belong to the cell Km , m ∈ {1: Nel }. We then define the geometric map TKm by setting X b x), ∀b x ∈ K. (7.2) zj(i,m) ψbi (b x) = TKm (b i∈Ngeo zi ) = zj(i,m) for all i ∈ Ngeo . In the book we sometimes abuse Note that TKm (b the notation and write zj(i,K) or zK,i , i.e., we replace the enumeration index m by a generic cell K ∈ Th . Fig. 7.1. From left to right and from top to bottom: P1 transformation of a triangle; P2 transformation of a triangle; P1 transformation of a square; Q1 transformation of a square. Example 7.2 (Generation of triangles and quadrangles). Figure 7.1 presents four examples in dimension 2: A geometric map based on the P1 (resp., P2 ) Lagrange finite element maps a reference triangle to a triangle (resp., curved triangle). A geometric map based on the P1 (resp., Q1 ) Lagrange finite element maps a reference square to a parallelogram (resp., general quadrangle). ⊓ ⊔ We assume that the ngeo -tuples associated with the cells are chosen so that all the geometric maps are diffeomorphisms. Contrary to what is sometimes done in the literature, we do not require the Jacobian determinant of TK to have a particular sign. The Jacobian determinant could be positive in one cell and negative in another. Part II. Finite Element Interpolation 79 7.2 Differential calculus b → K transforms In this section we investigate how the geometric map TK : K the usual differential operators (∇, ∇·, and ∇×) as well as normal and tanb These results are of fundamental importance. For further gent vectors in K. reading, see, e.g., Marsden and Hughes [351, pp. 116-119], Ciarlet [143, p. 39], Monk [358, §3.9], Rognes et al. [404, p. 4134]. Lemma 7.3 (Differential operators). Let φ ∈ C 1 (K; R) and v ∈ C 1 (K; Rd ) be a differentiable scalar field and a differentiable vector field on K, respectively. Then, ∇(φ ◦ TK )(b x) = JK (b x)T (∇φ)(TK (b x)), ∇·(det(JK )J−1 K (v ∇×(JT K (v ◦ TK ))(b x) = det(JK (b x))(∇·v)(TK (b x)), ◦ TK ))(b x) = det(JK (b x))J−1 x)(∇×v)(TK (b x)). K (b (7.3a) (7.3b) (7.3c) Proof. Recall that the usual convention consists of identifying vectors in Rd b → K is thus identified with with column vectors. The geometric map TK : K the column vector with components (TK )i for all i ∈ {1: d}, and the Jacobian of TK is identified with the Jacobian matrix with entries (JK )ij = ∂j (TK )i for all i, j ∈ {1: d}, where i is the row index and j the column index. With this convention, the link between the Jacobian of TK and its Fréchet derivative (see Definition B.2.1) is that DTK (b x)(h) = JK (b x)h for all h ∈ Rd . (1) Using Lemma B.13 (chain rule) with n = 1 yields D(φ ◦ TK )(b x)(h) = Dφ(TK (b x))(DTK (x)(h)) = Dφ(TK (b x))(JK (b x)h). We denote by (·, ·)ℓ2 the Euclidean scalar product in Rd . Using the gradient to represent the Fréchet derivative yields (7.3a) since (∇(φ ◦ TK )(b x), h)ℓ2 = D(φ ◦ TK )(b x)(h) = Dφ(TK (b x))(JK (b x)h) = (∇φ(TK (b x)), JK (b x)h)ℓ2 = (JK (b x)T ∇φ(TK (b x)), h)ℓ2 . (2) The identity (7.3b) is deduced from (7.3a) by duality. Let q ∈ C0∞ (K; R) be a smooth scalar-valued function compactly supported on K. Then, integrating by parts and using (7.3a), we infer that Z Z (∇·v)(TK (b x))q(TK (b x)) det(JK (b x)) db x= (∇·v)(x)q(x) dx b K K Z Z = − (v, ∇q)ℓ2 (x) dx = − (v, ∇q)ℓ2 (TK (b x)) det(JK (b x)) db x b K ZK = − (v ◦ TK , J−T x) det(JK (b x)) db x K ∇(q ◦ TK ))ℓ2 (b b K Z x) db x = − (det(JK )J−1 K (v ◦ TK ), ∇(q ◦ TK ))ℓ2 (b b Z K ∇·(det(JK )J−1 x)q(TK (b x)) db x, = K (v ◦ TK ))(b b K 80 Chapter 7. Generation of finite elements which proves (7.3b) since q is arbitrary. (3) We prove (7.3c) in R3 . Let ε be the Levi-Civita symbol (ǫijk = 0 if at least two indices take the same value, ǫ123 = ǫ231 = ǫ312 = 1, and ǫ132 = ǫ213 = ǫ321 = −1). Recall that det(JK ) = εijk (JK )1i (JK )2j (JK )3k = εijk (JK )i1 (JK )j2 (JK )k3 and (∇×v)i = εijk ∂j vk , with the Einstein convention on the summation of repeated indices. Let us compute JK ∇×(JT K (v ◦ TK )): T (JK ∇×(JT K (v ◦ TK )))i = (JK )ij εjkl ∂k (JK (v ◦ TK ))l = (JK )ij εjkl ∂k ((JT K )lm (vm ◦ TK )) = (JK )ij εjkl (∂k (JK )ml (vm ◦ TK ) + (JK )ml ∂k (vm ◦ TK )) . Let I1 and I2 be the two terms on the right-hand side of the above equality. Upon observing that ∂k (JK )ml = ∂kl (TK )m = ∂lk (TK )m = ∂l (JK )mk , we infer that I1 = (JK )ij 21 (εjkl + εjlk )∂k (JK )ml (vm ◦ TK ) = 0. Noticing that εjkl (JK )ij (JK )nk (JK )ml = εinm det(JK ), I2 is computed as follows: I2 = (JK )ij εjkl (JK )ml ((∂n vm ) ◦ TK )(JK )nk = εjkl (JK )ij (JK )nk (JK )ml ((∂n vm ) ◦ TK ) = εinm det(JK )((∂n vm ) ◦ TK ) = det(JK )((∇×v) ◦ TK )i . ⊓ ⊔ g d Remark 7.4 (Piola transformations). Let set ψK (v) := v ◦ TK , ψK (v) := −1 c T i det(JK )JK (v ◦ TK ), ψK (v) := JK (v ◦ TK ), and ψK (φ) := det(JK )(φ ◦ TK ) (the superscript refers to the identity operator), then Lemma 7.3 shows that b b ∈ K: the following holds for all x g c ∇(ψK (φ)) = ψK (∇φ), c d ∇×(ψK (v)) = ψK (∇×v), d i ∇·(ψK (v)) = ψK (∇·v). (7.4a) (7.4b) (7.4c) g i d c , ψK will play an important role in the rest , ψK The transformations ψK , ψK of the book. ⊓ ⊔ Lemma 7.3 is useful to understand how TK transforms normal and tangent b The following important result will be used in Chapters 10 vectors on ∂ K. and 11 in the construction of vector-valued finite elements. b x) be the outb (b Lemma 7.5 (Normal and tangent vectors). Let n x), t(b b b, respectively. ward unit normal vector and a unit tangent vector on ∂ K at x Then the following holds: b (b x) is an outward normal vector on ∂K. (i) The vector J−T K n b x) is a tangent vector on ∂K; in particular, if tb is tangent (ii) The vector JK t(b b of K. b b JK tb is tangent to the edge E = TK (E) to the edge E of K, Part II. Finite Element Interpolation 81 b and let x b ∈ Fb in an open neighborhood in Proof. (1) Let Fb be a face of K b is singled-valued). Let n b be the Fb (to make sure that the normal vector at x b b b. Let ψ be the signed distance function to F , assumed outward unit normal at x b x) = n b −1 (x)). b Then ∇ψ(b b (b to be negative inside K. x). Define ψ(x) = ψ(T K The normal at x is parallel to ∇ψ since ψ is constant (equal to zero) over b and points F = TK (Fb ). Using (7.3a), we conclude that n is parallel to J−T K n outward K. b ℓ2 (Rd ) = 0. Assume that tb is b , JK t) (2) Item (ii) follows from (i) since (J−T K n b := Fbi ∩ Fbj , then JK tb is tangent to both Fi := TK (Fbi ) parallel to the edge E b b ⊓ ⊔ and Fj := TK (Fj ), hence JK tb is parallel to Fi ∩ Fj = E = TK (E). Finally, we investigate how the geometric map TK transforms surface and line measures. We denote by k·kℓ2 (Rd ) the Euclidean norm in Rd . Lemma 7.6 (Surface and line measures). b at x b are transformed as fol(i) The surface measures on ∂K at x and on ∂ K −T T b kℓ2 (Rd ) db lows: ds = | det(JK )| kJK n s, db s = | det(J−1 K )| kJK nkℓ2 (Rd ) ds. b at x b are (ii) Let E be an edge of K. The line measures on E at x and on E −1 b b b ℓ2 (Rd ) dl, dl = kJK tkℓ2 (Rd ) dl. transformed as follows: dl = kJK tk b (recall that K b is a polyhedron). Let F = Proof. (1) Let Fb be a face of K TK (Fb ) and observe that n is smooth on F . Let p ∈ C0∞ (F ; R) and let v ∈ C ∞ (K; Rd ) be such that v·n|F = p and v·n|∂K\F = 0 (this construction is always possible since p is compactly supported in F and so vanishes near ∂F b = det(JK )J−1 where n is multivalued). Set pb = p ◦ TK and v K (v ◦ TK ). Using −T b = JT b (7.3b) together with n (n ◦ T )kJ n k , we infer that 2 d K ℓ (R ) K K Z Z Z p(x) ds = (v·n)(x) ds = (∇·v)(x) dx F ∂K K Z Z = (∇·b v )(b x) db x= (b v ·b n)(b x) db s b b ∂K ZK −1 −T b kℓ2 (Rd ) det(JK ) (b x) db s (JK (v ◦ TK ))·(JT = K (n ◦ TK ))kJK n b Z∂ K b kℓ2 (Rd ) det(JK ) (b = x) db s (v ◦ TK )·(n ◦ TK )kJ−T K n b ∂K Z b kℓ2 (Rd ) det(JK ) (b = x) db s. p(TK (b x)) kJ−T K n b F (2) For item (ii), see Exercise 7.3. ⊓ ⊔ (JLG) I am here at the moment. Verification of the signs of the determinants. Feb 16, 2016 82 Chapter 7. Generation of finite elements 7.3 Finite element generation b Pb, Σ) b be a fixed a finite element. We show in this section how to Let (K, b from (K, b Pb, Σ). b The finite generate a finite element on each cell K = TK (K) b Pb, Σ) b should not be confused with the geometric finite element element (K, b Pbgeo , Σ bgeo ) is used for geometric purposes introduced in §7.1: The element (K, b b b only, whereas (K, P , Σ) will be used to interpolate Rq -valued functions (for some integer q ≥ 1). The number of shape functions and degrees of freedom b Pb , Σ) b is denoted nsh , and we define the integer set N := {1: nsh }. in (K, b Pb, Σ) b is called the reference fiDefinition 7.7 (Reference element). (K, nite element, and, with obvious notation, {b σi }i∈N and {θbi }i∈N are called the reference degrees of freedom and the reference shape functions, respectively. Recalling Definition 4.6, we also assume that we have at hand a Banach b ⊂ L1 (K; b Rq ) such that Pb ⊂ V (K) b and such that the linear forms space V (K) b → Pb be the interpolation b b in Σ can be extended to L(V (K); R). Let IKb : V (K) b Pb , Σ) b defined as follows, see (4.7): operator associated with (K, X b v )(b x) = IKb (b σ bi (b v )θbi (b x), ∀b x ∈ K. (7.5) i∈N IKb is called the reference interpolation operator. Since our goal is to generate a finite element (K, P, Σ) on K and to build an interpolation operator IK acting on functions defined on K, we introduce b for those functions, say V (K). The new a counterpart of the space V (K) ingredient we need for the construction is a map b ψK : V (K) → V (K), (7.6) and for the purpose of analysis, we want this map to be a bounded isomorphism. A simple way of devising this map is to consider the pullback by the geometric map defined as ψK (v) = v ◦ TK for all v ∈ V (K). We will see in §7.4 that this definition is well-suited to nodal and modal finite elements. However, we will also see that this definition is not adequate when considering vector-valued functions for which the tangential or the normal component at the boundary of K plays a specific role. This is the reason why we use an abstract notation for the functional map ψK . b Assume Proposition 7.8 (Finite element generation). Let K = TK (K). that there exists a Banach space V (K) and a bounded isomorphism ψK ∈ b L(V (K); V (K)). Then, setting −1 −1 b (b p) | pb ∈ Pb }, (P ) = {p = ψK P := ψK Σ := {σK,i }i∈N s.t. σK,i = σ bi ◦ ψK , the triple (K, P, Σ) is a finite element. (7.7a) (7.7b) Part II. Finite Element Interpolation 83 Proof. We apply Remark 4.4. Since ψK is bijective, dim(P ) = dim(Pb) = nsh . Moreover, a function p ∈ P such that σK,i (p) = 0 for all i ∈ N is such that σ bi (ψK (p)) = 0 for all i ∈ N , so that ψK (p) = 0 by the unisolvence property of the reference finite element; hence, p = 0 since ψK is bijective. Finally, the linear forms σK,i are in L(V (K); R) since |σK,i (v)| ≤ kb σi kL(V (K);R) kψK kL(V (K);V (K)) ⊓ ⊔ b b kvkV (K) , for all v ∈ V (K). Note that even if Pb in (7.7) is a polynomial space of some degree, the space −1 b P = ψK (P ) may not be a polynomial space. The linear forms {σK,i }i∈N are called local degrees of freedom. Moreover, the functions θK,i such that −1 b θK,i = ψK (θi ) for all i ∈ N satisfy σK,i (θK,j ) = σ bi (ψK (θK,j )) = σ bi (θbj ) = δij (7.8) and are called local shape functions. The local interpolation operator IK : V (K) → P , with domain V (K) and codomain P , acts as follows: X IK (v)(x) = σK,i (v)θK,i (x), ∀x ∈ K. (7.9) i∈N The following proposition plays a key role in the analysis of the interpolation error (see for instance the proof of Theorem 8.12). −1 Proposition 7.9 (Commuting diagram). We have IK = ψK ◦ IKb ◦ ψK , i.e., the following diagram commutes: V (K) IK ❄ P ψK ✲ ψK b V (K) Ib ❄K ✲ Pb As a result, P is pointwise invariant under IK , i.e., IK p = p for all p ∈ P . Proof. Let v in V (K). The definition (7.7) of (K, P, Σ) implies that X X IKb (ψK (v)) = σ bi (ψK (v)) θbi = σK,i (v) ψK (θK,i ) = ψK (IK (v)), i∈N i∈N owing to the linearity of ψK . The pointwise invariance of P under IK is a ⊓ ⊔ direct consequence of the commuting property and that of Pb under IKb . b Pbgeo , Σ bgeo ) Definition 7.10 (Iso/subparametric interpolation). Let (K, b b b be the geometric reference finite element. Let (K, P , Σ) be the reference finite element. When Pb = (Pbgeo )q for some q ≥ 1, the interpolation is said to be isoparametric, whereas it is said to be subparametric whenever (Pbgeo )q ( Pb. The most common example of subparametric interpolation is P1 ⊂ Pbgeo 6= P2 ⊂ Pb (for m = 1). 84 Chapter 7. Generation of finite elements 7.4 Examples 7.4.1 Lagrange finite elements b Pb , Σ) b be a Lagrange finite element with V (K) b = C 0 (K; b Rq ). Set Let (K, g 0 q b V (K) = C (K; R ). The map ψK : V (K) → V (K) such that g ψK (v) := v ◦ TK , (7.10) b is an isomorphism in L(V (K); V (K)). This map is called the pullback by the geometric map TK . The superscript refers to the gradient operator, see in particular Remark7.4. The finite element (K, P, Σ) constructed in Proposition 7.8 g using ψK is also a Lagrange finite element. Indeed, denoting by {b ai }i∈N g b b b the Lagrange nodes of (K, P , Σ), we observe that σi (v) = σ bi (ψK (v)) = g ψK (v)(b ai ) = (v ◦ TK )(b ai ). Thus, upon setting aK,i = TK (b ai ) for all i ∈ N , the above equality shows that {aK,i }i∈N are the Lagrange nodes of (K, P, Σ). The Lagrange interpolant acts as follows: X L IK (v)(x) = v(aK,i )θK,i (x), ∀x ∈ K. (7.11) i∈N −1 Note that even if Pb is a polynomial space, P = {b p ◦ TK , pb ∈ Pb } is not necessarily a polynomial space of the same degree unless TK is affine. 7.4.2 Modal finite elements b Pb , Σ) b be the modal finite element introduced in §4.4.2; recall that Let (K, R 1 b b db x for all pb ∈ Pb and the degrees of freedom are such that σ bi (b p) = |K| b ζi p b K all i ∈ N , where {ζbi }i∈N is a basis of Pb. The domain of the interpolation b = L1 (K). b Set V (K) = L1 (K), and observe that the map operator is V (K) b mapKg defined in (7.10) is an isomorphism in L(V (K); V (K)). The finite g element (K, P, Σ) constructed in Proposition 7.8 using ψK is a modal finite element. Assuming that the map TK is affine, its degrees of freedom are Z 1 g σK,i (p) = σ bi (ψK (p)) = (p ◦ TK )ζbi db x b Kb |K| Z Z 1 1 = (p ◦ TK )(ζK,i ◦ TK ) db x= ζK,i p dx, b Kb |K| K |K| −1 for all p ∈ P and all i ∈ N , where we have set ζK,i = ζbi ◦ TK . 7.4.3 Piola transformations The simple choice (7.10) for the map ψK is not suitable when working with vector-valued finite elements where the tangential and normal components Part II. Finite Element Interpolation 85 b K b be the K play specific roles. For instance, let K v = (1, 0) F 1 triangle with vertices (0, 0), (1, 0), and (0, 1), Fb2 b see Figure (7.2). Let K be the image of K by the geometric map TK defined as the roF2 Fb1 tation of center (0, 0) and of angle π2 . Let Fb1 b b corresponding Fig. b7.2. Triangles K and K = (resp., Fb2 ) be the edge of K TK (K) and function v. to x2 = 0 (resp., x1 = 0), and let F1 and F2 be the images of Fb1 and Fb2 by TK , respectively. Consider the constant vector-valued function v(x, y) = (1, 0) (v is invariant under the pullback by TK ). Then, v is tangent to F2 but v ◦ TK is normal to Fb2 , whereas v is normal to F1 but v ◦ TK is tangent to Fb1 . In the above context, it is important to use the so-called Piola transformations, namely the contravariant Piola transformation d ψK (v) := det(JK )J−1 K (v ◦ TK ) (7.12) which is important to preserve the normal component, and the covariant Piola transformation c ψK (v) := JT (7.13) K (v ◦ TK ) which is important to preserve the tangential component. Indeed, returning c to the above example, one can verify that ψK (v) = (0, −1) which is tand gent to Fb2 , while ψK (v) = (0, −1) which is normal to Fb1 . The superscripts in (7.12)-(7.13) refer to the divergence and curl operators, respectively; see i again Remark7.4. Finally, for later use, we define ψK (φ) := det(JK )(φ ◦ TK ) (the superscript refers to the identity operator). Exercises Exercise 7.1 (Canonical hybrid element). Consider an affine geometric b Pb, Σ) b be the canonical map TK and the pullback by TK for ψK . Let (K, hybrid element of §6.4. Verify that Proposition 7.8 generates the canonical hybrid element in K. Write the degrees of freedom. Exercise 7.2 (Piola identity). Defining the divergence of a second-order Pd tensor field K to be the vector field with entries j=1 ∂j Kij , i ∈ {1: d}, show d that ∇·(det(JK )J−T K ) = 0 in R . (This is an important property in elasticity theory; see Ciarlet [143, p. 37-40].) Exercise 7.3 (Line measure). Prove Lemma 7.6(ii). (Hint: use (7.3c).) Exercise 7.4 (Surface measure). Let TF = TK|Fb : Fb → F . Let JF (b x) ∈ Rd×(d−1) be the Jacobian matrix representing the (Fréchet) derivative DTF (b x). 86 Chapter 7. Generation of finite elements x) = (JF (b x))Tp JF (b x) ∈ R(d−1)×(d−1) be the surface metric tensor for Let gF (b b kℓ2 (Rd ) . (Hint: ???.) b ∈ Fb . Prove that det(gF (b x)) = det(JK ) kJ−T all x K n g Exercise 7.5 (Sobolev spaces). Prove that ψK is a bounded isomorphism 1 1 b c from H (K) onto H (K), that ψK is a bounded isomorphism from H(curl; K) b and that ψ d is a bounded isomorphism from H(div; K) onto onto H(curl; K), K b H(div; K).