Introduction à la méthode des éléments finis
1. Formulation variationnelle
1.1. Exemple 1-D
Soit à résoudre le problème (
où f et c sont des fonctions données continues sur [a,b].
On supposera de plus que la fonction c est strictement positive sur [a,b].
Un tel problème est appelé problème aux limites.
En faisant le produit scalaire L2(]a,b[) de l’équation différentielle avec une fonction-test v∈D(]a,b[) (c’est-à-dire en intégrant sur [a,b]), on a :
soit, en intégrant par parties le premier terme :
car v(a)=v(b)=0 puisque v∈D(]a,b[).
Chaque terme de cette équation a en fait un sens dès lors que v∈H10(]a,b[).
De plus, D(]a,b[) étant dense dans H10(]a,b[) (§[sec:H10]), cette équation est vérifiée pour tout v∈H10(]a,b[).
On peut donc définir le nouveau problème :
Ce problème est la formulation variationnelle (ou formulation faible) du problème (P). Toute solution de (Q) est appelée solution faible.
Il est immédiat que toute solution forte de (P) est aussi une solution faible.
1.2. Exemple 2-D
Soit Ω ouvert borné de Rn.
On veut résoudre le problème
Une solution classique de ce problème est une fonction de C2(ˉΩ) vérifiant ([eq:modele-2D]) en tout point de Ω.
Au passage, on voit que ceci impose que f soit C0(ˉΩ). |
Toute solution classique vérifie donc :
soit par intégration par parties :
puisque ∂nu=0 sur ∂Ω.
Or, ¯C1(ˉΩ)=H1(Ω).
On peut donc définir le nouveau problème :
C’est la formulation variationnelle de (P).
On voit aussi que ce problème est défini dès lors que f∈L2(Ω).
2. Formulation générale
Les exemples précédents montrent que, d’une façon générale, la formulation variationnelle sera obtenue en faisant le produit scalaire L2(Ω) de l’équation avec une fonction v appartenant à un espace à préciser (c’est-à-dire en multipliant par v et en intégrant sur Ω), et en intégrant par parties les termes d’ordres les plus élevés en tenant compte des conditions aux limites du problème.
On arrive alors à une formulation du type :
où a(.,.) est une forme sur V×V (bilinéaire si l’EDP de départ est linéaire) et l(.) est une forme sur V (linéaire si les conditions aux limites de l’EDP de départ le sont).
3. Théorème de Lax-Milgram
3.1. Définitions et théorèmes
On va introduire ici un outil important pour assurer l’existence et l’unicité de solutions à la formulation variationnelle de problèmes aux limites de type elliptique.
Soit V un espace de Hilbert.
C’est de cette propriété que vient l’utilisation du terme “variationnel", puisqu’elle montre le lien avec le “calcul des variations". |
3.2. Retour à l’exemple 1-D
En reprenant l’exemple 1-D précédent, on peut poser :
et
a ainsi définie est une forme bilinéaire symétrique continue coercive sur H10(a,b)×H10(a,b), et l est une forme linéaire continue sur H10(a,b). Donc le problème ([eq:FV]) admet une solution unique d’après le théorème de Lax-Milgram. Cherchons maintenant à interpréter cette solution u de ([eq:FV]). Prenons v=φ∈D(]a,b[). Alors
soit, en intégrant par parties :
c’est-à-dire
D(]a,b[) étant dense dans L2(]a,b[), on a : −u"+cu=f dans L2(]a,b[).
u étant dans L2(]a,b[), et f et c étant dans C0([a,b]), donc également dans L2(]a,b[), on en déduit que u"=cu−f est aussi dans L2(]a,b[).
Puisque u est dans H10(]a,b[) et que u" est dans L2(]a,b[), on en déduit que u est dans H2(]a,b[).
Donc u est dans C1([a,b]) (§[sec:sobolev]).
De ce fait, cu−f, c’est-à-dire u", est dans C0([a,b]).
Donc u′ est dans C1([a,b]), donc u est dans C2([a,b]).
La solution faible u est donc aussi solution forte du problème de départ.
En résumé :
-
On est parti d’un problème (P) et on a introduit sa formulation variationnelle (Q).
-
On a montré l’existence et l’unicité d’une solution faible (en utilisant le théorème de Lax-Milgram). Toute solution forte étant aussi solution faible, ceci prouve qu’il y a au plus une solution forte pour (P).
-
On a prouvé que cette solution faible est bien une solution forte. Le problème de départ (P) a donc une solution unique.
L’intérêt de cette démarche est double :
-
la formulation variationnelle se prête bien à l’étude de l’existence et de l’unicité de solutions,
-
on travaille dans des espaces de Hilbert, ce qui va permettre de faire de l’approximation interne.
3.3. Équations elliptiques d’ordre 2
Soit Ω un ouvert borné de Rn, de frontière ∂Ω assez régulière. Soient des fonctions αij (1≤i,j≤n) dans C1(ˉΩ) et β dans C0(ˉΩ).
On considère le problème :
où Γ0 et Γ1 forment une partition de ∂Ω (Γ0∩Γ1=∅ et Γ0∪Γ1=∂Ω).
Une solution classique de (P), sous l’hypothèse que f∈C0(ˉΩ) et g∈C0(Γ1), sera une fonction de C2(ˉΩ) vérifiant l’équation en chaque point de Ω. La formulation variationnelle de (P) est obtenue par intégration par parties.
Elle s’écrit :
avec V={v∈H1(Ω),v=0 sur Γ0}. Cette formulation est en fait définie dès lors que β et les αij sont dans L∞(Ω), que f est dans L2(Ω) et que g est dans L2(Γ1). Posons
Il est immédiat que a est une forme bilinéaire continue et l une forme linéaire continue sur V.
Si l’EDP de départ [eq:edp-elliptique] vérifie les deux hypothèses d’ellipticité :
-
il existe α>0 tel que ∀ξ=(ξ1,…,ξn)∈Rn, ∑ni,j=1αij(x)ξiξj≥α‖ξ‖2 presque pour tout x∈Ω
-
il existe β0 tel que β(x)≥β0 presque pour tout x∈Ω
alors a est coercive :
-
sur H10(Ω) dès que α0>−αC(Ω)2 (et donc en particulier si β≥0) où C(Ω) est la constante de l’inégalité de Poincaré, voir le théorème [thr:11].
-
sur H1(Ω) si β>0
Par application du théorème de Lax-Milgram, on a donc existence et unicité d’une solution à la formulation variationnelle (Q) :
-
si Γ0=∂Ω (c’est-à-dire Γ1=∅) et si β>−αC(Ω)2
-
si Γ1≠∅ et si β>0
4. Approximation interne
4.1. Principe général
Soit Ω un domaine ouvert de Rn (n=1,2 ou 3 en pratique), de frontière ∂Ω, et sur lequel on cherche à résoudre une équation aux dérivées partielles, munie de conditions aux limites.
En écrivant la formulation variationnelle, on obtient un problème de la forme
où V est un espace de Hilbert. Sous réserve que l’équation de départ ait de bonnes propriétés, c’est-à-dire par exemple qu’on soit dans les hypothèses du théorème de Lax-Milgram, (Q) admet une solution unique u.
Pour obtenir une approximation numérique de u, on va maintenant remplacer l’espace V qui est en général de dimension infinie par un sous-espace Vh de dimension finie, et on va chercher à résoudre le problème approché
Vh étant de dimension finie, c’est un fermé de V. V étant un espace de Hilbert, Vh l’est donc aussi. D’où l’existence et l’unicité de uh, à nouveau par exemple d’après le théorème de Lax-Milgram. L’espace Vh sera en pratique construit à partir d’un maillage du domaine Ω, l’indice h désignant la ``taille typique'' des mailles.
Lorsque l’on construit des maillages de plus en plus fins, la suite de sous-espaces (Vh)h formera une approximation interne de V, c’est-à-dire que, pour tout élément φ de V, il existe une suite de φh∈Vh telle que ‖φ−φh‖⟶0 quand h⟶0.
Cette méthode d’approximation interne est également appelée méthode de Galerkin. |
4.2. Interprétation de uh
On a a(u,v)=l(v),∀v∈V, donc en particulier a(u,vh)=l(vh),∀vh∈Vh, car Vh⊂V.
Par ailleurs, a(uh,vh)=l(vh),∀vh∈Vh.
Par différence, on en déduit que
Dans le cas où a(.,.) est symétrique, il s’agit d’un produit scalaire sur V. uh peut alors être interprétée comme la projection orthogonale de u sur Vh au sens de a(.,.). |
4.3. Estimation d’erreur
On a :
Or vh−uh∈Vh. Donc a(u−uh,vh−uh)=0 d’après (Orthogonalité de Galerkin).
On a donc :
a étant coercive, il existe α>0 tel que a(u−uh,u−uh)≥α‖u−uh‖2, où ‖.‖ est une norme sur V.
Par ailleurs, a étant continue, il existe M>0 tel que a(u−uh,u−vh)≤M‖u−uh‖‖u−vh‖.
En réinjectant ces deux inégalités de part et d’autre de [eq:estim1] et en simplifiant par ‖u−uh‖ on obtient
c’est-à-dire
où d est la distance induite par ‖.‖.
Cette majoration est appelée lemme de Céa. Elle ramène l’étude de l’erreur d’approximation u−uh à l’étude de l’erreur d’interpolation d(u,Vh).
5. Principe général de la méthode des éléments finis
La démarche générale de la méthode des éléments finis est la suivante.
On a une EDP à résoudre sur un domaine Ω.
On écrit la formulation variationnelle de cette EDP, et on se ramène donc à un problème du type
On va chercher une approximation de u par approximation interne.
Pour cela, on définit un maillage du domaine Ω, grâce auquel on va définir un espace d’approximation Vh, s.e.v. de V de dimension finie Nh (par exemple Vh sera l’ensemble des fonctions continues sur Ω et affines sur chaque maille).
Le problème approché est alors
Soit (φ1,…,φNh) une base de Vh.
En décomposant uh sur cette base sous la forme
le problème (Qh) devient
ou encore par linéarité de a et l :
c’est-à-dire résoudre le système linéaire
soit
La matrice A est a priori pleine. |
Toutefois, pour limiter le volume de calculs, on va définir des fonctions de base φi dont le support sera petit, c’est-à-dire que chaque fonction φi sera nulle partout sauf sur quelques mailles.
Ainsi les termes a(φi,φj) seront le plus souvent nuls, car correspondant à des fonctions φi et φj de supports disjoints.
La matrice A sera donc une matrice creuse, et on ordonnera les φi de telle sorte que A soit à structure bande, avec une largeur de bande la plus faible possible.
A ce niveau, les difficultés majeures en pratique sont de trouver les φi et de les manipuler pour les calculs d’intégrales nécessaires à la construction de A.
Sans rentrer pour le moment dans les détails, on peut toutefois indiquer que la plupart de ces difficultés seront levées grâce à trois idées principales :
- Le principe d’unisolvance
-
On s’attachera à trouver des degrés de liberté (ou ddl) tels que la donnée de ces ddl détermine de façon univoque toute fonction de Vh. Il pourra s’agir par exemple des valeurs de la fonction en quelques points. Déterminer une fonction reviendra alors à déterminer ses valeurs sur ces ddl.
- Définition des φi
-
On définira les fonctions de base par φi=1 sur le i\tiny{ème} ddl, et φi=0 sur les autres ddl. La manipulation des φi sera alors très simplifiée, et les φi auront par ailleurs un support réduit à quelques mailles.
- La notion de famille affine d’éléments
-
Le maillage sera tel que toutes les mailles soient identiques à une transformation affine près. De ce fait, tous les calculs d’intégrales pourront se ramener à des calculs sur une seule maille de référence, par un simple changement de variable.
6. Retour à l’exemple 1-D
On reprend le problème 1-D [eq:modele-1D].
On a écrit sa formulation variationnelle Exemple 1-D et montré Retour à l’exemple 1-D qu’elle admet une solution unique.
On s’intéresse à présent à la construction de l’espace d’approximation Vh.
6.1. Construction du maillage
La première étape consiste à construire un maillage de Ω=]a,b[ en définissant une subdivision (pas nécessairement régulière) a=x0<x1<…<xN<xN+1=b.
Le maillage est donc une collection indexée de Nma(=N) intervalles
et on a
On note hi=xi+1−xi et h=max1≤i≤Nmahi.
Le maillage est dit uniforme si hi=h pour tout i={1,...,Nma}. Enfin on note Th={Ii}i={1,...,Nma}, h représentant la finesse globale du maillage.
En 1D on a Nso=Nma+1, en dimension supérieure des relations existent entre le nombre de sommets et de mailles en fonction du type de maille, ce sont les relations d’Euler. |
6.2. Construction de l’espace d’approximation
L’étape suivante est de choisir les fonctions de forme ou fonctions de base sur chaque maillage.
On choisit les fonctions de Vh telle que leur restriction sur chaque maillage soit un espace polynomial.
On pose alors
Wh est un espace de dimension finie égale à (k+1)∗Nma mais il n’est pas inclus dans H10(Ω) et ne peut donc pas être utilisé pour l’approximation du problème (<<[eq:FV]>>). En effet les fonctions de wh∈Wh peuvent être discontinues aux interfaces entre les maillages et un résultat d’analyse fonctionnelle montre que dans ces conditions wh∋H1(Ω). Par ailleurs les fonctions de Wh ne sont pas nécessairement nulles au bord de Ω.
On pose donc
en d’autres termes, en dimension, on a
Le problème approché sur Vh est :
On s’intéresse à présent à des exemples concrets d’espaces d’approximations dans les deux sections suivantes Element fini de Lagrange et Element fini de Lagrange.
6.3. Element fini de Lagrange
On introduit les espaces vectoriels suivants:
et
Les éléments de ces espaces sont des fonctions continues et affines par morceaux. Ils sont dérivables par morceaux sur chaque maille et ils sont continus aux interfaces entre les mailles.
On a le résultat d’analyse fonctionnelle suivant:
On introduit la famille de fonctions {φ1,...,φNso} que l’on définit sur chaque maille de la manière suivante, pour tout i∈{2,...,Nso−1},
et
Les fonctions (φi)i=1,...,Nso sont dans P1c,h et (φi)i=2,...,Nso−1 sont dans P1c,h,0. |
Les fonctions (φi)i=1,...,Nso satisfont les relations |
où δij désigne le symbole de Kronecker tel que δij=1 si i=j et δij=0 si i≠j.
Les fonctions φi sont appelées fonctions chapeau du fait de leur graphe, voir figure [fig:chapeau].
On introduit l’opérateur d’interpolation suivant:
Pour toute fonction v∈C0(ˉΩ), I1c,hv est la seule fonction continue affine par morceaux prenant les mêmes valeurs que v aux sommets xi,i=1,...,Nso.
I1c,hv est appelée l’interpolé de Lagrange de v de degré 1.
En dimension 1, les fonctions de H1(Ω) sont continues, on peut donc voir comme un opérateur de H1(Ω) dans H1(Ω). On montre qu’il est continu et que sa norme ‖I1c,h‖L(H1(Ω),H1(Ω)) est uniformément bornée en h, c’est-à-dire qu’il existe une constante c, indépendante de h, telle que pour tout v∈H1(Ω) |
6.4. Estimation de l’erreur d’interpolation
On dit que l’erreur d’interpolation est d’ordre 2 en norme L2 et d’ordre 1 en semi-norme H1 et donc en norme H1.
6.5. Element fini de Lagrange
On introduit les espaces vectoriels suivants:
et
6.6. Operateur d’interpolation
On introduit l’opérateur d’interpolation suivant:
Pour toute fonction v∈C0(ˉΩ), Ikc,hv est la seule fonction continue polynomial de degré k par morceaux prenant les mêmes valeurs que v aux sommets xi,i=1,...,Nso. Ikc,hv est appelée l’interpolé de Lagrange de v de degré k.
En dimension 1, les fonctions de H1(Ω) sont continues, on peut donc voir comme un opérateur de H1(Ω) dans H1(Ω). On montre qu’il est continu et que sa norme ‖Ikc,hv‖L(H1(Ω),H1(Ω)) est uniformément bornée en h, c’est-à-dire qu’il existe une constante c, indépendante de h mais dépendante de k, telle que pour tout |
Le résultat suivant permet d’estimer la précision de l’opérateur d’interpolation,
L’estimation [eq:14] montre que l’erreur d’interpolation est d’ordre k+1 en norme ‖⋅‖0,Ω et qu’elle est d’ordre k en norme |⋅|1,Ω. Elle est donc d’ordre k en norme ‖⋅‖1,Ω. |
6.7. Analyse de convergence
Nous nous intéressons à présent à l’analyse de la convergence de uh du problème approché de [eq:11] vers la solution u du problème exact [eq:F] lorsque Vh=P1c,h,0 ou plus généralement Vh=Pkc,h,0,k≥1.
6.7.1. Estimation en norme H1
Il s’agit dans un premier temps d’estimer l’erreur u−uh en norme H1.
Pour cela on part de l’estimation [eq:cea], on a
pourvu que la solution exacte soit suffisamment régulière, c’est-à-dire u∈Hk+1(Ω).
On notera que Ikc,hu∈Pkc,h,0 puisque u∈H10(Ω) et donc que Iuc,h(a)=Iuc,h(b)=0. |
On a donc le résultat suivant
On dit que l’estimation d’erreur [eq:13] est optimale car elle est du même ordre que l’erreur d’interpolation en norme H1, voir la proposition Proposition. |
6.8. Estimation en norme L2
On dit que l’estimation d’erreur [eq:16] est optimale car elle est du même ordre que l’erreur d’interpolation en norme L2, voir la proposition Proposition. |
7. Formulation algébrique Vh=P1c,h
En décomposant la solution approchée uh sur cette base sous la forme uh=∑Ni=1μiφi, on obtient, comme au paragraphe [sec:general], le système linéaire Aμ=b, avec :
Le support de φi étant réduit à [xi−1,xi+1], on en déduit que
A est donc tridiagonale.
7.1. Exercices
-
Dans le Définitions et théorèmes, montrer que, dans le cas où a est symétrique, si u est solution du problème variationnel, alors elle est solution du problème de minimisation.
-
Montrer que ∇J[u(v) = a(u,v) - l(v)].
-
Montrer que, si a est coercive, la matrice A de (<<[eq:lin]>>) est inversible. (C’est donc la démonstration du théorème de Lax-Milgram en dimension finie.)
-
Pour l’exemple 1-D traité dans ce chapitre, démontrer qu’on est bien dans les hypothèses du théorème de Lax-milgram
-
Calculer explicitement la matrice A pour cet exemple.
-
Pour le problème 2-D du §[sec:modele-2D], montrer que la formulation variationelle (<<[eq:FV2]>>) admet une solution unique, qui est aussi solution classique si f∈H2(Ω).
-
Démontrer les résultats du §[sec:elliptique]