30.12.2012 Views

The finite element approximation

The finite element approximation

The finite element approximation

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

Chapter 7<br />

<strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

”Pure mathematicians sometimes are satisfied with showing<br />

that the non-existence of a solution implies a logical contradiction,<br />

while engineers might consider a numerical result<br />

as the only reasonable goal. Such one sided views seem to<br />

reflect human limitations rather than objective values. In<br />

itself mathematics is an indivisible organism uniting theoretical<br />

contemplation and active application.”<br />

Richard Courant (1888-1972)<br />

<strong>The</strong> aim of this chapter is to introduce the basic theory of <strong>finite</strong> <strong>element</strong> methods. Nowadays, <strong>finite</strong> <strong>element</strong><br />

methods are widely used in almost every field of engineering analysis. <strong>The</strong> German mathematician<br />

Richard Courant (1888-1972) shall probably be credited for formulating the essence of what is now called<br />

a <strong>finite</strong> <strong>element</strong> [Courant, 1943]. <strong>The</strong> development of these methods became effective with the advent<br />

of computers and is now recognized as one of the most powerful and versatile method for construction<br />

<strong>approximation</strong>s of the solutions of boundary-value problems. We will give here a brief overview of the<br />

fundamental mathematical ideas that form the core of the method.<br />

Contents<br />

7.1 General principle . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 99<br />

7.2 <strong>The</strong> one dimensional case . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105<br />

7.3 Triangular <strong>finite</strong> <strong>element</strong>s in higher dimensions . . . . . . . . . . . . . . . . . 120<br />

7.4 <strong>The</strong> <strong>finite</strong> <strong>element</strong> method for the Stokes problem . . . . . . . . . . . . . . . 132<br />

In Chapter 4 we have seen the principle of the variational <strong>approximation</strong> of elliptic problems. <strong>The</strong> main<br />

idea of the <strong>finite</strong> <strong>element</strong> method is to replace the Hilbert space V in which the variational formulation<br />

is posed by a <strong>finite</strong> dimensional subspace Vh. We will first briefly return to the internal variational<br />

<strong>approximation</strong> principle and present <strong>finite</strong> <strong>element</strong>s in one dimension.<br />

7.1 General principle<br />

We consider the variational abstract problem introduced in Chapter 4. More precisely, given a Hilbert<br />

space V , a bilinear continuous and V -elliptic form a(·, ·) defined on V × V and a continuous linear form<br />

99


100 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

l(·) defined on V ′ , we consider the variational formulation of a problem:<br />

(P) : Find u ∈ V such that a(u, v) = l(v) , for all v ∈ V ,<br />

and we already have stated that this problem has a unique solution using Lax-Milgram <strong>The</strong>orem 4.1.<br />

7.1.1 Internal <strong>approximation</strong> of a variational problem<br />

<strong>The</strong> internal <strong>approximation</strong> of problem (P) consists then in replacing the Hilbert space V by a <strong>finite</strong><br />

dimensional subspace, denoted Vh, in which to find the solution uh. Here, h > 0 represents a parameter<br />

related to the discretization of the domain (in space or time) and intended to vanish in the theoretical<br />

results. We assume that for every v ∈ V , there exists an <strong>element</strong> rh(v) ∈ Vh such that<br />

lim<br />

h→0 �rh(v) − v� = 0 .<br />

<strong>The</strong> bilinear form a(·, ·) and the linear form l(·) are defined on Vh × Vh and Vh, respectively and the<br />

problem (P) is replaced by the following discrete problem:<br />

(Ph) : Find uh ∈ Vh such that a(uh, vh) = l(vh) , for all vh ∈ Vh.<br />

We introduce the keyword internal related to the <strong>approximation</strong> because we suppose here that Vh ⊂ V .<br />

If N = dim Vh, we consider a basis (ϕi)1≤i≤N of Vh. <strong>The</strong> decomposition of uh in the basis of Vh,<br />

uh = � N<br />

i=1 uiϕi, leads to rewrite the problem (Ph) in the following form:<br />

N�<br />

uj a(ϕj, ϕi) = l(ϕi) , ∀1 ≤ i ≤ N . (7.1)<br />

j=1<br />

Introducing the stiffness matrix Ah = (aij) ∈ R N,N of coefficients aij = a(ϕj, ϕi), for all 1 ≤ i, j ≤ N,<br />

the vector Uh = (ui)1≤i≤N and the vector Fh = (fi)1≤i≤N such that fi = l(ϕi)1≤i≤N allow us to conclude<br />

that we have the equivalence:<br />

uh solution of (Ph) ⇐⇒ AhUh = Fh .<br />

Obviously, the V -ellipticity assumption on the bilinear form a implies the existence and the uniqueness<br />

of the solution uh to the problem (Ph). However, this assumption is too strong for our purposes. As we<br />

are considering a <strong>finite</strong> dimensional space Vh, it is sufficient to consider that:<br />

(a(vh, vh) = 0) =⇒ (vh = 0) , ∀vh ∈ Vh ,<br />

Since the bilinear form a is V -elliptic, then the matrix Ah is positive de<strong>finite</strong> (cf. Proposition 4.2).<br />

7.1.2 A priori error estimates<br />

It is interesting to evaluate the error related to the replacement of V by the <strong>finite</strong> dimensional subspace<br />

Vh. To this end, we assume that the problems (P) and (Ph) are both well-posed, in particular that the<br />

bilinear form a(·, ·) is continuous (with a continuity constant M > 0) and that there exists a constant<br />

αh > 0 such that:<br />

∀vh ∈ Vh , a(vh, vh) ≥ αh�vh� 2 V ,<br />

and we denote by u and uh the respective solutions of problems (P) and (Ph).<br />

Proposition 7.1 Under the previous assumptions, we have the orthogonality identity:<br />

∀vh ∈ Vh , a(u − uh, vh) = 0 .


7.1. General principle 101<br />

Proof. Since Vh ⊂ V , we have trivially that a(u, vh) = l(vh) = a(uh, vh), for all vh ∈ Vh. �<br />

If the bilinear form a(·, ·) is symmetric, continuous and V -elliptic on V × V of constant α, then it defines<br />

an inner product and an energy norm associated to it as:<br />

�u�e = (a(u, u)) 1/2 , ∀u ∈ V ,<br />

equivalent to the norm of V :<br />

√ α�u�V ≤ �u�e ≤ � �a� �u�V , ∀u ∈ V .<br />

<strong>The</strong> approximate solution uh is thus the orthogonal projection for the inner product a(·, ·), of the solution<br />

u on the subspace Vh.<br />

A strong advantage of the internal variational <strong>approximation</strong> is that it provides an optimal estimate<br />

of the error between the exact solution u of the problem (P) and the approximate solution uh of the<br />

problem (Ph). <strong>The</strong> error �u − uh�V is comparable to the minimum of �u − vh�V when vh covers Vh. This<br />

error estimate in norm � · �V is given by Céa’s lemma (cf. Chapter 4) that we recall here.<br />

Lemma 7.1 (Céa) Under the previous hypothesis, we have the following error estimates.<br />

(i) If the bilinear form is not V -elliptic, we have:<br />

�u − uh�V<br />

�<br />

≤ 1 + �a�<br />

�<br />

inf �u − vh�V ,<br />

αh vh∈Vh<br />

where<br />

a(vh, wh)<br />

�a� = sup<br />

.<br />

vh,wh∈Vh �vh�V �wh�W<br />

(ii) If the bilinear form a(·, ·) is continuous and V -elliptic with a coercivity constant α, then we have:<br />

�u − uh�V ≤ M<br />

α inf �u − vh�V .<br />

vh∈Vh<br />

(iii) If in addition the bilinear form a(·, ·) is symmetric the previous estimate becomes:<br />

�<br />

M<br />

�u − uh�V ≤<br />

α inf �u − vh�V .<br />

vh∈Vh<br />

Proof. Let consider wh ∈ Vh. From the orthogonality identity we deduce that<br />

and taking into account the continuity of a, we write:<br />

Similarly, we have<br />

a(uh − wh, vh) = a(u − wh, vh) , ∀vh ∈ Vh .<br />

a(uh − wh, vh) a(u − wh, vh)<br />

αh�uh − wh�V ≤ sup<br />

= sup<br />

vh∈Vh �vh�V vh∈Vh �vh�V<br />

a(u − uh, u − uh) = a(u − uh, u − vh) , ∀vh ∈ Vh ,<br />

≤ �a��u − wh�V .<br />

and we conclude with the V -ellipticity and the continuity of a. If the form a is symmetric, we can improve the<br />

estimate. Since uh is the orthogonal projection of u onto Vh with respect to the inner product induced by a, we<br />

have the Pythagorean relation:<br />

a(u − uh, u − uh) = �u − uh� 2 e ≤ �u − wh� 2 e = a(u − wh, u − wh) , ∀wh ∈ Vh ,<br />

and we deduce that for all wh ∈ Vh<br />

α�u − uh� 2 V ≤ a(u − uh, u − uh) ≤ a(u − wh, u − wh) ≤ M�u − wh� 2 V .<br />

and the results follows. �


102 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

Corollary 7.1 Under the previous hypothesis, let (Vh)h denotes a set of <strong>finite</strong> dimensional subspaces of<br />

V and let us assume that<br />

∀v ∈ V , inf �v − vh�V<br />

vh∈Vh<br />

h→0<br />

−→ 0 .<br />

<strong>The</strong>n, if infh αh > 0, uh converges toward u in V .<br />

<strong>The</strong> objective for the “ideal” <strong>approximation</strong> method is to define suitable <strong>approximation</strong> spaces Vh to<br />

apply the Galerkin approach. To this end, we search for a compromise between the dimension N of Vh<br />

(and thus the dimension of the matrix A) and the accuracy of the numerical solution uh. We shall also<br />

consider spaces Vh that allow to compute easily the quantities a(ϕj, ϕi) and l(ϕi). Finally, specific spaces<br />

Vh may result in sparse matrices A where the number of nonzero <strong>element</strong>s is small, or well-conditioned<br />

matrices with a small condition number and thus easy to solve. In this spirit, the <strong>finite</strong> <strong>element</strong> method<br />

tends to answer all these requirements. Before detailling the main concepts of the <strong>finite</strong> <strong>element</strong> methods,<br />

we give a few words about Ritz and Petrov-Galerkin methods.<br />

7.1.3 Ritz and Petrov-Galerkin methods<br />

<strong>The</strong> Ritz method<br />

We consider that the hypothesis of the Lax-Milgram theorem are satisfied and we recall that, if the<br />

bilinear form a(·, ·) defined on V × V is symmetric, solving the problem:<br />

(P) find u ∈ V, such that a(u, v) = l(v) , for all v ∈ V<br />

is indeed equivalent to solving the problem:<br />

( � 1<br />

P) find u ∈ V, such that J(u) = inf J(v), where J(v) = a(v, v) − l(v).<br />

v∈V 2<br />

In the Ritz method, the space V is replaced by a <strong>finite</strong> dimensional subspace Vh ⊂ V such that<br />

dim Vh = N and the approximate solution uh shall solve:<br />

( � Ph) find uh ∈ Vh such that J(uh) = inf J(vh).<br />

vh∈Vh<br />

<strong>The</strong>orem 4.2 ensures the existence of a unique solution to this minimization problem as a consequence of<br />

Lax-Milgram theorem.<br />

Since the dimension of the space Vh is N, there exists a basis (ϕj)1≤j≤N of Vh and every uh ∈ Vh can<br />

N�<br />

be decomposed as uh = uiϕj and we use the classical notation U = (u1, . . . , uN) t ∈ RN .<br />

j=1<br />

We consider the one-to-one mapping ξ : Vh → R N , uh ↦→ U and we pose J = J ◦ ξ −1 such that for<br />

every uh ∈ Vh we have:<br />

J (U) = J(uh) ,<br />

or, when replacing J(uh) by its value:<br />

J(uh) = 1<br />

2 a<br />

⎛<br />

N� N�<br />

⎝ ujϕj,<br />

= 1<br />

2<br />

N�<br />

j=1<br />

i=1 j=1<br />

j=1<br />

ujϕj<br />

N�<br />

uiuja(ϕi, ϕj) −<br />

⎞ ⎛<br />

N�<br />

⎠ − l ⎝<br />

j=1<br />

ujϕj<br />

N�<br />

uil(ϕi) .<br />

This leads to a matrix formulation of the minimization functional J(u):<br />

i=1<br />

J(uh) = 1<br />

2 U t Ah U − U t Fh = J (U) ,<br />

⎞<br />


7.1. General principle 103<br />

where Ah = (aij) ∈ RN,N with aij = a(ϕi, ϕj) and Fh = (fi) ∈ RN is such that fi = l(ϕi). Hence, solving<br />

the minimization problem ( � Ph) is equivalent to solving the following problem:<br />

( � Ph,R) find U ∈ RN 1<br />

such that J (U) = inf J (V ) , where J (V ) =<br />

V ∈RN 2V t Ah V − V t Fh.<br />

For obvious reasons, the stiffness matrix Ah is symmetric positive de<strong>finite</strong> and thus the functional<br />

J is quadratic on RN . This is sufficient to ensure the existence and uniqueness of U ∈ RN solving the<br />

minimization problem ( � Ph,R). Furthermore, the solution U of the minimization problem ( � Ph,R) is also<br />

the solution of the linear system AhU = Fh.<br />

Remark 7.1 When the bilinear form a(·, ·) is symmetric, the Galerkin and Ritz methods are strictly<br />

equivalent.<br />

<strong>The</strong> Petrov-Galerkin method<br />

<strong>The</strong> principles of Petrov-Galerkin and Galerkin methods are very similar in the sense that they both<br />

will attempt to solve the problem (P). However, in the Petrov-Galerkin approach, we consider two<br />

<strong>finite</strong>-dimensional <strong>approximation</strong> subspaces Vh and Wh in V such that<br />

dim Vh = dim Wh = N .<br />

<strong>The</strong> approximate solution uh is searched in the space Vh but the test functions in the variational formulation<br />

are now the shape functions of Wh. For these reasons, Vh is called the <strong>approximation</strong> space and<br />

Wh is the space of test functions. <strong>The</strong> problem to solve is now the following:<br />

(Ph,P G) find uh ∈ Vh , such that a(uh, vh) = l(vh) , for all vh ∈ Wh.<br />

Suppose (ϕj)1≤j≤N is a basis of Vh and (ψj)1≤j≤N a basis of Wh, then every uh ∈ Vh can be decomposed<br />

N�<br />

as uh = uiϕj and we can rewrite the problem as follows:<br />

j=1<br />

find uh ∈ Vh , such that<br />

N�<br />

uja(ϕj, ψi) = l(ψi) , i = 1, . . . , N,<br />

j=1<br />

And the linear system to solve is AhU = Fh, where Ah = (aij) ∈ R N,N with aij = a(ϕj, ψi) and<br />

Fh = (fi) with fi = l(ψi), for all i = 1, . . . , N.<br />

7.1.4 <strong>The</strong> <strong>finite</strong> <strong>element</strong> method<br />

In the <strong>finite</strong> <strong>element</strong> method, the domain Ω is subdivided into a partition or a mesh Th, i.e., a (potentially<br />

large) collection of geometrically simple <strong>element</strong>s, and the <strong>approximation</strong> space Vh is composed of<br />

piecewise polynomial functions on each <strong>element</strong> K of the partition Th. We will see in Chapter 9 how to<br />

construct a partition Th for a domain Ω of arbitrary geometric shape. <strong>The</strong> parameter h represents here<br />

the grain of the discretization, i.e., the <strong>element</strong>ary size of the <strong>element</strong>s K in Th as defined by:<br />

h = max diam(K) .<br />

K∈Th<br />

Typically, a basis of Vh will be composed of functions whose support is restricted on one or a few <strong>element</strong>s<br />

of Th and the polynomials are usually of low degree. Hence, when h → 0 the space Vh will better and<br />

better approximate the space V and the stiffness matrix A will be sparse, most of its coefficients being<br />

zeros.


104 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

Finite <strong>element</strong>s vs. <strong>finite</strong> differences or <strong>finite</strong> volumes<br />

<strong>The</strong> principle of <strong>finite</strong> difference or <strong>finite</strong> volume discretization methods is very similar. Both approaches<br />

consider a partition of the domain into a numerous small pieces, although none of them consider a<br />

variational formulation of the problem at hand. For instance, let consider the homogeneous Dirichlet<br />

boundary-value problem in two dimensions:<br />

−∆u = f in Ω<br />

u = 0 on ∂Ω<br />

With the <strong>finite</strong> difference method, the domain Ω is covered by a regular uniform grid. At each internal<br />

node xi,j = (ih, jh), we search a discrete value ui,j to approximate u(xi,j) and we assume for example<br />

that the Laplacian operator is approximated using a 5 points scheme, thus leading to write:<br />

4ui,j − ui,j+1 − ui,j−1 − ui+1,j − ui−1,j<br />

h 2<br />

= f(xi,j) .<br />

