Upload
sasha00
View
17
Download
4
Embed Size (px)
Citation preview
MODELISATION
Introduction aux équations aux dérivées partielles et à leurs résolutions numériques
FN CRES
Modélisation
FN CRES
2
SOMMAIRE AVANT-PROPOS ......................................................................................................................... 4 1. INTRODUCTION ................................................................................................................... 5 2. EXEMPLE D'ETABLISSEMENT D’UNE EQUATION MECANISTE ............................................ 6
2.1. Equation de diffusion 1D ............................................................................................. 6 2.2. Interprétation d'une équation aux dérivées partielles ................................................... 8 2.3. Equation de la Diffusion 3D ...................................................................................... 10 2.4. Conditions limites et condition initiale ...................................................................... 11 2.5. Régime permanent ..................................................................................................... 12 2.6. Compléments à l’équation de base............................................................................. 12
2.6.1. Injection (ou soutirage).................................................................................... 12 2.6.2. Cinétique propre du produit............................................................................. 12 2.6.3. Convection........................................................................................................ 13 2.6.4. Cas où K est variable (dans toutes les directions et en tous points)................ 13 2.6.5. Autres problématiques...................................................................................... 15
3. CLASSIFICATION DES EQUATIONS AUX DERIVEES PARTIELLES D’ORDRE 2 ................... 16 3.1. Classification par les coniques................................................................................... 16
3.1.1. Classification par discriminant et par valeurs propres ................................... 16 3.1.2. Application aux EDP d’ordre 2 ....................................................................... 16
3.2. Equation stationnaire et équation d’évolution ........................................................... 17 4. RESOLUTION DES EDP - PRINCIPE DES METHODES NUMERIQUES.................................. 18 5. LA METHODE DES DIFFERENCES FINIES ........................................................................... 19
5.1. Principe de la méthode............................................................................................... 19 5.2. Cas d’une EDP elliptique (stationnaire)..................................................................... 20
5.2.1. Cas de conditions de Dirichlet ......................................................................... 20 5.2.2. Cas de conditions de Neumann homogènes ..................................................... 26 5.2.3. Cas de conditions de Neumann non homogènes .............................................. 29
5.3. Notions sur les erreurs de la méthode ........................................................................ 31 5.3.1. Présentation ..................................................................................................... 31 5.3.2. La consistance .................................................................................................. 32 5.3.3. La stabilité........................................................................................................ 33 5.3.4. La convergence ................................................................................................ 33
5.4. Cas d’une EDP parabolique (évolutive)..................................................................... 33 5.4.1. Position du problème et méthode ..................................................................... 33 5.4.2. Les schémas types............................................................................................. 34 5.4.3. Le schéma explicite .......................................................................................... 36 5.4.4. Le schéma implicite.......................................................................................... 36 5.4.5. Le schéma explicite à 2 pas.............................................................................. 38 5.4.6. Le schéma pondéré........................................................................................... 38 5.4.7. Cas d'un schéma explicite stable...................................................................... 40 5.4.8. Cas d'un problème parabolique 2D ................................................................. 40
5.5. Cas d'une EDP hyperbolique (évolutive) ................................................................... 41 5.5.1. Schémas explicites............................................................................................ 42 5.5.2. Schémas implicites ........................................................................................... 43
5.6. Maillages particuliers ................................................................................................. 45
Modélisation
FN CRES
3
5.6.1. Maillage irrégulier en x ................................................................................... 45 5.6.2. Maillage différent en x et en y.......................................................................... 46
5.7. Traitement des termes non linéaires........................................................................... 47 6. LA METHODE DES ELEMENTS FINIS .................................................................................. 48
6.1. Comparaison Différences finies – Eléments finis...................................................... 48 6.2. Equivalence de problèmes ......................................................................................... 48
6.2.1. Objet ................................................................................................................. 48 6.2.2. Equivalence entre système matriciel et problème de minimisation ................. 48 6.2.3. Equivalence avec un problème de minimum .................................................... 49 6.2.4. Récapitulatif ..................................................................................................... 50 6.2.5. Application aux EDP........................................................................................ 50 6.2.6. Approximation interne...................................................................................... 51
6.3. Construction pratique du problème variationnel........................................................ 52 6.3.1. Cas d’une équation différentielle ..................................................................... 52 6.3.2. Cas d’une EDP................................................................................................. 54
6.4. Mise en œuvre de la méthode des éléments finis....................................................... 55 6.5. Cas d’une équation différentielle - Fonction linéaire par morceaux.......................... 55
6.5.1. Cas de condition de Dirichlet homogène ......................................................... 55 6.5.2. Cas de condition de Neumann homogène ........................................................ 60 6.5.3. Cas de condition de Neumann non homogène ................................................. 61 6.5.4. Cas de condition de Dirichlet non homogène .................................................. 62
6.6. Cas d’une équation différentielle - Fonction parabolique par morceaux.................. 63 6.7. Cas d’une EDP – Approximation linéaire par élément.............................................. 70 6.8. Cas d’une EDP – Approximation quadratique par élément ....................................... 77 6.9. Extension de la méthode ............................................................................................ 78 6.10. Extension aux problèmes évolutifs ............................................................................ 78
7. RESOLUTION DES SYSTEMES D’EQUATIONS LINEAIRES................................................... 79 7.1. Introduction................................................................................................................ 79 7.2. Méthodes directes ...................................................................................................... 79
7.2.1. Méthode de Gauss-Jordan ou méthode du pivot .............................................. 80 7.2.2. Méthode de Gauss (ou triangularisation) ........................................................ 81
7.3. Méthode du double balayage pour les matrices tridiagonales (Cholesky)................. 82 7.4. Méthodes itératives .................................................................................................... 83
7.4.1. Principe ............................................................................................................ 83 7.4.2. Méthode de Jacobi ........................................................................................... 84 7.4.3. Méthode de Gauss -Seidel ................................................................................ 84 7.4.4. Facteur de relaxation ....................................................................................... 85
Modélisation
FN CRES
4
AVANT-PROPOS Ce polycopié est une introduction aux équations aux dérivées partielles et à leur résolution, tout ceci ayant comme objectif la modélisation mathématique du monde qui nous entoure, ou, pour rester plus modeste, la modélisation des problèmes courants rencontrés par l'ingénieur. Le chapitre 1 situe succinctement la modélisation mathématique parmi les modélisations les plus courantes. Ces équations ne sont pas toujours bien abordées par les étudiants qui y voient une écriture ésotérique et parfois incompréhensible. Le chapitre 2 tente de démystifier ces équations en présentant un exemple simple et baser sur "le bon sens" dans lequel on aboutit à l'équation de la diffusion. L'objectif est alors de ne pas perdre le lecteur avec une approche trop mathématique susceptible de le décourager. Cependant, il est important que le lecteur se familiarise rapidement avec les symboles mathématiques utilisés. Ce n'est pas la manière "officielle" de présenter cette équation, mais cette démonstration présente l'immense avantage de pouvoir être suivie avec un niveau de terminale scientifique (du moins, je l'espère !). On arrive petit à petit à l'écriture la plus complète de l'équation de la diffusion. Le chapitre 3 n'est pas le plus important, mais il introduit la classification des équations aux dérivées partielles, élément structurant pour la suite. A partir du chapitre 4, on aborde la résolution des équations aux dérivées partielles par 2 méthodes numériques :
• La méthode des différences finies, qui est une méthode simple, et que lecteur pourra suivre aisément
• La méthode des éléments finis, qui est d'un abord beaucoup plus complexe. Le lecteur s'attachera à comprendre le principe et à traiter les exemples complets qui y sont développés.
Enfin, le dernier chapitre sur la résolution des systèmes d'équations linéaires, aboutissement des 2 méthodes précédentes, est là à titre informatif. En effet, la mise en œuvre de ces méthodes nécessite généralement des connaissances informatiques, notamment de programmation, ce qui déborde du sujet abordé dans ce document.
Modélisation
FN CRES
5
1. INTRODUCTION La modélisation d’un phénomène est une démarche visant à représenter par un moyen adéquat le comportement de ce phénomène. Dans les sciences de l'ingénieur, la modélisation permet de comprendre les variables qui influencent ce comportement, afin de dimensionner des ouvrages, d'anticiper son évolution, de simuler des situations à venir. La modélisation peut être abordée de différentes façons. On peut proposer la classification sommaire suivante :
• Les modèles réduits Qui ne connaît pas les souffleries où sont testés les modèles réduits d’avion ? Le modèle réduit permet de rendre compte du comportement d’un objet soumis à différentes contraintes sans avoir à construire cet objet dans sa taille normale. La théorie des similitudes permet alors, à partir du comportement du modèle réduit, de conclure sur le comportement de l’objet réel. • Les modèles analogiques Ils permettent de représenter un phénomène à partir d’une analogie avec un autre plus facile à élaborer. Par exemple, le comportement d’une nappe d’eau dans le sol peut être abordé par une analogie avec le potentiel électrique d'une plaque métallique.
• Les modèles mathématiques Ces modèles sont les plus courants actuellement, suite à la montée en puissance des ordinateurs et de leur capacité à calculer vite. Ils sont basés sur la mise en équation mathématique du phénomène à étudier. Ce sont ces modèles qui vont nous intéresser pour ce cours. Là aussi, on peut tenter une classification sommaire.
- Les modèles empiriques Il s’agit d’identifier les variables qui interviennent à priori dans un phénomène physique et de les relier par une équation à partir d’une série d’observations. Cette équation n’a parfois rien de physique, mais représente bien le « nuage de points ». Elle est totalement dépendante de l’échantillon qui a servi au calage. - Les modèles conceptuels Ils abordent la représentation d’un phénomène complexe à partir d’un autre beaucoup plus simple à étudier. Par exemple, en hydrologie, on conçoit souvent le fonctionnement d’un bassin versant (en termes de production d’un débit d’eau) comme celui d’un réservoir, objet dont le remplissage et/ou la vidange se mettent facilement sous forme d’équations. - Les modèles mécanistes La mécanique, en tant que science, est à la base de la représentation du phénomène. On aboutit généralement à un type d’équations dites aux dérivées partielles, qu’il s’agit ensuite de résoudre.
C’est ce dernier type de modélisation auquel ce cours se consacre. On verra successivement comment on aboutit à des équations aux dérivées partielles à travers un exemple, et deux méthodes classiques pour les résoudre.
Modélisation
FN CRES
6
2. EXEMPLE D'ETABLISSEMENT D’UNE EQUATION MECANISTE On va partir d’un exemple suffisamment simple pour être compréhensible quelque soit l’origine scientifique du lecteur : le comportement d’un produit – par exemple un polluant – dans de l’eau. Il s’agit d’un problème dit de diffusion. 2.1. Equation de diffusion 1D On considère un parallélépipède, de section S, constitué de matière homogène immobile (de l'eau par exemple – on verra plus loin le cas de l'eau en mouvement), ayant une concentration C1 d'un produit sur sa face gauche et C2 sur sa face droite.
On peut faire comme hypothèse que la quantité de matière M –issue du produit en question– qui franchit une section S du parallélépipède, c'est-à-dire qui circule par unité de longueur sur l'axe des x, de l'avant vers l'arrière pendant le temps Δt est:
- proportionnel à la section S - proportionnel à la différence C1-C2 - proportionnel à Δt - inversement proportionnel à Δx. en effet,
plus Δx est petit et plus la quantité de matière devant franchir la section S
pendant l'intervalle de temps Δt sera importante pour passer de la concentration C1 et C2.
soit txCCSKM 21
x ΔΔ−
=
Remarque : cette relation peut se vérifier expérimentalement. La forme de cette relation s'applique à différents domaines scientifiques en fonction de la variable C et porte différents noms selon le domaine concerné (loi de Fick en Génie des Procédés, loi de Darcy en hydrogéologie, loi de Fourier en thermique …) On admettra comme convention que M est positif si C1 > C2 et que le coefficient Kx est constant le long de l’axe Ox (on étudiera le cas de ce coefficient variable plus loin) Cette équation très simple, admise comme hypothèse, est à la base de l'équation de la diffusion. Le lecteur est invité à bien la mémoriser et toujours se rappeler ce point de départ. On considère maintenant un volume de matière homogène découpé en parallélépipèdes de longueur Δx. On considère des parallélépipèdes suffisamment petits pour que la concentration, au sein de chaque parallélépipède, y soit considérée comme constante.
Δx
C1
C2
S
Modélisation
FN CRES
7
Faisons un bilan de produit au niveau de la tranche i selon l'axe des x : on regarde ce qui rentre et ce qui sort de cette tranche pendant l’intervalle de temps Δt afin de connaître la concentration dans cette tranche. On suppose donc qu'il n'y a pas d'échange de matières dans les directions Oy et Oz.
Ci-1 Ci Ci+1
1 2
x
z
y
Δx
Tranches i-1 i i+1
La quantité de matière qui franchit la face 1, comptée positivement dans le sens de l'axe Ox, s'écrit :
tx
CCSKM i1i
x1i ΔΔ−
= −
La quantité de matière qui franchit la face 2, comptée positivement dans le sens de l'axe Ox, s'écrit :
txCC
SKM 1iix2i Δ
Δ−
= +
Si on considère que le coefficient Kx est constant le long de l'axe Ox, le bilan dans la tranche i s'écrit :
accumulation (Mi) = ce qui entre (Mi1) – ce qui sort (Mi2)
tx
CC2CSKMMM 1ii1i
x2i1ii ΔΔ
+−=−= +−
Ecrivons la variation de concentration dans la tranche i, en divisant par son volume S×Δx :
tx
CC2CKt
xxSCC2C
SKxS
MC 2
1ii1ix
1ii1ix
i ΔΔ
+−=Δ
Δ×Δ×+−
=Δ×
=Δ +−+−
Soit 21ii1i
x xCC2CK
tC
Δ+−
=ΔΔ +− (équation A)
Regardons de plus près les deux termes de cette équation :
Quand Δt → 0, on peut écrire le premier terme de cette équation sous forme
différentielle tC∂∂
A quoi correspond le deuxième terme de cette équation ?
Modélisation
FN CRES
8
Considérons la courbe ci-dessous et sa dérivée xC∂∂ au point d'abscisse x. Cette dérivée
correspond à la tangente à la courbe au point d'abscisse x.
On peut approximer cette tangente par la pente de la corde entre les points (xi ,Ci) et (xi+1 ,Ci+1).
Cette pente est égale à x
CC i1i
Δ−+ ;
plus Δx est petit, et plus l'approximation est valide.
Autrement dit, le terme x
CC i1i
Δ−+ est
une approximation de la dérivée
première ix
C⎟⎠⎞
⎜⎝⎛∂∂ à l'abscisse xi quand Δx→ 0.
De la même façon, on peut approximer la dérivée première ix
C⎟⎠⎞
⎜⎝⎛∂∂ à l'abscisse xi par la pente
de la corde entre les points (xi ,Ci) et (xi-1 ,Ci-1) : xCC
xC 1ii
i Δ−
≈⎟⎠⎞
⎜⎝⎛∂∂ − quand Δx→ 0.
On peut maintenant avoir une approximation de la dérivée seconde en xi , en dérivant 2 fois C(x) par rapport à x, et en appliquant les 2 façons vues au-dessus:
21ii1i
21ii
2i1i
i1i
i1i
ii2
2
xCC2C
xCC
xCC
xC
xxC
xxCC
xxC
xxC
Δ+−
=Δ−
−Δ−
=⎟⎠⎞
⎜⎝⎛Δ∂
∂−⎟
⎠⎞
⎜⎝⎛Δ∂
∂=⎟
⎠⎞
⎜⎝⎛
Δ−
∂∂
≈⎟⎠⎞
⎜⎝⎛∂∂
∂∂
=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂ +−−+
+
+
Autrement dit, le deuxième terme de l'équation A correspond à l'approximation de la dérivée
seconde de la fonction C; quand Δx → 0, nous avons i
2
2
21ii1i
xC
xCC2C
⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
≈Δ
+− +−
L'équation A est donc une expression de
2
2
x xCK
tC
∂∂
=∂∂
et tend vers cette dernière quand Δx → 0 et Δt → 0 L'équation encadrée est dite de la diffusion 1D (1D pour une dimension d'espace). C’est une équation aux dérivées partielles (EDP) car C est fonction d’au moins 2 variables (x et t) et elle fait intervenir les dérivées de C par rapport à ces 2 variables. 2.2. Interprétation d'une équation aux dérivées partielles Comment "lire" l'équation précédente ?
Ci
x Xi Xi+1 Xi-1
Δx Δx
Ci-1
Ci+1
C
tangente
Approximation de la tangente
Modélisation
FN CRES
9
La dérivée première tC∂∂ correspond à la variation de concentration dans le temps, c'est-à-dire
de quelle quantité C varie dans le temps.
La dérivée seconde 2
2
xC
∂∂ correspond à la variation de la variation (dérivée de la dérivée
première) de concentration selon l'axe des x, autrement dit, ce terme s'intéresse à la façon dont la dérivée première de la concentration varie en x. L'équation de la diffusion dit que la variation de concentration au cours du temps est proportionnelle à la variation de la variation de concentration en espace. Interprétons ce qui vient d'être dit :
x
Ci-ε
Ci+ε
Xi+ε XiXi-εXi+εXi-ε Xi
Cas 1 Cas 2
C
Sur le graphique ci-dessus, on considère un petit déplacement à gauche et à droite de X et l'allure de la solution entre Xi-ε et Xi+ε. Nous avons une valeur (approximative) des dérivées premières à droite et à gauche de Xi à travers les pentes des cordes entre Xi-ε et Xi d'une part, et Xi et Xi+ε d'autre part. Il est important de remarquer que la variation de concentration entre Xi-ε et Xi+ε est ma même dans les 2 cas. Dans le cas 1, les pentes sont voisines. L'équation dit donc que dans l'intervalle de temps Δt,
la concentration en xi ne changera guère (donctC∂∂ sera faible) puisque le terme 2
2
xC
∂∂ est voisin
de 0. Dans le cas 2, les pentes sont très différentes. L'équation de la diffusion dit alors que la
concentration en xi va beaucoup changer (tC∂∂ sera important) puisque le terme 2
2
xC
∂∂ est loin
d'être négligeable). Ainsi, l'équation de la diffusion précise que la variation de concentration dans le temps ne dépend pas de la différence de concentration entre 2 points, mais dépend de la différence des pentes entre ces 2 points (donc de l'allure de la solution et non de la valeur de la solution). L'interprétation physique est simple : les valeurs de pentes représentent les flux de part et d'autres du point xi (soit des quantités de polluant qui circulent à gauche et à droite de xi , et
Modélisation
FN CRES
10
c'est bien ce qu'on a écrit au tout début : on a fait un bilan de ce qui entrait et sortait de la tranche i).
- Si les flux de part et d'autre de xi sont voisins, le bilan est proche de zéro et la concentration en xi ne varie guère dans le temps.
- Si les flux sont différents, le bilan ne sera pas équilibré au niveau de xi et la concentration changera dans le temps
2.3. Equation de la Diffusion 3D En supposant qu'il y a également des échanges dans les directions Oy et Oz. On peut réaliser ce même bilan de matière selon les deux autres axes y et z de l'espace, pour avoir un bilan total au niveau de la tranche Ci,j,k.(indice i pour l’axe Ox, j pour l’axe Oy et k pour l’axe Oz) Supposons dans un premier temps que le coefficient de proportionnalité est constant dans toutes les directions de l'espace : Kx = Ky = Kz = K L'accumulation Mi,j,k de matière dans la tranche (i,j,k) s'écrit :
tz
CC2CSK
ty
CC2CSK
tx
CC2CSK
)MM()MM()MM(M
1k,j,ik,j,i1k,j,izz
k,1j,ik,j,ik,1j,iyy
k,j,1ik,j,ik,j,1ixx
2k,j,2i1k,j,ik,2j,ik,1j,ik,j,2ik,j,1ik,j,i
ΔΔ
+−+
ΔΔ
+−+
ΔΔ
+−=
−+−+−=
+−
+−
+−
Supposons dans un premier temps que le coefficient de proportionnalité est constant dans toutes les directions de l'espace : Kx = Ky = Kz = K
⎟⎟⎠
⎞⎜⎜⎝
⎛Δ
+−+
Δ
+−+
Δ
+−Δ= +−+−+−
zCC2C
Sy
CC2CS
xCC2C
StKM 1k,j,ik,j,i1k,j,iz
k,1j,ik,j,ik,1j,iy
k,j,1ik,j,ik,j,1ixk,j,i
En divisant par le volume de la tranche V = Δx × Δy × Δz, on a une variation de concentration
⎟⎟⎠
⎞⎜⎜⎝
⎛Δ
+−
ΔΔ+
Δ
+−
ΔΔ+
Δ
+−
ΔΔΔ=Δ +−+−+−
21k,j,ik,j,i1k,j,iz
2k,1j,ik,j,ik,1j,iy
2k,j,1ik,j,ik,j,1ix
k,j,i zCC2C
yxS
yCC2C
zxS
xCC2C
zyStKC
or yxS;zxS;zyS zyx ΔΔ=ΔΔ=ΔΔ= d’où
⎟⎟⎠
⎞⎜⎜⎝
⎛Δ
+−+
Δ
+−+
Δ
+−Δ=Δ +−+−+−
21k,j,ik,j,i1k,j,i
2k,1j,ik,j,ik,1j,i
2k,j,1ik,j,ik,j,1i
k,j,i zCC2C
yCC2C
xCC2C
tKC
En reprenant les considérations précédentes sur les dérivées, on aboutit alors à :
CKzC
yC
xCK
tC
2
2
2
2
2
2
Δ=⎟⎟⎠
⎞⎜⎜⎝
⎛
∂∂
+∂∂
+∂∂
=∂∂
La somme des dérivées secondes est appelée Laplacien et notée Δ. On a alors
Modélisation
FN CRES
11
CKtC
Δ=∂∂
Il s'agit de l'équation de la diffusion 3D. Ici, il faut bien noter que le coefficient de diffusion est constant dans toutes les directions de l'espace. Entre le modèle 1D et 3D, on peut bien sûr établir un modèle 2D. 2.4. Conditions limites et condition initiale Dans cette démarche, on a travaillé avec une tranche i,j,k "interne", mais il est évident que pour la première et la dernière tranche (dans chacune des directions de l'espace), il faudra représenter ce qui se passe à chacune des extrémités pour établir un bilan massique du produit dans la première et dernière tranche. Autrement dit, il faut savoir ce qui se passe sur les frontières du domaine étudié pour pouvoir établir un bilan des tranches périphériques. Sans cette connaissance, on ne pourra pas établir la variation de concentration sur ces tranches périphériques, et en cascade, on ne pourra pas établir de bilan sur une tranche quelconque. Il s'agit des conditions limites qui gèrent le phénomène sur toutes les frontières spatiales. On distingue généralement 2 grands types de conditions limites :
- les conditions de type Dirichlet : elles fixent une valeur de la concentration sur la frontière. Cette condition permet donc toujours de faire un bilan sur la première ou dernière tranche en établissant la quantité de matière qui franchit la frontière. Dans l'exemple précédent, cela revient à connaitre la concentration sur la frontière du domaine (par exemple une source de pollution qui maintient constante la concentration sur la frontière).
- Les conditions de type Neumann : elles fixent la valeur de la dérivée de la
concentration sur la frontière. Cette condition permet aussi d'établir un bilan sur la première ou dernière tranche puisqu'on a directement le terme x/C ∂∂ (ou y/C ∂∂ ou
z/C ∂∂ ). On les appelle aussi condition de flux. Dans l'exemple précédent, cela revient à avoir du polluant qui entre sans arrêt dans (ou sort de) notre domaine d'étude si ce flux n'est pas nul).
Insistons sur la différence des 2 conditions par rapport à notre exemple. Dans le premier cas, du polluant entrera dans (ou sortira de) notre domaine s'il y a une différence de concentration entre la frontière et la tranche périphérique (puisque la quantité qui circule entre 2 tranches est proportionnelle à la différence de concentration). Si les concentrations à la frontière et dans la tranche périphérique sont identiques, rien ne rentre (rien ne sort) Dans le deuxième cas, quelque soit les concentrations sur la frontière et dans la tranche périphérique, du polluant entre ou sort si le flux est différent de 0, et rien ne se passe si le flux est nul. De la même façon, à l'origine temporelle du phénomène, la concentration du produit à l'intérieur de chaque tranche va commander l'échange de matière entre les tranches, du moins pendant les premiers instants. La connaissance des concentrations à l’instant « zéro » est donc
Modélisation
FN CRES
12
indispensable pour appréhender l’évolution des concentrations de chaque tranche dans le temps. Il s'agit ici de la condition initiale. Ces conditions sont extrêmement importantes :
1) elles conditionnent la valeur de la solution, c'est-à-dire qu'elles sont aussi importantes que l'équation elle-même. Des conditions limites différentes, pour une même équation résolue, donneront des solutions différentes.
2) elles doivent être compatibles avec l'existence d'une solution, et que celle-ci soit
unique (dans le cas contraire, on parle de problème mal posé) 2.5. Régime permanent On parle d’un phénomène en régime permanent quand son évolution est indépendante du temps. Dans l’équation de la diffusion, le terme
tC∂∂ est nul et l'équation devient ΔC = 0 .
Il s’agit de l’équation de Laplace (somme des dérivées secondes en espace nulle). 2.6. Compléments à l’équation de base On se remet dans le cas où on regarde ce qui de passe le long de l’axe Ox uniquement (c'est plus simple à écrire et l'extension à 2 ou 3 dimensions ne pose pas de problème particulier). 2.6.1. Injection (ou soutirage) On peut "injecter" ou "soutirer" dans la tranche j une quantité M0 du produit en question. La quantité totale qui entre ou qui sort de la tranche i s'écrit : 02i1ii MMMM +−= (M0 est positif ou négatif selon le cas).
D'où xS
Mt
xCC2C
KxS
MxS
MMxS
MC 0
21ii1i02i1ii
Δ×+Δ
Δ+−
=Δ×
+Δ×−
=Δ×
=Δ +−
Soit txS
Mx
CC2CK
tC 0
21ii1i
Δ×Δ×+
Δ+−
=ΔΔ +−
Ou encore quand Δx et Δt tendent vers zéro : 02
2
qxCK
tC
+∂∂
=∂∂
Remarque : q0 est exprimé en mg/l/s 2.6.2. Cinétique propre du produit Il s'agit d'un terme de croissance (apparition) ou de décroissance (disparition) du produit. On considère souvent que la variation de concentration due à cette cinétique est proportionnelle à la concentration de produit (cinétique du premier ordre) et se traduit au niveau du bilan de la tranche i par un terme k'C (en positif ou en négatif).
C'kxS
MMC'k
xSM
C 2i1ii +Δ×−
=+Δ×
=Δ d'où tC'k
xCC2CK
tC
21ii1i
Δ+
Δ+−
=ΔΔ +−
Modélisation
FN CRES
13
Ou encore quand Δx et Δt tendent vers zéro : kCxCK
tC
2
2
+∂∂
=∂∂
Remarque : k est exprimé s-1 2.6.3. Convection Nous avons fait l'hypothèse que la matière dans laquelle on observe le produit était immobile. Supposons maintenant qu'elle est animée d'une vitesse U positive dans le sens des x. De par ce mouvement, indépendamment du phénomène de diffusion, la quantité de matière qui entre dans la tranche i en provenance de la tranche i-1 s'écrit :
- quantité d’eau qui entre par unité de temps : US (on a des m3/s si U en m/s et S en m²) - masse de produit par unité de temps : US × Ci-1 (on a des mg/s, si C est en mg/m3) - masse de produit : US × Ci-1 × Δt (en mg si Δt en secondes)
et il en sort une quantité USCiΔt par un même raisonnement. On aura donc le bilan global (accumulation) suivant de matière dans la tranche i :
tUSCtUSCMMM i1i2i1ii Δ−Δ+−= −
et la variation de concentration suivante : tx
CCU
xSMMC j1i2i1i Δ
Δ
−+
Δ×−
=Δ −
soit x
CCUx
CC2CKtC i1i
21ii1i
Δ−
+Δ
+−=
ΔΔ −+−
Le terme x
CC i1i
Δ−− est une approximation de la dérivée première en i (au signe près) et tend
donc vers cette dérivée quand Δx → 0. Dans ce cas (Δx→ 0), on a alors l'équation :
xCU
xCK
tC
2
2
∂∂
−∂∂
=∂∂
ou bien 2
2
xCK
xCU
tC
∂∂
=∂∂
+∂∂
Il s'agit de l'équation dite de Diffusion-Convection 1D. En 3D, on considère les vitesses Ux, Uy, Uz, dans chaque direction de l’espace. On établit les mêmes bilans que précédemment et on obtient :
CKzCU
yCU
xCU
tC
zyx Δ=∂∂
+∂∂
+∂∂
+∂∂
En considérant les vecteurs
- →
U de composantes )U,U,U( zyx
- Cgrad⎯→⎯
de composantes ⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
∂∂
∂∂
zC,
yC,
xC
on a l'équation CKCgrad.UtC
Δ=+∂∂ ⎯→⎯→
où zCU
yCU
xCUCgrad.U zyx ∂
∂+
∂∂
+∂∂
=⎯→⎯→
2.6.4. Cas où K est variable (dans toutes les directions et en tous points) Reprenons le problème sans injection, cinétique ou convection. Dans un premier temps, on regarde ce qui se passe le long de l'axe Ox. La quantité de matière Mx qui franchit une section S du parallélépipède est :
Modélisation
FN CRES
14
txCCS)z,y,x(KM 21
x ΔΔ−
=
txCS)z,y,x(KM x Δ∂∂
−= quand Δx → 0
Introduisons qx le flux, toujours selon l'axe Ox, par unité de surface d'échange :
xxx
x qtSMsoitxC)z,y,x(K
tSMq Δ=
∂∂
−=Δ
=
En faisant un bilan d'accumulation dans une tranche i, donc un bilan des flux entre les faces 1 et 2 :
Accumulation = Entrée – Sortie Accumulation = ( )2x1x qqtS −Δ
D'où la variation de concentration au sein de la tranche j :
( )2x1x qqxt
xSonAccumulatiC −
ΔΔ
=Δ×
=Δ
Où encore
xqq
xqq
tC 1x2x2x1x
Δ−
−=Δ−
=ΔΔ
En passant en notation différentielle quand Δx → 0 et Δt → 0 :
xq
tC x
∂∂
−=∂∂ avec
xC)z,y,x(Kq x ∂∂
−=
On procède de la même façon sur les axes Oy et Oz.
Le flux sur chacun des axes s'écrit : yC)z,y,x(Kq y ∂∂
−= et zC)z,y,x(Kq z ∂∂
−=
En présentation vectorielle, on a Cgrad).z,y,x(Kq −=
où q est un vecteur de coordonnées ( )zyx q,q,q
Cgrad⎯→⎯
est un vecteur de coordonnées ⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
∂∂
∂∂
zC;
yC;
xC
L'accumulation sur chacun des axes conduit à :
yq
tC y
∂
∂−=
∂∂ et
zq
tC z
∂∂
−=∂∂
La variation totale de concentration sur un volume infinitésimal sera la somme des variations selon les différents axes :
zq
yq
xq
tC zyx
∂∂
−∂
∂−
∂∂
−=∂∂
En notant )q(divr - lire divergent de q - la somme des dérivées premières :
zq
yq
xq
)q(div zyx
∂∂
+∂
∂+
∂∂
=r
Modélisation
FN CRES
15
( )Cgrad).z,y,x(Kdiv)q(divtC
−−=−=∂∂ r
C'est l'écriture générale de l'équation de la diffusion (sans convection, ni apport ou soutirage, ni cinétique) Remarque : si K est constant : K(x,y,z) = K, on a alors
( ) ( )CgraddivKCgraddivK)q(divtC
=−−=−=∂∂ r
C.K²x
C²²yC²
²xC²K
zC
zyC
yxC
xK
tC
Δ=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+∂∂
+∂∂
=⎟⎟⎠
⎞⎜⎜⎝
⎛⎟⎠⎞
⎜⎝⎛∂∂
∂∂
+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
∂∂
+⎟⎠⎞
⎜⎝⎛∂∂
∂∂
=∂∂
2.6.5. Autres problématiques Nous avons traité ici le cas d'un produit (dans de l'eau à priori) à travers sa concentration, mais la démarche peut bien sûr s'appliquer à toute variable : chaleur (c'est d'ailleurs dans ce cadre que l'équation de la diffusion fut tout d'abord établie ; on parle alors d'équation de Fourier) – la variable étudiée est alors la température –, volume d'eau "à surface libre" – la variable étudiée est alors la hauteur d'eau à travers un bilan des volumes d'eau – … Dans tous les cas, on arrive à des équations aux dérivées partielles (EDP), généralement d’ordre 2, c’est-à-dire qu’elles font intervenir les dérivées secondes.
Modélisation
FN CRES
16
3. CLASSIFICATION DES EQUATIONS AUX DERIVEES
PARTIELLES D’ORDRE 2 3.1. Classification par les coniques La classification des EDP peut être rapprochée de celle des coniques. C’est ce que nous allons faire. Soit l’équation d’une conique
ax² + 2bxy + cy² + dx + ey + f = 0 (a ≠ 0 et c ≠ 0) 3.1.1. Classification par discriminant et par valeurs propres Les directions asymptotiques sont obtenues quand on fait tendre les variables x et y vers l’infini. L’équation d’une conique est alors équivalente aux termes de plus haut degré :
ax² + 2bxy + cy² = 0 En posant y = mx, on obtient
ax² + 2bmx² + cm²x² = 0 cm² + 2bm + a = 0
C’est l’équation des directions asymptotiques. La nature d’une conique dépend du signe du discriminant Δ = 4b² - 4ac de cette équation : - si Δ > 0 : 2 directions asymptotiques réelles et distinctes ; la conique est une hyperbole - si Δ = 0 : 2 directions asymptotiques réelles et confondues ; la conique est une parabole - si Δ < 0 : pas de directions asymptotiques réelles; la conique est une ellipse Le signe de Δ est indépendant de tout changement d’axe : c’est une caractéristique intrinsèque de l’équation. L’équation des directions asymptotiques ax² + 2bxy + cy² = 0 peut se mettre sous la forme matricielle suivante :
[ ] 0yx
cbba
yx =⎥⎦
⎤⎢⎣
⎡⎥⎦
⎤⎢⎣
⎡ soit [ ] [ ] 0yxQyx T = où ⎥
⎦
⎤⎢⎣
⎡=
cbba
Q
Soit λ1 et λ2 les valeurs propres de Q. Ce sont les solutions de l’équation (a – λ)(c – λ) – b² = 0 On montre que la classification des coniques par discriminant est équivalente à : - si λ1 et λ2 sont non nulles et de signes différents ; la conique est une hyperbole - si λ1 ou λ2 sont nulles ; la conique est une parabole - si λ1 et λ2 sont non nulles et de même signe ; la conique est une ellipse 3.1.2. Application aux EDP d’ordre 2 Les propos précédents peuvent s’étendre directement aux équations aux dérivées partielles linéaires d'ordre 2.
Modélisation
FN CRES
17
Soit l’EDP linéaire générale à 2 variables :
0)yu,
xu,u,y,x(F
yuc
yxub
xua 2
22
2
2
=∂∂
∂∂
+∂∂
+∂∂
∂+
∂∂ où a, b et c sont des fonctions de x et y
On considère la matrice ⎥⎦
⎤⎢⎣
⎡=
cbba
Q et ses valeurs propres.
L’EDP est hyperbolique si les valeurs propres sont non nulles et de signes différents.
Par exemple, l’équation des ondes 2
2
2
2
2
2
2
22
tu
zu
yu
xuk
∂∂
=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+∂∂
+∂∂
L’EDP est parabolique si au moins une valeur propre est nulle.
Par exemple, l’équation de la diffusion tu
zu
yu
xuk 2
2
2
2
2
2
∂∂
=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+∂∂
+∂∂
L’EDP est elliptique si les valeurs propres sont non nulles et de même signe.
Par exemple, l’équation de Laplace 0zu
yu
xu
2
2
2
2
2
2
=∂∂
+∂∂
+∂∂
Remarque : dans la mesure où a, b et c dépendent de x et y, l’EDP peut être de type mixte. 3.2. Equation stationnaire et équation d’évolution On a vu que les équations hyperboliques et paraboliques avaient des directions asymptotiques réelles. Cela veut dire que l’une des variables peut tendre vers l’infini. Aussi, toute EDP physique hyperbolique ou parabolique fait intervenir le temps. On parle alors d’équations évolutives, car la solution de ces équations évolue en fonction du temps. A contrario, la solution d’une équation elliptique n’ayant pas de directions asymptotiques réelles, le temps ne peut pas y intervenir. On parle d’équations stationnaires.
Modélisation
FN CRES
18
4. RESOLUTION DES EDP - PRINCIPE DES METHODES
NUMERIQUES On aborde à partir de ce chapitre les méthodes de résolution des EDP. Celles-ci n’ont généralement pas de solutions exactes et on utilise donc des méthodes numériques. Les méthodes numériques s’intéressent à la recherche de valeurs de la fonction en des endroits particuliers. Autrement dit, on ne cherche pas l’écriture d’une fonction qui vérifie l’équation, mais par quelles valeurs passe la fonction en des abscisses particulières (c’est la méthode des différences finies), ou bien on recherche sur des éléments du domaine étudié l’écriture d’une fonction simple qui approxime au mieux la solution recherchée (c’est la méthode des éléments finis). Une fois ce travail fait, on a donc une « image graphique » de la solution. Nous allons étudier successivement ces 2 méthodes.
Modélisation
FN CRES
19
5. LA METHODE DES DIFFERENCES FINIES 5.1. Principe de la méthode Ce principe se décline en plusieurs étapes. a - Le domaine étudié est maillé. On parle de discrétisation du domaine. Exemple de maillage d’un domaine 1D. Ce maillage peut être régulier ou non, c’est-à-dire que le pas du maillage peut être constant ou non
Frontière
NoeudsPas du maillage
Exemple de maillage d’un domaine 2D (on n’en a représenté qu’une partie)
Frontière
Maillage
Noeuds
La méthode des différences finies recherche une solution aux nœuds du maillage. b – On discrétise également l’EDP, c’est-à-dire qu’on va écrire en chaque nœud une approximation algébrique de l’équation d’origine. c – On écrit autant d’équations algébriques qu’il y a de nœuds où on cherche une solution, ce qui conduit à écrire un système d’équations d – on résout ce système d’équations Nous traiterons différents exemples simples illustratifs de cette méthode.
Modélisation
FN CRES
20
5.2. Cas d’une EDP elliptique (stationnaire) 5.2.1. Cas de conditions de Dirichlet On considère un domaine carré, donc 2 dimensions d’espace (problème 2D), où on veut résoudre le problème suivant :
0yu
xu
2
2
2
2
=∂∂
+∂∂
(équation de Laplace) Les conditions limites sont de type Dirichlet, telles que décrites sur le schéma ci-contre, g1 et g2 étant 2 constantes quelconques.
0yu
xu
2
2
2
2
=∂∂
+∂∂
u = g2
u = g1 u = 0
u = 0 x
y
a – Discrétisation du domaine d’étude Le domaine d’étude comprend le domaine interne, noté Ω, et la frontière, notée Γ. On va créer un maillage relativement lâche (afin de limiter ensuite les écritures ; mais l’extension à plus de nœuds ne pose aucun problème) et régulier. Ce maillage introduit en tout 25 nœuds, dont 9 nœuds internes et 16 nœuds frontières. Cependant, les nœuds frontières ne constituent pas des valeurs à rechercher, puisque la valeur de la fonction y est connue (conditions de Dirichlet). Seuls les nœuds ici numérotés de 1 à 9 constituent donc les inconnues de notre problème, sachant que bien sûr, les conditions limites doivent intervenir dans la solution.
u = g2
u = g1 u = 0
u = 0 x
y
1 2 3
4 5 6
7 8 9
Ω
Γ
Le maillage étant régulier, on pose Δx = Δy = h Rappelons que la méthode des différences finies permet de trouver une valeur approchée de la
solution aux 9 nœuds, solution qui vérifie l’équation 0yu
xu
2
2
2
2
=∂∂
+∂∂
b – Discrétisation de l’équation Cette étape consiste à remplacer l’EDP par une équation algébrique approchée. Plusieurs approches sont possibles.
Modélisation
FN CRES
21
Approche graphique (plus pédagogique) On a déjà vu qu’on pouvait remplacer une dérivée par une équation. Considérons la courbe ci-
dessous et sa dérivée xu∂∂ au point d'abscisse x. Cette dérivée correspond à la tangente à la
courbe au point d'abscisse x. On note x = xi , x + Δx = xi + 1 et x - Δx = xi - 1
u(x) = ui , u(x + Δx) = ui + 1 et u(x - Δx) = ui - 1
On peut approximer cette tangente par la pente de la corde entre les points (xi ,ui) et (xi+1 ,ui+1).
Cette pente est égale à x
uu i1i
Δ−+ ;
plus Δx est petit, et plus l'approximation est valide.
Autrement dit, le terme x
uu i1i
Δ−+ est
une approximation de la dérivée
première ix
u⎟⎠⎞
⎜⎝⎛∂∂ à l'abscisse xi quand Δx→ 0.
Cette discrétisation de la dérivée première x
uuxu i1i
Δ−
≈∂∂ + est dite avant, ou à droite, ou
progressive, ou aval, car elle fait intervenir ui+1 à l’abscisse xi+1.
De la même façon, on peut approximer la dérivée première ix
u⎟⎠⎞
⎜⎝⎛∂∂ à l'abscisse xi par la pente
de la corde entre les points (xi ,ui) et (xi-1 ,ui-1) : xuu
xu 1ii
i Δ−
≈⎟⎠⎞
⎜⎝⎛∂∂ − quand Δx→ 0.
Cette discrétisation de la dérivée première xuu
xu 1ii
Δ−
≈∂∂ − est dite arrière, ou à gauche, ou
régressive, ou amont, car elle fait intervenir ui-1 à l’abscisse xi-1. On peut également approximer la dérivée première par la pente de la corde entre les abscisses
xi-1 et xi+1. On a alors x2uu
xu 1i1i
Δ−
≈∂∂ −+
Cette discrétisation de la dérivée première x2uu
xu 1i1i
Δ−
≈∂∂ −+ est dite centrée.
On peut maintenant avoir une approximation de la dérivée seconde en xi , en dérivant 2 fois par rapport à x, et en appliquant une fois une discrétisation avant, puis une discrétisation arrière :
ui
xxi xi +1 xi -1
Δx Δx
ui +1
u
tangente
Approximation de la tangente
ui -1
Modélisation
FN CRES
22
21ii1i
21ii
2i1i
i1i
i1i
ii2
2
xuu2u
xuu
xuu
xu
xxu
xxuu
xxu
xxu
Δ+−
=Δ−
−Δ−
=⎟⎠⎞
⎜⎝⎛Δ∂
∂−⎟
⎠⎞
⎜⎝⎛Δ∂
∂=⎟
⎠⎞
⎜⎝⎛
Δ−
∂∂
≈⎟⎠⎞
⎜⎝⎛∂∂
∂∂
=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂ +−−+
+
+
Cette discrétisation de la dérivée seconde 21ii1i
2
2
xuu2u
xu
Δ+−
≈∂∂ +− est dite centrée.
Approche analytique (plus rigoureuse) On peut arriver au même résultat en utilisant le développement de Taylor d’une fonction au voisinage d’un point.
...x
)x(u!4
xx
)x(u!3x
x)x(u
!2x
x)x(ux)x(u)xx(u 4
44
3
33
2
22
+∂
∂Δ+
∂∂Δ
+∂
∂Δ+
∂∂
Δ+=Δ+
ou encore ...x
)x(u!4
xx
)x(u!3x
x)x(u
!2x
x)x(ux)x(u)xx(u 4
44
3
33
2
22
+∂
∂Δ+
∂∂Δ
−∂
∂Δ+
∂∂
Δ−=Δ−
Remarque : les 3 points de suspension à la fin des expressions précédentes représentent une quantité que l'on néglige dans l'égalité quand Δx tend vers zéro. C'est-à-dire que ce terme « tend plus rapidement » vers zéro que le dernier terme de la série écrit. Cette quantité négligée est écrite sous forme d'une fonction o(Δxn) où n est alors appelé "ordre de développement". o(Δxn) se lit alors comme un "terme de l'ordre de Δxn".
Ex : )x(ox
)x(u!4
xx
)x(u!3
xx
)x(u!2
xx
)x(ux)x(u)xx(u 54
44
3
33
2
22
Δ+∂
∂Δ+
∂∂Δ
+∂
∂Δ+
∂∂
Δ+=Δ+
Plus l'ordre du terme négligé est élevé, et plus l'égalité écrite est "vrai", c'est-à-dire que plus le terme négligé est petit; donc mieux c'est ! En écrivant ces développements à l’ordre 1 :
)x(ox
)x(ux)x(u)xx(u 2Δ+∂
∂Δ+=Δ+
soit )x(ox
)x(u)xx(ux
)x(uΔ+
Δ−Δ+
=∂
∂ ; c’est le schéma de discrétisation avant.
)x(ox
)x(ux)x(u)xx(u 2Δ+∂
∂Δ−=Δ−
soit )x(ox
)xx(u)x(ux
)x(uΔ+
ΔΔ−−
=∂
∂ ; c’est le schéma de discrétisation arrière.
Pour le schéma centré :
)x(ox
)x(u!2
xx
)x(ux)x(u)xx(u 32
22
Δ+∂
∂Δ+
∂∂
Δ+=Δ+
)x(ox
)x(u!2
xx
)x(ux)x(u)xx(u 32
22
Δ+∂
∂Δ+
∂∂
Δ−=Δ−
Modélisation
FN CRES
23
en faisant la différence de ces 2 expressions :
)x(ox
)x(ux2)xx(u)xx(u 3Δ+∂
∂Δ=Δ−−Δ+
soit )x(ox2
)xx(u)xx(ux
)x(u 2Δ+Δ
Δ−−Δ+=
∂∂ ; schéma de discrétisation centré
Remarque : le schéma centré est meilleur que les 2 autres, puisque avec une erreur en o(Δx²) alors que les schémas avant et arrière ont une erreur en o(Δx).Ceci se visualise aisément par la méthode graphique reprise ci-dessous. On "voit" que quand Δx tend vers zéro, l'approximation de la tangente en schéma centré tend plus rapidement vers la bonne tangente qu'en schéma décentré.
ui
xxi xi +1
Δx
ui +1
u
tangente
Approximation de la tangente
ui
xxi xi +1 xi -1
Δx Δx
ui +1
u
tangente
Approximation de la tangente
ui -1
Schéma de discrétisation avant :
erreur en o(Δx) Schéma de discrétisation centré :
erreur en o(Δx²) Pour la dérivée seconde :
)x(ox
)x(u!3
xx
)x(u!2
xx
)x(ux)x(u)xx(u 43
33
2
22
Δ+∂
∂Δ+
∂∂Δ
+∂
∂Δ+=Δ+
)x(ox
)x(u!3
xx
)x(u!2
xx
)x(ux)x(u)xx(u 43
33
2
22
Δ+∂
∂Δ−
∂∂Δ
+∂
∂Δ−=Δ−
en faisant la somme de ces 2 expressions :
)x(ox
)x(ux)x(u2)xx(u)xx(u 42
22 Δ+
∂∂
Δ+=Δ−+Δ+
soit )x(ox
)xx(u)x(u2)xx(ux
)x(u 222
2
Δ+Δ
Δ−+−Δ+=
∂∂ ; schéma centré
En revenant à notre exemple et en notant u(x,y) = ui , j , u(x ± Δx , y) = ui ± 1 , j , u(x, y ± Δy) = ui , j ± 1 , u(x ± Δx , y ± Δy) = ui ± 1 , j ± 1 Par ailleurs, nous rappelons que le maillage est régulier : Δx = Δy = h
)h(oh
uu2uxu 2
2j,1ij,ij,1i
2
2
++−
=∂∂ +−
Modélisation
FN CRES
24
)h(oh
uu2uyu 2
21j,ij,i1j,i
2
2
++−
=∂∂ +−
En sommant ces 2 expressions
)h(oh
uu2uh
uu2uyu
xu 2
21j,ij,i1j,i
2j,1ij,ij,1i
2
2
2
2
++−
++−
=∂∂
+∂∂ +−+−
)h(oh
uuu4uuyu
xu 2
21j,ij,1ij,i1j,ij,1i
2
2
2
2
+++−+
=∂∂
+∂∂ ++−−
Comme l'équation à résoudre est 0yu
xu
2
2
2
2
=∂∂
+∂∂
0h
uuu4uu2
1j,ij,1ij,i1j,ij,1i =++−+ ++−− en négligeant l’écriture de o(h²)
soit 0uuu4uu 1j,ij,1ij,i1j,ij,1i =++−+ ++−−
Cette expression constitue donc une approximation de l’EDP écrite au nœud ui,j . C’est une relation entre 5 nœuds qui approxime l’EDP écrite au nœud ui,j. Calquée sur le maillage, on l’écrit sous forme graphique comme ci-dessous à droite où on représente les coefficients de chacun des nœuds :
Ui,j
Ui,j-1
Ui,j+1
Ui+1,j Ui-1,j
-4 1 1
1
1
Discrétisation de l'équation de Laplace
c – Ecriture du système d’équations On va maintenant écrire l’équation discrétisée en chacun des nœuds inconnus, ce qui va conduire à un système de 9 équations à 9 inconnues. Pour cela, on reprend la numérotation des 9 nœuds de 1 à 9 ; en effet, cela est moins laborieux que de travailler en double coordonnées (i,j).
Modélisation
FN CRES
25
u = g2
u = g1u = 0
u = 0 x
y
1 2 3
4 5 6
7 8 9
nœud 1 : 0uuu4 421 =++− les nœuds à gauche et en bas correspondent aux conditions de Dirichlet nulles nœud 2 : 0uuu4u 5321 =++− nœud 3 : 0ugu4u 6132 =++− le nœud à droite correspond à la condition de Dirichlet égale à g1
nœud 4 : 0uuu4u 7541 =++− nœud 5 : 0uuu4uu 86524 =++−+ nœud 6 : 0ugu4uu 91635 =++−+ nœud 7 : 0guu4u 2874 =++− nœud 8 : 0guu4uu 29857 =++−+ nœud 9 : 0ggu4uu 21968 =++−+
On représente généralement ce système d’équations sous forme matricielle, ce qui permet de bien choisir ensuite la méthode de résolution qui sera adoptée. Ici, la première ligne sert à bien repérer les colonnes, sachant que l’absence d’une valeur dans la matrice carrée correspond à zéro.
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−−
−
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−−
−−
−−
−
21
2
2
1
1
9
8
7
6
5
4
3
2
1
987654321
ggggg00g00
uuuuuuuuu
4111411
1411411
114111141
1411141
114uuuuuuuuu
d – Résolution du système d’équations Nous renvoyons le lecteur aux méthodes numériques de résolution d’un tel système (dernier chapitre). Nous l’avons résolu avec Excel dans l’application numérique suivante : le carré fait 1 mètre de coté (donc h=0.25m) et avec g1 = 1 , g2 = 2. Nous obtenons l’image suivante de la solution :
Modélisation
FN CRES
26
u = 2
u = 1 u = 0
u = 0 x
y
0.15 0.34 0.55
0.25 0.67 0.87
0.86 1.20 1.27
Un maillage plus fin permettrait d’obtenir une meilleure précision (mais avec plus d’équations à résoudre et au détriment de l’approche pédagogique). 5.2.2. Cas de conditions de Neumann homogènes On considère le même problème que précédemment : un domaine carré, donc 2 dimensions d’espace, où on veut résoudre
le problème suivant : 0yu
xu
2
2
2
2
=∂∂
+∂∂
Les conditions limites sont de type Dirichlet à droite et à gauche, telles que décrites sur le schéma ci-contre, et de type Neumann homogène (c'est-à-dire nulle) en haut et en bas.
0yu
xu
2
2
2
2
=∂∂
+∂∂
0yu=
∂∂
u = g2 u = g1
0yu=
∂∂ x
y
a – Discrétisation du domaine d’étude
Modélisation
FN CRES
27
Afin de limiter le nombre d’équations à écrire, on adopte le maillage suivant du dessin de droite. Les nœuds inconnus y sont numérotés de 1 à 8. S’il n’y a pas de problème pour les nœuds internes 3 à 6, on peut légitimement s’interroger sur les nœuds frontières 1, 2 et 7, 8. En effet, la valeur de la dérivée est connue en ces nœuds, mais en aucun cas la valeur de la fonction. Ce sont donc bien des nœuds inconnus.
0yu=
∂∂
u = g2 u = g1
0yu=
∂∂ x
y
1 2
3 4
5 6
7 8
b – Discrétisation de l’équation On a exactement la même équation que précédemment ; elle peut être approximée par l’expression 0uuu4uu 1j,ij,1ij,i1j,ij,1i =++−+ ++−− écrite au nœud inconnu ui,j
Ceci introduit une difficulté aux nœuds frontières puisque cette discrétisation de l’équation introduit à chaque fois un nœud en dehors du domaine d’étude, qu’on appelle « nœud fictif ».
Ui,j
Ui,j-1
Ui,j+1
Ui+1,j Ui-1,j
Frontière inférieure
Nœud fictif
Ω
Ui,j
Ui,j-1
Ui,j+1
Ui+1,j Ui-1,j
Frontière supérieure
Nœud fictif
Ω
Cas de la frontière inférieure Cas de la frontière supérieure Pour éliminer les nœuds fictifs de la discrétisation, il suffit de prendre en compte la condition de flux sur la frontière en question. Prenons l'exemple du nœud n°1 et nommons le nœud fictif 3'.
• La discrétisation de l'équation au nœud 1 donne : 0uuu4ug 321'31 =++−+
• La discrétisation centrée de la condition de flux au nœud 1 s'écrit :
0h2uu
yu '33 =
−≈
∂∂ ce qui implique que u3' = u3
On remplace u3' dans la discrétisation de l'équation
0uuu4ug 32131 =++−+ soit 0u2uu4g 3211 =++−
Ceci qui permet d'éliminer le nœud fictif de l'équation écrite au nœud 1.
Modélisation
FN CRES
28
Remarquons que cette discrétisation vérifie simultanément l'équation et la condition limite. On obtient donc 3 formes différentes de discrétisation selon la position du nœud :
Nœuds de la frontière supérieure
-4 1 1
2
Nœuds internes
-4 11
1
1
Nœuds de la frontière inférieure
-4 11
2
c – Ecriture du système d’équations
0yu=
∂∂
u = g2 u = g1
0yu=
∂∂ x
y
1 2
3 4
5 6
7 8
Nœud 1 : 0u2uu4g 3211 =++− Nœud 2 : 0u2gu4u 4221 =++− Nœud 3 : 0uuu4ug 54311 =++−+ Nœud 4 : 0ugu4uu 62423 =++−+ Nœud 5 : 0uuu4ug 76531 =++−+ Nœud 6 : 0ugu4uu 82645 =++−+ Nœud 7 : 0uu4u2g 8751 =+−+ Nœud 8 : 0gu4u2u 2867 =+−+
La mise sous forme matricielle donne :
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−−−−−
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−−
−−
−−
2
1
2
1
2
1
2
1
8
7
6
5
4
3
2
1
87654321
gggggggg
uuuuuuuu
4121421411
11411411
1141241
214uuuuuuuu
d – Résolution du système d’équations
Modélisation
FN CRES
29
En prenant g1 = 1 et g2 = 2 dans un domaine carré de 1 mètre de côté, nous obtenons l'image suivante de la solution :
u = 2 u = 1
x
y 1.33
1.33
1.33
1.33
1.67
1.67
1.67
1.67
La solution dans cet exemple est un plan entre les valeurs 1 et 2 selon Ox. Ce qui vérifie parfaitement l'équation à résoudre (toutes les dérivées secondes sont nulles, donc leur somme est nulle) et les dérivées premières en y sont nulles. 5.2.3. Cas de conditions de Neumann non homogènes Il n'y a pas de difficulté particulière, il suffit de suivre la méthode en intégrant la condition de flux non homogène au niveau de la discrétisation. Prenons comme exemple des conditions de flux égales à f1 à la frontière supérieure et f2 à la frontière inférieure.
1fyu=
∂∂
u = g2 u = g1
2fyu=
∂∂ x
y
1 2
3 4
5 6
7 8
a – Discrétisation du domaine d’étude Cette étape est strictement identique à la précédente b – Discrétisation de l’équation On a exactement la même équation que précédemment ; elle peut être approximée par l’expression 0uuu4uu 1j,ij,1ij,i1j,ij,1i =++−+ ++−− écrite au nœud inconnu ui,j
Modélisation
FN CRES
30
Comme auparavant, des nœuds fictifs apparaissent; on discrétise donc la condition de flux. Prenons l'exemple du nœud n°1 et nommons le nœud fictif 3'.
• La discrétisation de l'équation au nœud 1 donne : 0uuu4ug 321'31 =++−+
• La discrétisation centrée de la condition de flux au nœud 1 s'écrit :
2'33 f
h2uu
yu
=−
≈∂∂ ce qui implique que 23'3 hf2uu −=
On remplace u3' dans la discrétisation de l'équation
0uuu4hf2ug 321231 =++−−+ soit 0u2uu4hf2g 32121 =++−− c – Ecriture du système d’équations
1fyu=
∂∂
u = g2 u = g1
2fyu=
∂∂ x
y
1 2
3 4
5 6
7 8
Nœud 1 : 23211 hf2u2uu4g =++− Nœud 2 : 24221 hf2u2gu4u =++− Nœud 3 : 0uuu4ug 54311 =++−+ Nœud 4 : 0ugu4uu 62423 =++−+ Nœud 5 : 0uuu4ug 76531 =++−+ Nœud 6 : 0ugu4uu 82645 =++−+ Nœud 7 : 18751 hf2uu4u2g −=+−+ Nœud 8 : 12867 hf2gu4u2u −=+−+
La mise sous forme matricielle donne :
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−
−−−−−−
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−
−−
−−
−−
21
11
2
1
2
1
22
12
8
7
6
5
4
3
2
1
87654321
ghf2ghf2
gggg
ghf2ghf2
uuuuuuuu
4121421411
11411411
1141241
214uuuuuuuu
Modélisation
FN CRES
31
5.3. Notions sur les erreurs de la méthode 5.3.1. Présentation Soit une équation aux dérivées partielles en u notée L(u) = g où L est un opérateur
différentiel. Par exemple, dans l’équation de Laplace, L est l’opérateur 2
2
2
2
yx ∂∂
+∂∂ , et L(u) = 0
est alors l’équation 0yu
xu
2
2
2
2
=∂∂
+∂∂
On peut alors formaliser l’équation discrétisée sous la forme LΔ(u) = g où Δ est symboliquement le pas de discrétisation et LΔ un opérateur algébrique. La solution obtenue par la méthode des différences finies peut alors se noter uΔ , c’est-à-dire l’approximation de u avec le pas de discrétisation Δ.
LΔ(u)
L(u)
uΔ
u
Discrétisation
Résolution Ce que l’on cherche
Représentativité
On peut étudier les erreurs au niveau des différentes étapes de ce schéma (de A. Le Pouriet)
a) La discrétisation est liée à la notion de consistance (ou de cohérence). Un schéma de discrétisation consistant est un schéma qui représente bien l’équation d’origine.
b) La résolution des équations obtenues est liée à la notion de stabilité de la solution.
Une solution uΔ stable doit vérifier le problème LΔ(u) = g
c) La représentativité de uΔ est liée à la notion de convergence. uΔ doit être une approximation convenable de u.
d)
LΔ(u)
L(u)
uΔ
u
Discrétisation
Résolution
Représentativité
Consistance
Stabilité
Convergence
Modélisation
FN CRES
32
5.3.2. La consistance On appelle « erreur de troncature » la quantité
RΔ(u) = LΔ(u) – L(u) c’est-à-dire concrètement la différence entre le schéma discrétisé et l’équation d’origine.
LΔ(u) est dit consistant si RΔ(u) 0 quand Δ 0
Reprenons l’exemple précédent en posant L(u) = 2
2
2
2
yu
xu
∂∂
+∂∂ et étudions la consistance.
L’opérateur différentiel "dérivée seconde par rapport à une variable z" peut se symboliser par
2
2
Z zL
∂∂
= et l’équation peut alors se représenter par :
2
2
2
2
YX yu
xu)u(L)u(L)u(L
∂∂
+∂∂
=+=
Le développement de Taylor au voisinage de x s’écrit :
...xu
!4x
xu
!3x
xu
!2x
xux)y,x(u)y,xx(u 4
44
3
33
2
22
+∂∂Δ
+∂∂Δ
±∂∂Δ
+∂∂
Δ±=Δ±
On en déduit :
...xu
12x
xux)y,x(u2)y,xx(u)y,xx(u 4
44
2
22 +
∂∂Δ
+∂∂
Δ+=Δ−+Δ+
...xu
12x
xu
x)y,xx(u)y,x(u2)y,xx(u
4
42
2
2
2 +∂∂Δ
=∂∂
−Δ
Δ−+−Δ+
44 344 213214444444 34444444 21
)u(R)u(L)u(L xxx ΔΔ =−
De la même façon, le développement de Taylor au voisinage de y s’écrit :
...yu
!4y
yu
!3y
yu
!2y
yuy)y,x(u)yy,x(u 4
44
3
33
2
22
+∂∂Δ
+∂∂Δ
±∂∂Δ
+∂∂
Δ±=Δ±
On aboutit à :
...yu
12y
yu
y)yy,x(u)y,x(u2)yy,x(u
4
42
2
2
2 +∂∂Δ
=∂∂
−Δ
Δ−+−Δ+
44 344 213214444444 34444444 21
)u(R)u(L)u(L yyy ΔΔ =−
On peut sommer les 2 expressions du dessus : )u(R)u(R)u(R)u(L)u(L)u(L)u(L)u(L)u(L yxyxyx ΔΔΔΔΔΔ =+=−=−−+
L’erreur de troncature totale est donc ...yu
12y
xu
12x)u(R 4
42
4
42
+∂∂Δ
+∂∂Δ
=Δ
Cette quantité tend vers 0 quand Δx et Δy tendent vers 0. Le schéma de discrétisation est donc consistant.
Modélisation
FN CRES
33
5.3.3. La stabilité Cette notion concerne les résolutions des systèmes d’équations pour lesquels on est souvent amené à mettre en œuvre des algorithmes itératifs. La stabilité peut se résumer à dire qu’une erreur d’arrondi (ou une perturbation numérique) ne doit pas s’amplifier au cours des calculs. On peut imager cette notion de stabilité avec une bille et un bol. On retourne le bol et on pose la bille en équilibre. La moindre perturbation de la bille va entraîner sa chute. C’est un système instable (la perturbation s’amplifie)
A contrario, on met le bol à l’endroit et la bille au fond. Une perturbation de la bille va entraîner une oscillation de celle-ci au fond du bol, mais elle va revenir à un état d’équilibre. C’est un système stable.
L’étude mathématique de la stabilité est assez complexe et elle n'est pas développée ici. Un exemple de résolution est proposé dans les exercices illustrant l'instabilité d'un schéma numérique. 5.3.4. La convergence Le théorème de Lax dit que s'il y a consistance et stabilité, alors il y a convergence. Autrement dit, un schéma de discrétisation consistant et une méthode de résolution stable conduisent à une solution qui est une bonne image de la solution recherchée. Dans la méthode des différences finies, les discrétisations vues jusqu'à maintenant (les plus classiques) sont consistantes. Aussi, on s'attachera à préciser uniquement les conditions de stabilité pour vérifier la convergence. 5.4. Cas d’une EDP parabolique (évolutive) 5.4.1. Position du problème et méthode
Nous allons étudier l’exemple de l’équation de la diffusion 1D : 2
2
xua
tu
∂∂
=∂∂
La différence fondamentale par rapport au problème précédent est l’introduction du temps dans l’équation. Supposons qu’on travaille entre 0 et L en Ox, on obtient un domaine non borné en temps si on cherche à dessiner le domaine où on doit résoudre l’équation.
0 L
x t0
t
Ω
En effet, on commence à étudier le phénomène à t = t0 , mais il n’y a pas de frontière pour t > 0 (en tous cas, on ne peut pas écrire de condition limite à un temps t1 > t0 car cela n’a pas
Modélisation
FN CRES
34
de sens physique : cela voudrait dire que quelque chose qui se passe dans l’avenir influence quelque chose qui se situe dans le passé – c’est de la science fiction ! – ) Dans un tel cas, le principe de la méthode consiste, connaissant la solution à un pas de temps ti à calculer la solution au pas de temps ti+1 , puis connaissant cette solution à ti+1, on calcule celle à ti+2 et ainsi de suite jusqu’au moment où on décide d’arrêter les calculs. On procède donc pas de temps par pas de temps, la première itération se faisant à partir de la condition initiale (à t0).
0 L
x t0
t Ω
ti
ti+1 Calcul de la solution à ti+1
ti+2 Calcul de la solution à ti+2
5.4.2. Les schémas types On va considérer des conditions limites de type Dirichlet (des conditions de flux ne posant pas de problème particulier en introduisant des nœuds fictifs). On pose la condition limite à gauche = g1 et celle de droite = g2. On rappelle qu’on a aussi une condition initiale à t = t0 et sans ces conditions limites et initiale, le problème physique n’a pas de solution. 5.4.2.1 Discrétisation du domaine d’étude Le domaine est discrétisé de façon classique en espace et en temps. Nous avons représenté ci-contre une partie du maillage qui peut être régulier ou non en temps et en espace ; pour simplifier les écritures, nous le prendrons régulier en temps et régulier en espace.
0 L
x t0
t
x x+Δx x-Δx
t
t+Δt
u = g1 u = g2
5.4.2.2 Discrétisation de l’équation Nous allons considérer 3 cas pour discrétiser l’équation. Cas 1
22
2
x)t,xx(u)t,x(u2)t,xx(u
xu
ΔΔ++−Δ−
=∂∂
t)t(u)tt,x(u
tu
Δ−Δ+
=∂∂
La somme de ces 2 termes de l’EDP à partir de ces 2 discrétisations introduit une équation qui relie 4 nœuds du maillage. Cette équation permet de calculer ce qui se passe à l’instant t + Δt en fonction de l’instant t de façon explicite.
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
Schéma explicite
Modélisation
FN CRES
35
En écrivant cette équation aux n nœuds inconnus du temps t + Δt, on obtient ce qui se passe à cet instant de façon simple (n équations, chacune à 1 inconnue). On parle d’un schéma explicite car on peut connaître la solution en 1 nœud à t + Δt indépendamment des autres nœuds à t + Δt. La condition initiale fournira la première ligne (à t = t0) pour pouvoir démarrer les calculs. Cas 2
22
2
x)tt,xx(u)tt,x(u2)tt,xx(u
xu
ΔΔ+Δ++Δ+−Δ+Δ−
=∂∂ (il n’y a aucun problème à écrire la
discrétisation de la dérivée en espace à l’instant t + Δt)
t)t(u)tt,x(u
tu
Δ−Δ+
=∂∂
La somme de ces 2 termes de l’EDP à partir de ces 2 discrétisations introduit une équation qui relie toujours 4 nœuds du maillage. Cette équation ne permet pas de calculer directement comme précédemment ce qui se passe à l’instant t + Δt en fonction de l’instant t puisqu’elle relie 3 nœuds inconnues.
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
Schéma implicite
Il faut donc écrire le système de n équations, chacune à 3 inconnues, et le résoudre, ce qui est plus complexe que le schéma explicite. On parle ici d’un schéma implicite dans la mesure où la solution n’est connue qu’à travers ce système d’équations (on ne peut pas calculer la solution en 1 nœud sans connaître toute la solution au temps t + Δt). La condition initiale fournira la première ligne (à t = t0) pour pouvoir démarrer les calculs. Cas 3
22
2
x)t,xx(u)t,x(u2)t,xx(u
xu
ΔΔ++−Δ−
=∂∂
t2)tt,x(u)tt,x(u
tu
ΔΔ−−Δ+
=∂∂
La somme de ces 2 termes de l’EDP à partir de ces 2 discrétisations introduit une équation qui relie 5 nœuds du maillage. Cette équation permet de calculer ce qui se passe à l’instant t + Δt en fonction de l’instant t et t - Δt de façon explicite.
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
Schéma explicite à 2 pas
t-Δt
On parle d’un schéma explicite à 2 pas. Cependant, elle nécessite de connaître 2 pas de temps successifs pour démarrer les calculs, or seul un pas de temps est connu avec la condition initiale. Il faut donc faire une hypothèse sur le premier pas de temps t1, ou bien démarrer les calculs par un des deux schémas précédents pour connaître les instants t0 et t1.
Modélisation
FN CRES
36
Nous allons maintenant détailler ces 3 schémas. 5.4.3. Le schéma explicite Ecrivons l’équation obtenue à partir des discrétisations retenues :
22
2
x)t,xx(u)t,x(u2)t,xx(u
xu
ΔΔ++−Δ−
=∂∂ ;
t)t,x(u)tt,x(u
tu
Δ−Δ+
=∂∂
cela donne 2x)t,xx(u)t,x(u2)t,xx(ua
t)t,x(u)tt,x(u
ΔΔ++−Δ−
=Δ−Δ+
soit en mettant les termes inconnus à gauche et les termes connus à droite
( ))t,xx(u)t,x(u2)t,xx(uxta)t,x(u)tt,x(u 2 Δ++−Δ−
ΔΔ
+=Δ+
en posant 2xtar
ΔΔ
=
( ))t,xx(u)t,x(u2)t,xx(ur)t,x(u)tt,x(u Δ++−Δ−+=Δ+ On peut aussi écrire cette équation sous la forme
0)t,xx(ru)t,xx(ru)t,x(u)r21()tt,x(u =Δ+−Δ−−+−+Δ+ Calqué sur la discrétisation du domaine, on obtient l’image de l’équation
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
-1+2r
1
-r -r
Schéma explicite Ce schéma est extrêmement simple à mettre en œuvre. Mais on montre qu’il est
conditionnellement stable, à savoir il faut respecter 21
xtasoit
21r 2 ≤
ΔΔ
≤ . On a donc
une contrainte sur le choix des pas de temps et d’espace qui se traduit généralement par des pas de temps très petits une fois le pas d'espace choisi. On montre que pour r =1/6, l'erreur de troncature est minimalisée. 5.4.4. Le schéma implicite Ecrivons l’équation obtenue à partir des discrétisations retenues :
22
2
x)tt,xx(u)tt,x(u2)tt,xx(u
xu
ΔΔ+Δ++Δ+−Δ+Δ−
=∂∂ ;
t)t,x(u)tt,x(u
tu
Δ−Δ+
=∂∂
cela donne 2x)tt,xx(u)tt,x(u2)tt,xx(ua
t)t,x(u)tt,x(u
ΔΔ+Δ++Δ+−Δ+Δ−
=Δ
−Δ+
Modélisation
FN CRES
37
( ))tt,xx(u)tt,x(u2)tt,xx(uxta)t,x(u)tt,x(u 2 Δ+Δ++Δ+−Δ+Δ−
ΔΔ
=−Δ+
en posant 2xtar
ΔΔ
= et en mettant les termes inconnus à gauche et les termes connus à droite
)t,x(u)tt,xx(ru)tt,x(u)r21()tt,xx(ru =Δ+Δ+−Δ+++Δ+Δ−− On peut aussi écrire cette équation sous la forme 0)t,x(u)tt,xx(ru)tt,x(u)r21()tt,xx(ru =−Δ+Δ+−Δ+++Δ+Δ−− Calqué sur la discrétisation du domaine, on obtient l’image de l’équation
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
1+2r
-1
-r -r
Schéma implicite
Il faut donc écrire cette équation en chaque nœud inconnu. On a à résoudre ensuite ce système d’équations. Supposons que la dimension d’espace entre 0 et L soit divisée en N nœuds. Par ailleurs, les nœuds marqués d’un carré noir sont connus :
- la condition initiale à t = 0 - les conditions limites à x = 0 et x = L (conditions de Dirichlet)
0
x
t
0
2
1 2 3 N N-1 N-2 i-1 i i+1
1
u = g1 u = g2
On écrit donc les équations sur une ligne quelconque au temps t en fonction de la ligne du dessous au temps t - Δt et en mettant les termes inconnus à gauche et les termes connus à droite. On notera le nœud à l’abscisse i et au temps t : t
iu
nœud 0 : ce nœud est connu, on n’écrit donc pas d’équation (il est intégré dans l’équation suivante) nœud 1 : t
11t
21t
11t
0 uruu)r21(ru =−++− +++ or 11t
0 gu =+ d’où 1
t1
1t2
1t1 rguruu)r21( +=−+ ++
Modélisation
FN CRES
38
nœud 2 : t2
1t3
1t2
1t1 uruu)r21(ru =−++− +++
nœud 3 : t3
1t4
1t3
1t2 uruu)r21(ru =−++− +++
….. nœud i : t
i1t1i
1ti
1t1i uruu)r21(ru =−++− +
+++
− ….. nœud N-2 : t
2N1t1N
1t2N
1t3N uruu)r21(ru −
+−
+−
+− =−++−
nœud N-1 : t1N
1tN
1t1N
1t2N uruu)r21(ru −
++−
+− =−++− or 2
1tN gu =+ d’où
2t
1N1t
N1t1N rguruu)r21( +=−+ −
++−
nœud N : ce nœud est connu, on n’écrit donc pas d’équation (il est intégré dans l’équation précédente)
On peut mettre ces équations sous forme matricielle.
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
+
+
=
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
+−−+−
−+−
−+−−+−
−+
−
−+−
+−
+
+
+
+
+−
+−
++++
2t
1N
t2N
ti
t3
t2
1t1
1t1N
1t2N
1ti
1t3
1t2
1t1
1t1N
1t2N
1ti
1t3
1t2
1t1
rguu
...u...uu
rgu
uu
...u...
uuu
r21rrr21r
.........rr21r
.........rr21r
rr21rrr21
uuuuuu
Nous avons un système tri diagonal qui peut se résoudre par l’algorithme du double balayage (voir le dernier chapitre). On montre que le schéma implicite est inconditionnellement stable, quelque soit la valeur de r, donc des pas d’espace et de temps. 5.4.5. Le schéma explicite à 2 pas On n’insistera pas sur ce schéma car on montre qu’il est toujours instable. 5.4.6. Le schéma pondéré Il est intéressant d’écrire un schéma de type particulier qu’on peut qualifier de schéma mixte explicite – implicite ou schéma pondéré. Nous reprendrons la notation précédente de la forme t
iu
La dérivée en temps s'écrit t
uutu t
i1t
i
Δ−
=∂∂ +
Ecrivons la dérivée seconde par rapport à x aux 2 instants t et t+1.
Modélisation
FN CRES
39
2
t1i
ti
t1i
t
i2
2
xuu2u
xu
Δ+−
=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂ +− ; 2
1t1i
1ti
1t1i
1t
i2
2
xuu2u
xu
Δ+−
=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂ +
+++
−
+
Et la dérivée qu'on va utiliser à une abscisse i quelconque comme une moyenne pondérée par un coefficient α des 2 expressions précédentes :
t
i2
21t
i2
2
i2
2
xu)1(
xu
xu
⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
α−+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
α=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+
avec 0 ≤ α ≤ 1
L'EDP que l'on cherche à résoudre se discrétise comme ci-dessous :
⎟⎟⎠
⎞⎜⎜⎝
⎛Δ
+−α−+
Δ+−
α=Δ− +−
++
++−
+
2
t1i
ti
t1i
2
1t1i
1ti
1t1i
ti
1ti
xuu2u)1(
xuu2ua
tuu
En posant 2xtar
ΔΔ
=
( ) ( ) ( ) 0uu2u)1(ruu2uruu t1i
ti
t1i
1t1i
1ti
1t1i
ti
1ti =+−α−−+−α−− +−
++
++−
+ On obtient un schéma à 6 points
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
1+ 2rα
-1+2r(1-α)
-rα -rα
-r(1-α) -r(1-α)
Schéma pondéré L'étude de la stabilité de ce schéma pondéré montre que :
• Pour 0 ≤ α < 21 , ce schéma est stable à condition d'avoir
)21(21rα−
≤
• Pour 21 ≤ α ≤ 1, ce schéma est toujours stable
On peut retrouver les cas précédents selon la valeur de α :
• α = 0 : on retrouve le schéma explicite précédent. • α = 1 : on retrouve le schéma implicite précédent; on parle de schéma implicite pur
car il n'y a qu'un seul nœud au temps t + 1.
Enfin, la valeur de 21
=α est particulière; elle conduit au schéma appelé Crank-Nicholson qui
est stable sans condition, et dont l'erreur de troncature est la plus faible possible parmi toutes les valeurs de α possibles.
Modélisation
FN CRES
40
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
1+ r
-1 + r
-r / 2 -r / 2
-r / 2 -r / 2
Schéma de Crank-Nicholson Ce schéma est très utilisé. 5.4.7. Cas d'un schéma explicite stable Ce schéma est présenté ici afin de montrer au lecteur que les possibilités sont nombreuses en différences finies pour discrétiser une EDP. Il s'agit du schéma de Durfort-Frankel. Les différents termes de l'équation de la diffusion sont ainsi discrétisés :
2
t1i
1ti
1ti
t1i
2
2
xuuuu
xu
Δ+−−
=∂∂ +
−+−
t2uu
tu 1t
i1t
i
Δ−
=∂∂ −+
Ce qui donne :
2
t1i
1ti
1ti
t1i
1ti
1ti
xuuuua
t2uu
Δ+−−
=Δ− +
−+−
−+
Ce schéma est toujours stable mais il n'est consistant que si Δt est très inférieur à Δx (on a
l'erreur de troncature 2
2
xta)u(R
ΔΔ
≈Δ ). On parle alors de consistance conditionnelle. Ceci se
produit généralement quand on a une discrétisation dite croisée, c'est-à-dire que la discrétisation par rapport à une variable fait intervenir plusieurs niveaux d'une autre variable. 5.4.8. Cas d'un problème parabolique 2D
On va reprendre l'équation de la diffusion, mais à 2 dimensions d'espace ⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+∂∂
=∂∂
2
2
2
2
yu
xua
tu
Nous n'allons pas reprendre tous les calculs ici, mais simplement indiquer les discrétisations utilisées et à quelle forme d'équation on aboutit. Schéma explicite
tuu
tu t
i1t
i
Δ−
=∂∂ +
; 2
tj,1i
tj,i
tj,1i
2
2
xuu2u
xu
Δ
+−=
∂∂ +− ; 2
t1j,i
tj,i
t1j,i
2
2
yuu2u
yu
Δ
+−=
∂∂ +−
Schéma implicite pur
tuu
tu t
i1t
i
Δ−
=∂∂ +
; 2
1tj,1i
1tj,i
1tj,1i
2
2
xuu2u
xu
Δ
+−=
∂∂ +
+++
− ; 2
1t1j,i
1tj,i
1t1j,i
2
2
yuu2u
yu
Δ
+−=
∂∂ +
+++
−
Modélisation
FN CRES
41
Schéma pondéré
t
uutu t
i1t
i
Δ−
=∂∂ +
;
2
tj,1i
tj,i
tj,1i
2
1tj,1i
1tj,i
1tj,1i
2
2
xuu2u
)1(x
uu2uxu
Δ
+−α−+
Δ
+−α=
∂∂ +−
++
++− avec 0 ≤ α ≤ 1
2
t1j,i
tj,i
t1j,i
2
1t1j,i
1tj,i
1t1j,i
2
2
yuu2u
)1(y
uu2uyu
Δ
+−α−+
Δ
+−α=
∂∂ +−
++
++− avec 0 ≤ α ≤ 1
Les nœuds concernés par chaque schéma sont indiqués ci-dessous.
x t
t+Δt
y
Schéma explicite pur
Schéma implicite pur
Schéma Pondéré
α
(1 - α)
En posant 2x xtar
ΔΔ
= et 2y ytar
ΔΔ
=
• Pour 0 ≤ α < 21 , ce schéma est stable à condition d'avoir
)21(21rr yx α−
≤+
• Pour 21 ≤ α ≤ 1, ce schéma est toujours stable
Par ailleurs : • α = 0 : on retrouve le schéma explicite pur. • α = 1 : on retrouve le schéma implicite pur.
• α =21 : c'est le schéma de Crank-Nicholson.
5.5. Cas d'une EDP hyperbolique (évolutive) Nous allons prendre comme exemple l'équation dite de convection 0
xuc
tu
=∂∂
+∂∂ .
Elle correspond par exemple à un transport de contaminant en rivière sans diffusion où c est la vitesse de l'eau et peut s'établir facilement en établissant un bilan de polluant comme au début de ce cours.
Modélisation
FN CRES
42
5.5.1. Schémas explicites
La dérivée par rapport au temps est toujours discrétisée selon le schéma t
uutu t
i1t
i
Δ−
=∂∂ +
.
Il y a ensuite différents cas selon la façon de discrétiser la dérivée en espace.
• xuu
xu t
1iti
Δ−
=∂∂ −
Ce qui conduit à l'équation discrétisée 0xuuc
tuu t
1iti
ti
1ti =
Δ−
+Δ− −
+
En posant xtcr
ΔΔ
= , nous avons ( ) 0uuruu t1i
ti
ti
1ti =−+− −+ .
Le schéma obtenu est nommé explicite décentré amont
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
1
r - 1 -r
Schéma explicite décentré amont Ce schéma est stable si c > 0 et r ≤ 1, instable si c < 0
• x
uuxu t
it
1i
Δ−
=∂∂ +
Ce qui conduit à l'équation discrétisée 0x
uuct
uu ti
t1i
ti
1ti =
Δ−
+Δ− +
+
En posant xtcr
ΔΔ
= , nous avons ( ) 0uuruu ti
t1i
ti
1ti =−+− ++ .
Le schéma obtenu est nommé explicite décentré aval
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
1
- r - 1 r
Schéma explicite décentré aval Ce schéma est stable si c < 0 et r ≤ 1, instable si C > 0
Modélisation
FN CRES
43
• x2uu
xu t
1it
1i
Δ−
=∂∂ −+
Ce qui conduit à l'équation discrétisée 0x2uuc
tuu t
1it
1iti
1ti =
Δ−
+Δ− ++
+
En posant xtcr
ΔΔ
= , nous avons ( ) 0uuruu t1i
t1i
ti
1ti =−+− −++ .
Le schéma obtenu est nommé explicite centré
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
1
-1 r/2 -r/2
Schéma explicite centré Ce schéma est toujours instable 5.5.2. Schémas implicites
La dérivée par rapport au temps est toujours discrétisée selon le schéma t
uutu t
i1t
i
Δ−
=∂∂ +
.
Il y a ensuite différents cas selon la façon de discrétiser la dérivée en espace.
• xuu
xu 1t
1i1t
i
Δ−
=∂∂ +
−+
Ce qui conduit à l'équation discrétisée 0xuuc
tuu 1t
1i1t
iti
1ti =
Δ−
+Δ− +
−++
En posant xtcr
ΔΔ
= , nous avons ( ) 0uuruu 1t1i
1ti
ti
1ti =−+− +
−++ .
Le schéma obtenu est nommé implicite décentré amont
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
-1
r + 1 -r
Schéma implicite décentré amont Ce schéma est stable si c > 0 , instable si c < 0
Modélisation
FN CRES
44
• xuu
xu 1t
i1t1i
Δ−
=∂∂ ++
+
Ce qui conduit à l'équation discrétisée 0xuuc
tuu 1t
i1t1i
ti
1ti =
Δ−
+Δ− ++
++
En posant xtcr
ΔΔ
= , nous avons ( ) 0uuruu 1ti
1t1i
ti
1ti =−+− ++
++ .
Le schéma obtenu est nommé implicite décentré aval
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
1 - r
- 1
r
Schéma implicite décentré aval Ce schéma est stable si c < 0, instable si c > 0
• x2uu
xu 1t
1i1t1i
Δ−
=∂∂ +
−++
Ce qui conduit à l'équation discrétisée 0x2uuc
tuu 1t
1i1t1i
ti
1ti =
Δ−
+Δ− +
+++
+
En posant xtcr
ΔΔ
= , nous avons ( ) 0uu2ruu 1t
1i1t1i
ti
1ti =−+− +
−++
+ .
Le schéma obtenu est nommé implicite centré
0 L
x t0
t
x x+Δx x-Δx
t t+Δt
1
-1
2r− 2r
Schéma implicite centré Ce schéma est stable si r ≤ 1
Modélisation
FN CRES
45
5.6. Maillages particuliers On indique dans ce paragraphe comment opérer les discrétisation quand on a des pas d'espace irréguliers. Les pas de temps irréguliers ne posent pas de problème particulier car le pas de temps peut être choisi à chaque itération pour passer d'un pas de temps à l'autre. 5.6.1. Maillage irrégulier en x On traite le cas de l'axe Ox, mais on retrouve le même principe quelque soit l'axe. On se met donc dans le cas suivant:
u0 u2 u1
h1 h2 u(x-h1) u(x) u(x+h2) x
Et on cherche une discrétisation des dérivées première et seconde. Nous avons :
...xu
!4h
xu
!3h
xu
!2h
xuh)x(u)hx(uu 4
442
3
332
2
222
222 +∂∂
+∂∂
+∂∂
+∂∂
+=+=
...xu
!4h
xu
!3h
xu
!2h
xuh)x(u)hx(uu 4
441
3
331
2
221
111 +∂∂
+∂∂
−∂∂
+∂∂
−=−=
5.6.1.1 Discrétisation de la dérivée première D’après la première équation
)h(oh
)x(u)hx(uxu
22
2 +−+
=∂∂ : discrétisation avant
D’après la deuxième équation
)h(oh
)hx(u)x(uxu
11
1 +−−
=∂∂ : discrétisation arrière
En multipliant la première équation par 2
1h , la deuxième par 22h et en soustrayant :
...xu)hh(hhu)hh)(hh(...
xu)hhhh(u)hh(uhuh 2121021211
222
210
22
211
222
21 +
∂∂
++−+=+∂∂
++−=−
...u)hh(hh
hu)hh(hh
hu)hh(hh
)hh)(hh(xu
12121
22
22121
21
02121
2121 ++
−+
++−+
−=∂∂
...uhh
uhh
)hh(1u
h1
h1
xu
11
22
2
1
210
21
+⎟⎟⎠
⎞⎜⎜⎝
⎛−
++⎟⎟
⎠
⎞⎜⎜⎝
⎛−=
∂∂ : discrétisation centrée
Remarque : si 21 hh = = h, alors ...h2
uuxu 12 +
−=
∂∂
5.6.1.2 Discrétisation de la dérivée seconde En multipliant la première expression par 1h , la deuxième par 2h et en additionnant :
Modélisation
FN CRES
46
...xu)hhhh(
21u)hh(uhuh 2
2
2211
220211221 +
∂∂
+++=−
...u)hh(hh
hh2)hh(hh
uhuh2xu
02121
21
2121
12212
2
++
+−
++
=∂∂
...uhh2
hu
hu
hh2
xu
0212
2
1
1
212
2
+−⎟⎟⎠
⎞⎜⎜⎝
⎛+
+=
∂∂ : discrétisation centrée
Remarque : si 21 hh = = h, alors ...h
uu2u...uh2
hu
hu
h22
xu
2201
0221
2
2
++−
=+−⎟⎠⎞
⎜⎝⎛ +=
∂∂ qui est la
discrétisation qu'on a déjà utilisée abondamment. 5.6.2. Maillage différent en x et en y On reprend le premier exemple traité (équation de Laplace dans un domaine carré). On en reste donc à un problème 2D, l'extension à un problème 3D ne posant pas de problème particulier. On va simplement étudier la discrétisation en considérant Δx ≠ Δy Les discrétisations des 2 dérivées secondes donnent :
)x(ox
uu2uxu 2
2j,1ij,ij,1i
2
2
Δ+Δ
+−=
∂∂ +−
)y(oy
uu2uyu 2
21j,ij,i1j,i
2
2
Δ+Δ
+−=
∂∂ +−
En sommant ces 2 expressions
)y(o)x(oy
uu2ux
uu2uyu
xu 22
21j,ij,i1j,i
2j,1ij,ij,1i
2
2
2
2
Δ+Δ+Δ
+−+
Δ
+−=
∂∂
+∂∂ +−+−
)y(o)x(oy
uy
uy2
x2u
xu
xu
yu
xu 22
21j,i
21j,i
22j,i2j,1i
2j,1i
2
2
2
2
Δ+Δ+Δ
+Δ
+⎟⎟⎠
⎞⎜⎜⎝
⎛Δ
+Δ
−Δ
+Δ
=∂∂
+∂∂ +−+−
En calquant cette expression sur le maillage :
Ui,j
Ui,j-1
Ui,j+1
Ui+1,j Ui-1,j
22 y2
x2
Δ−
Δ−
2y1Δ
2y1Δ
2x1Δ
2x1Δ
On aboutit donc à des expressions un peu plus compliquée, mais ne présentant pas de difficultés particulières.
Modélisation
FN CRES
47
5.7. Traitement des termes non linéaires Très souvent, les coefficients qui interviennent dans les EDP sont eux-mêmes fonctions de la fonction cherchée.
Par exemple, dans l'équation de la diffusion 1D, on a 2
2
xu)u(a
tu
∂∂
=∂∂ .
La discrétisation de cette équation pose alors un problème dès qu'on utilise un schéma autre que le schéma explicite (ce qui est souvent le cas). En effet, on travaille entre les pas de temps (t) et (t+1), et la valeur de a(u) qu'il faut considérer est alors une valeur entre )u(a t et
)u(a 1t+ , or on ne connait pas 1tu + , car c'est ce que l'on cherche. Pour passer du temps (t) au temps (t+1), on va donc procéder à une série d'itérations visant à obtenir une bonne valeur de a(u) sur l'intervalle de temps étudié. Il faut bien noter que ces itérations se superposent au système d'itérations précédent.
t + 2 t + 1 t
Itérations pour passer d'un pas de temps à l'autre
Itérations supplémentaires à l'intérieur d'un pas de temps
temps
Considérons le schéma le plus général qu'on ait écrit, le schéma pondéré, où la dérivée
seconde est discrétisée par t
i2
21t
i2
2
i2
2
xu)1(
xu
xu
⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
α−+⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
α=⎟⎟⎠
⎞⎜⎜⎝
⎛∂∂
+
avec 0 ≤ α ≤ 1
Pour la première itération (k = 1), on commence par évaluer une valeur de u au pas de temps t+1 (notée 1t
1u + ). Ceci peut être réalisé en supposant une variation linéaire de u : 1tt1t
1 uu2u −+ −=
Ce qui permet de calculer une valeur de a1(u), dont on peut prendre la moyenne pondérée sur les 2 pas de temps
)u(a)1()u(a)u(a t1t11 α−+α= +
Ceci permet de calculer une valeur de 1t2u + par résolution du système matriciel.
Et on recommence les itérations )u(a)1()u(a)u(a t1t
kk α−+α= + jusqu'à convergence de la solution obtenue pour ut+1, c'est-à-dire quand la valeur de ut+1 ne bouge plus avec une certaine précision fixée.
Modélisation
FN CRES
48
6. LA METHODE DES ELEMENTS FINIS 6.1. Comparaison Différences finies – Eléments finis Le schéma ci-dessous compare les 2 méthodes en termes de démarche. La méthode des différences finies cherche à résoudre exactement une équation approchée, alors que la méthode des éléments finis cherche une solution approchée à une équation exacte.
Equation physique continue aux Dérivées Partielles
reformulation discrète approchée reformulation intégrale exacte de l’équation d’origine de l’équation d’origine
résolution exacte de résolution approchée de l’équation approchée l’équation exacte Méthodes d’approximation Méthodes d’approximation d’équation de solution (Différences finis) (Eléments finis) 6.2. Equivalence de problèmes 6.2.1. Objet L’objet de ce paragraphe est de montrer comment on peut avoir des problèmes d’expression totalement différente mais dont la solution est identique. En effet, la méthode des éléments finis suppose qu’on transforme l’EDP en un autre problème ayant même solution; et c’est ce nouveau problème qu’on résoudra. Bien sûr, la mise en place de ces équivalences de problèmes va impliquer certaines conditions sur la formulation des problèmes eux-mêmes. 6.2.2. Equivalence entre système matriciel et problème de minimisation Soit un système d’équations linéaires (n équations, n inconnues) de la forme Au = b avec A = [aij] matrice carrée de dimension (n,n); u = [ui] vecteur de dimension (n), solution du système; b = [bi] vecteur de dimension (n); On montre que si la matrice A est symétrique, la solution u du système matriciel est aussi la solution d’un problème de minimum qui s’exprime ainsi : trouver u telle que la quantité I(u) soit minimum avec
Modélisation
FN CRES
49
I(u) = [ ]u ua a
aa a
u
un
n
ij
n nn n
1
11 1
1
1
....
.. ....
..⎡
⎣
⎢⎢⎢
⎤
⎦
⎥⎥⎥
⎡
⎣
⎢⎢⎢
⎤
⎦
⎥⎥⎥ - 2 [ ]b b
u
un
n
1
1
.. ..⎡
⎣
⎢⎢⎢
⎤
⎦
⎥⎥⎥ = (ut A u ) - 2 (bt u)
qu’on peut noter I(u) = a(u,u) - 2 L(u) où a(u,u) = ut A u L(u) = bt u remarque : la quantité (ut A u) est appelée ‘forme quadratique’ associée à la matrice A.
En effet, I(u) = a u u b uij i jj
n
i
n
i ii
n
== =∑∑ ∑−
11 12
La condition pour que u soit le vecteur minimisant I(u) s’écrit : ∀p=1,n : ∂∂I uu p
( )= 0
∂∂I uu
a u a u bp
pj jj
n
ip ii
n
p( )
= + −= =∑ ∑
1 12 = a u a u bpi i
i
n
ip ii
n
p= =∑ ∑+ −
1 12 0 ∀p=1,n
On utilise ici le fait que la matrice A est symétrique : aip = api d’où
∂∂I uu
a u bp
pi ii
n
p( )
= −=∑2 2
1 = 0 → a u bpi i
i
n
p=∑ =
1 ∀p=1,n soit Au = b -cqfd-
Ainsi, ce problème matriciel et ce problème de minimum ont la même solution. 6.2.3. Equivalence avec un problème de minimum Soit le problème de minimum précédent noté sous le forme I(u) = a(u,u) - 2L(u). On montre que si a est une forme bilinéaire, symétrique et positive et L une forme linéaire { forme linéaire : soit E un espace vectoriel, une forme linéaire dans E est une
application linéaire de E dans R. forme bilinéaire : linéaire en u : a(λ1u1 + λ2u2 , v) = λ1a(u1,v) + λ2a(u2,v) linéaire en v : a(u, μ1v1 + μ1v2) = μ1a(u,v1) + μ2a(u,v2) symétrique : a(u,v) = a(v,u) positive : a(u,u) ≥ 0 } alors le problème de minimum est équivalent à : trouver u∈V tel que ∀ v∈V : a(u,v) = L(v). V peut être défini comme l’espace vectoriel où on exprime la solution u. Plus loin, on verra apparaître des conditions sur cet espace. En effet : en se plaçant dans V Si u vérifie I(u) minimum, alors on doit avoir : ∀ v∈V, ∀ ε∈R : I(u + εv) ≥ I(u) soit I(u + εv) = a(u + εv , u + εv) - 2 L(u + εv) en utilisant la bilinéarité de a et la linéarité de L : I(u + εv) = a(u,u) + εa(u,v) + εa(v,u) + ε²a(v,v) - 2 L(u) - 2 εL(v) en utilisant la symétrie de a : I(u + εv) = I(u) + 2ε [a(u,v) - L(v)] + ε²a(v,v) or si on veut I(u + εv) ≥ I(u) cela implique 2ε [a(u,v) - L(v)] + ε²a(v,v) ≥ 0 en utilisant le fait que a est positive : a(v,v) ≥ 0, pour que l’expression ci-dessus soit
toujours positive ∀ ε, il faut avoir : a(u,v) - L(v) = 0 soit a(u,v) = L(v) -cqfd- Ainsi, avec les conditions émises sur a et L , les deux problèmes ont la même solution.
Modélisation
FN CRES
50
L’équation a(u,v) = L(v) est appelée équation d’Euler associée au problème de minimum. 6.2.4. Récapitulatif Le schéma suivant récapitule les équivalences de problèmes précédentes Trouver u telle que
Au = b
Trouver u telle que I(u) = a(u,u) – 2L(u)
soit minimum
Système matriciel
Problème de minimum
Si A symétrique
Si a(u,v) forme bilinéaire, symétrique, positive L(u) forme linéaire
Equation d'Euler associée Soit V en espace vectoriel où on exprime la solution Trouver v ∈ V tel que ∀ u ∈ V a(u,v) = L(v)
Ainsi, on a une série d’équivalence de problèmes qui s’enchainent ainsi : système matriciel → problème de minimum → équation d’Euler associée
et ces équivalences sont liées à certaines conditions. Ceci est à la base de la méthode dite de Ritz, la méthode des éléments finis consistant finalement en un choix très judicieux d'un sous-espace vectoriel de V. 6.2.5. Application aux EDP On va voir ici le principe de transformation d’une EDP en un problème de minimum. Soit G un opérateur différentiel et l’équation en u : Gu = f sur un domaine Ω de frontière Γ. On ne change pas l’équation si on multiplie à gauche et à droite par un vecteur v∈V, soit
v Gu = vf On peut intégrer cette équation (une condition sur v, donc sur V, est qu’il soit intégrable) :
( ) ( )v Gu d vf dΩ ΩΩ Ω∫ ∫=
Si on peut maintenant ramener l’expression de ( )v Gu dΩΩ∫ à une forme bilinéaire,
symétrique et positive et ( )vf dΩΩ∫ à une forme linéaire, alors le problème reviendra à
a(u,v) = L(v) soit un problème équivalent au problème de minimum précédent. Cette dernière expression est appelée ‘forme variationnelle’ de l’EDP. (On verra plus loin concrètement comment on passe de l’EDP à sa forme variationnelle) Remarque 1: L’espace V où on exprime la solution est l’espace L² des fonctions dites de carré sommable. Ces fonctions f (qui peuvent être complexes) sont telles que | ( )|²f x dx
−∞
+∞
∫ existe. Le produit de
Modélisation
FN CRES
51
2 fonctions appartenant à L² appartient à L1 , espace des fonctions sommables, c’est-à-dire intégrables au sens de Lebesgue (fonctions f telles que f x( )dx
−∞
+∞
∫ existe). L² et L1 sont des espaces vectoriels. Par ailleurs, on démontre qu’une fonction bornée f, nulle en dehors d’un intervalle fini (a,b), est sommable. Si, de plus, f est intégrable au sens de Riemann sur (a,b), alors son intégrale de Lebesgue sur cet intervalle est égale à son intégrale de Riemann. On verra qu’effectivement l’espace vectoriel où on va exprimer la solution de l’EDP est un espace de fonctions nulles en dehors du domaine d’étude Ω de l’EDP et qu’il suffira donc d’intégrer les équations au sens de Riemann (pourvu qu’on sache l’intégrer). Ce que nous venons de voir dans R s’étend aussi à Rn, y compris donc à un domaine Ω où on cherche la solution d’une EDP. On parlera donc de L²(Ω) espace des fonctions de carré sommable dans Ω. 6.2.6. Approximation interne La solution théorique, lorsqu’elle existe, du problème a(u,v)=L(v) s’exprime généralement dans un espace vectoriel V de dimension infinie. Elle s’écrit sous la forme
u x N xi ii
( ) ( )r r=
=
∞
∑α1
où N xi ( )r forme une base de cet espace vectoriel. Réaliser une approximation de cette solution consiste alors à exprimer la solution dans un sous-espace vectoriel noté Vh de V de dimension finie : c’est l’approximation interne. Choisissons une base finie de vecteurs Ni, i=1,n (on omettra, pour la suite de ce paragraphe, les composantes rx des vecteurs) engendrant le sous-espace vectoriel Vh. Le problème s’exprime désormais ainsi : Trouver uh∈Vh tel que ∀vh∈Vh : a(uh, vh) = L(vh).
vh peut s’exprimer dans la base des Ni : v Nh j jj
n
==∑β
1; en remplaçant vh :
a(uh , β j jj
n
N=∑
1) = L( β j j
j
n
N=∑
1) en utilisant la linéarité de L :
β βj h jj
n
j jj
n
a u N L N( , ) ( )= =∑ ∑=
1 1 ou encore
β j h jj
n
ja u N L N[ ( , ) ( )]=∑ − =
10 ceci devant être vrai ∀vh, donc ∀βj :
→ ∀j =1,n : a(uh, Nj) = L(Nj) d’où le nouveau problème : Trouver uh∈Vh tel que ∀j =1,n : a(uh, Nj) = L(Nj).
uh peut aussi s’exprimer dans la base des Ni : u Nh i ii
n
==∑α
1; en remplaçant uh :
a( α i ij
n
N=∑
1, Nj ) = L(Nj) en utilisant la linéarité de a :
α i i ji
n
ja N N L N( , ) ( )=∑ =
1 d’où le problème :
Modélisation
FN CRES
52
Trouver αi tel que ∀j =1,n : α i i ji
n
ja N N L N( , ) ( )=∑ =
1
ce qui est un système de n équations à n inconnues que l’on peut écrire :
a N N a N N a N Na N N a N N a N N
a N N a N N a N N
L NL N
L N
n
n
n n n n n n
( , ) ( , ) ... ( , )( , ) ( , ) ... ( , )
... ...( , ) ( , ) ... ( , )
...
( )( )...
( )
1 1 1 2 1
2 1 2 2 2
1 2
1
2
1
2
⎡
⎣
⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥
⎡
⎣
⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥
=
⎡
⎣
⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥
αα
α
Remarques : la matrice carrée est symétrique. les αi n’ont aucune signification physique à priori Ainsi, on a vu qu’on avait une série d’équivalence de problèmes qui s’enchainaient ainsi :
système matriciel → problème de minimum → équation d’Euler associée → EDP et on vient de voir que l’on pouvait remonter la filière pour, à partir d’une EDP, aboutir à un système d’équations dont la solution est une solution approchée de l’EDP. Ceci est à la base de la méthode dite de Ritz, la méthode des éléments finis consistant finalement en un choix très judicieux des vecteurs Ni, base du sous-espace vectoriel d’approximation. 6.3. Construction pratique du problème variationnel 6.3.1. Cas d’une équation différentielle On traitera dans ce paragraphe l’exemple suivant : -u"(x) + u(x) = f(x) = 2x -1 dans l’intervalle (a,b) on prendra toujours u’(b)=0 et on fera varier la condition en (a). 6.3.1.1 Cas d’une condition de Neumann homogène soit u’(a) = 0 En reprenant la démarche précédente, on écrit : ∀ v∈V = { v : v∈L²(a,b) } v (-u" + u) = v f ( ( ( )dxv vf
a
b
a
b− =∫ ∫u"+u) )dx
( ( )dx ( )dx− + =∫ ∫ ∫vu" vu vfa
b
a
b
a
b)dx
en intégrant le premier terme par parties (possible si v’∈L²(a,b)) : -v(b)u’(b) + v(a)u’(a) + ( ' ( )dx ( )dxv vu vf
a
b
a
b
a
bu' )dx∫ ∫ ∫+ =
comme u’(a) = u’(b) = 0 : ( ' ( )dxv vf
a
b
a
bu' + vu)dx∫ ∫=
Le premier terme est bien une forme bilinéaire, symétrique et positive, le deuxième une forme linéaire, d’où le nouveau problème :
Modélisation
FN CRES
53
trouver u∈V tel que ∀v∈V, on ait a(u,v) = L(v) avec V = { v : v∈L²(a,b); v’∈L²(a,b) } a(u,v) = ( 'v
a
bu' + vu)dx∫ et L(v) = ( )dxvf
a
b
∫
6.3.1.2 Cas d’une condition de Dirichlet homogène soit u(a) = 0 Les calculs sont identiques jusqu’à : -v(b)u’(b) + v(a)u’(a) + ( ' ( )dx ( )dxv vu vf
a
b
a
b
a
bu' )dx∫ ∫ ∫+ =
Ici, u’(b) = 0 d’où v(a)u’(a) + ( ' ( )dxv vf
a
b
a
bu' + vu)dx∫ ∫=
Pour ramener le premier terme à une forme bilinéaire, symétrique et positive, on va se servir de la liberté que l’on a de choisir l’espace vectoriel où on va exprimer la solution. Ici, on peut le choisit tel que v(a) = 0. D’où le nouveau problème : trouver u∈V tel que ∀v∈V, on ait a(u,v) = L(v) avec V = { v : v∈L²(a,b); v’∈L²(a,b); v(a)=0 } a(u,v) = ( 'v
a
bu' + vu)dx∫ et L(v) = ( )dxvf
a
b
∫ 6.3.1.3 Cas d’une condition de Neumann non homogène soit u’(a) = gN Les calculs sont identiques jusqu’à : -v(b)u’(b) + v(a)u’(a) + ( ' ( )dx ( )dxv vu vf
a
b
a
b
a
bu' )dx∫ ∫ ∫+ =
Comme u’(a)=gN et u’(b)=0, nous avons : ( ' ( )dxv vf
a
b
a
bu' + vu)dx∫ ∫= - v(a)gN
Le vecteur v étant choisit (par le choix de la base où on exprime la solution - voir 6-2.5.) et gN étant connu, il n’y a pas de difficulté à calculer le terme v(a)gN D’où le nouveau problème : trouver u∈V tel que ∀v∈V, on ait a(u,v) = L(v) avec V = { v : v∈L²(a,b); v’∈L²(a,b)} a(u,v) = ( 'v
a
bu' + vu)dx∫ et L(v) = ( )dxvf
a
b
∫ - v(a)gN
6.3.1.4 Cas d’une condition de Dirichlet non homogène soit u(a) = gD Les calculs sont identiques jusqu’à : -v(b)u’(b) + v(a)u’(a) + ( ' ( )dx ( )dxv vu vf
a
b
a
b
a
bu' )dx∫ ∫ ∫+ =
En choisissant v tel que v(a)=0, nous avons : ( ' ( )dxv vf
a
b
a
bu' + vu)dx∫ ∫=
Modélisation
FN CRES
54
avec V = { v : v∈L²(a,b); v’∈L²(a,b); v(a)=0 }
Le problème qui apparaît alors est que u∉V puisque u(a)=gD et il faudrait u(a)=0. On définit un nouvel espace vectoriel U = { u : u∈L²(a,b); u’∈L²(a,b); u(a)=gD } Tout vecteur de U peut s’écrire : u = u0 [∈U] + w [∈V] puisque u0(a)=gD et w(a)=0, on retrouve bien u(a)=gD Le nouveau problème peut alors s’écrire : Soit u = u0 + w la solution de l’équation ; u0∈U0 trouver w∈V tel que ∀v∈V, on ait a(w,v) = L(v) avec U0 = { u0 : u0∈L²(a,b); u0’∈L²(a,b); u0(a)=gD } V = { v : v∈L²(a,b); v’∈L²(a,b); v(a)=0 } a(w,v) = ( 'v
a
bw' + vw)dx∫ et L(v) = ( )dxvf
a
b
∫
6.3.2. Cas d’une EDP On traitera là aussi d’un exemple qui est l’équivalent du problème précédent, mais à plusieurs dimensions : − + =Δu x u x f x( ) ( ) ( )r r r sur le domaine Ω ayant une frontière Γ; avec la condition aux limites u x( ) /r
Γ = 0 (Dirichlet homogène); ( )rx est un vecteur de composantes (x1, x2, ..., xn);
On suppose par ailleurs que Γ est suffisamment régulière pour que la normale existe partout.
Le processus est identique au cas précédent : on multiplie par un vecteur (v) à droite et à gauche de l’équation, et on intègre sur Ω (en notant u u x et v v x= =( ) ( )r r ) :
(( )v )d ( )d
(( )v )d ( )d ( )d
− + =
− + =
∫ ∫∫ ∫ ∫
Δ Ω Ω
Δ Ω Ω ΩΩ Ω
Ω Ω Ω
u u fv
u uv fv
Il faut transformer le premier terme du premier membre de l’égalité afin d’aboutir sur ce premier membre à une forme bilinéaire, symétrique et positive. Ceci se fait grâce à la formule de Green, dont l’application à un problème à une dimension n’est rien d’autre que la fameuse intégration par parties. La formule de Green s’écrit :
u vx
d v ux
d uvn di i
xi∂∂
∂∂
Ω Ω ΓΩ Ω Γ∫ ∫ ∫+ =
où xi est la ième composante de rx et nxi la ième composante de rn , normale à Γ. En remplaçant (u) par sa dérivée dans la formule de Green :
∂∂
∂∂
∂∂
∂∂
ux
vx
d v ux
d v ux
n di i i i
xiΩ Ω ΓΩ Ω Γ∫ ∫ ∫+ =
2
2
Cette relation est vraie ∀i; en sommant ces équations :
( . ) ( . )d ( ( ))d ( ( . ))dr r r r∇ ∇ + = = ∇∫ ∫ ∑∫ ∫
=
u v d v u v n ux
v n uxiii
n
Ω Δ Ω Γ ΓΩ Ω Γ Γ
∂∂1
Modélisation
FN CRES
55
En revenant à notre exemple et en remplaçant (( ) )d−∫ Δ ΩΩ
u v obtenu par la formule de Green
( . ) ( ( . ))d ( )d ( )dr r r r∇ ∇ − ∇ + =∫ ∫ ∫ ∫u v d v n u uv fvΩ Γ Ω Ω
Ω Γ Ω Ω
Il suffit alors de choisir v tel que v/Γ=0 pour obtenir ( . ) ( )d ( )d
r r∇ ∇ + =∫ ∫ ∫u v d uv fvΩ Ω Ω
Ω Ω Ω
d’où le nouveau problème : trouver u∈V tel que ∀v∈V, on ait a(u,v)=L(v)
avec V = { v : v∈L²(Ω); ∂∂
vxi
∈L²(Ω); v/Γ=0 }
a(u,v) = ( . )r r∇ ∇ +∫ u v uv dΩ
Ω
L(v) = ( )dfv ΩΩ∫
Remarque : V est l’espace de Sobolev noté H0
1 6.4. Mise en œuvre de la méthode des éléments finis Cette méthode est particulièrement adaptée aux problèmes dont les frontières sont d’une géométrie irrégulière. On découpe le domaine d’étude en éléments de géométrie simple, mais qui vont pouvoir couvrir la zone d’étude de façon complète (sans ‘trou’), et en suivant au mieux la frontière. Par exemple, si le domaine d’étude Ω ⊂ R², avec une frontière Γ quelconque, on peut choisir des éléments Ωh triangulaires pour recouvrir Ω et en affinant autant que nécessaire au niveau de Γ.
Ω h
Ω
Ce principe est généralisable dans R3 avec des tétraèdres. On va alors définir une formulation variationnelle sur Ωh et une approximation interne dans un espace vectoriel facilement manipulable sur l’ensemble des Ωh. 6.5. Cas d’une équation différentielle - Fonction linéaire par
morceaux 6.5.1. Cas de condition de Dirichlet homogène On reprend l'exemple précédent et les conditions limites suivantes : -u"(x) + u(x) = f(x) = 2x - 1 sur le domaine Ω = [0,1] avec u(0) = 0 et u(1) = 0
Modélisation
FN CRES
56
On a vu que ce problème a la même solution que le problème suivant : trouver u∈V tel que ∀ v∈V , on ait : a(u,v) = L(v) avec V = { v : v∈L²(Ω) ; v’∈L²(Ω) ; v(0)=0; v(1)=0} a(u,v) = ( ' ' )uv u v dx+∫0
1
L(v) = ( )fv dx0
1
∫ Choix des éléments Le domaine d’étude est séparé en éléments de largeur (h). Cette largeur peut être différente pour chaque élément (dans le cas où on veut affiner la connaissance de la solution à certains endroits) Dans cet exemple et pour simplifier les écritures qui vont suivre, on choisit de séparer le domaine d'étude en 5 éléments de même longueur.
x6x1 x2 x3 x4 x5 x6
0 1Ω
Ωh
Approximation linéaire par morceaux On va approximer la solution sur chaque élément par un morceau de droite
u 5
u4
u6
u 3
x
u
u1
u 2
x 1 x 2 x 3 x 4 x 5 x6
Remarque : - il y a continuité de la fonction par morceaux - il n'y a pas continuité de la dérivée On va exprimer la solution u(x) cherchée dans un espace vectoriel défini par une base de vecteurs que l’on note Ni(x). Cette base sera finie afin qu’on puisse effectivement calculer u(x).
u x N xi ii
n
( ) ( )==∑α
1
Modélisation
FN CRES
57
Si la base est définie, il reste à calculer les αi . Deux questions apparaissent à propos de la base de vecteurs Ni(x) : - quels vecteurs ? - combien de vecteurs ? Il serait intéressant que les αi que l’on cherche correspondent aux ui de la fonction tels qu’ils sont définis sur le graphique précédent. Trouver les αi conduirait alors à avoir directement une estimation de la fonction aux abscisses xi. Comment choisir les Ni(x) pour respecter l’alinéa précédent ? Ecrivons la solution u(x) en une abscisse particulière, par exemple x2, correspondant à une limite d’élément et prenons comme nombre de fonctions Ni(x) le nombre d’inconnues auquel on est confronté (6 ici)
u(x2) = α1 N1 (x2) + α2 N2 (x2) + ... + α6 N6(x2) = u2 Pour que α2 = u2 à l’abscisse x2, il suffit de choisir les Ni(x) tels que : N1 (x2) = N3 (x2) = ... = N6 (x2) = 0 et N2 (x2) = 1 Pour une abscisse (x) quelconque comprise entre xi et xi+1 , u(x) est une valeur comprise entre ui et ui+1 qui est la moyenne pondérée par les distances respectives entre (xi et x) et (xi+1 et x). Considérons un élément Ωh et écrivons symboliquement la solution :
Ni-1(x) = ui-1 + ui
xi-1 xi xi-1 xi xi-1 xi
u(x) Ni(x)
ui-1
ui 1
0
1
0
toutes les autres fonctions Nj(x)
[j≠i-1, j≠i] nulles sur cet élément
+
Afin d’identifier complètement la fonction Ni(x), considérons l’élément contigu au précédent :
= ui + ui+1
xi xi+1 xi xi+1 xi xi+1
u(x) Ni(x) Ni+1(xui
ui+1 1
0
1
0
toutes les autres fonctions Nj(x)
[j≠i , j≠i+1] nulles sur cet
+
La fonction Ni(x) est nulle partout sauf sur l’intervalle [xi-1 , xi+1] sur lequel elle est de forme triangulaire. En généralisant, les fonctions Ni(x) sont de la forme :
x x1 xi-1 xi xi+1 x1 x2
xx5 x6
N6(x) N1(x)Ni(x) , i=1 à 5
Fonctions "internes" Fonction à gauche Fonction à droite
Modélisation
FN CRES
58
Ces fonctions sont appelées ‘Fonctions de Forme’. Elles permettent de reconstituer la solution u(x) à partir de morceaux de droite sur chaque élément, connaissant les ui , valeur de la fonction aux bornes de chaque élément. Remarque : en travaillant sur les ui , valeur de la fonction aux bornes de chaque élément, on assure la continuité de la solution. En choisissant les fonctions Ni(x) comme on vient de le voir, la solution s’exprime ainsi :
u x u N xi ii
( ) ( )==∑
1
6
La formulation variationnelle de l’équation à résoudre a établi que u(x) doit appartenir à l’espace vectoriel V = { v : v∈L²(Ω) ; v’∈L²(Ω) ; v(0)=0; v(1)=0}. La base des Ni(x) où on veut exprimer la solution est-elle un sous-espace vectoriel de V ? Les Ni(x) et Ni
’(x) appartiennent à L²(Ω), mais on remarque que tous les vecteurs ne sont pas nuls aux abscisses (0) et (1), en particulier N1 (x) et N6 (x). On prendra donc comme sous-espace vectoriel pour l’approximation interne l’espace formé par la base de vecteurs N2 (x) à N5 (x), ce qui conduit a ne traiter que 4 inconnues. Ici, cette conclusion est logique puisque les valeurs de la fonction en (0) et (1) sont imposées par des conditions de Dirichlet homogènes et n’ont donc pas à faire partie des inconnues. Ecriture algébrique L’approximation de la solution dans l’espace vectoriel formé par les vecteurs Ni(x) retenus conduit au système d’équations suivant (voir le paragraphe III-2.5).:
Trouver ui tel que ∀i =2,5 et ∀j =2,5 : u a N N L Ni i ji
j( , ) ( )=∑ =
2
5
avec a(Ni , Nj) = ( ' ' )dxN N N Ni j i j+∫0
1
L(Nj ) = f x N dxj( )0
1∫ Calcul des termes a(Ni , Nj) Les fonctions Ni (x) étant identifiées, il n’y a pas de difficulté particulière à calculer ces termes. Cependant, on peut remarquer certaines redondances dans les calculs. • cas où | i - j | > 1 [i et j non contigus]
0
1
Ni(x) Nj(x)
x xi-1 xi xi+1 xj-1 xj xj+1
N(x)
On a [Ni (x) = 0 quand Nj (x) ≠ 0] et [ Nj (x) = 0 quand Ni (x) ≠ 0] d’où a(Ni , Nj)=0.
Modélisation
FN CRES
59
• cas où | i - j | = 1 [i et j contigus]
Ni(x) Nj(x)x
xi-1 xi xi+1=xj xj+1
N(x)
1
0
Il n’y a que l’intervalle [xi , xj ] où les fonctions sont non nulles simultanément et donc où a(Ni , Nj) est différent de zéro. Les fonctions étant identiques sur chaque intervalle, le calcul mènera au même résultat sur chaque intervalle, en particulier sur un intervalle [0,h], h étant la largeur d’un intervalle.
Soit sur h = xk+1 - xk , nous avons Nk (x) = 1−xh
et Nk+1 (x) = xh
d’où a(Ni , Nj) = ( ' ' ) [ ( ) ( )]N N N N dxxh
xh h h
dxh
hi j i jh h
+ = − + − = −∫ ∫0 01
1 16
1
• cas où | i - j | = 0 [i et j confondus]
1Nj(x)Ni(x)
x
xi-1 xi=xj xi+1
N(x)
Il n’y a que l’intervalle [xi-1 , xi+1] où la fonction est non nulle et donc où a(Ni , Ni) est différent de zéro. Cette intervalle correspond à une distance 2h sur laquelle la fonction Ni (x)
vaut xh
sur [0,h] et 2−xh
sur [h,2h].
d’où a(Ni , Ni) = ( ' ) ( ' ) [( ) ( ) ]N N dx N N dxxh h
dxh
hi ih
i ih h2 2
0
2 2 20
2 20
2 21 2
32
+ = + = + − = +∫ ∫ ∫
Assemblage Cette étape consiste à créer la matrice carrée du système matriciel en observant comment les différents éléments sont agencés. On obtient :
u2 u3 u4 u5
23
2hh
+
h
h61
−
u2
h
h61
−
23
2hh
+
h
h61
−
u3
h
h61
−
23
2hh
+
h
h61
−
u4
Modélisation
FN CRES
60
h
h61
−
23
2hh
+
u5
Calcul des termes L(Ni) Connaissant les fonctions f(x) et Ni(x), il faut calculer L(Ni) = f x N x dxi( ) ( )
0
1∫ . Le calcul ne pose pas de difficulté particulière mais il peut être simplifier dans la mesure où f(x) peut s'exprimer sous forme d'une fonction linéaire par morceaux. Ici, en prenant une largeur h=0.2 sur notre exemple, nous avons : 2x - 1 = (-1) N1(x) + (-0.6) N2(x) + (-0.2) N3(x) + (0.2) N4(x) + (0.6) N5(x) + (1) N6(x)
soit f(x) = βk kk
N x( )=∑
1
6
d'où L(Ni) = [ ( )] ( )βk kk
iN x N x dx=∑∫
1
6
0
1 = [ ( ) ( ) ]βk k i
kN x N x dx
0
1
1
6
∫∑=
or les expressions N x N x dxk i( ) ( )∫ ont déjà été calculées auparavant sur un élément et par ailleurs, Ni (x) est nulle en dehors de l’intervalle [xi-1 , xi+1] On a alors : L(Ni) = βi-1 N x N x dxi i
h−∫ 10
( ) ( ) + βi N x N x dxi ih
( ) ( )0
2∫ + βi+1 N x N x dxi ih
+∫ 10( ) ( )
L(Ni) = βi-1 (h6
) + βi (23h
) + βi+1 (h6
)
L’application numérique donne : L(N )= -0.12 ; L(N )= -0.04 ; L(N )= 0.04 ; L(N )= 0.12 ; Résolution du système Elle se fait pour h=0.2 6.5.2. Cas de condition de Neumann homogène On reprend l'exemple précédent et les conditions limites suivantes : -u"(x) + u(x) = f(x) = 2x - 1 sur le domaine Ω = [0,1] avec u(0) = 0 u’(1) = 0 On a vu que ce problème a la même solution que le problème suivant : trouver u∈V tel que ∀ v∈V , on ait : a(u,v) = L(v)
Modélisation
FN CRES
61
avec V = { v : v∈L²(Ω) ; v’∈L²(Ω) ; v(0)=0} a(u,v) = ( ' ' )uv u v dx+∫0
1
L(v) = ( )fv dx0
1
∫ Les développements sont les mêmes qu’au paragraphe précédent. Ici, la base pour l’approximation interne sera constituée des vecteurs N2(x) à N6(x) car N6(x)∈V [la condition v(1)=0 d’appartenance à V ayant disparue] On prendra simplement garde au fait que a(N6, N6) ne s’intègre que sur un seul élément car la
fonction N6 est différente de zéro que sur le dernier intervalle. On aura donc a(N6, N6)=h
h31
+
et la matrice carrée s’écrit :
u2 u3 u4 u5 u6
23
2hh
+
h
h61
−
u2
h
h61
−
23
2hh
+
h
h61
−
u3
h
h61
−
23
2hh
+
h
h61
−
u4
h
h61
−
23
2hh
+
h
h61
−
u5
h
h61
−
hh31
+
u6
Le calcul des L(Ni) est identique, on rajoute le calcul de L(N6) qui donne 0.0866. 6.5.3. Cas de condition de Neumann non homogène On reprend l'exemple précédent et les conditions limites suivantes : -u"(x) + u(x) = f(x) = 2x - 1 sur le domaine Ω = [0,1] avec u(0) = 0 u’(1) = gN On a vu que ce problème a la même solution que le problème suivant : trouver u∈V tel que ∀ v∈V , on ait : a(u,v) = L(v) avec V = { v : v∈L²(Ω) ; v’∈L²(Ω) ; v(0)=0} a(u,v) = ( ' ' )uv u v dx+∫0
1
Modélisation
FN CRES
62
L(v) = ( )fv dx0
1
∫ + v(1)gN Les termes a(Ni ,Nj ) sont identiques aux précédents. Les termes L(Ni ) s’écrivent : L(Ni) = f x N x dxi( ) ( )
0
1∫ + Ni (1)gN. Le dernier terme est toujours nul sauf pour i=6 où N6(1)=1. Aussi, les L(Ni ) ne changent pas non plus sauf L(N6 ) auquel on rajoute la quantité gN. 6.5.4. Cas de condition de Dirichlet non homogène On reprend l'exemple précédent et les conditions limites suivantes : -u"(x) + u(x) = f(x) = 2x - 1 sur le domaine Ω = [0,1] avec u(0) = 0 u(1) = gD On a vu que ce problème a la même solution que le problème suivant : Soit u = u0 + w la solution de l’équation ; u0∈U0 trouver w∈V tel que ∀v∈V, on ait a(w,v) = L(v) avec U0 = { u0 : u0∈L²(a,b); u0’∈L²(a,b); u0(a)=gD } V = { v : v∈L²(a,b); v’∈L²(a,b); v(a)=0 } a(w,v) = ( 'v
a
bw' + vw)dx∫ et L(v) = ( )dxvf
a
b
∫
En fait, on peut considérer que les deux espaces U0 et V sont engendrés par la même base de
vecteurs Ni (x) et sont donc de la forme αi ii
n
N x( )=∑
1 , mais pour
- U0 : α1 = gD et αi = 0 pour les autres coefficients - V : α1 = u1 =0 et αi = ui ≠ 0 (à priori) pour les autres coefficients Chacun des vecteurs u0 [∈ U0] et w [∈ V] peut alors s’écrire sur cette base. Un vecteur solution u = u0 [∈ U0] + w [∈ V] s’écrit alors :
u = β i ii
N x( )=∑
1
5
[∈ U0] + u N xi ii
( )=∑
1
5
[∈ V]
Le système d’équations (voir le paragraphe III-2.5) auquel conduit l’approximation interne va alors s’écrire :
∀j =1,n : β i i ji
i i ji
ja N N u a N N L N( , ) ( , ) ( )= =∑ ∑+ =
1
5
1
5
Or pour U0 : β1 = gD et βi = 0 pour les autres coefficients pour V : u1 = 0 et ui ≠ 0 (à priori) pour les autres coefficients La recherche des inconnus ui conduit à un problème à 4 inconnues pour i=2,3,4 et 5 soit :
∀j =2,n : g a N N u a N N L ND i i ji
j( , ) ( , ) ( )1 22
5
+ ==∑
∀j =2,n : u a N N L N g a N Ni i ji
j D( , ) ( ) ( , )=∑ = −
2
5
1 2
Modélisation
FN CRES
63
Par rapport au système d’équations du premier exemple (paragraphe III-4.1.1) seule la première ligne est changée et s’écrit : u2 a(N2 ,N2 ) + u3 a(N2 ,N3 ) + 0 = L(N2 ) - gD a(N1 ,N2 ) 6.6. Cas d’une équation différentielle - Fonction parabolique par
morceaux On reprend l'exemple précédent avec les conditions limites suivantes : -u"(x) + u(x) = f(x) = 2x - 1 avec u(0) = 0 u'(1) = 0 On a vu que ce problème a la même solution que le problème suivant : trouver u∈V tel que ∀ v∈V , on ait : a(u,v) = L(v) avec V = { v : v∈L²(Ω) ; v’∈L²(Ω) ; v(0)=0} a(u,v) = ( ' ' )uv u v dx+∫0
1
L(v) = ( )fv dx0
1
∫ Choix des éléments Le domaine d’étude est séparé en éléments de largeur (h). Cette largeur peut être différente pour chaque élément (dans le cas où on veut affiner la connaissance de la solution à certains endroits) Dans cet exemple, on choisit de séparer le domaine d'étude en 5 éléments de même longueur.
x1 x2 x3 x4 x5 x6
Approximation parabolique par morceaux On approxime la solution sur chaque élément par un morceau de parabole
Modélisation
FN CRES
64
x 1 x 2 x 3 x 4 x 5 x 6
Remarque : - il y a continuité de la fonction par morceaux - il n'y a pas continuité de la dérivée (comme pour l'approximation linéaire par
morceaux) Pour décrire une parabole sur un élément, il suffit de 3 points; on choisit généralement les deux points extrêmes (ce qui assurera la continuité entre les morceaux) et le point milieu.
xi xi+1/2 xi+1
La dimension de l'espace vectoriel où se fait l'approximation est déterminée par le nombre d'inconnues que l'on se fixe. Ici, 3 inconnues par éléments, dont les inconnues extrêmes sont communes à deux autres éléments (aux conditions limites près que l'on verra un peu plus loin). La solution u(x) sera donc approximée par l'expression suivante exprimée sur une base de 11 vecteurs -à priori- notés Ni(x) et Ni+1/2(x)
u(x) = u N xii
i=∑
1
5
( ) + u N xii
i+=
+∑ 1 21
5
1 2/ / ( )
Le premier terme de la somme correspond aux points extrêmes de chaque élément; le deuxième terme correspond aux points milieux. Le problème est alors le choix des fonctions Ni(x) et Ni+1/2(x) En adoptant le même symbolisme vue avec le paragraphe précédent, on peut écrire :
Modélisation
FN CRES
65
= ui + ui+1/2 + ui+1
xi xi+1/2 xi+1 xi xi+1/2 xi+1 xi xi+1/2 xi+1 xi xi+1/2 xi+1
u(x) Ni(x) Ni+1/2(x) Ni+1(x)
1 1 1
Les fonctions Ni sont donc de la forme : x1 x1/2 x2 xi-1 xi-1/2 xi xi+1/2 xi+1 xi xi+1/2 xi+1
N1 Ni N6 1
Les fonctions Ni+1/2 sont de la forme :
xi xi+1/2 xi+1
Ni+1/2 1
Sur 1 élément donné, il y a 3 fonctions qui sont simultanément non nulles :
xi xi+1/2 xi+1
Ni+1/2
Ni Ni+1
Modélisation
FN CRES
66
On remarque que sur la frontière x1 où on a une condition de Dirichlet, le vecteur N1 n'appartient pas à l'espace vectoriel où on approxime la solution. En effet, cet espace est tel que ∀ v : v(0) = 0; or N1(0) = 1; L'espace vectoriel sera donc constitué à partir de la base :
( N2 , N3 , N4 , N5 , N6 , N3/2 , N5/2 , N7/2 , N9/2, N11/2 ) Ecriture algébrique En remplaçant u(x) et v(x) par leurs expressions sur la base d'approximation :
u(x) = u N xii
i=∑
1
5
( ) + u N xii
i+=
+∑ 1 21
5
1 2/ / ( )
v(x) = α ii
iN x=∑
1
5
( ) + α ii
iN x+=
+∑ 1 21
5
1 2/ / ( )
et en utilisant la linéarité de la forme L , l'équation a(u,v) = L(v) se ramène au système d'équations suivant avec 10 inconnues : (en notant Ni le vecteur Ni(x) et Ni+1/2 le vecteur Ni+1/2(x) )
∀ i = 2, 6 a ( u Njj
j=∑
2
6
+ u Njj
j+=
+∑ 1 21
5
1 2/ / , Ni ) = L(Ni)
∀ i = 1, 5 a ( u Njj
j=∑
2
6
+ u Njj
j+=
+∑ 1 21
5
1 2/ / , Ni+1/2 ) = L(Ni+1/2)
soit encore en utilisant la bilinéarité de la forme notée a :
∀ i = 2, 6 u a N Njj
j i=∑
2
6
( , ) + u a N Njj
j i+=
+∑ 1 21
5
1 2/ /( , ) = L(Ni)
∀ i = 1, 5 u a N Njj
j i=
+∑2
6
1 2( , )/ + u a N Njj
j i+=
+ +∑ 1 21
5
1 2 1 2/ / /( , ) = L(Ni+1/2)
Ce système d’équations correspond au système matriciel suivant :
a(N N a(N N a(N N a(N Na(N N a(N N a(N N a(N Na(N N a(N N a(N N a(N N
a(N N a(N N a(N N
3 2 3 2 3 2 2 3 2 5 2 3 2 6
2 3 2 2 2 2 5 2 2 6
5 2 3 2 5 2 2 5 2 5 2 5 2 6
11 2 3 2 11 2 2 11 2 5
/ / / / / /
/ /
/ / / / / /
/ / / / /
, ) , ) , ) ... , ), ) , ) , ) ... , ), ) , ) , ) ... , )
... ...
... ...
... ...
... ...
... ..., ) , ) , 2 11 2 6
6 3 2 6 2 6 5 2 6 6
) ... , ), ) , ) , ) ... , )
/
/ /
a(N Na(N N a(N N a(N N a(N N
⎡
⎣
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
uuuu
uu
uu
uu
3 2
2
5 2
3
7 2
4
9 2
5
11 2
6
/
/
/
/
/
⎡
⎣
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
=
L NL N
L N
L NL N
( )( )
( )...............
( )( )
/
/
/
3 2
2
5 2
11 2
6
⎡
⎣
⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥⎥
Modélisation
FN CRES
67
Calcul des termes a(Nk,Nm) Sachant que a est symétrique, l'écriture de ce système impose de calculer les expressions de la forme suivante : a(Ni,Nj) = ( ' ' )N N N N dxi j i j+∫0
1
a(Ni+1/2,Nj) = ( ' ' )/ /N N N N dxi j i j+ ++∫ 1 2 1 20
1
a(Ni+1/2,Nj+1/2) = ( ' ' )/ / / /N N N N dxi j i j+ + + ++∫ 1 2 1 2 1 2 1 20
1
Chaque calcul d'intégrale des expressions ci-dessus entre 0 et 1 peut être décomposé sur chaque élément; en effet (en notant g(x) un des termes à intégrer ci-dessus) :
g x dx( )0
1
∫ = g xx
x( )dx
1
2
∫ + g xx
x( )dx
2
3
∫ + ... + g xx
x( )dx
5
6
∫ = g xx
x
i i
i ( )dx+
∫∑=
1
1
5
soit g x dx( )0
1
∫ = g xh
( )dx0∫ + g x
h
h( )dx
2
∫ + ... + g xh
h( )dx
4
5
∫ = g xe
é lé ment( )dx
( )∫∑
Comme toutes les fonctions Ni et Ni+1/2 ont la même allure quelque soit l'élément où on se place, les calculs d'intégrales sont les mêmes sur chaque élément et en particulier sur le premier entre 0 et h (de plus, on a pris dans cet exemple tous les éléments de même largeur h). On calcule donc chaque terme intégral entre 0 et h et on procédera ensuite à l'assemblage des éléments. Calcul des équations des morceaux de parabole L'équation générale s'écrit : ax2 + bx + c = 0. On sait que chaque parabole passe par 3 points ce qui donne 3 équations à 3 inconnues à chaque fois.
0 h/2 h
Ni
passe par (0,1), ( h2
, 0) et (h,0)
soit l'équation Ni(x) = 2h²
x² - 3h
x + 1 = 0
0 h/2 h
Ni+1/2
passe par (0,0), ( h2
,1) et (h,0)
soit l'équation Ni+1/2(x) = − 4h²
x² + 4h
x = 0
Modélisation
FN CRES
68
0 h/2 h
Ni+1
passe par (0,0), ( h2
,0) et (h,1)
soit l'équation Ni+1(x) = 2h²
x² - 1h
x = 0
Maintenant que l'on connaît les équations des branches de paraboles, il faut calculer les termes a(Nk,Nm), ce qui impose de calculer des intégrales avec les fonctions du type Nk et N'k. Les calculs sont récapitulés dans les tableaux suivants :
Ni Ni+1/2 Ni+1 ( )N N dxk m
h
0∫ Ni
215
h
h
15
−
h30
Ni+1/2
h
15
815
h
h15
Ni+1
−
h30
h15
215
h
N'i N'i+1/2 N'i+1
( ' ' )N N dxk m
h
0∫ N'i
73h
−
83h
1
3h
N'i+1/2
−83h
163h
−
83h
N'i+1 1
3h
−
83h
73h
Assemblage fonction Ni+1/2 Chaque fonction Ni+1/2 est non nulle sur un seul élément à la fois. Sur cet élément, deux autres fonctions, Ni et Ni+1 sont également non nulles L'inconnue rattachée à la fonction en question, ui+1/2 , sera donc liée par une équation avec les inconnues ui et ui+1; Il n'y aura donc que 3 termes sur une ligne de la matrice relative à l'équation (i+1/2) d'un point milieu. fonction Ni Chaque fonction Ni est non nulle sur deux éléments à la fois. Sur ces éléments, quatre autres fonctions, Ni-1, Ni-1/2, Ni+1/2 et Ni+1 sont également non nulles
Modélisation
FN CRES
69
L'inconnue rattachée à la fonction en question, ui , sera donc liée par une équation avec les inconnues ui-1, ui-1/2, ui+1/2, et ui+1; Il y aura donc 5 termes sur une ligne de la matrice relative à l'équation (i) d'un point extrême d'élément. Les points limites à droite et à gauche constituent des cas particuliers. En x3/2 , il n'y aura que deux termes dans l'équation car N1(x) n'existe pas dans la base d'approximation. En x6 , qui est un point extrême, mais frontière, il n'y a pas d'élément à droite. Il y aura donc 3 termes à considérer (relatifs à N5, N11/2 et N6). Remarque : Attention aux points extrêmes non frontières pour lesquels deux éléments sont concernés; il faut cumuler deux fois les intégrales du type a(Ni,Ni) [puisque chaque calcul n'a été fait que sur un seul élément] On en déduit les coefficients de la matrice carrée du système à résoudre :
u3/2 u2 u5/2 u3 u7/2 u4 u9/2 u5 u11/2 u6
815
163
hh
+
h
h158
3−
u3/2
h
h158
3−
415
143
hh
+
h
h158
3−
− +
hh301
3
u2
h
h158
3−
815
163
hh
+
h
h158
3−
u5/2
− +
hh301
3
h
h158
3−
415
143
hh
+
h
h158
3−
− +
hh301
3
u3
h
h158
3−
815
163
hh
+
h
h158
3−
u7/2
− +
hh301
3
h
h158
3−
415
143
hh
+
h
h158
3−
− +
hh301
3
u4
h
h158
3−
815
163
hh
+
h
h158
3−
u9/2
− +
hh301
3
h
h158
3−
415
143
hh
+
h
h158
3−
− +
hh301
3
u5
h
h158
3−
815
163
hh
+
h
h158
3−
u11/2
Modélisation
FN CRES
70
− +h
h301
3
hh158
3−
215
73
hh
+
u6
Calcul des termes L(Ni) et L(Ni+1/2) Connaissant les fonctions f(x) et Nk(x), il faut calculer L(Nk) = f x N x dxk( ) ( )
0
1
∫ . Ici, le calcul peut être simplifier dans la mesure où f(x) peut s'exprimer sous forme d'une fonction parabolique par morceaux. En effet : 2x - 1 = (-1)N1(x) + (-0.8)N3/2(x) + (-0.6)N2(x) + (-0.4)N5/2(x) + (-0.2)N3(x) + (0)N7/2(x) + (0.2)N4(x) + (0.4)N9/2(x) + (0.6)N5(x) + (0.8)N11/2(x) + (1)N6(x)
soit f(x) = βm mm
N x( )=∑
1
11
d'où L(Nk) = [ ( )] ( )βm mm
kN x N x dx=∑∫
1
11
0
1 = [ ( ) ( ) ]βm m k
mN x N x dx
0
1
1
11
∫∑=
or les expressions N x N x dxm kxi
xi( ) ( )
+∫ 1 ont déjà été calculées auparavant sur un élément.
On a par exemple : L(N2) = (-1) N x N x dx
h
1 20( ) ( )∫ + (-0.8) N x N x dx
h
3 2 20 / ( ) ( )∫ + (-0.6) N x N x dxh
2 20
2( ) ( )∫ +
(-0.4) N x N x dxh
5 2 20 / ( ) ( )∫ + (-0.2) N x N x dxh
3 20( ) ( )∫
(On ne fait pas intervenir les autres fonctions car N2(x) est alors égal à zéro.)
L(N2) = (-1)(− h30
) + (-0.8)( h15
) + 2(-0.6)( 215
h ) + (-0.4)( h15
) + (-0.2)(− h30
) = − h5
On obtient
L(N3/2) = − 815
h L(N2) = − h5
L(N5/2) = − 415
h L(N3) = − h15
L(N7/2) = 0 L(N4) = h15
L(N9/2) = 415
h L(N5) = h5
L(N11/2) = 815
h L(N6) = h6
Résolution du système Elle se fait pour h=0.2 6.7. Cas d’une EDP – Approximation linéaire par élément Soit le problème :
Modélisation
FN CRES
71
u=0
u=0 u=0
u=0
-Δu = f
10 0
1
x
y
soit Ω = (]0,1[ x ]0,1[) le domaine interne et Γ la frontière. On montre en utilisant la formule de Green :
( . ) ( ) ( )grad u grad v d v u d v un
d⎯ →⎯ ⎯ →⎯
∫ ∫ ∫+ =Ω Ω Γ
Ω Δ Ω Γ∂∂
et en choisisant v/Γ = 0
que l'équation (− =Δu f ) admet la même solution que le problème suivant :
( . ) ( )grad u grad v d v f d⎯ →⎯ ⎯ →⎯
∫ ∫=Ω ΩΩ Ω
ce qui peut aussi s'écrire :
( ) ( )∂∂
∂∂
∂∂
∂∂
ux
vx
uy
vy
dx dy v f dx dyΩ Ω∫∫ ∫∫+ =
d'où le nouveau problème : trouver u∈V tel que ∀v∈V , on ait a(u,v) = L(v)
avec V = {v : v∈L²(Ω) ; ∂∂vx∈L²(Ω) ; ∂
∂vy∈L²(Ω) ; v/Γ=0} = H0
1 (Ω)
a(u,v) = ( . )grad u grad v d⎯ →⎯ ⎯ →⎯
∫ ΩΩ
L(v) = ( )v f dΩΩ∫
Choix des éléments Parmi les plus simples à mettre en oeuvre, il y a les éléments triangulaires (c’est une surface descriptible à partir d’un nombre de points minimum : 3).
Modélisation
FN CRES
72
100
1
1 2 3 4
9 10 11 12
5 6 7 8
13 14 15 16
Il y a en tout dans cet exemple 50 éléments triangulaires qui permettre de couvrir tout le domaine d’étude. (Sur ce schéma, les noeuds qui vont nous intéresser sont numéroter de 1 à 16.) Approximation de la solution On veut exprimer la solution dans un sous-espace vectoriel de vecteurs de base Ni(x) tels que
u(x) = u N x yi ii
m
( , )=∑
1 avec Ni(x,y) fonctions linéaires par morceaux en x et en y
Il suffit de choisir les Ni(x,y) de la forme suivante :
1
i
Ni(x)x
y
Ni(x,y) vaut (1) au sommet (i) et (0) sur les éléments triangulaires qui ne sont pas jointifs avec le sommet (i). On obtient aux bords :
1
iiix
y
Modélisation
FN CRES
73
Les vecteurs sur la frontière du problème n'appartiennent pas à ce sous-espace vectoriel car Ni(x,y) = 1 sur Γ alors qu'on doit avoir = 0 sur Γ On choisit donc comme base l'ensemble des vecteurs définis sur les noeuds réguliers (internes), soit ici 16 vecteurs correspondants aux noeuds numérotés de 1 à 16 sur le schéma précédent. Ecriture algébrique En utilisant la linéarité de a(u,v) et de L(v), on se ramène au système d'équations suivant :
trouver uj avec j = 1.. 16 tq ∀i=1..16 : u a N N L Nj i jj
i( , ) ( )==∑
1
16
Calcul des termes a(Ni,Nj) L'intégrale sur Ω peut se décomposer sur chaque élément :
a(Ni,Nj) = grad N grad N dxdyi j
⎯ →⎯ ⎯ →⎯
∫∫ .Ω
= ( . )( )
grad N grad N dxdyi jeé lé ment
⎯ →⎯ ⎯ →⎯
∫∫∑
On va donc déterminer les intégrales sur chaque triangle (ce sont les mêmes) et ensuite faire l'assemblage. Sur chaque triangle, il y a 3 fonctions qui sont simultanément non nulles. De plus, il y a 2 types de triangle :
type Gtype D
b
a
ch
-h
b
c
a
h
-h
Triangle de type G il faut d'abord calculer l'équation des fonctions non nulles sur ce triangle. Calculons par exemple la fonction notée Nb(x,y) valant 1 au sommet (b). Nb(x,y) = b1 + b2 x + b3 y avec Nb(0,0) = 1 Nb(h,0) = 0 Nb(0,-h) = 0
On en tire Nb(x,y) = 1 - xh
+ yh
+ d'où grad⎯ →⎯
Nb = −⎡
⎣⎢
⎤
⎦⎥
11
hh
De façon analogue
Na(x,y) = - yh
d'où grad⎯ →⎯
Na = 01−
⎡
⎣⎢
⎤
⎦⎥h
Modélisation
FN CRES
74
Nc(x,y) = xh
d'où grad⎯ →⎯
Nc = 10h⎡
⎣⎢
⎤
⎦⎥
d'où le calcul des intégrales dans ce triangle (on a y = x-h)
exemple : a(Na, Na) = ( )2 20
0
∂
∂
∂
∂
Nax
Nay
dy dxx h
h+
⎡
⎣
⎢⎢
⎤
⎦
⎥⎥
⎛⎝⎜ ⎞
⎠⎟∫∫ −
= (²)0 10
0+⎡
⎣⎢⎤⎦⎥−∫∫ h
dy dxx h
h
= (²
)yh
dxh
x h
⎡⎣⎢
⎤⎦⎥∫
−0
0
= h xh
dxh −∫ ²0
= xh
xh
h
−⎡⎣⎢
⎤⎦⎥
²²2 0
= 1 - 12
= 12
Tous calculs faits :
sommets a b c a
12
−
12
0
b
−
12
1
−
12
c
0
−
12
12
triangle de type G
Triangle de type D De façon similaire
grad⎯ →⎯
Na = −⎡
⎣⎢
⎤
⎦⎥
10
h grad
⎯ →⎯
Nb = 11hh−
⎡
⎣⎢
⎤
⎦⎥ grad
⎯ →⎯
Nc = 0
1 h⎡
⎣⎢
⎤
⎦⎥
sommets a b c
a
12
−
12
0
b
−
12
1
−
12
c
0
−
12
12
triangle de type D
Assemblage
Modélisation
FN CRES
75
Il s'agit de représenter le terme ( . )( )
grad N grad N dxdyi jeé lé ment
⎯ →⎯ ⎯ →⎯
∫∫∑ et donc de cumuler les
intégrales sur chaque élément (il y a ici 50 triangles). Cette opération se fait en observant comment s'organisent les triangles.
Calcul de a(Ni, Nj) pour i=j On adopte la numérotation suivante des éléments quand on se trouve sur le sommet (i) :
i
12
3
4
5
6
Seuls ces 6 éléments interviennent puisque la fonction Ni(x,y) est non nulle sur ceux-ci, et est nulle sur les autres. Il faut donc regarder le type (G ou D) de triangle concerné à chaque fois.
élément ou triangle n°
type sur ce triangle, (i) est un sommet de type
valeur de a(Ni,Ni) sur cet élément
1 D c 1/2 2 G b 1 3 D a 1/2 4 G a 1/2 5 D b 1 6 G c 1/2
d’où a(Ni,Ni) = 4 Calcul de a(Ni, Nj) pour | i-j | = 1
oui
1
2i+1
cas A
i
i+12
1cas C
oui+1
1
2i
cas A’Frontièregauche
Frontièredroite
Remarque : Il y a aussi un cas C’ a envisager avec (i+1) en bas et (i) en haut. Mais a(Ni, Nj) étant symétrique, on trouvera la même chose dans les cas A et A’, et C et C’ On ne calcule que le cas A et C
Modélisation
FN CRES
76
Cas A .
élément ou triangle n°
type (i) et (i+1) sont des sommets de type
valeur de a(Ni,Ni) sur cet élément
cas A 1 G b et c -1/2 cas A 2 D a et b -1/2
d’où a(Ni,Ni+1) = a(Ni+1,Ni) = -1 dans les cas A et A’ Cas C Les fonctions Ni et Ni+1 ne sont jamais non nulles simultanément, d’où a(Ni,Ni+1) = a(Ni+1,Ni) = 0 dans ce cas
Calcul de a(Ni, Nj) pour | i-j | = 4 (en généralisant, =n si il y a n sommets par ligne)
i1
2
i+1
ou
i+11
2
icas A cas A’
Encore une fois, les deux cas sont symétriques
élément ou triangle n°
type (i) et (i+1) sont des sommets de type
valeur de a(Ni,Ni) sur cet élément
cas A 1 D b et c -1/2 cas A 2 G a et b -1/2
d’où a(Ni,Ni+1) = a(Ni+1,Ni) = -1 dans ces cas.
Calcul de a(Ni, Nj) pour | i-j | = 4+1 = 5 (en généralisant,=n+1 si il y a n sommets par ligne)
ou
cas A cas A’
i1
2
i+1
i+11
2
i
Les deux cas sont toujours symétriques
élément ou triangle n°
type (i) et (i+1) sont des sommets de type
valeur de a(Ni,Ni) sur cet élément
cas A 1 D a et c 0 cas A 2 G a et c 0
d’où a(Ni,Ni+1) = a(Ni+1,Ni) = 0 dans ces cas.
Calcul de a(Ni, Nj ) pour tous les autres cas
Modélisation
FN CRES
77
Il y a toujours au moins une des fonctions qui est nulle d’où a(Ni,Nj) = 0 pour ces cas là. On peut récapituler ces résultats dans une matrice.
u1 u2 u3 u4 u5 u6 u7 u8 u9 u10 u11 u12 u13 u14 u15 u16 4 -1 -1 u1 -1 4 -1 -1 u2 -1 4 -1 -1 u3 -1 4 0 -1 u4
-1 0 4 -1 -1 u5 -1 -1 4 -1 -1 u6 -1 -1 4 -1 -1 u7 -1 -1 4 0 -1 u8 -1 0 4 -1 -1 u9 -1 -1 4 -1 -1 u10 -1 -1 4 -1 -1 u11 -1 -1 4 0 -1 u12 -1 0 4 -1 u13 -1 -1 4 -1 u14 -1 -1 4 -1 u15 -1 -1 4 u16
Calcul des termes L(Ni)
Ces termes s’écrivent L(Ni) = f x N x dx dyi( ) ( )0
1
0
1
∫∫ . Leurs calculs ne posent pas de difficulté
particulière, connaissant f(x) et les fonctions Ni(x). 6.8. Cas d’une EDP – Approximation quadratique par élément Nous indiquons juste ici les fonctions de forme dans le cas d’éléments triangulaires. Il y en a deux. Les points noirs indiquent les valeurs remarquables.
Modélisation
FN CRES
78
1 1
6.9. Extension de la méthode A partir des principes évoqués, on peut mettre en œuvre des fonctions de formes de type cubiques, voire quartiques. Les calculs deviennent alors très fastidieux et sortent du cadre de ce cours qui est une initiation à cette méthode. De même, on peut traiter ces problèmes avec des éléments rectangulaires. Pour les problèmes à trois dimensions d’espaces, la méthode s’étend sans difficulté : les triangles sont remplacés par des tétraèdres et les rectangles par des parallélépipèdes. 6.10. Extension aux problèmes évolutifs L’introduction du temps dans l’équation se traite comme pour la méthode des différences finies, avec des schémas de type explicites et implicites.
Modélisation
FN CRES
79
7. RESOLUTION DES SYSTEMES D’EQUATIONS LINEAIRES Ce chapitre est là à titre informatif, car il permet de compléter ce cours sur la modélisation. 7.1. Introduction On cherche à résoudre le système suivant :
⎪⎪⎩
⎪⎪⎨
⎧
=+++
=+++=+++
nnnn22n11n
2nn2222121
1nn1212111
bxaxaxa
bxaxaxabxaxaxa
L
M
L
L
On note ce système
BAX = où [ ]ijaA = , [ ]ixX = et [ ]ibB = Soit
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
n
2
1
n
2
1
nn2n1n
n22221
n11211
b
bb
x
xx
aaa
aaaaaa
MM
L
M
L
L
On ne change rien :
- en permutant deux lignes simultanément en A et B - en multipliant chaque ligne par un scalaire - en additionnant à une ligne une autre ligne de la matrice - en combinant les opérations précédentes
Remarque : il existe une seule solution X si la matrice A est régulière (déterminant non nul) La nécessité de résoudre de tels systèmes d'équations apparaît dans de nombreuses méthodes numériques (analyses de données, résolutions d'équations, méthodes des différences finies et des éléments finis,…). On peut distinguer deux principes de résolution d'un tel système :
- la méthode directe (basée sur la méthode du pivot) qui s'adapte bien aux systèmes où A est une matrice dense mais d'ordre peu élevé, ou bien A est une matrice bande, même d'ordre élevé.
- La méthode itérative, qui s'adapte bien aux systèmes où A est creuse (beaucoup de zéros) et d'ordre élevé.
7.2. Méthodes directes Nous allons traiter ici la méthode du pivot et ses variantes. Le but est de transformer le système en un système résolvable directement.
Modélisation
FN CRES
80
7.2.1. Méthode de Gauss-Jordan ou méthode du pivot 7.2.1.1 Principe Soit le système
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
n
2
1
n
2
1
nn2n1n
n22221
n11211
b
bb
x
xx
aaa
aaaaaa
MM
L
M
L
L
on cherche a le transformer en un système de la forme
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
n
2
1
n
2
1
d
dd
x
xx
100
010001
MM
L
M
L
L
On cherche donc à transformer la matrice A en la matrice identité. a) on divise la première ligne par 11a
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
n
2
1
n
2
1
nn2n1n
n22221
n112
b
b'b
x
xx
aaa
aaa'a'a1
MM
L
M
L
L
avec
⎪⎪⎩
⎪⎪⎨
⎧
=
=
11
11
11
j1j1
ab'b
aa
'a pour j = 1 à n
b) on annule le premier terme des autres lignes en retranchant à chaque ligne la première
multipliée par le premier élément de chaque ligne.
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
n
2
1
n
2
1
nn2n
n222
n112
''b
''b'b
x
xx
''a''a0
''a''a0'a'a1
MM
L
M
L
L
avec ⎩⎨⎧
−=
−=
1i1ii
1ij1ijij
a 'bb''b
a 'aa''a pour i = 2 à n et j = 1 à n
On dit que l'on vient de prendre la première ligne comme pivot et son premier élément comme élément pivot. On recommence en prenant comme pivot la seconde ligne et son deuxième élément comme élément pivot.
On arrive ainsi au système
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
n
2
1
n
2
1
d
dd
x
xx
100
010001
MM
L
M
L
L
d'où la résolution de l'équation avec
ii dx = pour i = 1 à n
Modélisation
FN CRES
81
7.2.1.2 Limite de la méthode Si l'élément pivot est nul (ou proche de 0), on ne peut pas faire la division (le résultat peut être faussé). Solutions pour la programmation:
a) Solution simple On teste la valeur du pivot et on n'effectue l'opération que si elle est supérieure à une valeur ε, sinon on arrête le calcul.
b) Recherche du pivot maximum partiel Parmi les lignes pivot qui n'ont pas été traitées, on cherche la ligne (i) pour laquelle l'élément pivot est maximum. Puis on intervertit les lignes pour travailler avec le pivot maximum (en valeur absolue), sans oublier d'intervertir les termes ib . Ou bien on procède de la même façon en intervertissant les colonnes de façon à placer en élément pivot le terme maximum de la ligne pivot (sans oublier d'inverser les ix ).
c) Recherche du pivot total On cherche la valeur maximale de la matrice (*) pour s'en servir d'élément pivot, en intervertissant les lignes et les colonnes.
(*) il s’agit ici de la sous-matrice carrée constituée de l’intersection des lignes et colonnes non encore traitées.
Remarque : si le dernier pivot est nul, alors c'est que le système d'équation admet une infinité de solutions.
d) Vérification des résultats On peut aussi vérifier les résultats en recalculant les équations (connaissant les ix ) et les comparer aux termes ib . 7.2.2. Méthode de Gauss (ou triangularisation) On cherche cette fois à se ramener à un système de la forme :
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
n
2
1
n
2
1
n2
n112
d
dd
x
xx
100
c10cc1
MM
L
M
L
L
On cherche donc à transformer la matrice A en une matrice triangulaire supérieure équivalente (on peut aussi raisonner avec une matrice triangulaire inférieure). L'algorithme est le même que pour la méthode précédente, mais l'étape de soustraction ne s'effectue que pour les lignes inférieures. Puis on trouve les solutions en prenant :
Modélisation
FN CRES
82
⎪⎪⎩
⎪⎪⎨
⎧
−−=
−==
−−−
−−
L
n , 2-nn1-n , 2-n1n2n2n
n , 1-nn1n1n
nn
c xc xdxc xdx
dx
Remarque : Il existe les mêmes problèmes que pour la méthode de Gauss-Jordan quand les pivots sont nuls ou proches de zéro. 7.2.2.1 Nombre d'opérations
Pour la méthode de Gauss-Jordan, il faut environ 2n3
opérations. Pour la méthode de Gauss, il
faut environ 3n3
opérations. Ce qui est peu, comparé aux méthodes nécessitant le calcul de
déterminants (méthode de Cramer). Ces approches peuvent donc être utilisées pour des valeurs de n grandes.
Méthode de Cramer : Si D est le déterminant de la matrice A et si iD est le déterminant de la matrice obtenue en remplaçant la ième colonne de A par le vecteur B, alors la
solution du système est le vecteur X tel que DDx i
i =
Cette méthode nécessite le calcul de (n+1) déterminants obtenus chacun par (n-1) n! multiplications, soit (n²-1) n! opérations. 7.3. Méthode du double balayage pour les matrices tridiagonales
(Cholesky). Ces matrices sont par définition relativement creuses. Dans le cas d'un ordre élevé, il y a donc beaucoup de zéros. D'un point de vue informatique, on a alors intérêt à stocker une série de vecteurs représentant chacun une diagonale plutôt qu'une matrice (n × n). Pour résoudre ce type de matrice, stockée sous forme de vecteurs, on utilise plutôt la méthode de Gauss que celle de Gauss-Jordan, cette dernière faisant apparaître au cours des calculs des valeurs non nulles en dehors des trois diagonales. Soit le système d'équation correspondant à un système matriciel tridiagonal.
⎪⎪⎪
⎩
⎪⎪⎪
⎨
⎧
=+=++
=++=+
−
−−−−−−
nnn1nn
1nn1n1n1n2n1n
2322212
12111
yxaxcyxbxaxc
yxbxaxcyxbxa
MMMM
Modélisation
FN CRES
83
qui peut s'écrire
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢⎢⎢⎢
⎣
⎡
−−−−
n
1n
2
1
n
1-n
2
1
n
1n
n
1n1n
222
11
yy
yy
xx
xx
ab
0
0
ca
0c0
0
00bac
0ba
M
M
M
MM
M
LL
MOOOM
OOO
LL
Remarque : 1c et nb sont nuls. 1er balayage (« aller ») : on crée deux vecteurs A et B . Calcul des termes ii B et A :
0B A 00 == pour i = 1 à n
i1ii
1iiii
i1ii
ii
aAcBcyB
aAcbA
+−
=
+−=
−
−
−
2ème balayage (« retour ») : on en déduit les valeurs de x
nn Bx = pour i = (n-1) à 1 i1iii BxA x += + 7.4. Méthodes itératives Elles sont adaptées aux systèmes linéaires de grande dimension et de matrice peu dense. 7.4.1. Principe Soit le système matriciel A X = B. On décompose la matrice A en deux matrices M et N telles que A = M + N, d'où :
(M + N) X = B M X = -N X + B X = M-1 (-N X + B)
En partant d'un vecteur X(0) initial, on calcule successivement les nouveaux vecteurs X(1) puis X(2) …etc par la formule de récurrence :
X(k) = M-1 (-N X(k-1) + B) (attn: en pratique, pas besoin de calculer explicitement M-1 !!) On démontre alors que si il y a convergence, on converge sur X, solution du système A X = B Cette convergence est vérifiée si le rayon spectral de la matrice M-1N est inférieur à 1 (le rayon spectral étant le module maximal des valeurs propres = imax λ ).
Modélisation
FN CRES
84
Remarques : la condition de convergence n'est pas toujours facile à vérifier. On la
remplacera alors par une condition suffisante telle que ∑≠=
≥
ijj
ijii a a (matrice A à diagonale
dominante) Le choix des matrices M et N va dépendre de la méthode. Mais M sera choisie de façon à être facilement "inversible". On s'arrête quand l'écart des valeurs du vecteur X entre deux itérations devient petit. 7.4.2. Méthode de Jacobi Dans cette méthode on pose A = D + G + S avec D matrice diagonale G matrice triangulaire inférieure S matrice triangulaire supérieure
S
GD
On prend M=D et N=G+S, d'où le schéma itératif : D X(k) = B – (G + S) X(k-1) qui s'écrit sous forme matricielle
)1k(n
2
1
2n1n
n221
n112
n
2
1
)k(n
2
1
nn
22
11
x
xx
0aa
a0aaa0
b
bb
x
xx
a000
a000a
−
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
M
L
OM
L
L
MM
L
OM
M
L
Donc on obtient la formule : ⎥⎥⎥
⎦
⎤
⎢⎢⎢
⎣
⎡−= ∑
≠=
n
ij1j
jijiii
i 1)-(k)k( xab
a1x
(cette formule revient à calculer chaque i kx )( en l’isolant dans la ième équation où les autres inconnues sont remplacées par les valeurs calculées à l’itération précédente xj k )1( −
).
Il faut pour cela que iia soit non nul quelque soit i (ou que D soit réversible), ce qui peut généralement être obtenu facilement par inversion des lignes ou des colonnes de la matrice A). 7.4.3. Méthode de Gauss -Seidel Avec les mêmes notations que précédemment (A = G + D + S), on prend cette fois M= G+D et N=S. Le schéma itératif s’écrit donc : (G + D) X(k) = B – S X(k-1)
Modélisation
FN CRES
85
soit sous forme matricielle
)1k(n
2
1
n2
n112
n
2
1
)k(n
2
1
nn)1n(n1n
2221
11
x
xx
000
a00aa0
b
bb
x
xx
aaa0
aa00a
−−⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
−
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
=
⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢
⎣
⎡
⎥⎥⎥⎥⎥
⎦
⎤
⎢⎢⎢⎢⎢
⎣
⎡
M
L
OM
L
L
MM
L
OM
M
L
Donc on obtient la formule : ⎥⎦
⎤⎢⎣
⎡−−= ∑∑
−
=+=
1i
1jjij
n
1ijjiji
iii (k)1)-(k)k(
xa xaba1x
C'est le même schéma que pour la méthode de Jacobi, sauf qu'il faut intégrer les valeurs de X(k) calculées au fur et à mesure (on calcule chaque i kx )( par la ième équation en remplaçant les autres inconnues par leur dernière valeur calculée) La condition de convergence est la même que pour la méthode de Jacobi. Cette méthode est plus rapidement convergente que la méthode de Jacobi. 7.4.4. Facteur de relaxation Il permet d'accélérer les processus itératifs ou de les rendre convergents (si ils divergent). Après chaque calcul de i kx )( (par Jacobi ou Gauss-Seidel), on ajuste cette valeur de la
manière suivante : )xx(xx)1k()k()1k()k( iiii −−
−λ+=
λ est le facteur de relaxation, = 1 pour une itération normale < 1 pour une sous-relaxation
> 1 pour une sur-relaxation. En général : 0 < λ < 1 permet de faire converger un processus divergent 1 < λ < 2 accélérer un processus convergent λ > 2 divergence Exemple : la relaxation dans la méthode de Gauss-Seidel donne
⎥⎥⎦
⎤
⎢⎢⎣
⎡−⎟⎟
⎠
⎞⎜⎜⎝
⎛−−λ+=
−− ∑∑−
=+=)1k((k)1)-(k)1k()k( i
1i
1jjij
n
1ijjiji
iiii x xa xab
a1x*x