Part II, Chapter 7 Generation of finite elements

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).
Download