In the <strong>finite</strong> volume method, the partition Th of the domain Ω is arbitrary and unknowns are associated<br />

with each <strong>element</strong> K ∈ Th. Using Green’s identity, we can rewrite the previous equation as follows:<br />

�<br />

∂u<br />

−<br />

∂K ∂n =<br />

�<br />

f , ∀K ∈ Th<br />

K<br />

and we discretize the left-hand side term using a formula mixing the unknowns on K and on the neighboring<br />

<strong>element</strong>s. Considering a square domain, we have:<br />

Ki,j = [(i − 1/2)h, (i + 1/2)h] × [(j − 1/2)h, (j + 1/2)h] ,<br />

and if ui,j is the <strong>approximation</strong> of u on Ki,j, the flux integrated on the interface Ki,j ∩ Ki+1,j is then<br />

discretized by ui+1,l − uk,l. Repeating the procedure for the other fluxes and approximating the term<br />

�<br />

Ki,j f by h2 f(xi,j) yields the equation:<br />

4ui,j − ui,j+1 − ui,j−1 − ui+1,j − ui−1,j = h 2 f(xi,j) .<br />

<strong>The</strong> resulting linear system is very similar to that obtained using a <strong>finite</strong> difference scheme.<br />

Actually, the vast majority of <strong>finite</strong> difference methods can be deduced from <strong>finite</strong> <strong>element</strong> methods if<br />

the problem at hand has a variational formulation. It is less obvious for <strong>finite</strong> volume methods. Moreover,<br />

we have strong theoretical mathematical tools to study <strong>finite</strong> <strong>element</strong> methods. In addition, the latter<br />

have several intrinsic advantages:<br />

1. the versatility of the formulation on arbitrarily complex geometries, and the possibility to locally<br />

refine the partition Th to approximate solutions with singularities,<br />

2. the boundary conditions are naturally taken into account in the space V in the variational formulation<br />

and in its internal <strong>approximation</strong> Vh,<br />

3. the general framework of the variational <strong>approximation</strong>s is convenient for the error analysis.<br />

Other variational methods have been developed, like spectral methods, that are especially adapted to<br />

the <strong>approximation</strong> of smooth solutions but are limited to simple geometries and methods using wavelets<br />

basis.


7.2. <strong>The</strong> one dimensional case 105<br />

7.2 <strong>The</strong> one dimensional case<br />

At first, we introduce the general principle of the Lagrange <strong>finite</strong> <strong>element</strong> method in one dimension of<br />

space. Without loss of generality, we can restrict our study to the unit domain Ω =]0, 1[. To set the<br />

ideas, we will also consider the following boundary-value problem:<br />

Given f ∈ L 2 (Ω) and c ∈ L ∞ (Ω), find the function u solving:<br />

� −u ′′ (x) + c(x)u(x) = f(x) , x ∈]0, 1[<br />

u(0) = u(1) = 0 .<br />

Here, a mesh is simply a set of points (xj)0≤j≤N+1 or intervals Kj = [xj, xj+1] such that 0 = x0 <<br />

x1 < · · · < xN+1 = 1. <strong>The</strong> mesh is said to be uniform if the points (xj) are equidistributed along the<br />

segment [0, 1], i.e. such that xj = jh, with h = 1/(N + 1), 0 ≤ j ≤ N + 1. More generally, we denote by<br />

h = max |xj+1 − xj| the size parameter.<br />

7.2.1 Lagrange P1 <strong>element</strong>s<br />

<strong>The</strong> <strong>finite</strong> <strong>element</strong> methods for Lagrange P1 <strong>element</strong>s involves the space of globally continuous affine<br />

functions on each interval:<br />

and the subspace of V 1 h :<br />

V 1 h = {vh ∈ C 0 ([0, 1]) , vh|Kj ∈ P1 , 0 ≤ j ≤ N} ,<br />

V 1<br />

0,h = {vh ∈ V 1 h , such that vh(0) = vh(1) = 0} ,<br />

More generally, Pk denotes the vector space of polynomials in one variable and of degree less than or<br />

equal to k:<br />

⎧<br />

⎨<br />

k�<br />

Pk = p(x) = αjx<br />

⎩ j ⎫<br />

⎬<br />

αj ∈ R<br />

⎭ .<br />

j=0<br />

<strong>The</strong> <strong>finite</strong> <strong>element</strong> method consists in applying the internal variational <strong>approximation</strong> approach to the<br />

spaces V 1 h and V 1<br />

0,h . In this context, the functions of V 1 h can be represented using very simple shape<br />

functions.<br />

Lemma 7.2 <strong>The</strong> space V 1 h is a subspace of H1 (Ω) of dimension N + 2. Every function vh of V 1 h is<br />

uniquely determined by its values at the mesh vertices (xj)0≤j≤N+1:<br />

vh(x) =<br />

N+1 �<br />

j=0<br />

vh(xj)ϕj(x) , ∀x ∈ [0, 1] ,<br />

where (ϕj)0≤j≤N+1 is the basis of the shape functions ϕj with compact support in each interval [xj−1, xj+1]<br />

defined as:<br />

⎧<br />

⎪⎨<br />

x − xj−1<br />

ϕj(x) =<br />

h<br />

⎪⎩<br />

xj+1 − x<br />

h<br />

x ∈ [xj−1, xj]<br />

x ∈ [xj, xj+1]<br />

(7.2)<br />

such that ϕj(xi) = δij . (7.3)


106 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

1<br />

x0<br />

ϕ0<br />

xj−1<br />

ϕj<br />

xj<br />

xj+1<br />

ϕN+1<br />

xN+1<br />

Figure 7.1: Global shape functions for the space V 1 h .<br />

Proof. We know that piecewise C 1 continuous functions belong to the space H 1 (Ω). Hence, Vh is a subspace of<br />

H 1 (Ω). Moreover, since we have ϕj(xi) = δij, where δij is the Kronecker symbol, the result follows. �<br />

Remark 7.2 Notice that the functions (ϕj)0≤j≤N+1 can be expressed using only two functions:<br />

ω0(x) = 1 − x , ω1(x) = x .<br />

<strong>The</strong> basis functions are defined as the composition of a shape function of a reference <strong>finite</strong> <strong>element</strong> (i.e.<br />

that depends only of the polynomial <strong>approximation</strong>) and of an affine transformation (depending only on<br />

the discretization) as, for all 0 ≤ j ≤ N:<br />

⎧ � �<br />

x − xj−1<br />

⎪⎨ ω1<br />

, x ∈ [xj−1, xj]<br />

xj − xj−1<br />

ϕj(x) = � �<br />

⎪⎩<br />

x − xj<br />

, x ∈ [xj, xj+1]<br />

ω0<br />

xj+1 − xj<br />

and ϕN+1(x) = ω1 ((x − xN)/h). This will be useful to compute the coefficients of the matrix in the linear<br />

system to solve.<br />

Corollary 7.2 <strong>The</strong> space V 1<br />

uniquely determined by its values at the mesh vertices (xj)1≤j≤N:<br />

0,h is a subspace of H1 0 (Ω) of dimension N and every function vh of V 1<br />

vh(x) =<br />

N�<br />

vh(xj)ϕj(x) , ∀x ∈ [0, 1] ,<br />

j=1<br />

Remark 7.3 Notice that functions vh ∈ V 1 h are not twice differentiable on Ω and thus it is meaningless<br />

to attempt solving the problem (7.2) as the second derivative of any vh ∈ V 1 h is a sum of Dirac masses<br />

at the mesh vertices. However, it is meaningful to solve a variational formulation of this problem with<br />

functions vh ∈ V 1 h since only the first derivatives are involved.<br />

<strong>The</strong> variational formulation of problem (7.2) consists in finding u ∈ H 1 0<br />

�<br />

u<br />

Ω<br />

′ (x)v ′ (x) dx +<br />

�<br />

Ω<br />

�<br />

c(x)u(x)v(x) dx =<br />

(Ω), such that:<br />

0,h is<br />

f(x)v(x) dx , ∀v ∈ H<br />

Ω<br />

1 0 (Ω) , (7.4)<br />

and the variational formulation of the internal <strong>approximation</strong> consists in finding uh ∈ V0,h, such that:<br />

�<br />

�<br />

�<br />

c(x)uh(x)vh(x) dx = f(x)vh(x) dx , ∀vh ∈ V0,h . (7.5)<br />

Ω<br />

u ′ h (x)v′ h (x) dx +<br />

Ω<br />


7.2. <strong>The</strong> one dimensional case 107<br />

Introducing the notation uh(xj)1≤j≤N for the approximate value of the exact solution at the mesh vertex<br />

xj, leads to the approximate problem:<br />

find uh(x1), . . . , uh(xN) such that for all i = 1, . . . , N<br />

N�<br />

��<br />

ϕ<br />

Ω<br />

′ j(x)ϕ ′ �<br />

i(x) dx +<br />

j=1<br />

Ω<br />

� �<br />

c(x)ϕj(x)ϕi(x) dx uh(xj) = f(x)ϕi(x) dx .<br />

Ω<br />

And as expected, this formulation is equivalent to solving in R N the linear system:<br />

where Uh = (uh(xj))1≤j≤N, Fh = ��<br />

Coefficients of the matrix Ah<br />

AhUh = Fh<br />

Ω f(x)ϕi(x) dx �<br />

��<br />

Ah = ϕ<br />

Ω<br />

′ j(x)ϕ ′ �<br />

i(x) dx +<br />

1≤i≤N and the matrix Ah is defined as:<br />

Ω<br />

�<br />

c(x)ϕj(x)ϕi(x) dx<br />

1≤i,j≤N<br />

Actually, the matrix Ah appears as the sum of the stiffness matrix Kh defined by its coefficients<br />

(kij)1≤i,j≤N:<br />

�<br />

� xk+1<br />

kij =<br />

Ω<br />

ϕ ′ j(x)ϕ ′ i(x) dx =<br />

and the mass matrix Mh defined by its coefficients (mij)1≤i,j≤N:<br />

�<br />

mij =<br />

Ω<br />

c(x)ϕj(x)ϕi(x) dx =<br />

N�<br />

k=0<br />

N�<br />

k=0<br />

xk<br />

� xk+1<br />

xk<br />

ϕ ′ j(x)ϕ ′ i(x) dx ,<br />

c(x)ϕj(x)ϕi(x) dx .<br />

Since the shape functions ϕj have a small support, most of the coefficients in Ah are zeros. More precisely,<br />

for a given index i, there is only three consecutive values of j such that the coefficient aij is potentially<br />

not equal to zero. <strong>The</strong> structure of the matrice is then easy to deduce: Ah is a tridiagonal matrix. <strong>The</strong><br />

coefficients of Ah are thus given by:<br />

ajj =<br />

ajj−1 =<br />

ajj+1 =<br />

� xj+1<br />

xj−1<br />

� xj<br />

xj−1<br />

� xj+1<br />

xj<br />

(ϕ ′ j(x)) 2 � xj+1<br />

dx +<br />

ϕ ′ j(x)ϕ ′ j−1(x) dx +<br />

xj−1<br />

� xj<br />

ϕ ′ j(x)ϕ ′ j+1(x) dx +<br />

c(x)(ϕj(x)) 2 dx<br />

xj−1<br />

� xj+1<br />

xj<br />

c(x)ϕj(x)ϕj−1(x) dx<br />

c(x)ϕj(x)ϕj+1(x) dx<br />

For the sake of simplicity, we consider here the function c as being constant, c(x) = c0 for all x ∈ Ω.<br />

Hence, we write:<br />

� � � � � �<br />

xj<br />

xj x − xj−1 x − xj−1<br />

mjj = c0 ϕj(x)ϕj−1(x) dx = c0 ω1<br />

ω0<br />

h<br />

h<br />

xj−1<br />

= c0h<br />

xj−1<br />

� 1<br />

0<br />

ω1(y)ω0(y) dy = c0h<br />

where we posed y = (x − xj−1)/h. Finally, we find the coefficients of Ah:<br />

ajj−1 = − 1<br />

h<br />

h<br />

+ c0<br />

6<br />

ajj = 2 2h<br />

+ c0<br />

h 3<br />

� 1<br />

and ajj+1 = − 1<br />

h<br />

0<br />

.<br />

h<br />

(1 − y)y dy = c0<br />

6 ,<br />

+ c0<br />

h<br />

6 ,


108 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

Remark 7.4 Instead of regarding the node contributions, we could have analyzed the <strong>element</strong>s. Consider<br />

the <strong>element</strong> Kj = [xj, xj+1]; on this <strong>element</strong> there is only two non-zero shape functions:<br />

ϕj|Kj = xj+1 − x<br />

xj+1 − xj<br />

ϕ ′ j|Kj =<br />

−1<br />

xj+1 − xj<br />

= xj+1 − x<br />

h<br />

= −1<br />

h<br />

ϕj+1|Kj<br />

ϕ ′ j+1|Kj =<br />

= x − xj<br />

xj+1 − xj<br />

1<br />

xj+1 − xj<br />

= x − xj<br />

= 1<br />

h<br />

h<br />

<strong>The</strong>n, we can arrange the <strong>element</strong>ary contributions of the <strong>element</strong> Kj to the stiffness matrix and to the<br />

mass matrix as 2 × 2 symmetric matrices EKj and EMj:<br />

�<br />

�<br />

with<br />

k j<br />

11 =<br />

=<br />

EKj =<br />

� xj+1<br />

(ϕ ′ j(x)) 2 dx ,<br />

xj<br />

� xj+1<br />

xj<br />

1 1<br />

dx =<br />

h2 h<br />

�<br />

k j<br />

11 kj 12<br />

k j<br />

21 kj 22<br />

k j<br />

12 = kj 21 =<br />

� xj+1<br />

=<br />

xj<br />

� xj+1<br />

xj<br />

and EMj =<br />

ϕ ′ j(x)ϕ ′ j+1(x) dx ,<br />

− 1 1<br />

dx = −<br />

h2 h<br />

�<br />

m j<br />

11 mj12<br />

m j<br />

21 mj22<br />

k j<br />

22 =<br />

m j<br />

11 =<br />

� xj+1<br />

c(x)(ϕj(x))<br />

xj<br />

2 dx , m j<br />

12 = mj21<br />

=<br />

� xj+1<br />

c(x)ϕj(x)ϕj+1(x) dx , m<br />

xj<br />

j<br />

22 =<br />

and thus to conclude that:<br />

EKj = 1<br />

h<br />

�<br />

1<br />

�<br />

−1<br />

−1 1<br />

h<br />

and EMj = c0<br />

6<br />

=<br />

� �<br />

2 1<br />

1 2<br />

� xj+1<br />

(ϕ ′ j+1(x)) 2 dx<br />

xj<br />

� xj+1<br />

xj<br />

� xj+1<br />

xj<br />

1 1<br />

dx =<br />

h2 h<br />

c(x)(ϕj+1(x)) 2 dx<br />

We will see that this point of view is more practical when dealing with the matrix assembly, especially in<br />

higher dimensions.<br />

Matrix assembly<br />

<strong>The</strong> assembly of the matrix Ah is easy and is obtained algorithmically using a loop over all mesh <strong>element</strong>s<br />

Kj and adding their contributions to the right coefficients of the global system. Assuming a(i, j) denotes<br />

the coefficients aij of Ah, a pseudo-code to perform this task would be:<br />

for k=1, N+1 do // loop over all <strong>element</strong>s<br />

for i=1,2 do // local loop<br />

for j=1,2 do<br />

ig = k+i-2 // global indices<br />

jg = k+j-2<br />

A(ig,jg) = A(ig,jg) + a(i,j)<br />

end loop j<br />

end loop i<br />

end loop k<br />

<strong>The</strong> numerical resolution of the linear system is by far the most computationally expensive part of the<br />

method. We refer the reader to Chapter 5 for more details about the direct and indirect techniques to<br />

solve this system.


7.2. <strong>The</strong> one dimensional case 109<br />

Coefficients of the right-hand side Fh<br />

Each component fi of the vector Fh ∈ R N is obtained as:<br />

fi =<br />

N�<br />

k=0<br />

� xk+1<br />

xk<br />

f(x)ϕi(x) dx .<br />

Usually, the function f is not known analytically. Hence, we decompose f in the basis of the shape<br />

functions (ϕj)1≤j≤N:<br />

f(x) =<br />

N−1 �<br />

j=1<br />

fjϕj(x) dx<br />

and the problem is reduced to the evaluation of the integrals:<br />

We use for instance the trapeze formula:<br />

� xk+1<br />

xk<br />

� xk+1<br />

xk<br />

ϕj(x)ϕi(x), dx .<br />

θ(x) dx = xk+1 − xk<br />

(θ(xk+1) + θ(xk)) ,<br />

2<br />

that gives the exact result for polynomial of degree one and leads here fj = hf(xj); or the Simpson<br />

formula: � xk+1<br />

θ(x) dx = xk+1 − xk<br />

(θ(xk+1) + 4θ(x<br />

6<br />

k+1/2) + θ(xk)) ,<br />

xk<br />

that gives the exact result for polynomials of degree lesser than or equal to 3, and leads here to<br />

Neumann boundary-value problem<br />

fj = h<br />

6 (f(xj) + 4f(x j+1/2) + f(xj+1)) .<br />

<strong>The</strong> <strong>finite</strong> <strong>element</strong> method can be applied to solve the Neumann boundary-value problem:<br />

Given f ∈ L2 (Ω), c ∈ L∞ (Ω) such that c(x) ≥ c0 > 0 almost everywhere in Ω and α, β ∈ R, find the<br />

function u solving: �<br />

′′<br />

−u (x) + c(x)u(x) = f(x) , x ∈ Ω<br />

u ′ (0) = α u ′ (7.6)<br />

(1) = β .<br />

in a very similar manner. Recall that this problem has a unique solution u ∈ H1 (Ω) (cf. Chapter 4).<br />

<strong>The</strong> variational formulation of the internal <strong>approximation</strong> consists here in finding uh ∈ V 1 h such that<br />

�<br />

u ′ h (x)v′ �<br />

�<br />

h (x) dx + c(x)uh(x)vh(x) dx = f(x)vh(x) dx − αvh(0) + βvh(1) , ∀vh ∈ V 1 h (Ω) . (7.7)<br />

Ω<br />

Ω<br />

<strong>The</strong> variational formulation consists in solving in R N+2 the linear system:<br />

Ω<br />

AhUh = Fh<br />

with Uh = (uh(xj))0≤j≤N+1 and the stiffness matrix Ah is defined as:<br />

��<br />

Ah = ϕ<br />

Ω<br />

′ j(x)ϕ ′ �<br />

i(x) dx +<br />

Ω<br />

�<br />

c(x)ϕj(x)ϕi(x)) dx<br />

0≤i,j≤N+1<br />

.


110 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

and Fh = (fj)0≤j≤N+1 such that:<br />

�<br />

fj = f(x)ϕj dx 1 ≤ j ≤ N<br />

�Ω<br />

f0 = f(x)ϕ0(x) dx − α<br />

�Ω<br />

fN+1 = f(x)ϕN+1(x) dx + β .<br />

7.2.2 Convergence of the Lagrange P1 <strong>finite</strong> <strong>element</strong> method<br />

Ω<br />

Definition 7.1 (Interpolation) <strong>The</strong> linear mapping Πh : H 1 (Ω) → V 1 h defined for every v ∈ H1 (Ω)<br />

as:<br />

(Πhv)(x) =<br />

N+1 �<br />

j=0<br />

v(xj)ϕj(x) , ∀x ∈ [0, 1] ,<br />

is called P1 interpolation operator. Furthermore, for every v ∈ H 1 (Ω), the interpolation operator is such<br />

that:<br />

lim<br />

h→0 �v − Πhv� H 1 (Ω) = 0 .<br />

<strong>The</strong> P1 interpolate of a function v is the unique piecewise affine function that coincide with v at the mesh<br />

vertices xj. <strong>The</strong> convergence of the <strong>finite</strong> <strong>element</strong> method is related to a series of results that we give<br />

here.<br />

Suppose that the function v is sufficiently smooth, i.e. v ∈ H 2 (Ω). Since the derivative of the affine<br />

functions in Vh is constant on the intervals Kj = [xj, xj+1], we have then:<br />

� xj+1<br />

(Πhv) ′ (x) = v(xj+1) − v(xj)<br />

h<br />

= 1<br />

h<br />

xj<br />

v ′ (t) dt , ∀x ∈ [xj, xj+1] .<br />

Since we assumed v ∈ H 2 (Ω) then v ′ ∈ H 1 (Ω) and thus v is a continuous function. Using Rolle’s theorem,<br />

we deduce that there exists a point θj ∈ [xj, xj+1] such that:<br />

v ′ (θj) = 1<br />

h<br />

� xj+1<br />

v ′ (t) dt = (Πhv) ′ (x) , ∀x ∈ [xj, xj+1] .<br />

xj<br />

We will search for an estimate on �v − Πhv� H 1 (Ω). To this end, we write:<br />

�v − Πhv� 2 H 1 (Ω) =<br />

however, for all t ∈ [xj, xj+1] we have:<br />

� 1<br />

|v<br />

0<br />

′ − Π ′ hv|2 N−1 �<br />

� xj+1<br />

= |v<br />

xj j=1<br />

′ (t) − v ′ (θj)| 2 dt , (7.8)<br />

v ′ (t) − v ′ � t<br />

(θj) =<br />

hence, using Cauchy-Schwarz’s identity, we write:<br />

|v ′ (t) − v ′ (θj)| 2 ≤<br />

≤<br />

� t<br />

θj<br />

� xj+1<br />

xj<br />

θj<br />

v ′′ (t) dt ,<br />

|v ′′ (t)| 2 dt |t − θj|<br />

|v ′′ (t)| 2 dt |t − θj| .


7.2. <strong>The</strong> one dimensional case 111<br />

By integrating on the interval [xj, xj+1] yields:<br />

� xj+1<br />

|v ′ (t) − v ′ (θj)| 2 � xj+1<br />

dt ≤<br />

xj<br />

|t − θj| dt<br />

� � xj+1<br />

|v ′′ (t)| 2 dt<br />

xj<br />

xj<br />

≤ (xj+1 − xj) 2 � xj+1<br />

|v ′′ (t)| 2 dt<br />

≤ h2<br />

2<br />

And going back to equation (7.8), we have now:<br />

�v − Πhv� H 1 (Ω) ≤ h2<br />

2<br />

2<br />

xj<br />

� xj+1<br />

|v ′′ (t)| 2 dt .<br />

xj<br />

N−1 �<br />

j=1<br />

� xj+1<br />

xj<br />

≤ h2<br />

2 �v′′ � 2 L 2 (Ω) .<br />

|v ′′ (t)| dt<br />

This leads to enounce the following result, that we already partly proved.<br />

Lemma 7.3 (Interpolation error) If v ∈ H 2 (Ω) then, there exists two constant C1 and C2 independent<br />

of h such that:<br />

�v − Πhv� H 1 (Ω) ≤ C1 h 2 �v ′′ � L 2 (Ω) and �v ′ − (Πhv) ′ � L 2 (Ω) ≤ C2 h �v ′′ � L 2 (Ω) .<br />

And we can establish the convergence of the <strong>finite</strong> <strong>element</strong> method for the Dirichlet boundary-value<br />

problem as follows.<br />

<strong>The</strong>orem 7.1 (Convergence) Suppose u ∈ H 1 0 (Ω) and uh ∈ V0,h are the solutions of (7.2) and (7.5),<br />

respectively. <strong>The</strong>n, the Lagrange P1 <strong>finite</strong> <strong>element</strong> method converges, i.e. we have:<br />

lim<br />

h→0 �u − uh�H 1 (Ω) = 0 .<br />

Furthermore, if u ∈ H 2 (Ω) then, there exists a constant C independent of h such that:<br />

�u − uh� H 1 (Ω) ≤ Ch�f� L 2 (Ω) .<br />

Proof. Here, since the bilinear form a(·, ·) is V0,h-elliptic, we can consider the ellipticity constant α = 1:<br />

� 1<br />

a(u, u) =<br />

and regarding the continuity of a(·, ·) we write:<br />

0<br />

u ′2 (x) + cu 2 (x) dx ≥<br />

|a(u, v)| ≤<br />

� 1<br />

0<br />

u ′2 (x) dx = �u� 2<br />

H1 0 (Ω) ,<br />

�<br />

�u ′ � 2 L2 (Ω) + c1�u� 2 L2 �1/2 (Ω)<br />

≤ (1 + c1)�u� H 1 0 (Ω) �v� H 1 0 (Ω) ,<br />


112 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

where we assumed that 0 ≤ c1 = sup x∈[0,1] c(x) ≤ +∞. Thus, the continuity constant M is taken here as 1 + c1.<br />

Using Céa’s lemma 7.1, we can easily conclude that:<br />

�u − uh�H 1<br />

0 (Ω) ≤ √ 1 + c1 inf �u − vh�H 1<br />

vh∈V0,h<br />

0 (Ω) . (7.9)<br />

If we assume v ∈ H 2 (Ω), we can write, according to the previous lemma:<br />

Moreover, since Πhu ∈ V0,h, we have also:<br />

�u − Πhu� 2<br />

H1 h2<br />

0 (Ω) ≤<br />

2 �u′′ � 2 L2 (Ω)<br />

≤ h2<br />

2 �u�2 h2<br />

H2 ≤ C<br />

2 �f�2L 2 (Ω) .<br />

inf �u − vh�H 1<br />

vh∈V0,h<br />

0 (Ω) ≤ �u − Πhu�H 1<br />

0 (Ω) .<br />

and using the inequality (7.9), we can conclude. �<br />

Lemma 7.4 <strong>The</strong>re exists a constant C independent of h such that for all v ∈ H 1 (Ω):<br />

�Πhv� H 1 (Ω) ≤ C�v� H 1 (Ω) , and �v − Πhv� L 2 (Ω) ≤ Ch�v ′ � L 2 (Ω) .<br />

Furthemore, for all v ∈ H 1 (Ω), we have:<br />

Proof. Given v ∈ H 1 (Ω), we have:<br />

lim<br />

h→0 �v′ − (Πhv) ′ �L2 (Ω) = 0 .<br />

�Πhv�L2 (Ω) ≤ sup |Πhv(x)| ≤ sup |v(x)| ≤ C�v�H 1 (Ω) .<br />

x∈Ω<br />

x∈Ω<br />

Moreover, since Πhv is an affine function, we have by Cauchy-Schwarz’s identity:<br />

� xj+1<br />

|(Πhv) ′ (t)| 2 dt = (v(xj+1) − v(xj)) 2<br />

=<br />

h<br />

1<br />

�� xj+1<br />

v<br />

h<br />

′ �2 � xj+1<br />

(t) dt ≤<br />

xj<br />

and we obtain the first identity by summation over j. Similarly, we write:<br />

� xj+1<br />

|v(x) − Πhv(x)| ≤ 2 |v ′ (t)|dt .<br />

xj<br />

xj<br />

xj<br />

|v ′ (t)| 2 dt .<br />

We obtain the second identity by using Cauchy-Schwarz, by integrating with respect to x and then by summation<br />

over j.<br />

Since C ∞ (Ω) is dense in H 1 (Ω), for every v ∈ H 1 (Ω) there exists w ∈ C ∞ (Ω) such that<br />

�v ′ − w ′ � L 2 (Ω) ≤ ε , for ε > 0 .<br />

Since Πh is a linear mapping verifying the first identity, we have then:<br />

�(P ihv) ′ − (Πhw) ′ � L 2 (Ω) ≤ C�v ′ − w ′ � L 2 (Ω) ≤ Cε .<br />

From Lemma 7.3, we deduce that, for h sufficiently small:<br />

We can the write, by adding the last identities:<br />

�w ′ − (Πhw) ′ � L 2 (Ω) ≤ ε .<br />

�v ′ − (Πhv) ′ � L 2 (Ω) ≤ �v ′ − w ′ � L 2 (Ω) + �w ′ − (Πhw) ′ � L 2 (Ω) + �(Πhv) ′ − (Πhw) ′ � L 2 (Ω) ≤ Cε ,<br />

and the result follows. �


7.2. <strong>The</strong> one dimensional case 113<br />

7.2.3 Lagrange P2 <strong>element</strong>s<br />

Before introducing the Lagrange P2 <strong>finite</strong> <strong>element</strong> method, we like to describe the advantage of considering<br />

higher-order polynomials on an example taken from [ ˇ Solin, 2005].<br />

Motivation for high-order <strong>element</strong>s<br />

Consider the simple homogeneous Poisson boundary-value problem in one dimension of space:<br />

�<br />

−u ′′ (x) = f(x) ,<br />

u(0) = u(1) = 0 .<br />

in Ω =] − 1, 1[ ,<br />

, with f(x) = π2<br />

4 cos<br />

�<br />

πx<br />

�<br />

.<br />

2<br />

<strong>The</strong> exact solution to this problem has the form:<br />

u(x) = cos<br />

�<br />

πx<br />

�<br />

.<br />

2<br />

<strong>The</strong> well-known variational formulation of this problem consists in: finding u ∈ H 1 0<br />

�<br />

u<br />

Ω<br />

′ (x)v ′ (x) dx =<br />

�<br />

f(x)v(x) dx , ∀v ∈ H<br />

Ω<br />

1 0 (Ω)<br />

(Ω) such that:<br />

Suppose the domain is decomposed into two intervals [−1, 0] and [0, 1] and let consider the <strong>finite</strong> <strong>element</strong><br />

space V 1<br />

0,h generated by a single piecewise affine function vh defined as:<br />

vh(x) =<br />

� x + 1 , x ∈ [−1, 0]<br />

1 − x , x ∈ [0, 1]<br />

<strong>The</strong> exact solution u and the approximate solution uh are given Figure 7.2, left. <strong>The</strong> <strong>approximation</strong> error<br />

in H1 seminorm is:<br />

��<br />

�1/2 |u − uh|1,2 =<br />

≈ 0.683667 .<br />

|u<br />

Ω<br />

′ (x) − u ′ h (x)|2 dx<br />

On the other hand, assume a single quadratic <strong>element</strong> covers the domain [−1, 1]. A basis of the <strong>finite</strong><br />

<strong>element</strong> space V 2<br />

0,h is composed of the function vh(x) = 1−x 2 . <strong>The</strong> exact solution u and the approximate<br />

solution uh are given Figure 7.2, right. <strong>The</strong> <strong>approximation</strong> error is then:<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

1 u<br />

1-x<br />

x+1<br />

0<br />

-1 -0.5 0 0.5 1<br />

|u − uh(x)|1,2 ≈ 0.20275 .<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

1 u<br />

1-x^2<br />

0<br />

-1 -0.5 0 0.5 1<br />

Figure 7.2: .Exact solution u with piecewise affine <strong>approximation</strong> uh (left-hand side) and with quadratic<br />

<strong>approximation</strong> uh (right-hand side).


114 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

This is a clear indication that high-order <strong>finite</strong> <strong>element</strong>s are better to approximate smooth functions.<br />

Conversely, less regular functions can be approximated accurately using lower degree <strong>finite</strong> <strong>element</strong>s.<br />

This will be emphasized by <strong>The</strong>orem 7.2.<br />

Lagrange P2 <strong>element</strong>s<br />

We return to problem (7.2) and we consider a set of points (xj)0≤j≤N+1 or intervals Kj = [xj, xj+1]<br />

forming a uniform mesh of Ω. <strong>The</strong> <strong>finite</strong> <strong>element</strong> method for Lagrange P2 <strong>element</strong>s involves the discrete<br />

space:<br />

V 2 h = {vh ∈ C 0 ([0, 1]) , vh|Kj ∈ P2 , 0 ≤ j ≤ N} ,<br />

and its subspace:<br />

V 2<br />

0,h = {vh ∈ V 2 h , such that vh(0) = vh(1) = 0} .<br />

<strong>The</strong>se spaces are composed of continuous, piecewise parabolic functions (polynomials of degree less than<br />

or equal to 2). <strong>The</strong> P2 <strong>finite</strong> <strong>element</strong> method consists in applying the internal variational <strong>approximation</strong><br />

approach to these spaces.<br />

Lemma 7.5 <strong>The</strong> space V 2 h is a subspace of H1 (Ω) of dimension 2N + 3. Every function vh ∈ V 2 h is<br />

uniquely defined by its values at the mesh vertices (xj)0≤j≤N+1 and at the midpoints (x j+1/2)0≤j≤N =<br />

(xj + h<br />

2 )0≤j≤N:<br />

vh(x) =<br />

N+1 �<br />

j=0<br />

vh(xj)ϕj(x) +<br />

N�<br />

vh(xj+1/2) ϕj+1/2(x) , ∀x ∈ [0, 1] .<br />

where (ϕj)0≤j≤N+1 is the basis of the shape functions ϕj defined as:<br />

with<br />

j=0<br />

� �<br />

� �<br />

x − xj<br />

x − xj+1/2<br />

ϕj(x) = φ , 0 ≤ j ≤ N + 1 and ϕ<br />

h<br />

j+1/2(x) = ψ<br />

, 0 ≤ j ≤ N ,<br />

h<br />

⎧<br />

⎪⎨ (1 + x)(1 + 2x) − 1 ≤ x ≤ 0<br />

φ(x) = (1 − x)(1 − 2x)<br />

⎪⎩<br />

0<br />

0 ≤ x ≤ 1<br />

|x| > 1 ,<br />

Remark 7.5 Notice that we have:<br />

ϕi(xj) = δij<br />

and ψ(x) =<br />

ϕi(x j+1/2) = 0<br />

ϕ i+1/2(xj) = 0 ϕ i+1/2(x j+1/2) = δij<br />

� 1 − 4x 2<br />

|x| ≤ 1/2<br />

0 |x| > 1/2<br />

Corollary 7.3 <strong>The</strong> space V 2<br />

is uniquely defined by its values at the mesh vertices (xj)1≤j≤N and at the midpoints (xj+1/2)0≤j≤N: vh(x) =<br />

0,h is a subspace of H1 0 (Ω) of dimension 2N + 1 and every function vh ∈ V 2<br />

0,h<br />

N�<br />

vh(xj)ϕj(x) +<br />

j=1<br />

N�<br />

vh(xj+1/2) ϕj+1/2(x) , ∀x ∈ [0, 1] .<br />

j=0


7.2. <strong>The</strong> one dimensional case 115<br />

1<br />

xj−1<br />

x j−1/2<br />

ϕj<br />

xj<br />

ϕ j+1/2<br />

x j+1/2<br />

xj+1<br />

Figure 7.3: Global shape functions for the space V 2 h .<br />

<strong>The</strong> variational formulation of the internal <strong>approximation</strong> of the Dirichlet boundary-value problem (7.2)<br />

, such that:<br />

consists now in finding uh ∈ V 2<br />

0,h<br />

�<br />

u<br />

Ω<br />

′ h (x)v′ �<br />

�<br />

h (x) dx + c(x)uh(x)vh(x) dx =<br />

Ω<br />

f(x)vh(x) dx ,<br />

Ω<br />

∀vh ∈ V 2<br />

0,h . (7.10)<br />

Here, it is convenient to introduce the notation (xk/2)1≤k≤2N+1 for the mesh points and (ϕk/2)1≤k≤2N+1 for the basis of V 2<br />

0,h . Using these notations, we have:<br />

uh(x) =<br />

2N+1 �<br />

k=1<br />

This formulation leads to solve in R 2N+1 a linear system:<br />

uh(x k/2)ϕ k/2(x) .<br />

AhUh = Fh ,<br />

where Uh = (uh(x k/2))1≤k≤2N+1 and it is easy to see that the matrix Ah of the linear system to solve is<br />

now defined as:<br />

��<br />

Ah = ϕ<br />

Ω<br />

′ k/2 (x)ϕ′ �<br />

l/2 (x) dx +<br />

and the right-hand side term becomes:<br />

��<br />

�<br />

Fh = f(x)ϕk/2(x) dx<br />

Ω<br />

Ω<br />

�<br />

c(x)ϕk/2(x)ϕl/2(x) dx<br />

,<br />

1≤k,l≤2N+1<br />

1≤k≤2N+1<br />

Since the shape functions ϕj have a small support, the matrix Ah is mostly composed of zeros. However,<br />

the main difference with the Lagrange P1 <strong>finite</strong> <strong>element</strong> method, the matrix Ah is no longer a tridiagonal<br />

matrix.<br />

Coefficients of Ah<br />

<strong>The</strong> coefficients of the matrix Ah can be coputed more easily by considering the following change of<br />

variables, for t ∈ [−1, 1]:<br />

x = xj+1 + xj+2 − xj<br />

t = xj+1 +<br />

2<br />

h<br />

2 t , ∀x ∈ [xj, xj+2] , 0 ≤ j ≤ 2N − 1 .<br />

.


116 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

Hence, the shape functions can be reduced to only three basic shape functions (Figure 7.4):<br />

ω−1(t) =<br />

and their respective derivatives:<br />

t(t − 1)<br />

2<br />

dω−1 2t − 1<br />

(t) =<br />

dt 2<br />

ω0(t) = −(t − 1)(t + 1) ω1(t) =<br />

dω0<br />

(t) = −2t<br />

dt<br />

t(t + 1)<br />

2<br />

dω1 2t + 1<br />

(t) = .<br />

dt 2<br />

This approach consists in considering all computations on an interval Kj = [xj, xj+2] on the reference<br />

interval [−1, 1]. Thus, we have:<br />

dϕj<br />

dx<br />

= dωk<br />

dt<br />

where ωk ∈ [−1, 1]. In this case, the <strong>element</strong>ary contributions of the <strong>element</strong> Kj to the stiffness matrix<br />

and to the mass matrix are given by the 3 × 3 matrices EKj and EMj:<br />

dt<br />

dx ,<br />

EKj = 1<br />

⎛<br />

⎞<br />

⎛<br />

⎞<br />

7 −8 1<br />

4 2 −1<br />

⎝−8<br />

16 −8⎠<br />

h<br />

EMj = c0 ⎝ 2 16 2 ⎠ .<br />

3h<br />

30<br />

1 −8 7<br />

−1 2 4<br />

1<br />

0.8<br />

0.6<br />

0.4<br />

0.2<br />

0<br />

-1 -0.5 0 0.5 1<br />

Figure 7.4: <strong>The</strong> three quadratic Lagrange P2 shape functions on the reference interval [−1, 1].<br />

Matrix assembly<br />

for k=1, N do // loop over all <strong>element</strong>s<br />

for i=1,3 do // local loop<br />

for j=1,3 do<br />

ig = 2*k+i-3 // global indices<br />

jg = 2*k+j-3<br />

A(ig,jg) = A(ig,jg) + a(i,j)<br />

end loop j<br />

end loop i<br />

end loop k<br />

,


7.2. <strong>The</strong> one dimensional case 117<br />

Coefficients of the right-hand side Fh<br />

Usually, the function f is only known by its values at the mesh points (xj)0≤j≤2N and thus, we use the<br />

decomposition of f in the basis of shape functions (ϕj)0≤j≤2N:<br />

f(x) =<br />

2N�<br />

j=0<br />

f(xj)ϕj(x) dx .<br />

Each component fi of the right-hand side vector is obtained as:<br />

fi =<br />

N�<br />

k=1<br />

� x2k<br />

x2k−2<br />

Using the previous decomposition of f, we obtain:<br />

fi =<br />

2N�<br />

fj<br />

j=0<br />

� N�<br />

k=1<br />

� x2k<br />

x2k−2<br />

and the problem is reduced to computing the inmtegrals:<br />

� x2k<br />

x2k−2<br />

f(x)ϕi(x) dx .<br />

ϕj(x)ϕi(x) dx<br />

ϕj(x)ϕi(x) dx, .<br />

It is easy to see that we obtain expressions very similar to that of the mass matrix. More precisely, the<br />

<strong>element</strong> Kj = [xi, xi+2] will contribute to only three components of indices i, i+! and i + 2 as:<br />

where f k i<br />

⎛<br />

⎝<br />

f k i<br />

f k i+1<br />

f k i+2<br />

⎞<br />

⎠ = h<br />

30<br />

⎛<br />

4 2<br />

⎞ ⎛<br />

−1<br />

⎝ 2 16 2 ⎠ ⎝<br />

−1 2 4<br />

fi<br />

fi+1<br />

fi+2<br />

denotes the contribution of <strong>element</strong> k to the component i.<br />

7.2.4 Convergence of the Lagrange P2 <strong>finite</strong> <strong>element</strong> method<br />

We rely on Céa’s lemma that provides an estimate of the error:<br />

�u − uh� H 1 (Ω) ≤<br />

�<br />

⎞<br />

,<br />

⎠ ,<br />

�<br />

M<br />

α inf<br />

vh∈V 1<br />

�u − vh�H 1 (Ω) ,<br />

0,h<br />

for a continuous and V -elliptic bilinear form a(·, ·) defined on V 1 h × V 1 h . Suppose now that f ∈ H1 (Ω),<br />

then u ∈ H 3 (Ω) and if the function c is sufficiently smooth then:<br />

�u� H 3 (Ω) ≤ C �f� H 1 (Ω) .<br />

In order to find an upper bound on the right-hand side of the previous estimate, we introduce a mapping<br />

wh ∈ V 2<br />

0,h such that for all 1 ≤ i ≤ N, wh(xi) = u(xi) and such that wh| [xi,xi+1] is a polynomial of degree<br />

two or less. To this end, on each interval [xi, xi+1], we consider the polynomial functions:<br />

wi,1(x) = αi<br />

2 (x − xi) 2 , wi,2(x) = wi,1(x) + βi(x − xi) ,


118 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

where<br />

By definition, we have:<br />

� xi+1<br />

xi<br />

(u − wi,1) ′′ (t) dt = 0 ,<br />

αi = 1<br />

� xi+1<br />

u<br />

h xi<br />

′′ (t) dt , βi = 1<br />

h<br />

� xi+1<br />

xi<br />

� xi+1<br />

xi<br />

(u − wi,2) ′′ (t) dt = 0 ,<br />

Hence, from this relation, we deduce that, for every 0 ≤ i ≤ N:<br />

u(xi) − wi,2(xi) = u(xi+1) − wi,2(xi+1) .<br />

This allow us to define the polynomial function wh on [0, 1] as follows:<br />

(u − wi,1) ′ (t) dt<br />

� xi+1<br />

wh(x) = wi,2(x) + (u(xi) − wi,2(xi)) , ∀ 0 ≤ i ≤ N ,<br />

�<br />

M<br />

α inf<br />

vh∈V 1<br />

�u − vh�H 1 (Ω) ≤<br />

0,h<br />

xi<br />

(u − wi,2) ′ (t) dt = 0 .<br />

and the previous relations show that wh is defined and continuous on [0, 1], that wh(xi) = u(xi) for all<br />

0 ≤ i ≤ N and that wh is a polynomial of degree 2 on each [xi, xi+1]. We conclude easily that:<br />

�<br />

M<br />

�u − uh�H 1 (Ω) ≤<br />

α �u − wh�H 1 (Ω) .<br />

Introducing the notation rhu = u − wh, we can see from the previous identities that rhu ∈ H 3 (Ω) and<br />

rhu| [xi,xi+1] ∈ H 1 0 ([xi, xi+1]). Furthermore, we have:<br />

� xi+1<br />

xi<br />

(rhu) ′′ (t) dt = 0 , and<br />

� xi+1<br />

xi<br />

(rhu) ′ (t) dt = 0 .<br />

To achieve the estimate of Rhu, we introduce a result known as Poincaré-Wirtinger inequality.<br />

Lemma 7.6 (Poincaré-Wirtinger inequality) Given a bounded interval [a, b] of R, we pose<br />

<strong>The</strong>n, we have:<br />

� b<br />

a<br />

W [a,b] =<br />

u 2 (t) dt ≤<br />

�<br />

u ∈ H 1 ([a, b]) ,<br />

b − a<br />

2<br />

� b<br />

a<br />

�<br />

u(t) dt = 0 .<br />

� b<br />

a<br />

u ′ (t) dt , ∀ u ∈ W [a,b] .<br />

Using this result and the previous identities, we deduce that r ′′<br />

h u ∈ W [xj,xi+1], for all 0 ≤ i ≤ N and thus:<br />

� xi+1<br />

Similarly, we can deduce that:<br />

� xi+1<br />

xi<br />

xi<br />

|(rhu) ′′ (t)| 2 dt ≤ h2<br />

2<br />

≤ h2<br />

2<br />

|(rhu) ′ (t)| 2 dt ≤ h2<br />

2<br />

≤ h4<br />

4<br />

� xi+1<br />

|(rhu) ′′′ (t)| 2 dt<br />

xi<br />

� xi+1<br />

|u ′′′ (t)| 2 dt<br />

xi<br />

� xi+1<br />

|(rhu) ′′ (t)| 2 dt<br />

xi<br />

� xi+1<br />

|u ′′′ (t)| 2 dt<br />

xi<br />

.<br />

.


7.2. <strong>The</strong> one dimensional case 119<br />

Adding these last two results yields:<br />

�rhu� 2<br />

H1 � xi+1<br />

0 (Ω) = |(rhu)<br />

xi<br />

′ (t)| dt ≤ h4<br />

4 �u′′′ �L2 (Ω) .<br />

Finally, we can enounce the convergence result as follows.<br />

<strong>The</strong>orem 7.2 (Convergence) Suppose u ∈ H1 0 (Ω) and uh ∈ V 2<br />

0,h<br />

are the solutions of (7.2) and (7.10),<br />

respectively. <strong>The</strong>n, the Lagrange P2 <strong>finite</strong> <strong>element</strong> method converges, i.e. we have:<br />

lim<br />

h→0 �u − uh�H 1 (Ω) = 0 .<br />

Furthermore, if u ∈ H 3 (Ω) (i.e. f ∈ H 1 (Ω)), then there exists a constant C independent of h such that:<br />

�u − uh� H 1 (Ω) ≤ C h 2 �u ′′′ � L 2 (Ω) .<br />

Remark 7.6 <strong>The</strong> convergence rate of the P2 <strong>finite</strong> <strong>element</strong> method is better than with the P1 <strong>finite</strong><br />

<strong>element</strong> method. However, the data f must be sufficiently smooth, here f ∈ H 1 .<br />

7.2.5 Lagrange Pk <strong>element</strong>s<br />

This section generalizes the concepts introduced in the previous sections to the interpolation of continuous<br />

and polynomials functions of degree k ≥ 1. We consider a set of points (xj)0≤j≤N+1 or intervals Kj =<br />

[xj, xj+1] forming a uniform mesh of Ω =]0, 1[.<br />

Lagrange <strong>finite</strong> <strong>element</strong> spaces<br />

For a given integer k ≥ 1, we define the space of globally continuous functions on [0, 1] whose restriction<br />

on each interval Kj = [xj, xj+1] is a polynomial of degree k:<br />

and the subspace of V k h :<br />

V k h = {vh ∈ C 0 ([0, 1]) , vh|Kj ∈ Pk , 0 ≤ j ≤ N} ,<br />

V k<br />

0,h = {vh ∈ V k h , such that vh(0) = vh(1) = 0} .<br />

In each interval Kj, a function of V k h is uniquely determined by its values at k + 1 distinct points along<br />

the segment. Hence, on each interval Kj, we introduce a set of nodes:<br />

and yN+1,0 = xN+1.<br />

yj,l = xj + l<br />

k (xj+1 − xj) = xj + l<br />

k hj , 0 ≤ l ≤ k − 1 ,<br />

Lemma 7.7 <strong>The</strong> space V k h is a subspace of H1 (Ω) of dimension k(N + 1) + 1. Every function vh of V k h<br />

is uniquely determined by its values at the mesh nodes (yj,l)0≤j≤N,0≤l≤k−1 and yN+1,0. Furthermore, the<br />

shape functions are such that:<br />

ϕj,l(yj ′ ,l ′) = δjj ′δll ′ .<br />

<strong>The</strong> space V k<br />

0,h is a subspace of H1 0 (Ω) of dimension k(N + 1) − 1.


120 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

Convergence of the Lagrange Pk <strong>finite</strong> <strong>element</strong> method<br />

We can consider the internal <strong>approximation</strong> problem of finding uh ∈ V k<br />

0,h such that:<br />

�<br />

Ω<br />

u ′ h (x)v′ �<br />

�<br />

h (x) dx + c(x)uh(x)vh(x) dx =<br />

Ω<br />

f(x)vh(x) dx ,<br />

Ω<br />

∀ vh ∈ V k<br />

0,h . (7.11)<br />

Following the same analysis than for the Lagrange P2 <strong>element</strong>, we have the following convergence result.<br />

<strong>The</strong>orem 7.3 (Convergence) Suppose u ∈ H1 0 (Ω) and uh ∈ V k<br />

0,h<br />

are the solutions of (7.2) and (7.11),<br />

respectively. <strong>The</strong>n, the Lagrange Pk <strong>finite</strong> <strong>element</strong> method converges, i.e. we have:<br />

lim<br />

h→0 �u − uh�H 1 (Ω) = 0 .<br />

Furthermore, if u ∈ H k+1 (Ω) (i.e. f ∈ H k−1 (Ω)), then there exists a constant C independent of h such<br />

that:<br />

�u − uh� H 1 (Ω) ≤ C h k �f� H k−1 (Ω) .<br />

Remark 7.7 1. <strong>The</strong> approximate solution uh converges toward the exact solution u in H 1 (Ω) when<br />

h → 0. <strong>The</strong> Lagrange Pk method is of order k in h, if the function f is sufficiently smooth.<br />

2. <strong>The</strong> matrix assembly becomes more and more difficult as the value of k increases. Since the size of<br />

the problem increases as well, this may result in additional difficulties in solving the resulting linear<br />

system.<br />

3. <strong>The</strong> computation of the components of the right-hand side vector Fh must be carried out with a<br />

sufficiently accurate method.<br />

7.3 Triangular <strong>finite</strong> <strong>element</strong>s in higher dimensions<br />

We consider here a boundary-value problem posed in an open bounded domain Ω ⊂ Rd (d = 2, 3, in<br />

general). For the sake of simplicity, we restrict our study to domains with piecewise polygonal (resp.<br />

polyhedral when d = 3) boundaries, i.e. ¯ Ω can be exactly covered by a <strong>finite</strong> union of polygons (resp.<br />

polyhedra).<br />

To set the ideas, we consider the homogeneous boundary-value problem (7.2) posed here in an open<br />

bounded domain Ω of R2 :<br />

Given f ∈ L2 (Ω) and c ∈ L∞ (Ω), find u such that:<br />

�<br />

−∆u + cu = f , in Ω<br />

(7.12)<br />

u = 0 , on ∂Ω<br />

We already know that this problem has a unique solution u ∈ H 1 0 (Ω).<br />

7.3.1 Preliminary definitions<br />

We proceed like in one dimension of space. <strong>The</strong> domain Ω is decomposed into a set of N <strong>finite</strong> <strong>element</strong>s,<br />

triangles (Kj)1≤j≤N in dimension d = 2 and tetrahedra in dimension d = 3. <strong>The</strong>se two types of <strong>element</strong>s<br />

belong to the generic class of simplices.


7.3. Triangular <strong>finite</strong> <strong>element</strong>s in higher dimensions 121<br />

d-Simplices<br />

Definition 7.2 A d-simplex K is the convex hull (envelope) of d + 1 points (aj)1≤j≤d+1 in R d , called<br />

the vertices of K, that are not all lying in the same hyperplane. It is the smallest convex passing through<br />

all these points.<br />

Remark 7.8 Let consider d + 1 points (aj)1≤j≤d+1 in R d and let denote (ai,j)1≤i≤d the coordinates of<br />

vector (aj). <strong>The</strong>se points are affinely independent, i.e. not lying in the same hyperplane, if the matrix<br />

⎛<br />

a1,1<br />

⎜<br />

⎜a2,1<br />

⎜<br />

M = ⎜ .<br />

⎝ad,1<br />

a1,2<br />

a2,2<br />

.<br />

ad,2<br />

. . .<br />

. . .<br />

. ..<br />

. . .<br />

⎞<br />

a1,d+1<br />

a2,d+1<br />

⎟<br />

. ⎟<br />

ad,d+1⎠<br />

1 1 . . . 1<br />

is invertible. In such case, the simplex is not degenerated. Any d-simplex has the same number of faces<br />

and vertices, each face being itself a d − 1-simplex.<br />

Furthermore, a few geometric parameters characterize a simplex K:<br />

(i) the diameter hK: the length of the largest <strong>element</strong> edge,<br />

(ii) the roundness ρK: the diameter of the largest inscribed ball,<br />

(iii) the aspect ratio σK = hK<br />

Barycentric coordinates<br />

ρK<br />

: a measure of the non-degeneracy of K.<br />

Any simplex K can be represented by the barycentric coordinates {λj}1≤j≤d+1 of its vertices. Barycentric<br />

coordinates are a form of homogeneous coordinates.<br />

Definition 7.3 For every 1 ≤ j ≤ d+1, the barycentric coordinate λj of a point x ∈ R d is the first-degree<br />

polynomial:<br />

such that for all 1 ≤ i ≤ d + 1, λj(ai) = δij.<br />

λj(x) = c1x1 + · · · + cdxd + cd+1 ,<br />

For each j, the d + 1 coefficients of the barycentric coordinate λj are the unknowns of a linear system of<br />

d + 1 equations. All d + 1 systems share the same matrix M t and give a unique solution if the simplex<br />

K is not degenerated.<br />

Proposition 7.2 For every point x ∈ R d , there exists a unique vector (λj(x))1≤j≤d+1 such that the<br />

following identites hold:<br />

�d+1<br />

x = ajλj(x) , and<br />

j=1<br />

�d+1<br />

λj(x) = 1 .<br />

j=1


122 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

Figure 7.5: Example (left) and counter-example (right) of conforming triangulation, in two dimensions.<br />

Proof. For each point x = (xi)1≤i≤d, the scalar values (λj(x))1≤j≤d+1 are the solutions of a d + 1 × d + 1 linear<br />

system that admits M as asociated matrix. Hence, there is a unique solution to this system if the simplex K is non<br />

degenerated. Each function λj is an affine function and one can check easily that λj(ai) = δij will be a solution of<br />

this system. Since there is only one such affine function, it is then the barycentric coordinates function. �<br />

Since the λj are affine functions of x, then we can write:<br />

K = {x ∈ R d , 0 ≤ λj(x) ≤ 1 , 1 ≤ j ≤ d + 1} ,<br />

the faces of K are the intersections of K with the hyperplans λj(x) = 0, 1 ≤ j ≤ d + 1. We observe<br />

also that the change from Cartesian coordinates to barycentric coordinates is an affine transformation.<br />

Hence, a polynomial of total degree k in Cartesian coordinates can be expressed as a polynomial of total<br />

degree k in barycentric coordinates, and conversely. For a first-degree polynomial p we have:<br />

Triangulations and meshes<br />

�d+1<br />

p(x) = p(aj)λj(x) . (7.13)<br />

j=1<br />

Definition 7.4 A triangulation, also called a triangular mesh of ¯ Ω is a set Th of non degenerated dsimplices<br />

(Kj)1≤j≤N such that:<br />

(i) Kj ⊂ ¯ Ω and ¯ Ω =<br />

N�<br />

Kj,<br />

j=1<br />

(ii) the intersection Ki ∩ Kj of any two simplices is a m-simplex, 0 ≤ m ≤ d − 1, such that all its<br />

vertices are also vertices of Ki and Kj.<br />

This definition states that the intersection of two triangles, if it is not empty, shall be reduced to either<br />

a common vertex or an edge. Similarly, in three dimensions, the intersection of two tetrahedra can be<br />

either empty, or reduced to a single common entity (vertex, edge or face). Such a mesh is often called a<br />

conforming mesh (cf. Figure 7.5). <strong>The</strong> vertices or nodes of the mesh Th are the vertices of the d-simplices<br />

Kj that compose the mesh. Algorithms to construct such triangulations will be described in Chapter 9<br />

and we refer the reader to [Frey-George, 2000] for more information on this topic.<br />

We introduce two conditions on the geometry of a triangulation, with respect to the diameter and<br />

the roundness of its <strong>element</strong>s.


7.3. Triangular <strong>finite</strong> <strong>element</strong>s in higher dimensions 123<br />

Definition 7.5 Suppose (Th)h>0 is a sequence of meshes of Ω. This sequence is said to be a sequence of<br />

regular meshes, or a quasi-uniform sequence, if:<br />

1. the sequence h = max hK tends toward 0,<br />

K∈Th<br />

2. there exists a constant C ≥ 1 such that:<br />

∀h > 0 , ∀K ∈ Th ,<br />

h<br />

ρK<br />

≤ C . (7.14)<br />

Remark 7.9 In dimension two, if K is a triangle, the condition 7.14 is equivalent to the existence of<br />

an angle θ0 > 0 such that<br />

∀h > 0 , ∀K ∈ Th , θK ≥ θ0 ,<br />

where θK is the smallest vertex angle in triangle K.<br />

A set of points of a simplex K has a specific role as defined hereafter.<br />

Definition 7.6 For every k ∈ N∗ , we call principal lattice of order k the set:<br />

�<br />

�<br />

Σk = x ∈ K , λj(x) ∈ 0, 1<br />

�<br />

�<br />

2 k − 1<br />

, , . . . , , 1 , for 1 ≤ j ≤ d + 1 . (7.15)<br />

k k k<br />

For k = 1, the lattice is simply the set of vertices of K; for k = 2, the principal lattice is composed of<br />

the vertices and of the midpoints of the edges (Figure 7.6). More generally, a lattice Σk is a <strong>finite</strong> set of<br />

points (σj)1≤j≤Nk .<br />

Polynomial spaces<br />

We introduce the set Pk of the polynomials p with scalar coefficients of Rd in R of degree less than or<br />

equal to k:<br />

⎧<br />

⎪⎨<br />

Pk = p(x) =<br />

⎪⎩<br />

�<br />

αi1,...,id<br />

i1,...,id≥0<br />

i1+...id≤k<br />

xi1 1 . . . xid<br />

d , αij ∈ R , x = (x1,<br />

⎫<br />

⎪⎬<br />

. . . xd) .<br />

⎪⎭<br />

Hence, in two and three dimensions of space, we will simply denote:<br />

⎧<br />

⎨<br />

�<br />

Pk = p(x, y) = αijx<br />

⎩<br />

0


124 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

It is easy to verify that Pk is a vector space of dimension:<br />

⎧<br />

k + 1 d = 1<br />

k�<br />

� � � � ⎪⎨<br />

d + l − 1 d + k<br />

1<br />

dim(Pk) =<br />

= =<br />

(k + 1)(k + 2) d = 2<br />

l<br />

k<br />

2<br />

l=0<br />

⎪⎩<br />

1<br />

(k + 1)(k + 2)(k + 3) d = 3<br />

6<br />

<strong>The</strong> notion of lattice Σk of a simplex K allows to define a bijective mapping between a space of polynomials<br />

Pk and a set of points (σj)1≤j≤Nk . <strong>The</strong> set Σk is said to be unisolvent for Pk. We will use this property<br />

to define a <strong>finite</strong> <strong>element</strong>.<br />

Lemma 7.8 Given a simplex K. For k ≥ 1, we consider the lattice Σk of order k whose points are<br />

denoted (σj)1≤j≤Nk . <strong>The</strong>n, every polynomial p ∈ Pk is uniquely determined by its values at the points<br />

(σj)1≤j≤Nk . <strong>The</strong>re exists a basis (ϕj)1≤j≤Nk of Pk such that:<br />

ϕj(σi) = δij , 1 ≤ i, j ≤ Nk .<br />

Proof. At first, we notice that the cardinal of Σk and the dimension of the vector space Pk coincide:<br />

card(Σk) = dim(Pk) =<br />

Indeed, we can write the <strong>element</strong>s of Σk as follows:<br />

⎧<br />

⎨ d� αj<br />

Σk =<br />

⎩ k ai + � d�<br />

1 −<br />

j=1<br />

j=1<br />

αj<br />

k<br />

(d + k)!<br />

d!k!<br />

.<br />

⎫<br />

� ⎬<br />

α0 , 0 ≤ α1 + · · · + αd ≤ k<br />

⎭ ,<br />

where the αj ∈ N. We know that the mapping associating to every polynomial Pk its values on the lattice Σk is a<br />

linear mapping. Hence, it is sufficient to show that it is an injection to have the bijective property. We will prove<br />

by recurrence on the dimension d that if p ∈ Pk is such that p(x) = 0 for all x ∈ Σk the p = 0 on R d . At first,<br />

notice that a polynomial of degree k that vanishes in k + 1 points of R is identically null. Suppose this is also true<br />

for the dimension d − 1. We use a recurrence on the degree k. For k = 1, an affine function that vanishes at the<br />

vertices of a non-degenerated simplex K is identically null according to the relation (7.13). Suppose this property<br />

is true for all polynoials of degree k − 1 and let consider a degree k polynomial p that vanishes on Σk. We observe<br />

that Σk contains the subset<br />

Σ ′ k = {x ∈ Σk , λ0(x) = 0} ,<br />

that corresponds to the principal lattice of order k of the d−1-simplex of vertices (a1, . . . , ad). Since the restriction<br />

of p to the hyperplane generated by (a1, . . . , ad) is a polynomial of degree k in d − 1 variables, then p = 0 on this<br />

hyperplan, tnaks to the recurrence hypothesis. If we introduce a system of coordinates (x1, . . . , xd) such that the<br />

hyperplane is now defined by xd = 0, then<br />

p(x!, . . . , xd) = xdq(x1, . . . , xd−1) ,<br />

where q is a polynomial of degree d − 1 that vanishes on the set Σk − Σ ′ k since xd is non null on this set. <strong>The</strong> set<br />

Σk − Σ ′ k is a principal lattice of order k − 1 and thus the recurrence hypothesis leads to conclude that q = 0 and<br />

consquently that p = 0. <strong>The</strong> results follows. �<br />

In practice, we consider only polynomials of degree 1 or 2. Equation (7.13) provides the characterization<br />

of a polynomial of degree one. Given a d-simplex K of vertices (aj)1≤j≤d+1, we define the edge<br />

midpoints (ajj ′)1≤j


7.3. Triangular <strong>finite</strong> <strong>element</strong>s in higher dimensions 125<br />

<strong>The</strong> principal lattice Σ2 is exactly composed of the vertices and the edge midpoints and every polynomial<br />

p ∈ P2 can be written as:<br />

�d+1<br />

p(x) = p(aj)λj(x)(2λj(x) − 1) +<br />

j=1<br />

�<br />

1≤j


126 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

Proof. It is easy to see that the <strong>element</strong>s of V k h belong to H1 (Ω). <strong>The</strong> Lemma 7.8 allozs to conclude that each<br />

function vh ∈ V k h is exactly known by assembling on each Ki ∈ Th polynomials of degree k that coincide on the<br />

degrees of dreedom of the d-faces. By assembling the basis of Pk on each Ki, the basis (ϕj)1≤j≤Ndof is defined. �<br />

Corollary 7.4 <strong>The</strong> subspace V k<br />

0,h is a subspace of H1 0 (Ω) of <strong>finite</strong> dimension corresponding to the number<br />

of internal degrees of freedom, i.e.] not taking the nodes on ∂Ω into account.<br />

Definition 7.8 <strong>The</strong> triad (K, Pk, Σk) is said to be unisolvent if and only if the mapping v ∈ Pk ↦→<br />

(ϕ1(v), . . . , ϕNdof (v)) ∈ RNdof is an isomorphism.<br />

<strong>The</strong> unisolvency property is equivalent to say that every function in the polynomial space Pk is entirely<br />

determined by its node values.<br />

7.3.3 Finite <strong>element</strong> <strong>approximation</strong> of a boundary-value problem<br />

We return to the numerical <strong>approximation</strong> of the solution of the homogeneous Dirichlet boundary-value<br />

problem (7.12). <strong>The</strong> variational formulation of the internal <strong>approximation</strong> reads:<br />

find uh ∈ V k<br />

0,h such that<br />

�<br />

�<br />

�<br />

(∇uh · ∇vh)(x) +<br />

Ω<br />

c(x)uh(x)vh(x) dx =<br />

Ω<br />

f(x)vh(x) dx ,<br />

Ω<br />

∀vh ∈ V k<br />

0,h , (7.17)<br />

By decomposing uh on the canonical basis (ϕj)1≤j≤Ndof and considering as test functions vh = ϕi, we<br />

obtain:<br />

Ndof �<br />

j=1<br />

��<br />

�<br />

� �<br />

uh(aj) (∇ϕj · ∇ϕi)(x) dx + c(x)ϕj(x)ϕi(x) dx = f(x)ϕi(x) dx .<br />

Ω<br />

Ω<br />

Ω<br />

This formulation leads to solving a linbear system in R Ndof :<br />

AhUh = Fh ,<br />

where we have introduced the notations Uh = (uh(aj))1≤j≤Ndof and Fh = ( �<br />

��<br />

�<br />

Ah = (∇ϕj · ∇ϕi)(x) dx +<br />

Ω<br />

Ω<br />

�<br />

c(x)ϕj(x)ϕi(x) dx<br />

Ω fϕi dx)1≤i≤Ndof and<br />

1≤i,j≤Ndof<br />

It is easy to see that the matrix Ah can be decomposed as a sum of a stiffness matrix Kh and a mass<br />

matrix Mh. Actually, this result is independent of the dimension.<br />

Coefficients of Ah<br />

Since the shape functions ϕj have a small support around a node ai, the intersection of the supports of<br />

ϕj and ϕi if often the emptyset and thus the resulting matrix Ah will contains lot of zero coefficients. It<br />

is a sparse matrix. <strong>The</strong> coefficients of Ah can be computed via an exact integration formula. Let denote<br />

(λi(x))1≤i≤d+1 the barycentric coordinates of the point x in a simplex K ∈ Th. For every (αi)1≤i≤d+1 we<br />

have: �<br />

λ1(x)<br />

K<br />

α1 . . . λd+1(x) αd+1<br />

α1 + . . . αd+1! d!<br />

dx = |K| � � � ,<br />

αj + d !<br />

1≤j≤d+1<br />

.


7.3. Triangular <strong>finite</strong> <strong>element</strong>s in higher dimensions 127<br />

a 1<br />

a 13<br />

a3<br />

Figure 7.7: Nodes of the degrees of freedom on a <strong>finite</strong> <strong>element</strong> (K, P2, Σ2).<br />

P = P1 P2 Σ = { p(ai), 1 ≤ i ≤ 3 } Σ = { p(ai), 1 ≤<br />

where |K| i ≤= 3; mes(K) p(aij), denotes 1 ≤ i < jthe ≤ 3 ”volume” } of the simplex K. <strong>The</strong> integrals of the right-hand side term<br />

P1<br />

Fh are approximated using quadrature formulas in each simplex K ∈ Th. For instance the generalization<br />

K λi(m) 1 ≤ i ≤ 3<br />

of the trapeze formula for a simplex K is:<br />

λi(m) = 1 − aim<br />

ai<br />

m = (x, y)<br />

· ni<br />

�<br />

, j �= i,<br />

aiaj · ni<br />

ϕj(x) dx ≈<br />

K ni<br />

λi(m)<br />

K<br />

j<br />

i j1 j2 i aj1aj2 · ni = 0<br />

|K| �d+1<br />

ϕj(ai) ,<br />

d + 1<br />

i=1<br />

where (ai) ≤i+. 1 represent the vertices of K. <strong>The</strong>se formulas are exact for affine functions. For instance,<br />

λi(m) ai aj<br />

considering a triangle K ∈ R<br />

ak<br />

(ajak)<br />

2 of vertices (ai)1≤i≤3 and denoting by (aij)1≤i,j≤3 the midpoints of the<br />

edges aiaj (cf. Figure 7.7), the following quadrature formula is exact for ϕk ∈ P2:<br />

P2<br />

a 12<br />

a 23<br />

�<br />

ϕk(x) ≈<br />

λi(2λi − 1), 1 ≤ i ≤ 3, 4λiλj, 1 ≤ i < j ≤ 3.<br />

K<br />

|K| �<br />

ϕk(aij) ,<br />

3<br />

1≤i,j≤3<br />

Ω ⊂ R2 k = 1<br />

Th N V k h (ϕ1, . . . , ϕN )<br />

A ∈ RN,N �<br />

Aij = ∇ϕi · ∇ϕj = �<br />

where |K| represents the area of simplex K, while the following formula is exact for ϕk ∈ P3:<br />

�<br />

ϕk(x) dx ≈<br />

K<br />

�<br />

∇ϕi · ∇ϕj, 1 ≤ i, j ≤ N.<br />

|K|<br />

⎛<br />

⎝<br />

60<br />

�<br />

ϕk(ai) + 8<br />

1≤i≤3<br />

�<br />

⎞<br />

ϕk(aij) + 27ϕk(a0) ⎠ ,<br />

1≤i


128 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

â3<br />

â1<br />

�K<br />

â2<br />

FK<br />

Figure 7.8: Affine transformation of the reference linear triangle in two dimensions.<br />

where BK is a d × d matrix such that the column i is given by the coordinates of ai − a0. Since the<br />

simplex K is non-degenerated, BK is invertible and FK is a one-to-one mapping that maps � K on K and<br />

we have:<br />

|K| = |det(BK)| | � K| = |det(BK)|<br />

.<br />

d!<br />

We use the notation ˆ· in the reference <strong>element</strong>. Moreover, to simplify, we denote ˆq any quantity<br />

obtained by transporting a quantity q using the transformation FK. Hence, we denote:<br />

ˆx = F −1<br />

K (x) = B−1<br />

K (x − a0) ⇔ x = FK(ˆx) .<br />

For every function v defined on K, we define ˆv defined on � K as:<br />

a1<br />

K<br />

a3<br />

ˆv(ˆx) = v(x) ⇔ ˆv = v ◦ FK = v(FK(ˆx)) ,<br />

and we remove the ˆ· notation when dealing with F −1<br />

K , for every function ˆv defined on � K, we write:<br />

v(x) = ˆv ◦ F −1<br />

K<br />

−1<br />

(x) = ˆv(F (x)) .<br />

Similarly, if ψ is a linear form acting on the functions defined on K, we define the transported linear<br />

form ˆ ψ acting on the functions defined on � K as:<br />

ˆψ(ˆv) = ψ(v) .<br />

Notice that the barycentric coordinates are preserved by the affine trasnformation FK:<br />

ˆλi(ˆx) = λi(x) .<br />

This leads to conclude that the principal lattice of order k of the simplex K is the image by FK of the<br />

principal lattice of order k of � K, denoted by � Σk. Finally, we observe that the space of polynoials of degree<br />

k is left invariant by the transformation FK.<br />

Proposition 7.3 We denote by � · � the Euclidean norm of R d and its subordinate norm. Hence, we<br />

have:<br />

�BK� ≤ hK<br />

, �B<br />

ρ bK<br />

−1<br />

K � ≤ hKb , |det(BK)| =<br />

ρK<br />

|K|<br />

| � K| .<br />

K<br />

a2


7.3. Triangular <strong>finite</strong> <strong>element</strong>s in higher dimensions 129<br />

Proof. by definition,<br />

�BK� = sup<br />

v∈Rd �BKv� �BKv�<br />

= sup ,<br />

�v� �v�=ρ ρ cK Kb<br />

and the sup is attained. Let v ∈ R d be a vector of norm ρ b K that correspond to the sup. Hence, there exists two<br />

points ˆy and ˆz on the boundary of the inscribed sphere of � K such that v = ˆy − ˆz. Thus,<br />

where y, z are tzo points in K. Hence,<br />

BKv = BK(ˆy − ˆz) = FK(ˆy) − FK(ˆz) = y − z<br />

�BKv� = �y − z� ≤ hK .<br />

<strong>The</strong> second inequality is deduced from the first by interchanging the roles of K and � K. <strong>The</strong> third equality is<br />

obtained by noticing that |det(BK)| is the Jacobian of FK. Hence,<br />

� �<br />

|K| = dx = |det(BK)| dˆx = |det(BK)| | � K| .<br />

K<br />

bK<br />

�<br />

As a consequence, we deduce that there exists two constants C1 and C2, independent of K such that:<br />

Transformation of the derivatives<br />

C2ρ d K ≤ |det(BK)| ≤ C1h d K .<br />

We have the following identities:<br />

�<br />

�v�Lp (K) = |v(x)|<br />

K<br />

p �<br />

dx = |v(FK(ˆx))|<br />

bK<br />

p �<br />

|det(BK)| dˆx<br />

= d! |K| |ˆv(ˆx)| p ,<br />

dˆx<br />

thus yielding the identity:<br />

bK<br />

�v� L p (K) = C |K| 1/p �ˆv� L p ( b K) , (7.18)<br />

with C = (d!) 1/p . Moreover, we observe that if v(x) = ˆv(ˆx), i.e. if ˆv = v ◦ FK, then we have:<br />

∇ˆv(ˆx) = B t K∇v(x) ,<br />

and we obtain the identity:<br />

|v| 2 H1 (K) =<br />

�<br />

�∇v(x)�<br />

K<br />

2 �<br />

dx = �(B<br />

bK<br />

t K)‘−1∇ˆv(ˆx)� 2 |det(BK)| dˆx<br />

= C2 d! |K|<br />

ρ2 �<br />

�∇ˆv(ˆx)�<br />

K<br />

bK<br />

2 ,<br />

dˆx<br />

and then:<br />

|v| H 1 (K) ≤ C hK<br />

|K| 1/2 ρK|ˆv| H 1 ( b K) , (7.19)<br />

where C depends only on the dimension d. By interchanging the role of K and � K, we obtain similarly:<br />

We give the following generalization result.<br />

|ˆv| H1 ( K) b ≤ C |K|1/2<br />

|v| H1 (K) . (7.20)<br />

ρK


130 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

<strong>The</strong>orem 7.4 If v ∈ H m (K), then ˆv ∈ H m ( � K) and there exists a constant C1, independent of K, such<br />

that:<br />

∀v ∈ H m (K) , |ˆv| H m ( b K) ≤ C1�BK� m |det(BK)| −1/2 |v| H m (K) . (7.21)<br />

If ˆv ∈ H m ( � K), then v ∈ H m (K) and there exists a constant C2, independent of K, such that:<br />

∀ˆv ∈ H m ( � K) , |v| H m (K) ≤ C2�B −1<br />

K �m |det(BK)| 1/2 |ˆv| H m ( b K) . (7.22)<br />

Proof. Result admitted here. �<br />

Remark 7.12 Now, we are able to construct <strong>finite</strong> <strong>element</strong>s from a unisolvent triad ( � K, � Pk, � Σk) by<br />

defining directly the <strong>finite</strong> <strong>element</strong> (K, Pk, Σk) as the transport of these quantities by the transformation<br />

FK. It is easy to see that the new <strong>finite</strong> <strong>element</strong> is unisolvent.<br />

7.3.5 Convergence of the <strong>finite</strong> <strong>element</strong> method<br />

We introduce a preliminary result.<br />

Proposition 7.4 Let consider (Th)h>0 a sequence of regular triangulations of ¯ Ω ⊂ R d (d ≤ 3). <strong>The</strong>n,<br />

for every v ∈ H k+1 (Ω), the interpolate rhv is defined and there exists a constant C, independent of h<br />

such that:<br />

�v − rhv� H 1 (Ω) ≤ C h k �v� H k+1 (Ω) .<br />

<strong>The</strong> following result states the convergence of the Pk <strong>finite</strong> <strong>element</strong> method.<br />

<strong>The</strong>orem 7.5 Let consider (Th)h>0 a sequence of regular triangulations of ¯ Ω ⊂ R d (d ≤ 3) where all<br />

<strong>element</strong>s in all triangulations are affine equivalent to a same reference <strong>element</strong> ( � K, � Pk, � Σk) of class C 0<br />

for a given k ≥ 1 such that Pk ⊂ � P ⊂ H 1 ( � K). <strong>The</strong>n, the Pk <strong>finite</strong> <strong>element</strong> method converges, i.e.<br />

the approximate solution uh of the problem (7.17) converges toward the solution u of problem (7.12) in<br />

H 1 (Ω):<br />

lim<br />

h→0 �u − uh� H 1 (Ω) = 0 .<br />

Furthermore, if u ∈ H k+1 (Ω), then there exists a constant C independent of h such that:<br />

�u − uh� H 1 (Ω) ≤ C h k �u� H k+1 (Ω) ,<br />

Proof. To show the convergence, we use <strong>The</strong>orem (4.11) where we consider V = C ∞ c (Ω) ⊂ H k+1 (Ω) dense in<br />

H 1 (Ω). <strong>The</strong> estimate in the previous proposition allows to verify the assumption of <strong>The</strong>orem (4.11). <strong>The</strong>n, we use<br />

Céa’s lemma to write:<br />

�u − uh�H 1 (Ω) ≤ C inf<br />

vh∈V k<br />

�u − vh�H 1 (Ω) ≤ C�u − rhu�H 1 (Ω) ,<br />

0,h<br />

if rhu ∈ H 1 (Ω). <strong>The</strong> previous proposition allows to conclude. �<br />

Remark 7.13 This result involves the exact solution uh of the internal <strong>approximation</strong> problem in V k<br />

0,h .<br />

This requires computing all integrals in Ah and Fh exactly. Since numerical integration formulas are used<br />

in practice, this result may not be valid. Nonetheless, if these integration formulas are exact or at least<br />

very accurate, the order of convergence of the Lagrange <strong>finite</strong> <strong>element</strong> method is preserved,


7.3. Triangular <strong>finite</strong> <strong>element</strong>s in higher dimensions 131<br />

<strong>The</strong> <strong>The</strong>orem 7.5 shows that the regularity of the exact solution has a direct impact on the order<br />

of convergence of the <strong>finite</strong> <strong>element</strong> <strong>approximation</strong>. Hence, it is often important to have an a priori<br />

knowledge of its regularity. <strong>The</strong> following result gives an indication for a convex domain.<br />

<strong>The</strong>orem 7.6 Let Ω be a convex polygon and let f ∈ R2 . <strong>The</strong>n, the solution u of the homogeneous<br />

Dirichlet problem:<br />

find u such that: �<br />

�<br />

∇u.∇v =<br />

Ω<br />

fv ,<br />

Ω<br />

∀v ∈ H 1 0 (Ω) ,<br />

is in H2 (Ω) and we have the following estimate:<br />

∀f ∈ L 2 (Ω) , �u� H 2 (Ω) ≤ �f� L 2 (Ω) .<br />

7.3.6 Numerical resolution of the linear system<br />

We remind here that the <strong>finite</strong> <strong>element</strong> <strong>approximation</strong> of the boundary-value problem (7.12) implies the<br />

numerical solving of a linear system in R Ndof :<br />

where Uh = (uh(aj))1≤j≤Ndof and Fh = ( �<br />

is of the form:<br />

Ah Uh = (Kh + Mh) Uh = Fh ,<br />

Ω fϕi dx)1≤j≤Ndof<br />

kij = a(ϕj, ϕi) , 1 ≤ i, j ≤ Ndof .<br />

. <strong>The</strong> generic term of the stiffness matrix Kh<br />

where a(·, ·) is the bilinear form defined on the functional space H1 0 and (ϕj)1≤j≤Ndof is the canonical<br />

basis of the <strong>approximation</strong> space. We have mentioned already that the stiffness matrix Kh inherits of<br />

the properties of the bilinear form a. More precisely, if a is V-elliptic, then Kh is positive de<strong>finite</strong> and<br />

if a is symmetric then Kh is symmetric. We have also indicated that the matrix Ah is a sparse matrix,<br />

i.e. it contains a large number of zeroes, as well as the matrices Kh and Mh. Hence, iterative methods<br />

are preferred to solve this linear system (cf. Chapter 5).<br />

Let denote 0 < λ1(Kh) < · · · < λNdof (Kh) the eigenvalues of Kh and 0 < λ1(Mh) < · · · < λNdof (Mh)<br />

the eigenvalues of Mh. We introduce the notations:<br />

and we have the following result.<br />

λNdof (Kh)<br />

λNdof (Mh)<br />

κ(Kh) = , and κ(Mh) = ,<br />

λ1(Kh)<br />

λ1(Mh)<br />

Proposition 7.5 Suppose (Th)h>0 is a quasi-uniform sequence. <strong>The</strong>n, there exists two constants C1 > 0,<br />

C2 > 0 and a constant C3 > 0 such that:<br />

C1 ≤ h 2 κ(Kh) ≤ C2 , and κ(Mh) ≤ C3 .<br />

We observe that the mass matrix Mh is always well-conditioned since its condition number κ(Mh) is<br />

independent of the mesh size h, under the condition that the refinement is quasi-uniform. On the other<br />

hand, the stiffness matrix Kh becomes ill-conditioned, i.e. κ(Kh) ≫ 1, when the mesh size h is small.<br />

Remark 7.14 We have shown that the <strong>approximation</strong> error between the exact solution u and the Galerkin<br />

<strong>finite</strong> <strong>element</strong> solution uh is bounded by above by a constant times the ”distance” between he spaces V<br />

and Vh. <strong>The</strong> smaller the distance, the better the <strong>approximation</strong> error will be. Is seems then natural to<br />

increase the dimension of the <strong>approximation</strong> space Vh in order to improve the accuracy of the solution.<br />

To this end, we can either:


132 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

1. increase the number of <strong>element</strong>s and thus increase the global number of degrees of freedom while<br />

preserving the local reference <strong>element</strong>. This strategy is known as h-refinement,<br />

2. increase the degree of the polynomials and thus modifying the local reference <strong>element</strong> while preserving<br />

the total number of <strong>element</strong>s. Obviously, this choice can be only be applied if the exact solution u<br />

is suffciently smooth. This strategy is known as p-refinement.<br />

We will discuss these adaptation options and others in the chapter 9.<br />

7.4 <strong>The</strong> <strong>finite</strong> <strong>element</strong> method for the Stokes problem<br />

To illustrate the application of the <strong>finite</strong> <strong>element</strong> method to solve a system of partial differential equations,<br />

we consider the Stokes problem in two dimensions of space.<br />

We consider the flow of a fluid inside a bounded domain Ω ⊂ R2 and subjected to an external force<br />

field f. <strong>The</strong> flow is considered as stationary and inertial forces are supposed negligible here, hence the<br />

Stokes equations introduced in Chapter 4 describe this viscous flow problem:<br />

Find (u, p) in appropriate Hilbert spaces such that:<br />

⎧<br />

⎪⎨ −ν∆u + ∇p = f in Ω<br />

div u = g in Ω<br />

(7.23)<br />

⎪⎩<br />

u = 0 on ∂Ω<br />

where the unknowns u and p represent the velocity and the pressure of the fluid, respectively and ν > 0<br />

is the viscosity. Usually, in the applications, the flow is incompressible and the function g is equal to<br />

zero.<br />

7.4.1 Mixed formulation<br />

We have already seen the mixed formulation of this problem in Chapter 4. We introduce the functional<br />

space:<br />

L 2 0(Ω) = {q ∈ L 2 �<br />

(Ω) , q dx = 0} ,<br />

and the mixed formulation reads:<br />

Given f ∈ L 2 (Ω) and g ∈ L 2 0 (Ω), find u ∈ H1 0 (Ω)2 and p ∈ L 2 0<br />

�<br />

where we posed a(u, v) = ν<br />

Ω<br />

(Ω) such that:<br />

� a(u, v) + b(v, p) = f(v) , ∀ v ∈ H 1 0 (Ω) 2 ,<br />

b(u, q) = g(q) , ∀ q ∈ L 2 0(Ω)<br />

�<br />

�<br />

∇u : ∇v, b(v, p) = − p div v, f(v) =<br />

Ω<br />

Ω<br />

Ω<br />

functional spaces H1 0 (Ω)2 and L2 (Ω) 2 are endowed with the canonical norms:<br />

⎛<br />

�u�H1 (Ω) = ⎝ �<br />

i=1,2<br />

�ui� 2 H 1 (Ω)<br />

for u = (ui)1≤i≤2 ∈ H 1 0 (Ω)2 and f = (fi)1≤i≤2 ∈ L 2 (Ω) 2 .<br />

⎞<br />

⎠<br />

1/2<br />

⎛<br />

, �f�L2 (Ω) = ⎝ �<br />

i=1,2<br />

�<br />

fv and g(q) = −<br />

�fi� 2 L 2 (Ω)<br />

⎞<br />

⎠<br />

1/2<br />

,<br />

Ω<br />

(7.24)<br />

gq. <strong>The</strong><br />

Remark 7.15 If f ∈ C 0 ( ¯ Ω) 2 and g ∈ C 0 ( ¯ Ω), if Ω is of class C 2 and if the solution (u, p) of the<br />

problem (7.24) is such that u ∈ C 2 ( ¯ Ω) 2 and p ∈ C 1 ( ¯ Ω), then (u, p) is the classical solution of the Stokes<br />

problem.


7.4. <strong>The</strong> <strong>finite</strong> <strong>element</strong> method for the Stokes problem 133<br />

<strong>The</strong> formulation above is the not the only weak formulation possible for the Stokes problem. An alternate<br />

view consists in including the divergence constraint (for instance the incompressibility constraint div u =<br />

0) directly in the space of test functions. To this end, we introduce the space:<br />

V0 = {v ∈ H 1 0 (Ω) 2 , div v = 0} .<br />

Since the divergence operator is surjective, there exists a function ug ∈ H1 0 (Ω)2 g ∈ L<br />

such that for every<br />

2 0 (Ω), we have:<br />

div ug = g , and �ug�H 1 (Ω) 2 ≤ c�g�L2 (Ω) ,<br />

where c > 0 is a constant (see [Brezis, 2005] for more details). Introducing the change of variables<br />

u ′ = u − ug leads to the condition div u ′ = 0 and to consider the following weak formulation:<br />

find u ′ ∈ V0 such that:<br />

a(u ′ , v) = 〈f, v〉 − a(ug, v) , ∀v ∈ V0 . (7.25)<br />

This weak formulation is called a constrained formulation, since the restriction on the test functions to<br />

be in the space V0 leads to discard the term b(v, p) that vanishes here.<br />

Proposition 7.6 <strong>The</strong> problem (7.25) is a well-posed problem.<br />

Proof. It is a direct application of Lax-Milgam theorem. � Although this new formulation has some<br />

theoretical advantages, many practical drawbacks prevent its application for solving a discrete problem.<br />

It is indeed difficult to construct divergence-free <strong>finite</strong> <strong>element</strong>s. <strong>The</strong> reader interested is referred to the<br />

book [Brezzi-Fortin, 1991] for more details on this topic.<br />

7.4.2 Numerical <strong>approximation</strong><br />

We will now investigate the condition required for the <strong>approximation</strong> spaces in velocity and pressure to<br />

define a well-posed discrete problem.<br />

Let consider Xh a subspace of the space H1 0 (Ω)2 and Mh a subspace of the space L2 0 (Ω). We introduce<br />

the discrete Stokes problem:<br />

Find uh ∈ Xh and ph ∈ Mh such that:<br />

⎧ �<br />

�<br />

�<br />

⎪⎨ ν ∇uh : ∇vh − ph div vh = f · vh , ∀vh ∈ Xh ,<br />

Ω<br />

�Ω<br />

�Ω<br />

(7.26)<br />

⎪⎩<br />

We introduce the space<br />

Ker(Bh) = {vh ∈ Xh ,<br />

qh div uh =<br />

Ω<br />

and we enounce the fundamental compatibility result.<br />

�<br />

gqh , ∀qh ∈ Mh .<br />

Ω<br />

qh div vh = 0 , ∀qh ∈ Mh} ,<br />

Ω<br />

<strong>The</strong>orem 7.7 <strong>The</strong> discrete problem (7.26) is a well-posed problem if and only if the spaces Xh and Mh<br />

satisfy the following compatibility condition:<br />

∃βh > 0 , inf<br />

qh div vh<br />

Ω<br />

sup<br />

qh∈Mh vh∈Xh �qh�L2 (Ω)�vh�H 1 (Ω)<br />

�<br />

≥ βh . (7.27)


134 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

Furthermore, under this condition, we have the following estimates:<br />

�u − uh�H 1 (Ω) ≤ c1h inf �u − vh�H 1 (Ω) + c2h inf �p − qh�L2 (Ω)<br />

vh∈Xh<br />

qh∈Mh<br />

�p − ph�L2 (Ω) ≤ c3h inf �u − vh�H 1 (Ω) + c4h inf �p − qh�L2 (Ω)<br />

vh∈Xh<br />

qh∈Mh<br />

where the constants (cih)1≤i≤4 are given by <strong>The</strong>orem 4.12.<br />

(7.28)<br />

(7.29)<br />

Proof. We know that the bilinear form a(·, ·) is V -elliptic on H 1 0 (Ω) 2 × H 1 0 (Ω) 2 and the result is then a direct<br />

consequence of <strong>The</strong>orem 4.12. �<br />

<strong>The</strong> following result provides a practical method for checking whether the compatibility condition is<br />

satisfied or not.<br />

Lemma 7.10 (Fortin) Let consider the spaces X = H1 0 (Ω)2 and M = L2 0 (Ω) and let b ∈ L(X, M).<br />

Suppose there exists β > 0 such that:<br />

<strong>The</strong>n, there exists βh > 0 such that:<br />

inf<br />

inf<br />

q∈M sup<br />

v∈X<br />

sup<br />

qh∈Mh vh∈Xh<br />

b(v, q)<br />

�v�X�q�M<br />

b(vh, qh)<br />

�vh�Xh �qh�Mh<br />

≥ β .<br />

≥ βh ,<br />

if and only if there exists γh > 0 such that for every v ∈ X, there exists a restriction operator rh ∈<br />

L(X, Xh), i.e. rh(v) ∈ Xh, such that:<br />

∀qh ∈ Mh , b(v, qh) = b(rh(v), qh) and �rh(v)�X ≤ γh�v�X .<br />

Proof. If the criterion is satisfied, for every qh ∈ Mh we write<br />

b(vh, qh)<br />

sup<br />

vh∈Xh �vh�X<br />

b(rh(v), qh)<br />

≥ sup<br />

v∈X �rh(v)�X<br />

≥ 1 b(v, qh)<br />

sup<br />

γh v∈X �v�X<br />

≥ β<br />

�qh�M .<br />

γh<br />

Conversely, if the discrete condition is satisfied, then the operator Bh : Xh → Mh defined by b(vh, qh) = 〈Bhvh, qh〉<br />

defines an isomorphism (admitted here). Hence, for every v ∈ X, there exists a unique vh = rh(v) such that<br />

<strong>The</strong> mapping v ↦→ rh(v) is linear and we have:<br />

∀qh ∈ Mh , b(rh(v), qh) = b(v, qh) .<br />

�rh(v)�X ≤ 1<br />

�Bhrh(v)�M ′<br />

β<br />

≤ 1<br />

β sup<br />

b(rh(v), qh)<br />

qh∈Mh �qh�M<br />

≤ 1<br />

β sup<br />

b(v, qh)<br />

ah∈Mh �qh�M<br />

≤ γh<br />

β �v�X .


7.4. <strong>The</strong> <strong>finite</strong> <strong>element</strong> method for the Stokes problem 135<br />

<strong>The</strong> operator rh has the desired properties. �<br />

This proof provides a technique to verify the discrete compatibility condition; it consists in constructing<br />

the operator rh using the solution of the system:<br />

b(rh(v), qh) = b(v, qh) , ∀qh ∈ Mh ,<br />

and to check if it is bounded in the space X. This is clearly is non-trivial task. On the other hand, it<br />

is possible to construct a simpler operator for specific <strong>approximation</strong> spaces and <strong>finite</strong> <strong>element</strong>s and to<br />

check if the compatibility condition is satisfied.<br />

It is easy to construct an internal variational <strong>approximation</strong> of the Stokes problem, as we have already<br />

seen:<br />

find uh ∈ Xh and ph ∈ Mh such that:<br />

�<br />

a(uh, vh) + b(vh, ph) = f(vh) , ∀vh ∈ Xh ,<br />

(7.30)<br />

b(uh, qh) = g(qh) , ∀qh ∈ Mh ,<br />

If we denote by nu (resp. np) the dimension of the space Xh (resp. Mh), we introduce the basis (ϕj)1≤j≤nu<br />

of Xh and the basis (ψj)1≤j≤np of Mh defined using the basis shape functions of the <strong>finite</strong> <strong>element</strong>s and<br />

we decompose uh and ph on these basis:<br />

nu<br />

np<br />

�<br />

�<br />

uh = uh(aj)ϕj(x) , and ph(x) = ph(a ′ j)ψj(x) .<br />

j=1<br />

We obtain the following linear system to solve:<br />

�<br />

Ah Bt � � �<br />

h<br />

Uh<br />

=<br />

Bh 0<br />

Ph<br />

� Fh<br />

Gh<br />

j=1<br />

�<br />

. (7.31)<br />

where Uh = (uh(aj))1≤j≤nu and Ph = (ph(a ′ j ))1≤j≤np and the matrices Ah = (aij) ∈ R nu,nu and Bh =<br />

(bki) ∈ Rnp,nu are given by:<br />

�<br />

�<br />

aij = ν ∇ϕi : ∇ϕj dx , and bki = −<br />

Ω<br />

<strong>The</strong> vectors Fh = (fj)1≤j≤nu and Gh = (gk)1≤k≤np<br />

�<br />

fi =<br />

Ω<br />

are defined as:<br />

�<br />

f · ϕi dx , and gk =<br />

Ω<br />

ψi div ϕk dx .<br />

Ω<br />

g ψk dx .<br />

Lemma 7.11 <strong>The</strong> vector 1 ∈ Rnp is always contained in the kernel Ker(Bt h ). <strong>The</strong> discrete pressure ph<br />

is defined up to an additive constant.<br />

Proof. Let rh ∈ Mh and wh ∈ Xh. By definition,<br />

Since rh = 1 is in Mh and since<br />

Wh · B t hRh = BhWh · Rh =<br />

∀wh ∈ Xh ,<br />

�<br />

Ω<br />

�<br />

rh div wh dx .<br />

Ω<br />

�<br />

div wh dx = wh · n ds = 0 .<br />

∂Ω<br />

we conclude that Rh = 1 ∈ Ker(Bt h ). �<br />

Finding a pair of <strong>approximation</strong> spaces (Xh, Mh) for the Stokes problem has been an active research<br />

field in numerical analysis. We present here a few examples of such pairs.


136 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

<strong>The</strong> P1/P1 <strong>finite</strong> <strong>element</strong><br />

This seems the obvious first choice for implementing the <strong>finite</strong> <strong>element</strong> method for the Stokes problem.<br />

We consider the unit domain Ω =]0, 1[ 2 and we suppose a regular Cartesian mesh is defined on Ω (Figure<br />

7.9). We introduce the <strong>approximation</strong> spaces:<br />

Xh = {uh ∈ C 0 ( ¯ Ω) 2 , ∀K ∈ Th , uh|K ∈ P 2 1 , uh|∂Ω = 0} ,<br />

Mh = {ph ∈ L 2 0(Ω) ∩ C 0 ( ¯ Ω) , ∀K ∈ Th , ph|K ∈ P1} .<br />

For a given <strong>element</strong> K ∈ Th, we denote (aiK)1≤i≤3 its vertices. <strong>The</strong>n, we have:<br />

∀vh ∈ Xh ,<br />

�<br />

ph div vh =<br />

Ω<br />

�<br />

�<br />

(div vh)|K ph ,<br />

K∈Th<br />

K<br />

= �<br />

3� |K|<br />

(div vh)|K<br />

3<br />

K∈Th<br />

j=1<br />

ph(aj,K) ,<br />

Now, let us consider the pressure field ph defined on the triangulation Th by its values 0, −1, 1 at the<br />

three vertices of every triangle K ∈ Th. In this case, we have<br />

and it is easy to see that:<br />

3�<br />

ph(aj,K) = 0 ,<br />

j=1<br />

∀vh ∈ Xh ,<br />

�<br />

ph div vh = 0 .<br />

Ω<br />

This is clearly in contradiction with the requirement of the inf-sup condition. Hence, the P1/P1 <strong>finite</strong><br />

<strong>element</strong> shall be discarded for solving the Stokes problem.<br />

When the dimension of Ker(B t h ) is strictly larger than one, the <strong>finite</strong> <strong>element</strong> method is unstable. In<br />

such case, solving the linear system using an iterative method will result in oscillations in the pressure<br />

values. On the other hand, if dim(Ker(B t h )) = 1, the discrete pressure can be uniquely determined by<br />

fixing its value at a mesh node or by setting its average value on the domain Ω.<br />

1<br />

0<br />

-1<br />

1<br />

-1<br />

1<br />

0<br />

-1<br />

0 1<br />

1<br />

-1<br />

1<br />

-1 0<br />

Figure 7.9: A regular Cartesian mesh of the unit domain Ω =]0, 1[ 2 and the unstable pressure mode for<br />

the P1/P1 <strong>finite</strong> <strong>element</strong>.<br />

0<br />

0<br />

-1<br />

1<br />

0<br />

-1<br />

1<br />

0<br />

-1<br />

1


7.4. <strong>The</strong> <strong>finite</strong> <strong>element</strong> method for the Stokes problem 137<br />

<strong>The</strong> P1/P0 <strong>finite</strong> <strong>element</strong><br />

This <strong>finite</strong> <strong>element</strong> presents the a priori advantage of being very simple to implement. Given a triangulation<br />

of the domain Ω, we define a piecewise continuous <strong>approximation</strong> of the velocity and a piecewise<br />

constant (and thus discontinuous) <strong>approximation</strong> for the pressure. Since the velocity is piecewise affine,<br />

its divergence is piecewise constant and thus by testing the divergence using constant functions, the<br />

divergence of the discrete field is strongly forced to be null. Hence, this <strong>finite</strong> <strong>element</strong> allows to obtain<br />

exactly a divergence free velocity field. Nonetheless, the P1/P0 <strong>finite</strong> <strong>element</strong> does not fulfill the inf-sup<br />

condition and Fortin’s criterion.<br />

Again, we provide a counter-example in two dimensions. Suppose the tiangulation Th of the simply<br />

connected polygonal domain Ω contains t triangles, vi internal vertices and vb boundary vertices. We<br />

shall have 2vi degrees of freedom for the space Xh, as the velocity must vanish on the boundary and t<br />

degrees of freedom for the pressure leading to t − 1 independent divergence-free constraints. <strong>The</strong> Euler<br />

formulas for a simple polygon indicate that:<br />

from which we deduce that:<br />

t = 2vi + vb − 2 ,<br />

(t − 1) ≥ 2(vi − 1) .<br />

We observed that dim(Mh) = t − 1 and that dim(Xh) = 2vi. <strong>The</strong> rank theorem allows to write:<br />

dim(Ker(B t h )) = dim(Mh) − dim(Im(B t h )) ≥ (t − 1) − dim(Xh)<br />

= (t − 1) − 2vi = vb − 3<br />

This last relation indicates that there is at least vb − 3 spurious pressure modes. In other words, the<br />

space Mh is too rich to impose the Bhuh = 0 constraint. A function uh ∈ Xh is thus overconstrained and<br />

a locking phenomenon occurs. In general, uh = 0 is the only discrete divergence-free function of Xh such<br />

that Bhuh = 0; i.e. Bh is not surjective.<br />

<strong>The</strong> P1-bubble/P1 (mini) <strong>finite</strong> <strong>element</strong><br />

We have seen that with the P1/P1 <strong>finite</strong> <strong>element</strong>, the dimension of the space of the degrees of freedom<br />

of the velocity is not large enough. To overcome this problem, it seems natural to attempt enriching the<br />

velocity space rather than impoverishing the pressure space. However, it is not necessary to consider a<br />

space of polynomials of degree two for approximating the velocity. Crouzeix and Raviart suggested (in<br />

1973) to add one extra degree of freedom to the barycenter of every simplex of the triangulation Th of<br />

the domain Ω. Hence, we define in two dimensions:<br />

P1 = (P1(K) ⊕ Span{bK , K ∈ Th}) 2 ,<br />

with the bubble function bK defined in two dimensions as:<br />

bK = 27<br />

3�<br />

i=1<br />

�<br />

λi ,<br />

λi , and generalized in any dimension as bK = (d + 1) d+1<br />

d+1<br />

where (λi)1≤i≤3 denote the barycentric coordinates on K. <strong>The</strong> degrees of freedom associated with P1 are<br />

defined as:<br />

�<br />

Σk = {v ↦→ v(ai) , 1 ≤ i ≤ 3} ∪ {v ↦→<br />

<strong>The</strong>n, we consider the <strong>approximation</strong> spaces:<br />

ei<br />

v · ni dσ} .<br />

i=1


244 Chapitre 11<br />

138 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

Vitesse Pression<br />

Figure 11.1 – Élément Mini (O(h))<br />

Figure 7.10: <strong>The</strong> P1-bubble/P1 (mini) <strong>element</strong> for velocity (left) and pressure (right) <strong>approximation</strong>.<br />

Mh = {ph ∈ L 2 0(Ω) ∩ C 0 ( ¯ Ω) , ∀K ∈ Th , ph|K ∈ P1} .<br />

Vitesse<br />

Pression<br />

Xh = {vh ∈ C 0 ( ¯ Ω) 2 , ∀K ∈ Th , vh|K ∈ P1 , uh|∂Ω = 0} ,<br />

(7.32)<br />

It is easy to see that Xh ⊂ (H 1 0 (Ω))2 .<br />

Before giving a compatibility result for this <strong>finite</strong> <strong>element</strong>, we need to introduce an interpolation<br />

operator rh. Since v ∈ H 1 0 (Ω)2 ) is not necessarily continuous, its Lagrange interpolate might not be<br />

defined. <strong>The</strong>refore, in each triangle, we define rh as:<br />

rh(v) = Ch(v) + αK bK ,<br />

Figure 11.2 – Élément Mini en dimension 3 (O(h))<br />

liberté en vitesse et 3 en pression dans le cas bidimensionnel (respectivement 15 et 4 en dimension<br />

3). Cet élément est très utilisé, particulièrement en dimension 3 (voir la figure 11.2) en raison de<br />

son faible nombre de degrés de liberté. Cet élément converge à l’ordre 1 car l’<strong>approximation</strong> en<br />

vitesse ne contient que les polynômes de degré 1.<br />

Le deuxième élément illustré est celui de Taylor-Hood souvent appelé P2 − P1 en raison de<br />

l’<strong>approximation</strong> quadratique des composantes de vitesse et de l’<strong>approximation</strong> P1 de la pression<br />

(voir les figures 11.3 et 11.4. Les noeuds de calcul sont situés aux sommets (vitesses et pression) et<br />

aux milieux des arêtes (vitesses seulement). Cet élément converge à l’ordre 2 (O(h2 where Ch(v) = (Ch(v1), Ch(v2)) is the Clément interpolate defined hereafter and αK ∈ R<br />

)) en vertu du<br />

théorème 11.14 car l’<strong>approximation</strong> en vitesse contient les polynômes de degré 2 et l’<strong>approximation</strong><br />

en pression contient ceux d’ordre 1. Des équivalents quadragulaires et hexaédriques, également<br />

d’ordre 2, sont illustrés aux figures 11.5 et 11.6.<br />

Remarque 11.4<br />

Dans le cas d’éléments à pression continue, il est parfois nécessaire d’imposer une condition supplémentaire<br />

sur le maillage pour avoir l’existence et l’unicité de la solution. On devra par exemple<br />

supposer qu’aucun élément n’a deux côtés sur la frontière du domaine (voir les exercices de fin de<br />

chapitre). �<br />

2 is chosen so as<br />

to satisfy the equation: �<br />

(rh(v) − v) = 0 .<br />

K<br />

To this end, we define:<br />

�� �−1 �<br />

αK = bK (v − Ch(v)) .<br />

K<br />

K<br />

For every v ∈ Xh and qh ∈ Mh, we write:<br />

�<br />

�<br />

qh div(v − rh(v)) = ∇qh(rh(v) − v) =<br />

Ω<br />

Ω<br />

�<br />

�<br />

∇qh(rh(v) − v) = 0 ,<br />

K<br />

K∈Th<br />

since ∇qh is piecewise constant on every K ∈ Th.<br />

Definition 7.9 Let Th be a triangulation of Ω, Γh be the set of the internal vertices of Th. We introduce<br />

Θh the space of continuous piecewise linear functions on Th which are zero on the boundary and we<br />

denote (ϕγ)γ∈Γh the basis of P1 <strong>finite</strong> <strong>element</strong>s with homogeneous boundary conditions. We introduce the<br />

operator Ch ∈ L(H1 0 (Ω), Θh), proposed by Clément in 1975, and defined as follows:<br />

Ch(v) = �<br />

� � �<br />

1<br />

v ϕγ ,<br />

|ωγ|<br />

where the set ωγ is defined as the union of all triangles K ∈ Th for which γ is a vertex.<br />

γ∈Γh<br />

In this definition, the nodal value v(γ) is replaced in the definition of the interpolant rh by the local<br />

average value around γ. <strong>The</strong> Clément operator can be applied to any function in L 2 (Ω). We have the<br />

following result.<br />

Lemma 7.12 If the family of triangulations (Th)h>0 is quasi-uniform, then the operator Ch satisfies the<br />

local estimates:<br />

∀v ∈ H 1 0 (Ω) , �v − Ch(v)� L 2 (K) ≤ C hK |v| H 1 (ωK) ,<br />

ωγ


7.4. <strong>The</strong> <strong>finite</strong> <strong>element</strong> method for the Stokes problem 139<br />

∀v ∈ H 1 0 (Ω) , |Ch(v)| H 1 (K) ≤ C |v| H 1 (ωK) ,<br />

where ωK is the union of all triangles sharing at least one of the vertices of K.<br />

<strong>The</strong>orem 7.8 If the family of triangulations (Th)h>0 is quasi-uniform, the <strong>approximation</strong> spaces Xh and<br />

Mh are uniformely compatible with respect to h, i.e. there exists a constant βh, independent f h, satisfying<br />

the condition (7.27).<br />

Proof. Let consider v ∈ H 1 0 (Ω) 2 . We construct the operator rh(v) ∈ Xh such that<br />

∀qh ∈ Mh ,<br />

�<br />

K∈Th<br />

qh div(rh(v)) =<br />

Ω<br />

Since Mh ⊂ H1 (Ω), the previous identity is equivalent to writing:<br />

∀qh ∈ Mh ,<br />

�<br />

�<br />

rh(v) · ∇qh = �<br />

�<br />

Since ∇qh ∈ Pd 0, the previous identity leads to conclude that:<br />

� �<br />

∀K ∈ Th , rh(v) =<br />

K<br />

K<br />

�<br />

qh div(v) .<br />

Ω<br />

K∈Th<br />

K<br />

v .<br />

K<br />

v · ∇qh .<br />

Since the operator rh is composed of two terms, we analyze them separately. Regarding the Clément interpolate<br />

Ch, we invoke the previous estimate:<br />

For the term αKbK, we write:<br />

∀v ∈ H 1 0 (Ω) , |Ch(v)| H 1 (K) ≤ C |v| H 1 (ωK) .<br />

|αKbK| H 1 (K) ≤ C|αK| ,<br />

with the constant C independent of hK and K. <strong>The</strong>n, we write<br />

��<br />

|αK| = bK<br />

K<br />

≤ C 1<br />

|K| |<br />

�<br />

� −1<br />

K<br />

�<br />

| (v − Ch(v))|<br />

K<br />

(v − Ch(v))|<br />

≤ |K| −1/2 �v − Ch(v)� L 2 (K) .<br />

We use the estimate �v − Ch(v)� L 2 (K) ≤ C hK |v| H 1 (ωK) , to obtain:<br />

and finally:<br />

|αK| ≤ C |v| H 1 (ωK) ,<br />

|rh(v)| H 1 (K) ≤ C |v| H 1 (ωK) ,<br />

By taking the square of this expression and summing over all K ∈ Th we conclude that:<br />

�rh(v)� H 1 (Ω) ≤ C�v� H 1 (Ω) .<br />

<strong>The</strong> final result is obtained by invoking Fortin’s lemma. �<br />

Proposition 7.7 Suppose the solution (u, p) of the problem (7.24) is sifficiently smoth, i.e. u ∈ H 2 (Ω) 2 ∩<br />

H 1 0 (Ω)2 and p ∈ H 1 (Ω) ∩ L 2 0 (Ω). <strong>The</strong>n, the solution (uh, ph) of the problem (7.26) with the spaces defined<br />

by (7.32) is such that:<br />

�u − uh� H 1 (Ω) + �p − ph� L 2 (Ω) ≤ C h (�u� H 2 (Ω) + �p� H 1 (Ω)) . (7.33)


140 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

7.4.3 Numerical resolution<br />

We have seen that the discrete problem (7.30) leads to solve the linear system (7.31). We assume here<br />

the natural hypothesis that the bilinear form a(·, cdot) is V -elliptic on X with a constant α and that the<br />

form b(·, ·) satisfies on xh × Mh a inf-sup condition uniformely in h, and we denote the constant β.<br />

<strong>The</strong> resolution of the linear system using a direct method is likely to be costly because of the number<br />

of degrees of freedom and thus the size of the linear system. Direct methods are appropriate up to<br />

Ndof = 104 . For this reason, iterative methods are favored. However, the matrix of the system (7.31)<br />

is neither positive nor de<strong>finite</strong>. It is indeed an inde<strong>finite</strong> matrix (but symmetric) with that zero block<br />

on the diagonal. It will have positive and also negative eigenvalues. It is possible to make it positive by<br />

solving the system: �<br />

AhU + B t hP = Fh<br />

. (7.34)<br />

−BhU = −Gh<br />

However, the new matrix corresponding to this system is still inde<strong>finite</strong> and is no longer symmetric. We<br />

know from Chapter 5 that gradient methods are not efficient on this type of matrix. We present two<br />

commonly used methods for solving such mixed problems.<br />

Resolution of the saddle point by penalization<br />

<strong>The</strong> following method is gaining popularity for solving the Stokes problem (and saddle point problems<br />

in general) because of its versatility and facility to be implemented. It consists in replacing the problem<br />

(7.31) by the following problem:<br />

�<br />

AhUε + B t hPε = Fh<br />

, (7.35)<br />

−BhUε + εShPε = −Gh<br />

where the matrix Sh ∈ R np,np is such that:<br />

(ShP, Q) = 〈ph, qh〉M ,<br />

where (·, ·) and 〈·, ·〉M denote the standard Euclidean scalar product in R np and the inner product in M,<br />

respectively. In the system (7.35), ε is a penalization coefficient sufficiently small.<br />

<strong>The</strong> main idea is simple. Suppose Ah is a positive de<strong>finite</strong> symmetric matrix, the system (7.31) is<br />

then equivalent to:<br />

�<br />

1<br />

inf<br />

BhVh=Gh 2 (AhVh,<br />

�<br />

Vh) − (Fh, Vh) .<br />

If Sh is any positive de<strong>finite</strong> matrix in Rnp,np , the previous expression can be replaced by:<br />

�<br />

1<br />

inf<br />

Vh 2 (AhVh, Vh) + 1<br />

2ε (S−1<br />

h (BhVh<br />

�<br />

− Gh, BhVh − Gh) − (Fh, Vh) ,<br />

or equivalently, by writing Pε = (1/ε)S −1<br />

h (BhVh − Gh):<br />

� AhUε + B t h Pε = Fh<br />

BhUε − Gh = εShPε<br />

. (7.36)<br />

By replacing the quantity Pε in the first equation, we obtain the linear system:<br />

�<br />

Ah + 1<br />

ε Bt hS−1 h Bh<br />

�<br />

Uε = Fh + 1<br />

ε Bt hS−1 h Gh . (7.37)


7.4. <strong>The</strong> <strong>finite</strong> <strong>element</strong> method for the Stokes problem 141<br />

If the matrix S −1<br />

h is a sparse matrix, this provides an efficient technique to solve our problem. This system<br />

can be solved by an iterative technique like the conjugate gradient, since the matrix is now positive de<strong>finite</strong><br />

and symmetric. Notice however that the term 1/εBt hS−1 h Bh has a strong negative impact on the condition<br />

number of the linear system (7.4.3).<br />

We now investigate the effect of changing the constrained problem to a penalized problem. We have<br />

the following error estimate.<br />

Proposition 7.8 Let consider ε > 0 and let (U, P ) and (Uε, Pε) denote the solutions of system (7.34)<br />

and (7.36), respectively. <strong>The</strong>n, we have the error estimate:<br />

αβ�U − Uε�X + αβ 2 �P − Pε�M ≤ Cε�P �M . (7.38)<br />

Proof. By difference, we obtain the system:<br />

� Ah(U − Uε) + B t h(P − Pε) = 0<br />

−Bh(U − Uε) − εShPε = 0 .<br />

We introduce on R nu the norm � · �∗ defined by:<br />

∀U ∈ R nu , �U�∗ = sup<br />

V ∈Rnu (U, V )<br />

.<br />

�V �X<br />

<strong>The</strong> continuity and the V -ellipticity of the bilinear form a implies that:<br />

∀U ∈ R nu , �AhU�∗ ≤ �a� �U�X , and ∀U ∈ R nu , α�U�X ≤ �AhU�∗ .<br />

<strong>The</strong> matrix Bh ∈ R np,np satisfies the inf-sup condition:<br />

or equivalently:<br />

<strong>The</strong> continuity of the form b implies that:<br />

min<br />

�P �M �=0 max<br />

(B<br />

�U�X �=0<br />

t hP, U)<br />

�P �M �U�X<br />

≥ β ,<br />

∀P ∈ R np , β�P �M ≤ �B t hP �∗ .<br />

∀P ∈ R np , �B t hP �∗ ≤ �b� �P �M .<br />

Using these inequalities leads to write the first equation of the system as:<br />

�P − Pε�M ≤ 1<br />

β �Bt h(P − Pε)�∗<br />

= 1<br />

β �Ah(U − Uε)�∗ ≤ C<br />

β �U − Uε�X .<br />

By multiplying the first equation by (U − Uε) and using the V -ellipticity of the form a we obtain for the second<br />

equation:<br />

α�U − Uε� 2 X ≤ (Ah(U − Uε), U − Uε) = (B t h(Pε − P ), U − Uε) = (Pε − P, Bh(U − Uε)) = −ε(Pε − P, ShPε)<br />

= −ε(Pε − P, Sh(Pε − P )) − ε(Pε − P, ShP )<br />

≤ −ε(Pε − P, ShP )<br />

≤ ε�Pε − P �M �P �M .<br />

<strong>The</strong> error estimate is obtained by combining the two previous inequalities. �<br />

Remark 7.16 Notice that discretizing a penalized problem is not necessarily equivalent to penalize a<br />

discrete problem [Brezzi-Fortin, 1991]. <strong>The</strong> penalty method is considered in this last case as a procedural<br />

(algorithmic) technique, since a choice of spaces Xh ⊂ X and Mh ⊂ M has been done. On the other<br />

hand, discetizing the penalized problem consists in choosing Qh = BhVh that is in general a poor choice.


142 Chapter 7. <strong>The</strong> <strong>finite</strong> <strong>element</strong> <strong>approximation</strong><br />

Uzawa’s operator<br />

To conclude this section, we introduce an iterative, although very efficient, algorithm to solve such<br />

problem when th operator Ah associated with the bilinear form a is invertible. We know since Chapter<br />

4 that the Stokes equations are equivalent to solving a problem of energy minimization. More precisely,<br />

the resolution of the linear system (7.31) is equivalent to the following minimization:<br />

J(Uh) = min J(Vh) with J(Vh) =<br />

Vh∈KerBh<br />

1<br />

2 (AhVh, Vh) − (Fh, Vh) . (7.39)<br />

In the optimization terminology, the pressure is the Lagrange multiplier that imposes the constraint<br />

div u = g when the energy is minimized.<br />

First, we eliminate the variable Uh from the linear system (7.31), if the matrix Ah is invertible, thus<br />

leading to:<br />

Uh = A −1<br />

h (Fh − B t hP )<br />

and then by replacing Uh in the second equation BhUh = Gh, we obtain the system:<br />

We consider the Uzawa matrix U = BhA −1<br />

h Bh.<br />

BhA −1<br />

h Bt h Ph = BhA −1<br />

h Fh − Gh . (7.40)<br />

Proposition 7.9 If matrix Ah is positive de<strong>finite</strong>, this matrix is also positive de<strong>finite</strong>.<br />

Proof. One has:<br />

It is positive de<strong>finite</strong> if KerB t h<br />

(BhA −1<br />

h Bt hP, P ) = (A −1<br />

h Bt hP, B t hP ) ≥ α�B t hP � .<br />

= {0}. �<br />

Hence, problem (7.40) is more easy to solve than the original problem (7.31) as efficient methods exist for<br />

positive de<strong>finite</strong> systems. Unfortunately, even if the matrix Ah is a sparse matrix (i.e. contains lot of zero<br />

values), its inverse A −1<br />

h is likely to be a full matrix. <strong>The</strong> resolution of (7.40) must be performed using an<br />

iterative method since inverting the matrix A −1<br />

h is extremely computationally costly. <strong>The</strong> convergence<br />

rate of iterative methods is strongly related to the condition number of the matrix.<br />

Proposition 7.10 If the matrix U is symmetric, we have the estimate:<br />

κ(U) ≤ C<br />

α 2 β 2 κ(Sh) .<br />

Remark 7.17 If the family of mesh (Th)h>0 is quasi-uniform, the condition number κ(Sh) is a constant<br />

independent of h. Hence, the previous estimate shows that the conditioning of Uzawa’s operator is of order<br />

one (if α and β are of order one, which is a reasonable hypothesis). <strong>The</strong> iterative techniques converge<br />

fast without any preconditioning.

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!