Méthodes Numériques en Mécanique
Méthodes Numériques en Mécanique
Olivier BOTELLA
LEMTA UMR CNRS 7563
2 avenue de la Forêt de Haye - TSA 60604 - 54518 VANDOEUVRE
Email : [Link]@[Link]
Partie II
Différences finies
3 Introduction naïve aux différences finies
Considérons le problème représenté sur la figure 3.1, et que l’on retrouve dans de nombreux bouquins
(e.g. [2, 10]) : une poutre de longueur l = 1, étirée selon son axe par une force P et simplement appuyée à ses
extrémités 0 et 1, est soumise à une charge transversale f (x) par unité de longueur dx. La théorie des poutres
nous dit que le déplacement u(x) au point x est solution du problème aux limites :
avec c(x) = P/EI(x), où E est le module d’Young de la poutre et I(x) le moment principal d’inertie de la
section de la poutre au point x.
Sauf dans de très rares situations, on ne connait pas de solution analytique à un problème aux limites.
Les méthodes d’approximation numériques, et en particulier la méthode des différences finies, permettent
d’approcher les valeurs de la solution d’aussi près qu’on veut.
Fig. 3.2. Maillage utilisé pour le problème de la poutre. Le symbole ◦ désigne les nœuds intérieurs et • désigne les
nœuds de la frontière.
La valeur du©pas h est destinée ª à tendre vers 0. La méthode des différences finies est une façon d’obtenir une
approximation ui , i = 1, . . . , N de la solution u(xi ) aux nœuds xi . D’après les conditions aux limites (3.1b),
on a u1 = uN = 0, et il reste à chercher le vecteur
u2
U = ... ∈ RN −2 , (3.3)
uN −1
24 3 Introduction naïve aux différences finies
tel que les ui soit une “bonne” approximation de la solution u(xi ) aux points intérieurs du maillage. De plus, la
qualité de l’approximation aux différences finies sera d’autant meilleure que h → 0, i.e. que le nombre de points
N du maillage est grand.
Pour cela, on va établir une approximation par différences finies de l’opérateur L = −d2 /dx2 + c(x) par
application de la formule de Taylor :
h2 00 h3 000 h4 (4) h5 (5)
u(xi + h) = u(xi ) + hu0 (xi ) + u (xi ) + u (xi ) + u (xi ) + u (xi + θi+ h), (3.4a)
2! 3! 4! 5!
h2 h3 000 h4 (4) h5 (5)
u(xi − h) = u(xi ) − hu0 (xi ) + u00 (xi ) − u (xi ) + u (xi ) − u (xi + θi− h), (3.4b)
2! 3! 4! 5!
avec θi+ , θi− ∈]0, 1[. En combinant ces deux expressions pour éliminer u0 (xi ), on obtient l’expression :
u(xi + h) − 2 u(xi ) + u(xi − h)
u00 (xi ) = 2
+ h2 R(xi ) , (3.5a)
| h{z } | {z }
formule aux différences finies Reste ou résidu
tel que
−1 (4) h
R(xi ) = u + (u(5) (xi + θi+ h) − u(5) (xi − θi− h)). (3.5b)
12 i 120
On rappelle les définitions suivantes :
Définition 3.1 (Grand “Oh” et petit “oh”).
On dit qu’une fonction f est telle que f = O(g) s’il existe K ≥ 0 tel que
|f |
≤K lorsque h → 0.
|g|
D’autre part, f = o(g) si
|f |
→0 lorsque h → 0.
|g|
On utilisera essentiellement les grands “Oh” dans la suite du cours.
D’après ces définitions, R(xi ) = −u(4) /12 + O(h), donc le résidu est une fonction bornée. On pourrait aussi
écrire que
u(xi + h) − 2 u(xi ) + u(xi − h)
u00 (xi ) = + O(h2 ). (3.6)
h2
Il ne reste plus qu’à reporter la formule (3.5a) dans l’équation différentielle (3.1a). En tenant compte des
conditions aux limites (3.1b), soit u1 = uN = 0, on obtient le système linéaire
2u2 − u3
+ c2 u2 = f2 + h2 R2 ,
h2
−ui−1 + 2ui − ui+1
+ ci ui = f i + h2 R i , pour i = 3, . . . , N − 2, (3.7)
h2
−uN −2 + 2uN −1 + cN −1 uN −1 = fN −1 + h2 RN −1 ,
h2
dans lequel on a posé ci = c(xi ), fi = f (xi ), et Ri = R(xi ). Ce système s’écrit sous la forme matricielle
Ah U = F + τh , (3.8a)
et en posant
f2 R2
F = ... , τh = h2 ... . (3.8c)
fN −1 RN −1
Le vecteur τh , qui tend vers 0 lorsque h → 0, est naturellement conduit à être négligé : on aura donc remplacé
la résolution du problème aux limites linéaire (3.1) par le système algébrique linéaire
Ah U = F. (3.9)
Ce système correspond à la discrétisation du problème (3.1) par la méthode des différences finies. Il est souvent
appelé schéma aux différences finies.
Le vecteur τh est appelé résidu ou erreur de troncature du schéma. En pratique, il est toujours négligé dans
l’expression du schéma. Néanmoins, il donne des renseignements sur la qualité de l’approximation obtenue : ici
τh = O(h2 ), on dit alors que le schéma est précis au second ordre. Ces notions seront énoncées de manière plus
formelle dans le paragraphe 5.4.
Exercice 3.2 (Trigonométrie pénible mais résultat important). On considère la matrice tridiagonale de
taille N × N :
2 −1
−1 2 −1
K= . . .
.. .. .. . (3.10)
−1 2 −1
−1 2
1. On pose h = 1/(N + 1). Montrez que1 les valeurs propres de K sont données par :
λk = 2 − 2 cos kπh, pour k = 1, . . . , N, (3.12a)
1 + cos πh
χ(K) = ,
1 − cos πh
et que, lorsque h → 0,
4
χ(K) ' .
π 2 h2
3. Que pouvez-vous déduire de ces questions sur la performance des méthodes du gradient appliquées à la
résolution du système linéaire issu de l’approximation par différences finies du problème (3.1) avec c(x) ≡ 0
?
4. Question subsidiaire : plus généralement, on considère la matrice de taille N × N :
b c
a b c
· · ·
a b c
· · ·
a b c
a b
1
On rappelle à ce sujet les formules
sin(a ± b) = sin a cos b ± cos a sin b,
cos(a ± b) = cos a cos b ∓ sin a sin b,
sin(a − b) + sin(a + b) = 2 sin a cos b.
26 3 Introduction naïve aux différences finies
De plus, il est possible de transformer l’intégrale de surface en intégrale de volume en utilisant le théorème de
Gauss :
Théorème 4.2 (Théorème de la divergence de Gauss).
Pour tout volume V dont la surface S est fermée, nous avons pour tout vecteur u :
Z Z
∇ · u dV = u · n dS, (4.4)
V S
d’ou on déduit la forme locale1 d’une loi de bilan, valable en tout point x de V :
1
Cette forme est aussi qualifiée de “conservative”, pour mettre en avant le lien avec la forme globale (4.3) qui est
exprimée par le théorème de la divergence.
28 4 Notions sur les équations aux dérivées partielles (EDP)
∂ρφ
+ ∇ · (ρφv − t) = q, (4.6)
∂t
qui prends alors la forme d’une équation aux dérivées partielles (EDP).
Les formes intégrale (4.3) ou locale (4.6) représentent les formes génériques des équations de bilan de la
mécanique.
Exemple 4.3 (Equation de conservation de la masse). L’équation de continuité en mécanique des fluides s’obtient
en posant φ ≡ 1, t ≡ 0, et q ≡ 0 dans (4.6), soit :
∂ρ
+ ∇ · (ρv) = 0, (4.7)
∂t
et dans le cas où la masse volumique est constante, on retrouve la contrainte d’incompressibilité :
∇ · v = 0.
Exemple 4.4 (Equation de Navier-Stokes). Pour la conservation de la quantité de mouvement d’un fluide New-
tonien, on prend φ ≡ v dans (4.6) et, par exemple, q ≡ 0. Lorsque t prend la forme du tenseur de Cauchy :
t = −pI + τ , (4.8)
où I est l’identité et τ le tenseur des contraintes visqueuses défini en (11.5), on obtient l’équation de Navier-
Stokes
∂ρv
+ ∇ · ρvv = −∇p + ∇ · τ . (4.9)
∂t
Exemple 4.5 (Equation de température). Pour des phénomènes de diffusion de la chaleur, le tenseur t suit la loi
de Fourier
t = κ∇T,
où T est la température et κ la conductivité thermique. En prenant q ≡ 0 et φ ≡ cp T , tel que cp est la chaleur
spécifique à pression constante, on obtient l’équation
µ ¶
∂T
ρcp + ∇ · (vT ) = κ∇2 T, (4.10)
∂t
si l’on suppose que les divers coefficients prennent des valeurs constantes.
∂u ∂u ∂2u
+ a − ν = q. (4.12)
∂t ∂x}
| {z ∂x2}
| {z
Advection Diffusion
2
Elle est aussi connue sous le non d’équation de convection-diffusion. A ne pas confondre avec l’équation de réaction-
diffusion utilisée en combustion.
4.2 Une équation générique : l’équation d’advection-diffusion 29
Une grande partie de la dynamique des solutions de problèmes de mécanique est présente dans cette simple
équation linéaire. Par exemple, cherchons une solution de l’equation (4.12), sans terme de force (q ≡ 0), sous la
forme du mode de Fourier
b(t) e i kx ,
u(x, t) = u i2 = −1. (4.13)
L’équation devient
db
u
u + νk 2 u
+ i akb b = 0,
dt
soit ¡ ¢
2
u b0 e− aik + νk t ,
b(t) = u
où u
b0 est une condition initiale donnée. On obtient finalement la solution
2
b0 e|−νk
u(x, t) = u t ik (x − at) ,
{z } e| {z } (4.14)
I II
telle que :
• I est un terme de diffusion ou dissipation, strictement décroissant en temps.
• II est un terme de propagation.
Fig. 4.1. Solution de l’équation d’advection-diffusion au temps initial (traits pleins) et au temps t > 0 (traits pointillés).
Le graphe de cette solution est représenté sur la figure 4.1. Deux cas particuliers sont à noter :
Remarque 4.7. Dans le cas a ≡ 0, Eq. (4.12) devient
∂u ∂2u
− ν 2 = 0, (4.15)
∂t ∂x
et la solution s’écrit
2
b0 e−νk t e ikx .
u(x, t) = u (4.16)
La caractéristique principale de cette solution est son amortissement exponentiel dans le temps, dû à la présence
de la viscosité ν > 0 :
lim u(x, t) = 0 quand t → ∞.
L’équation (4.15) est connue sous le nom de l’équation de la chaleur. Comme il sera vu dans la section suivante,
ce problème représente le prototype des équations paraboliques.
Remarque 4.8. Dans le cas ν = 0 et a > 0, Eq. (4.12) devient
∂u ∂u
+a = 0. (4.17)
∂t ∂x
Elle prend le nom d’équation d’advection, prototype des équations hyperboliques, et la solution s’écrit
b0 e ik (x − at) .
u(x, t) = u (4.18)
Cette solution prend la forme d’une onde qui se translate à la vitessse constante a, sans déformation ou amor-
tissement : phénomène de propagation.
30 4 Notions sur les équations aux dérivées partielles (EDP)
Les EDP sont mathématiquement classées en plusieurs groupes, ou classes. Les problèmes relevant de chacune de
ces classes possèdent des caractéristiques physiques et mathématiques communes. L’intérêt de cette classification
est que l’étude de problèmes types relevant de chacune de ces classes permet alors de développer des méthodes
numériques universelles.
Plus précisement, les EDP linéaires du second ordre sont regroupées en trois classes distinctes : parabolique,
elliptique, et hyperbolique. Les problèmes physiques qui présentent une évolution au cours du temps sont gou-
vernés par des équations paraboliques ou hyperboliques, dont les exemples types sont :
• L’équation de la chaleur,
∂u
− ν∇2 u = f, ν > 0, (4.19)
∂t
de solution u(t, x) : [0, T ] × Ω → R est représentative des problèmes paraboliques.
• L’équation des ondes,
∂2u ∂2u
2
− c2 2 = f, (4.20)
∂t ∂x
et l’équation d’advection,
∂u ∂u
−c = f, (4.21)
∂t ∂x
de solution
u(t, x) : [0, T ] × R → R,
sont des exemples importants de problèmes hyperboliques.
Les problèmes physiques stationnaires sont généralement décrits par des équations elliptiques. L’équation de
Laplace,
−∇2 u = f avec u(x) : Ω → R, (4.22)
est le prototype de cette classe de problèmes.
Remarque 4.9. L’équation d’advection-diffusion (4.12) est parabolique pour ν > 0 ; si ν = 0 elle est hyperbolique.
Pour plus d’info, cf. Chap. 9.
Afin de définir un problème aux limites bien posé (existence et unicité de la solution), il faut imposer des
conditions initiales et des conditions de bords à la solution.
Les conditions que l’on impose sur la frontière ∂Ω sont de plusieurs types. Un premier type consiste à imposer
la valeur de u sur la paroi. Ce type de conditions aux limites est appelé conditions de Dirichlet :
où g : [0, T ] × ∂Ω → R est une donnée du problème. Par exemple, si u désigne la vitesse d’un fluide, alors (4.23)
avec g ≡ 0 exprime la condition d’adhérence du fluide à la paroi.
Un autre type important consiste à imposer la composante normale du gradient de u à la frontière. Il s’agit
de conditions de Neumann :
4.3 EDP : le point de vue mathématique 31
¯
∂u ¯
(t, ·, )¯¯ ≡ (∇u · n)|∂Ω = g(t, ·, ), ∀ t ∈ [0, T ], (4.24)
∂n ∂Ω
où n désigne la normale extérieure, et g est une fonction connue. Par exemple, si u désigne la température d’un
matériau, alors (4.24) avec g = 0 revient à imposer une condition de flux nul à la paroi.
Citons aussi les conditions de Robin, utilisées notamment en thermique :
¯
∂u ¯
(t, ·, )¯¯ + λ u(t, ·, )|∂Ω = g(t, ·, ), ∀ t ∈ [0, T ], (4.25)
∂n ∂Ω
où λ et g sont connues. Enfin, précisons qu’il est possible de combiner ces différents types de conditions aux
limites. Si ∂Ω se décompose en deux parties disjointes3 ∂Ω1 et ∂Ω2 , on peut alors imposer, par exemple, des
conditions de Dirichlet sur ∂Ω1 et des conditions de Neumann sur ∂Ω2 . Il s’agit alors de conditions mixtes de
Dirichlet-Neumann.
Remarque 4.10. Un peu de vocabulaire : on qualifie d’homogènes des conditions aux limites où la donnée g est
identiquement nulle.
Conditions initiales
Il faut aussi imposer des conditions initiales à un problème d’évolution. Le nombre de conditions initiales
est généralement égal à l’ordre de différentiation en temps de l’EDP. Pour l’équation de la chaleur (4.19) et
l’équation d’advection (4.21), une seule condition suffit :
où u0 (x) est une donnée du problème. Pour l’équation des ondes (4.20), il faut formuler une condition supplé-
mentaire sur ∂u/∂t à l’instant initial.
Pour que la solution d’un problème aux limites possède un sens physique, il est nécessaire que le problème soit
mathématiquement bien posé, c.à.d.
• la solution doit exister,
• la solution doit être unique,
• la solution doit être stable au sens de Hadamard : elle doit dépendre continument des données4 .
On ne peut arbitrairement imposer n’importe quel type de conditions aux limites. L’intuition physique, suivie
d’une analyse mathématique, doivent servir de guide pour choisir les conditions adéquates, conduisant à un
problème bien posé. Ces conditions dépendent essentiellement de la classe de l’EDP considérée.
Exemple 4.11. L’équation de Laplace (4.22) est bien posée avec :
1. les conditions de Dirichlet (4.23), ou
2. les conditions de Neumann (4.24) si les données du problème vérifient la condition de compatibilité :
Z Z
g dS + f dV = 0,
S V
qui s’obtient en appliquant le théorème de la divergence 4.2 à l’équation (4.22). Cette condition exprime
un principe physique de conservation : le flux au travers de la frontière s’équilibre avec la production à
l’intérieur de Ω. Dans ce cas, la solution est connue à une constante (additive) près.
Dans la suite du cours, nous admettrons que tous les problèmes aux limites que nous considérons sont bien
posés.
3
C’est-à-dire : ∂Ω = ∂Ω1 ∪ ∂Ω2 , ∂Ω1 ∩ ∂Ω2 = ∅.
4
C’est-à-dire que si on perturbe quelque peu les données du problème, l’écart entre la solution originale et la solution
perturbée doit rester commensurable aux perturbations, et ne peut s’amplifier de manière dramatique. Un système
chaotique est-il, a priori, stable au sens de Hadamard ?
5 Concepts de base des différences finies
5.1 Introduction
L’approximation par différences finies d’un problème aux limites comprend les étapes suivantes :
1. Générer un maillage du domaine physique Ω, par exemple Ωh = {(xi , yj )} où (xi , yj ) est un nœud en lequel
une approximation de la solution sera calculée.
2. Discrétiser le problème sur la grille calcul Ωh . Cela est effectué lors des étapes suivantes :
a) Substituer les dérivées de l’EDP par un schéma de différences finies. L’idée derrière cette approximation
vient directement de la définition d’une dérivée, p. ex. :
Les méthodes de différences finies sont particulièrement adaptées aux géométries simples de R2 (ou R3 ), telles
que le domaine Ω peut s’écrire dans un système de coordonnées (x, y)
Ω = [ax , bx ] × [ay , by ].
Par exemple, si Ω est un rectangle, alors (x, y) sont les coordonnées cartésiennes, pour un domaine annulaire
alors (x, y) = (r, θ), les coordonnées polaires. Ce type de maillages est appelé maillage cartésien. Une discussion
plus approfondie sur les différents types de maillage utilisés en pratique sera effectuée dans le chapitre 10.
En deux dimensions (2D), le maillage ou grille de calcul Ωh est défini par
Ωh = {(xi , yj ), i = 1, . . . Nx ; j = 1, . . . , Ny } ⊂ Ω. (5.1)
Un exemple est représenté sur la figure 5.1. Le pas de maillage suivant la direction x est noté ∆xi , défini par
∆xi = xi − xi−1 .
Fig. 5.1. Un exemple de maillage cartésien bidimensionnel. Le symbole ◦ désigne les nœuds intérieurs et • désigne les
nœuds de la frontière. Noter que le pas de maillage est non-uniforme dans les deux directions.
Lorsqu’on veut calculer des problèmes aux limites instationnaires, une dimension supplémentaire doit être prise
en considération : le temps. De même que le domaine spatial a été discrétisé par un maillage, le domaine
temporel, e.g. [0,T], doit lui aussi être représenté par une “grille” temporelle :
{tn = n∆t, n = 0, 1, . . . } , (5.3)
où ∆t représente le pas de temps.
La majeur différence entre le temps et l’espace est que la solution au temps (n + 1)∆t est uniquement
influencée par la solution aux instants précédents : l’information ne peut voyager dans le passé ! C’est pour cela
que la plupart des schémas de différences finies utilisent des méthodes classiques pour les problèmes aux valeurs
initiales2 des équations aux dérivées ordinaires (EDO), de la forme :
½ 0
y (t) = f (t, y(t)),
(5.4)
y(0) = y 0 .
Par la suite, nous utiliserons essentiellement des méthodes à un pas, telles la méthode d’Euler progressive,
y n+1 = y n + ∆tf n , (5.5a)
∆t ¡ n ¢
y n+1 = y n + f + f n+1 . (5.5c)
2
Les applications de ces méthodes aux différences finies sont présentées dans les paragraphes 5.4.3 et 6.3.2. Des
perspectives sur l’utilisation de schémas plus sophistiqués, comme les méthodes de Runge-Kutta, sont présentées
dans le paragraphe 6.2. Pour plus de renseignements sur les schémas pour EDO, consulter [9].
Certaines approximations par différences finies, comme les schémas ADI ou de Lax-Wendroff, n’ont pas de
lien avec les méthodes pour EDO. Ces schémas sont présentés dans les paragaphes 8.4 et 9.6 respectivement.
Dans le cas d’une fonction u(x, t) sur maillage uniforme de pas ∆x, nous pouvons écrire les développements en
espace
µ ¶n µ ¶n µ ¶n
∂u ∆x2 ∂ 2 u ∆x3 ∂ 3 u
uni+1 ≡ u(xi + ∆x, tn ) = uni + ∆x + + + O(∆x4 ), (5.9a)
∂x i 2 ∂x2 i 6 ∂x3 i
µ ¶n µ ¶n µ ¶n
n n ∂u ∆x2 ∂ 2 u ∆x3 ∂ 3 u
ui−1 ≡ u(xi − ∆x, tn ) = ui − ∆x + − + O(∆x4 ), (5.9b)
∂x i 2 ∂x2 i 6 ∂x3 i
Il est bien sûr possible de combiner des développements en espace et en temps dans une même formule. Ces
développements vont servir à construire des formules aux différences pour les opérateurs différentiels usuels.
Pour un même opérateur, il est possible de construire un grand nombre de schémas de différences finies. Ces
formules diffèrent essentiellement par les nœuds qui sont utilisés, et leur erreur de troncature, i.e. le premier
terme négligé dans le développement de Taylor. Les formules les utilisées pour les opérateurs spatiaux usuels
sont décrites dans les paragraphes suivants.
avec τi l’erreur d’approximation ou erreur de troncature, déjà rencontrée dans le chapitre 3, qui s’écrit :
µ ¶
∆x ∂2u
τi = + O(∆x2 ). (5.10b)
2 ∂x2 i
Pour ces deux formules aux différences, le terme dominant de l’erreur de troncature est proportionnel à ∆x :
on dit que ces formules sont au premier ordre. L’erreur de troncature mesure la précison de l’approximation
et détermine le taux de décroissance de l’erreur lorsque l’espacement des points ∆x diminue. Une présentation
plus formelle des notions de troncature et de convergence est effectuée dans le paragraphe 5.4.
Il est possible d’obtenir des approximations de la derivée première d’ordre supérieur à 1. En effet, la combi-
naison des Eqs. (5.9a) et (5.9b) donne
µ ¶ µ ¶
ui+1 − ui−1 ∂u ∆x2 ∂ 3 u
= + + O(∆x3 ). (5.12)
2∆x ∂x i 6 ∂x3 i
Cette approximation est au second-ordre, et elle est formellement plus précise que (5.10) ou (5.11).
Les formules de différences finies sont maintenant obtenues en négligeant l’erreur de troncature. On obtient
alors :
Définition 5.1 (Approximations usuelles de la dérivée première).
36 5 Concepts de base des différences finies
L’approximation usuelle de la dérivée seconde est la formule centrée à trois points, déjà présentée dans le
paragraphe 3.1 : µ 2 ¶ µ ¶
ui+1 − 2 ui + ui−1 ∂ u ∆x2 ∂ 4 u
= + + O(∆x3 ). (5.16)
∆x2 ∂x2 i 12 ∂x4 i
Définition 5.2 (Approximation de la dérivée seconde). L’approximation usuelle est la formule centrée à
trois points :
0 ui+1 − 2 ui + ui−1
δxx ui ≡ . (5.17)
∆x2
dont l’erreur de troncature est en O(∆x2 ).
Remarque 5.3. Il est possible de construire des schémas pour les dérivées secondes (ou d’ordre plus élevé) à
partir de formules pour les dérivées d’ordre inférieur. Par exemple,
0 1 +
δxx ui = δx+ (δx− ui ) = δx− (δx+ ui ) = (δ − δx− )ui ,
∆x x
par contre
ui+2 − 2 ui + ui−2
δx0 δx0 ui = ¡ ¢2
0
6= δxx ui .
2∆x
5.4 Analyse des schémas aux différences 37
Il existe des manières plus systématiques pour obtenir des formules aux différences. Par exemple, pour obtenir
une approximation la dérivée première de u(x) au point xi qui utilise les valeurs aux nœuds i − 1, i et i + 1, on
écrit µ ¶
∂u
a ui+1 + b ui + c ui−1 = + τi , (5.19)
∂x i
où a, b et c sont les coefficients à déterminer et τi est le terme de troncature indiquant la précision de la formule.
La substitution de développements de Taylor dans (5.19) conduit à :
³ µ ¶ µ ¶ µ ¶
¡ ¢ 1 ´ ∂u ¡ ¢ ∆x2 ∂ 2 u ¡ ¢ ∆x3 ∂ 3 u
τi = a + b + c ui + a − c − ∆x + a+c + a − c + O(∆x4 ), (5.20)
∆x ∂x i 2 ∂x2 i 6 ∂x3 i
en ordonnant le second-membre en puissances croissantes de ∆x. Pour obtenir la formule la plus précise, il faut
annuler autant de termes que possible dans l’erreur de troncature. Puisque nous disposons de trois coefficients,
il est possible de mettre les trois premiers termes de (5.20) à zéro, ce qui conduit à :
1
a + b + c = 0, a−c= , a + c = 0.
∆x
Ce système linéaire possède l’unique solution :
1 1
a= , b = 0, c=− ,
2∆x 2∆x
et la substitution de ces valeurs dans (5.20) conduit à
µ ¶
∆x2 ∂ 3 u
τi = + O(∆x4 ).
6 ∂x3 i
Exercice 5.5. Déterminez la formule décentrée du second ordre qui exprime (∂u/∂x)i en fonction de ui , ui+1 ,
et ui+2 . Montrez que l’erreur de troncature s’écrit :
µ ¶
∆x2 ∂ 3 u
τi = − .
3 ∂x3 i
Exercice 5.6. Montrez que sur un maillage non-uniforme, la technique générale permet de construire la formule
centrée suivante pour la dérivée première :
µ ¶n µ ¶n
∂u (∆xi )2 n (∆xi+1 )2 − (∆xi )2 n (∆xi+1 )2 n ∆xi+1 ∆xi ∂ 3 u
= ui+1 + ui − ui−1 − ,
∂x i D D D 6 ∂x3 i
avec D = ∆xi+1 ∆xi (∆xi+1 + ∆xi ) et ∆xi défini en (5.2). Retrouvez l’expression de la dérivée première centrée
dans le cas particulier d’un maillage uniforme.
Exercice 5.7. Montrez que la formule donnée en (7.21) est bien du quatrième ordre.
les paragraphes précédents ont permis de construire un schéma aux différences que nous écrivons en toute
généralité sous sa forme nodale :
Ah uni = fin . (5.22)
3
On qualifie traditionnellement d’“ordre élevé” toute méthode dont l’ordre de précision est strictement supérieur à 2.
38 5 Concepts de base des différences finies
Ah U n = F n , (5.23)
uni ∼
= u(tn , xi ),
et on a bien sûr pour le second membre fni = f (tn , xi ). La question centrale de l’analyse du schéma (5.22) est
la suivante : comment se convaincre qu’il nous donnera une “bonne” solution uni , qui convergera vers la solution
exacte lorsque les pas de discrétisation ∆t, ∆x tendent vers zéro, si on ne connait pas la solution exacte ? Nous
verrons dans ce paragraphe que le théorème de Lax permet d’assurer la convergence du schéma vers la bonne
solution dès que :
• le schéma est “correct” ou consistant, i.e. il représente la bonne EDP, et
• il est stable, i.e. une petite perturbation, ou erreur, dans les données initiales ne va pas s’amplifier de façon
incontrolée. Ceci est surtout pertinent pour les EDP instationnaires.
Mais avant tout, ce paragraphe va introduire une certain nombre de concepts fondamentaux tels la consis-
tance et la stabilité, qui permettront d’évaluer la qualité d’un schéma numérique avant de le programmer sur
un ordinateur, et d’éviter de mauvaises surprises quand on se rend compte qu’il est inefficace pour le problème
qui nous intéresse !
Puisque Ah représente une approximation tronquée de A, la solution discrète uni ne peut être strictement égale
à la solution exacte u(tn , xi ). Comme dans l’exemple de la poutre (Eq. 3.8), on définit alors
où τin est l’erreur de troncature en chaque nœud (tn , xi ) du maillage. Puisque fin = A u(tn , xi ) d’après (5.21),
on obtient :
Ah u(tn , xi ) = A u(tn , xi ) + τin .
On définit alors :
Définition 5.8 (Erreur de troncature d’un schéma). L’erreur de troncature locale τin , est la différence
entre le schéma numérique et l’équation à résoudre, soit :
³ ´
τin = Ah u(tn , xi ) − fin − A u(tn , xi , ) − f (tn , xi ) . (5.25)
| {z } | {z }
Schéma numérique Equation en (tn , xi )
Reprenons l’exemple du fléchissement de poutre du chapitre 3. La discrétisation de l’équation (3.1a) avec c(x) = 0
par le schéma centré à trois points s’écrit :
0
−δxx ui = fi . (5.28)
L’erreur de troncature du schéma est :
³ ´ ³ d2 u ´
0
τi = −δxx u(xi ) − fi − − 2 (xi ) − f (xi ) (5.29)
| {z } | dx {z }
Schéma numérique Equation en xi
2 4
∆x ∂ u
=− (xi ) + O(∆x3 ), (5.30)
12 ∂x4
en utilisant (5.16). L’erreur de troncature est donc de la forme τi = O(∆x2 ), ce qui montre que le schéma centré
est consistant au second ordre.
Cette propriété de consistance va nous servir à montrer que le schéma est convergent, c.à.d. :
Ah ui − Ah u(xi ) = fi − Ah u(xi ),
= Ah u(xi ) − τi − Ah u(xi ) d’après (5.24),
= −τi .
qui est l’essence du théorème de Lax, qui est un des théorèmes fondamentaux de l’analyse des schémas
numériques.
Vérifier la consistance d’un schéma est la partie aisée de l’analyse de convergence. La stabilité est la partie
difficile. Pour cet exemple simple, montrons-la dans le cas des conditions de Dirichlet (3.1b). D’après les résultats
de l’exercice 3.2, on a :
(−1) 1 ∆x2
|||Ah |||2 = = .
ρ(Ah ) min λk
k=1,...,N
(−1) ∆x2 ∼ 1
|||Ah |||2 = = 2,
1 − cos πh π
lorsque ∆x → 0. L’estimation d’erreur (5.31) devient donc :
||τ ||
||E||2 ≤ = O(∆x2 ). (5.34)
π2
Le schéma est donc convergent au second ordre pour des conditions de Dirichlet. Le cas des conditions de
Neumann sera abordé dans la section 7.2.
40 5 Concepts de base des différences finies
∂u ∂2u
−ν = f (t, x). ν ≥ 0. (5.35)
∂t ∂x2
La première étape de l’approximation par différences finies de cette EDP consiste à discrétiser uniquement la
0
partie spatiale de l’EDP. L’utilisation du schéma centré δxx conduit à
dui 0
(t) − ν δxx ui (t) = fi (t). (5.36)
dt
Cette étape intermédiaire, qui est habituellement appelée semi-discrétisation, vient de transformer l’EDP
(5.35) en un système d’équations différentielles linéaires. Il est alors possible d’utiliser les schémas classiques
d’intégration des équations différentielles ordinaires.
Dans la suite, nous allons appliquer les méthodes d’Euler (5.5a) et (5.5b), qui sont certainement parmi les plus
simples que l’on puisse considérer. Ces schémas peuvent aussi être utilisés pour l’équation d’advection-diffusion
générale (4.11).
Exemple 5.10 (Schéma d’Euler progressif ).
un+1 − uni 0
i
− ν δxx uni = fin . (5.37)
∆t
Pour établir l’erreur de troncature de ce schéma de façon pratique, il faut porter le développement de Taylor
(5.9c) et la formule (5.16) dans (5.37) pour obtenir
µ ¶n µ 2 ¶n
uin+1 − uni 0 n ∂u ∂ u
− ν δxx ui = −ν + τin ,
∆t ∂t i ∂x2 i
avec
µ ¶n µ ¶n
∆t ∂2u ∆x2 ∂4u
τin = −ν + O(∆t2 , ∆x3 ),
2 ∂t2 i 12 ∂x4 i
2
= O(∆t, ∆x ).
Le schéma d’Euler progressif (5.37) est donc consistant au premier ordre en temps, et au second ordre en espace.
Afin d’utiliser ce schéma dans un programme informatique, il est intéressant de le mettre sous sa forme
“itérative” µ ¶
n+1 ν∆t n 2ν∆t ν∆t n
ui = u + 1− uni + u + ∆t fin , (5.38)
∆x2 i+1 ∆x2 ∆x2 i−1
soit, matriciellement,
U n+1 = B U n + G, (5.39a)
avec
B = I + ν∆t Hh , G = ∆t F n . (5.39b)
Le calcul de U n+1 , solution du problème au temps tn+1 , est obtenu en fonction de U n . Ce calcul par récurrence,
ou avancement en temps, de la solution aux instants successifs t0 , t1 , . . . , tn ne nécessite pas l’inversion de
systèmes linéaires. On dit que le schéma d’Euler progressif est explicite en temps.
5.4 Analyse des schémas aux différences 41
Remarque 5.11. La matrice tridiagonale Hh est la discrétisation de l’opérateur d2 /dx2 par le schéma centré du
second ordre. On a déjà rencontré cette matrice dans l’exemple de la poutre (Eq. (3.8), avec ci = 0 et si on
“oubliait” les conditions aux limites).
un+1 − uni
i 0
− ν δxx un+1
i = fin+1 . (5.42)
∆t
L’étude de sa consistance est laissée en exercice (comparer avec le schéma (5.37)). Il s’écrit matriciellement
B1 = I − ν∆t Hh , B2 = I, G = ∆t F n+1 .
Les schémas d’Euler progressif et rétrograde sont tous deux des schémas à deux niveaux de temps dont l’ordre
de troncature est O(∆t, ∆x2 ). Le premier, de type explicite, est moins coûteux en temps de calcul puisqu’il ne
nécessite pas la résolution de systèmes linéaires. Il paraît donc plus avantageux sur le plan algorithmique. Il y
a néanmoins un prix à payer pour pouvoir l’utiliser : la stabilité conditionnelle de la solution calculée.
Pour un problème d’évolution, la stabilité est la propriété du schéma à fournir une solution numérique qui reste
bornée, sur un maillage donné, quand t → ∞ (∆t fixé) ou quand ∆t → 0 (à t fixé).
Tous les schémas d’évolution, même les schémas multiniveaux de la forme (5.41) (cf. TD), peuvent se réécrire
sous la forme itérative :
U n+1 = B U n + G, (5.44)
où B est la matrice d’itération du schéma. Par exemple, la forme itérative du schéma d’Euler progressif (5.37)
est donnée par (5.39).
Lorsqu’on enlève le terme de force (G ≡ 0), le schéma (5.44) prend la forme équivalente :
U n+1 = B(n+1) U 0 ,
Pour que la solution reste bornée à tout temps et que les erreurs initiales ne s’amplifient pas, on énonce la
définition :
Définition 5.14 (Stabilité d’un schéma). Le schéma (5.44) est stable si pour ∆t et ∆x suffisamment petits
sa matrice d’itération vérifie :
|||B||| ≤ 1. (5.46)
Le schéma est inconditionnellement stable si (5.46) est vraie pour toute valeur de ∆t. Le schéma est condition-
nellement stable si (5.46) est vraie pour certaines valeurs de ∆t seulement. Dans ce dernier cas, une condition
de stabilité, analogue à celle qu’on trouve pour les EDO, restreint les valeurs que ∆t peut prendre.
Dans la pratique, nous utiliserons l’étude de stabilité la plus usuelle, qui est celle de Von Neumann. La présen-
tation de cette méthode, et son application concrète aux schémas d’Euler du paragraphe 5.4.3, sera effectuée
dans le chapitre 6 consacré aux équations paraboliques.
42 5 Concepts de base des différences finies
Dans le paragraphe 5.4.2, nous avons observé que pour un exemple stationnaire simple, on avait
Ces notions vont être maintenant formalisées et étendues au cas d’un problème d’évolution.
La convergence d’un schéma est la caractéristique principale de la qualité de l’approximation discrète uni par
rapport à la solution exacte u(tn , xi ). Plus précisement :
Définition 5.15 (Convergence).
Soit Uen = (u(tn , xi ), i = 1, . . . , N ) le vecteur représentant la solution exacte aux nœuds du maillage. Un schéma
est dit convergent si
∀ n, kU n − Uen k −→ 0 pour ∆t, ∆x → 0.
Un schéma est dit convergent d’ordre p en temps et d’ordre q en espace si
La convergence d’un schéma est, en général, très difficile à demontrer mathématiquement. Néanmoins, on dispose
du théorème suivant :
Théorème 5.16 (Lax).
Pour un problème aux limites bien posé et un schéma aux différences qui possède la propriété de consistance, la
stabilité est la seule condition nécessaire et suffisante pour assurer sa convergence.
où τ n désigne l’erreur de troncature du schéma (5.44). Soustraire (5.47) à (5.44) donne l’équation vérifiée par
l’erreur E n = U n − Uen :
E n+1 = B E n − ∆t τ n .
Par induction, on obtient :
n
X
E n = B (n) E 0 − ∆t B (n−k) τ k−1 ,
k=1
dont on déduit,
n
X
||E n || ≤ |||B|||(n) ||E 0 || + ∆t |||B|||(n−k) ||τ k−1 ||,
k=1
n o
(n) 0
≤ |||B||| ||E || + tn max |||B|||(n−k) ||τ k−1 || ,
k=1,...,n
avec tn = n∆t. Si la methode est consistante (i.e. ||τ k−1 || → 0 pour k = 1, . . . , n) et si elle est stable (|||B|||(n) →
0 pour n → ∞), alors la convergence est assuré.
L’importance de ce théorème est grande, car il est bien plus aisé de vérifier la consistance et la stabilité d’un
schéma que la convergence de son approximation. Néanmoins, ce théorème a ses limitations. Les EDP de
la mécanique sont très souvent non-linéaires et possèdent des conditions aux limites complexes, et dans ces
conditions il est difficile d’appliquer le théorème de Lax rigoureusement. On doit l’interpréter comme si les
propriétés de stabilité et de convergence sont des modes de sélection des schémas que l’on construit.
Un exemple mathématique
Pour l’équation (3.1) avec c(x) = 0, discrétisée par le schéma centré (3.9), voici le type d’estimation d’erreur
que l’on peut trouver dans la littérature mathématique (cf. [11]) :
Proposition 5.17. Si on suppose que la solution u(x) est dans C 4 (]0, 1[), on dispose alors de la majoration
d’erreur suivante :
∆x2
ku(xi ) − ui kl∞ ≤ max |u(4) (x)|. (5.48)
96 x∈[0,1]
5.4 Analyse des schémas aux différences 43
Une autre norme utilisée en pratique est la norme discrète l2 , définie par :
à N
!1/2
1 X
kφkl2 = |φ(xi )|2 . (5.49b)
N i=1
On remarquera que ces normes sont des approximations ad hoc des normes de Sobolev continues :
Un exemple concret
0
10
−5
10
−10
10
−15
10
10 20 30 50
2
Fig. 5.3. Erreur l en fonction du nombre de points N (coordonnées logarithmiques) pour le problème (5.51) résolu
par différentes méthodes numériques; 2 : différences finies centrées; 3 : différences finies compactes; ° : collocation-
Tchebychev.
La figure 5.3 montre que, pour les schémas aux différences finies 1. et 2., une erreur du second et sixième ordre
est asymptotiquement obtenue en accord avec les estimations d’erreur théoriques. La méthode de collocation-
Tchebychev démontre pour ce problème très régulier une convergence exponentielle : ce type de convergence est
typique des méthodes spectrales (e.g. : séries de Fourier).
4
Ici u ∈ C 4 (]0, 1[), i.e. la dérivée quatrième de u(x) existe et est continue dans ]0,1[.
6 Les problèmes paraboliques
6.1 Généralités
Les problèmes d’évolution temporelle qui sont de nature dissipative sont gouvernés par des équations aux dérivées
partielles paraboliques.
Le prototype de ce type de problèmes est l’équation de la chaleur pour la température T (t, x)
∂T
ρcp − κ∇ · κ∇T = q, ∀ t ∈ [0, tmax ], ∀ x ∈ Ω ⊂ R2 , (6.1)
∂t
où cp désigne la chaleur spécifique à pression constante, κ > 0 la conductivité thermique et q une source de
chaleur. On adjoint à cette équation une condition initiale de la forme
Exemple 6.1. Considérons le problème représenté sur la figure 6.1, qui concerne la distribution instantanée de
la chaleur dans une barre de métal qui a été portée à la température T0 sous l’effet d’une source extérieure,
qui a ensuite été désactivée au temps t = 0. La température au temps initial est donc T (x, 0) = T0 (x) et, pour
t > 0, les extrémités x = 0 et x = L de la barre sont maintenues à la température constante Tw . Ce problème
est gouverné par l’EDP
∂T ∂2T
− κ 2 = 0. (6.5)
∂t ∂x
46 6 Les problèmes paraboliques
L’évolution temporelle de la solution est représentée sur la figure 6.1 (droite). Comme il a été observé dans le
paragraphe 4.2, on observe une décroissance exponentielle de la condition initiale jusqu’à obtenir une distribution
uniforme T (x) = Tw dans la barre lorsque t → ∞. Cette solution stationnaire est, en fait, solution de l’EDP
d2 T
−κ = 0, (6.6)
dx2
qui est de nature elliptique. Cette dernière équation est obtenue en posant ∂T /∂t = 0 dans (6.5).
Cette exemple illustre le lien entre les EDP paraboliques et elliptiques. Il est donc naturel d’utiliser les mêmes
opérateurs de différences finies pour la partie spatiale de ces problèmes, en particulier les schéma centrés δx0 et δxx
0
du paragraphe 5.3. Le présent chapitre porte essentiellement sur l’approximation temporelle dans les équations
paraboliques. Les conditions aux limites s’implémentent de la même manière que pour les équations elliptiques,
et sont traitées dans le chapitre 7. Les extensions multidimensionnelles seront traitées dans le chapitre 8.
U n+1 = B(n+1) U 0 ,
est la propriété à donner une solution U n+1 qui reste bornée lorsque n → ∞. La définition 5.14 enonce comme
condition nécessaire de stabilité de la solution numérique :
|||B||| ≤ 1. (6.9)
L’étude de stabilite d’un schéma revient à determiner les valeurs de ∆t pour que (6.9) soit vérifiée et que le
calcul n’explose pas. Ce critêre depend de la norme matricielle utilisée. Le plus souvent, on utilise la norme
||| · |||2 qui pour une matrice symétrique s’écrit (cf. Sect. 1.3.1) :
Pour un problème non forcé (f ≡ 0), nous allons considérer sans perte de généralité le schéma à deux niveaux
sous forme itérative :
B1 U n+1 = B2 U n . (6.12)
Cherchons une solution à cette équation sous la forme du mode de Fourier
bn e i kxi ,
uni = u (6.13)
bn+1 = G2 u
G1 u bn , (6.14a)
bn+1 = G u
u bn , (6.14b)
où G = (G1 )−1 G2 est appelée matrice d’amplification. La définition suivante énonce simplement que u
bn+1 reste
bornée dans la limite n → ∞ lorsque les valeurs propres de G sont de module inférieur à 1 :
Définition 6.2 (Stabilité au sens de Von Neumann).
Le schéma (6.12) est stable si
ρ(G) ≤ 1, ∀k tel que − π ≤ k∆x ≤ π, (6.15)
où ρ(G) est le rayon spectral de la matrice d’amplification.
Remarque 6.3. Dans le cas particulier d’un schéma 1D possédant 2 niveaux de temps, la matrice G se réduit au
nombre g = g2 /g1 , appelé facteur d’amplification, qui peut prendre des valeurs complexes. La condition de Von
Neumann (6.15) se réduit alors à
Remarque 6.4. Si le schéma à analyser possède plus de 2 niveaux de temps, il est toujours possible de se ramener
à une expression du type (6.12) en introduisant des variables auxiliaires (cf. TD).
Dans cette partie, on va utiliser la méthode de Von Neumann pour étudier la stabilité des schémas d’Euler du
paragraphe 5.4.3.
Exemple 6.5 (Suite de l’exemple 5.10). On a vu précédemment que le schéma d’Euler explicite (5.37) pour
l’équation de la chaleur (avec f ≡ 0) peut s’écrire sous la forme itérative (5.38), soit :
un+1
i = runi+1 + (1 − 2r)uni + runi−1 , (6.17)
avec
ν∆t
r= . (6.18)
∆x2
En utilisant (6.13), l’Eq. (6.17) s’écrit
bn+1 = g u
u bn , (6.19)
avec le facteur d’amplification
g = (1 − 2r) + 2r cos k∆x. (6.20)
Il est souvent pratique d’utiliser la variable auxiliaire
k∆x 1 − cos k∆x
ξ = sin2 = , (6.21a)
2 2
qui vérifie ξ ≥ 0. Notez qu’une autre relation utile pour la suite est
Puisque le membre de gauche de l’inégalité est une fonction convexe de ξ, la condition (6.24b) est vraie dès que
l’inégalité est vérifiée en ξ = 0 et ξ = 1, soit
1
r≤ . (6.24c)
2
On en déduit finalement la condition de stabilité du schéma d’Euler progressif :
1
∆t ≤ ∆x2 . (6.25)
2ν
Ce schéma est donc conditionellement stable.
Le schéma d’Euler implicite (5.42) sans terme force peut s’écrire sous la forme itérative :
−r un+1 n+1
i+1 + (1 + 2r) ui − run+1 n
i−1 = ui , (6.26)
• Schéma explicite
− Avantage : Facile à mettre en œuvre.
− Désavantage : Limitation de la forme ∆t ≤ f (∆x). En pratique, on peut être amené à utiliser un pas de
temps très petit pour maintenir la stabilité du calcul, ce qui entraîne un très long temps de calcul2 pour
aller de t = 0 a t = T .
• Schema implicite
− Avantage : Très bonne stabilité : autorise des ∆t beaucoup plus grand qu’un schéma explicite.
− Désavantage : Entraîne la reśolution d’un système linéaire (e.g. Eq. (5.43)) à chaque niveaux de temps. En
conséquence, il faut utiliser des algorithmes de résolution de systèmes linéaires très performants (le plus
souvent des algorithmes itératifs) pour minimiser le coût CPU par cycle de temps.
1
Conseil : élever (6.22) au carré.
2
Aussi appelé temps CPU.
7 Les problèmes elliptiques
7.1 Généralités
Les problèmes de mécanique qui décrivent des phénomènes physiques à l’état d’équilibre, où le temps n’intervient
pas, sont souvent gouvernés par des EDP elliptiques. Parmi ces problèmes, citons la distribution de température
dans une barre de métal (cf. Fig. 7.1), la distribution des contraintes dans un solide soumis à une déformation,
ainsi que de nombreux problèmes d’écoulements de fluides. Le prototype des problèmes elliptiques est l’équation
de Laplace, qui s’écrit en 2D
∂2u ∂2u
+ 2 = 0,
∂x2 ∂y
et qui décrit aussi bien l’écoulement irrotationel d’un fluide incompressible, que le transfert de chaleur station-
naire.
Exemple 7.1 (Les équations de l’élasticité linéaire).
∇ · [σ] + ρf = 0, (7.1a)
[σ] = λ tr [²] + 2µ [²], (7.1b)
où [σ] est le tenseur des contraintes et [²] le tenseur des déformations qui a pour composantes :
µ ¶
1 ∂ui ∂uj
²ij = + , (7.1c)
2 ∂xj ∂xi
Les équations de l’élasticité linéaire sont des problèmes elliptiques du second ordre puisque des dérivées secondes
au plus interviennent dans les équations.
Exemple 7.2. Un petit peu de vocabulaire : considérons l’équation aux dérivées partielles générique
Un exemple très simple de phénomène d’équilibre est le problème de conduction de chaleur stationnaire
dans une barre de métal représenté sur la figure 7.1, dont les extrémités x = 0 et x = L sont portées à des
températures constantes T0 et TL , telles que TL > T0 . Ce problème est gouverné par l’équation de Laplace 1D
∂2T
κ = 0.
∂x2
La solution de ce problème est, bien sûr, la droite représentée sur la figure 7.1.
Une caractéristique importante des équations elliptiques est qu’une perturbation de la solution en un point
du domaine, par exemple un changement de la température dû à l’apparition d’une source de chaleur ponctuelle,
entraîne un changement de la solution dans le domaine tout entier. C’est particulièrement évident si on perturbe
les conditions aux limites du problème de la figure 7.1.
L’impact de ce phénomène sur l’imposition des C. L. dans un schéma numérique sera illustré dans la section
7.2. Une autre conséquence importante est que les schémas numériques doivent permettre à la solution en
un nœud d’être influencée par ses voisins, de manière que l’information se propage dans toutes les directions.
C’est la raison pour laquelles les formules centrées (5.15), (5.17) et (8.3) sont particulièrement utilisées pour les
problèmes elliptiques.
7.2 Implémentation des conditions aux limites, et leur influence sur la précision
globale du schéma
Cette partie est consacrée à l’implémentation pratique des conditions aux limites dans un schéma aux différences.
Elle donne aussi un aperçu des problèmes que peut poser le traitement des frontières, et présente des notions
sur l’utilisation de schémas décentrés spéciaux près des bords. On montre aussi la chute de la précision globale
de la solution qui peut être observée si on n’est pas rigoureux dans l’implémentation des schémas de bords.
Considérons le problème de Helmholtz unidimensionnel
λu(x) − u00 (x) = f (x) dans Ω =]0, 1[, (7.4a)
La présence d’une condition de Neumann en x = 0 présente quelques difficultés. En i = 2, Eq. (7.6) s’écrit
u3 − 2 u2 u1
λu2 − 2
= f2 + 2 . (7.10)
h h
Maintenant, pour connaitre u1 , il va falloir discrétiser la condition de Neumann (7.4b) en x = 0 par différences
finies. On ne peut utiliser de formule centrée en x = 0 puisque cela ferait intervenir un nœud qui sort du domaine
Ω (cf. Fig 7.2). On va donc utiliser des formules décentrées.
u1 = u2 − h g− . (7.12)
h2 00 h3 (3)
u3 = u2 + hu02 + u + u2 + O(h4 ), (7.15a)
2 2 6
2
h (3)
g− ≡ u01 = u02 − hu002 + u2 + O(h3 ), (7.15b)
2
l’erreur de troncature devient
u002
τ2 = − + O(h), (7.16)
2
52 7 Les problèmes elliptiques
La perte de précision de la méthode est une conséquence de l’utilisation de la formule au premier ordre (7.11).
Pour y remédier, on peut utiliser la formule suivante,
−u3 + 4 u2 − 3 u1
u0 (0) = , (7.17)
2h
qui est une formule décentrée au second ordre, qui ne fait intervenir que des points de Ωh (cf. Exercice 5.5). La
discrétisation de la condition de Neumann (7.4b) donne
1
u1 = (4u2 − u3 − 2hg− ) . (7.18)
3
Au point i = 2, la formule courante (7.6) devient
2 2
λu2 − 2
(u3 − u2 ) = f2 − g− . (7.19)
3h 3h
Le schéma complet s’écrit maintenant :
• Pour u2 , . . . , uN −1 : résoudre Eq. (7.6) pour i = 3, . . . , N − 2, Eq. (7.9) et Eq. (7.19).
• Ensuite, u1 et uN sont respectivement donnés par Eqs. (7.18) et (7.8).
Examinons, comme pour l’exemple précédent, la consistance en i = 2 :
2 ³ ´
τ2 = 2
−u3 + u2 + hg− + 23 h2 u002 , (7.20a)
3h
2 (3)
= u2 h + O(h2 ), (7.20b)
9
en utilisant les développements limités (7.15). Le schéma est maintenant consistant au premier ordre en i = 2.
Les calculs numériques montrent que la solution est globalement au second ordre dans la norme l2 .
Sur cet exemple simple, on voit le problème posé par l’implémentation des conditions aux limites, qui peuvent
nécessiter l’utilisation de schémas décentrés près du bord. Pour le schéma centré au second ordre (7.6), seule
la condition de Neumann a posé problème. Néanmoins, des difficultés analogues peuvent se poser si on veut
utiliser des schémas aux différences plus précis, par exemple :
µ 2 ¶
∂ u −ui+2 + 16 ui+1 − 30 ui + 16 ui−1 − ui−2
= , (7.21)
∂x2 i 12 h2
qui est précis en O(h4 ), mais fait intervenir 5 voisins ! L’utilisation de cette formule nécessiterait de construire
des schémas spéciaux près des bords. Ces schémas de bord influent sur la précision globale du schéma, mais
peuvent aussi influer sur la stabilité de la solution pour les problemes d’evolution.
u1 = u2 − hg− , (7.23a)
uN = g+ . (7.23b)
soit, matriciellement
b2 c2 u2 d2
a3 b3 c3
u3 d3
· · ·
· ·
ai bi ci =
ui .di (7.25)
· · ·
· ·
aN −2 bN −2 cN −2 uN −2 dN −2
aN −1 bN −1 uN −1 dN −1
ci di − ai d0i−1
c0i = , d0i = , (7.27b)
pivot(i) pivot(i)
avec
• Seconde étape (backward sweep) : après la première étape, la dernière ligne du système s’écrit
uN −1 = d0N −1 . (7.28a)
On peut alors remonter le système dans le sens des i décroissants pour calculer la solution ui de proche en
proche. Cette récurrence inverse est donnée par la formule
dans le domaine bidimensionnel Ω =]0, 1[2 par la méthode des différences finies. Dans ce but, on introduit le
maillage
Ωh = { (xi , yj ), 1 ≤ i ≤ Nx , 1 ≤ j ≤ Ny } , (8.2a)
1 1
∆x = , ∆y = . (8.2c)
Nx − 1 Ny − 1
Au point courant (i, j), on définit le schéma à 5 points pour (8.1) comme
¡ 0 0
¢
λ uij − δxx uij + δyy uij = fij , (8.3)
0
où δxx 0
et δyy sont les opérateurs de différences finies 1D définis en (5.17), pour ∂/∂x2 et ∂/∂y 2 respectivement.
Le schéma s’écrit aussi
µ ¶
ui+1,j − 2 ui,j + ui−1,j ui,j+1 − 2 ui,j + ui,j−1
λ uij − + = fij . (8.4)
∆x2 ∆y 2
Il est appelé schéma à 5 points car il fait intervenir le nœud courant (i, j) et ses 4 voisins le long des lignes du
maillage (cf. Fig. 8.1). Ce schéma possède une erreur de troncature en O(∆x2 , ∆y 2 ).
56 8 Notions sur les schémas numériques multidimensionnels
Les conditions aux limites se traitent de manière analogue au cas 1D. Considérons, par exemple, la condition
de Neumann ¯
∂u ¯¯
= g − (y), (8.5)
∂x ¯x=0
0
sur la paroi gauche du domaine Ω (cf. Fig. 8.2). Au nœud (2, j), il faut utiliser un schéma special pour δxx u2,j .
En utilisant la méthode décrite dans l’exemple 7.4, le schéma à 5 points s’écrit au point (2, j) :
2 u3,j − 2 u2,j 2
λ u2,j − 0
− δyy u2,j = f2,j − g− . (8.6)
3∆x2 3∆x j
Pour un nœud courant (i, j), il est commode d’introduire les notations géographiques du schéma à 5 points,
représentées sur la figure 8.3, avec P = (i, j), N = (i, j + 1) (North), etc . . . . Le schéma (8.4) s’écrit alors pour
un nœud suffisament loin des bords :
aS uS + aW uW + aP uP + aE uE + aN uN = fP , (8.7)
avec
1 1 2 2
aS = − , aW = − , aP = + + λ, (8.8a)
∆y 2 ∆x2 ∆x2 ∆y 2
1 1
aE = − , aN = − 2 , fP = fij . (8.8b)
∆x2 ∆y
Cette notation sera utile pour décrire la résolution itérative du schéma à 5 points dans le paragraphe 8.5.
8.2 Les schémas implicites pour les équations paraboliques : lien avec l’équation
de Helmholtz
On considère, par exemple, l’équation de la chaleur 2D :
8.3 Perspectives sur la résolution numérique du schéma à 5 points 57
∂u
− ν∇2 u = f, (8.9)
∂t
résolue par le schéma d’Euler implicite (ou rétrograde, cf. Chap. 6)
un+1
ij − unij ¡ 0 n+1 0 n+1
¢ n+1
− ν δxx uij + δyy uij = fij . (8.10)
∆t
En regroupant au second membre les termes déja connus à l’instant t = (n + 1)∆t, on est alors amené à résoudre
le système linéaire µ ¶
1 n+1 ¡ 0 n+1 0 n+1
¢ 1 n+1
unij
uij − δxx uij + δyy uij = fij + , (8.11)
ν∆t ν ∆t
qui est une équation de Helmholtz (discrète) de type (8.1) avec λ = 1/(ν∆t). Ainsi, à chaque niveau de temps,
l’utilisation du schéma d’Euler implicite conduit à la résolution d’une équation elliptique de type Helmholtz.
Remarque 8.1. Une discrétisation de (8.9) par le schéma de Crank-Nicolson (cf. TD), ou plus généralement tout
schéma implicite, conduit à la résolution d’un problème de Helmholtz analogue à (8.11).
{ uij ; i = 1, . . . , Nx , j = 1, . . . , Ny } (8.12)
u = {Ul , l = 1, . . . , Nx Ny } , (8.13a)
en posant
On fait de même pour le second membre f = {fl }. Cet arrangement des inconnues est connu sous le nom d’ordre
lexicographique, et il correspond à faire un balayage du domaine ligne par ligne dans le sens des i croissants
(cf. Fig. 8.4). Le schéma (8.3) peut alors s’écrire sous la forme matricielle
Fig. 8.4. Ordre lexicographique pour les nœuds intérieurs d’un maillage cartésien.
A u = f, (8.14)
où A est une matrice de taille Nx Ny × Nx Ny très creuse, puisqu’elle ne comporte que 5 éléments non nuls par
lignes. En reprenant les notations géographiques de la section 8.2, le système (8.14) est représenté sur la figure
8.5.
La résolution efficace de systèmes linéaires qui sont issus, tels (8.14), de la discrétisation des EDP est
un point crucial de l’efficacité d’une méthode numérique. En effet, la résolution de ces systèmes est une des
58 8 Notions sur les schémas numériques multidimensionnels
Fig. 8.5. Système linéaire correspondant au schéma à 5 points (8.3) ordonné lexicographiquement. Les 5 diagonales
hachurées représentent les élements non nuls de la matrice.
parties de l’algorithme les plus coûteuses en temps de calcul : par exemple, on observe que dans une simulation
d’écoulements de fluides incompressibles, la résolution de système linéaires occupe au mieux 60% du temps de
calcul, et qu’une résolution mal adaptée ou peu optimisée peut faire multiplier ce temps de calcul par 10 !
On peut diviser les méthodes de résolutions de systèmes linéaires issus de la mécanique en trois catégories :
A) Les méthodes directes : elles comprennent les méthodes bien connues de Gauss et de factorisation LU, dont
l’algorithme de Thomas (cf. section 7.3) est un cas particulier adapté aux matrices tridiagonales.
B) Les méthodes itératives, qu’elles soient de base comme les algorithmes de Jacobi, Gauss-Seidel, S.O.R., etc
. . . , qui seront presentees dans le paragraphe 8.5), ou plus sophistiquées, comme celles issues de la théorie
de l’optimisation telle la méthode du gradient conjugué du chapitre 2.
C) On rappelle que le système (8.14) est de taille Nx Ny ×Nx Ny . Son équivalent en 3D serait de taille Nx Ny Nz ×
Nx Ny Nz . Pour des problèmes de grandes taille (i.e. grilles tres fines, i.e. Nx Ny Nz très grands), on ne peut
stocker la totalité de la matrice A dans la mémoire de l’ordinateur. On doit alors se ramener à ne garder
uniquement que les éléments non-nuls de A et leur emplacement dans cette matrice : il s’agit de méthodes
de stockage de systèmes creux. Ce type d’adressage indirect complique la programmation et dégrade les
performances des supercalculateurs.
Dans de nombreux cas, il est intéressant d’exploiter les caractéristiques de l’EDP (i.e. séparabilite des
opérateurs) et du maillage (i.e. maillage cartésien ou structuré) pour se ramener à ne résoudre qu’une
série de problèmes unidimensionnels. Ces problèmes 1D sont typiquement résolus par l’algorithme direct de
Thomas. Parmi ces méthodes de résolution, on cite :
• Les méthodes du type “solveur de Poisson rapide” (hors programme)
• Les méthodes de “splitting” du type ADI, qui seront présentées dans le paragraphe 8.4.
Ces dernières méthodes sont bien adaptées aux EDP en géométries simples, telle l’équation de la chaleur
(8.9) dans un domaine rectangulaire.
La méthode ADI (“Alterning Direction Implicit”) et ses variantes sont des méthodes très répandues pour résoudre
les équations de type advection-diffusion en géométrie simple. Dans cette partie, la méthode ADI sera décrite
pour l’équation parabolique de la chaleur (8.9) dans Ω =]0, 1[2 . Elle peut aussi être interprétée comme une
méthode de résolution de l’équation de Poisson
µ 2 ¶
∂ u ∂2u
−ν + 2 = f,
∂x2 ∂y
lorsque t −→ ∞ : lorsque la solution est stationnaire, le processus d’évolution temporel peut être assimilé à un
processus itératif.
8.4 La méthode ADI pour les équations paraboliques 59
Dans le paragraphe 8.2, on a vu que la résolution de (8.9) par le schéma d’Euler implicite entrainait la
résolution du problème d’Helmholtz 2D :
un+1
ij − unij ¡ 0 n+1 0 n+1
¢ n+1
− ν δxx uij + δyy uij = fij . (8.15)
∆t
pour passer du temps tn = n∆t au temps tn+1 = (n + 1)∆t. On est alors amené à résoudre un système linéaire
2D de la forme (8.14), car tous les termes de l’opérateur de Laplace ∇2 u = ∂ 2 u/∂x2 + ∂ 2 u/∂y 2 sont pris de
manière implicite.
En contraste, la méthode ADI permet de découpler en deux étapes l’opération tn −→ tn+1 de manière que,
à chaque étape, seuls les termes associés à une direction spatiale particulière sont traités implicitement. De cette
façon, on se ramène à calculer uniquement des problèmes de Helmholtz 1D, qui sont usuellement résolus par
l’algorithme de Thomas, cf. paragraphe 7.3. Ces étapes successives sont schématisés par :
A) Première étape, tn −→ tn+ 12 = (n + 21 )∆t : schéma implicite en x, et explicite en y,
n+ 12 ³ ´
uij − unij 0 n+ 1 0 n n
− ν δxx uij 2 + δyy uij = fij . (8.16)
∆t/2
n+ 12 ³ ´
un+1
ij − uij 0 n+ 1 0 n+1 n+1
− ν δxx uij 2 + δyy uij = fij . (8.17)
∆t/2
1 1
Examinons l’ordre de consistance du schéma ADI : en formant 2 Eq. (8.16) + 2 Eq. (8.17), on obtient
µ ¶
un+1
ij − unij 0 n+ 1 1 0 ¡ n+1 ¢ 1 ¡ n+1 ¢
− ν δxx uij 2 + δyy uij + unij = n
fij + fij . (8.18)
∆t 2 2
µ ¶n+ 12
1 ¡ n+1 ¢ 1 ∆t2 ∂2u
φ + φn = φn+ 2 + + O(∆t3 ).
2 8 ∂t2
Maintenant, en sachant que le schéma à 5 points est précis en O(∆x2 , ∆y 2 ), l’équation de troncature (8.18)
sՎcrit : ̵
µ ¶n+ 21 ¶n+ 12 µ 2 ¶n+ 12 !
∂u ∂2u ∂ u n+ 1
−ν + = fij 2 + O(∆t2 , ∆x2 , ∆y 2 ). (8.20)
∂t ij ∂x2 ij ∂y 2 ij
Le schéma ADI est consistant à l’ordre 2 en espace et en temps. Une étude de stabilité montrerait que ce schéma
est inconditionnellement stable.
Cela correspond à résoudre, pour chaque ligne J du maillage, J ∈ {j / j = 2, . . . , Ny − 1} , cf. Fig. 8.6, le
problème de Helmholtz 1D :
60 8 Notions sur les schémas numériques multidimensionnels
n+ 12 n+ 12 n
uJ − ν∆t
2 H uJ = unJ + ν∆t
2 [ uyy
J ] +
∆t
2 f nJ , (8.22a)
n
Le vecteur [ uyy yy n
J ] = (uJ (i), i = 1, . . . , Nx ) représente la dérivée seconde de u par rapport à y, qui est calculée
colonne par colonne, i.e.
Enfin, on n’oublie pas d’associer à (8.22a) les conditions de Dirichlet sur les bords gauche (x = 0) et droit
(x = 1) du domaine :
n+ 1 n+ 1
u1,J 2 = gJW , uNx ,J
2
= gJE . (8.22d)
Cela correspond à résoudre Nx − 2 problèmes d’Helmhlotz 1D sur chaque colonne du maillage, avec conditions
de Dirichlet sur les parois supérieure et inférieure du domaine.
A u = f, (8.24)
correspondant à la discrétisation de l’équation de Helmholtz 2D par le schéma à 5 points (cf. section 8.1). On
va décrire les méthodes stationaires de Jacobi, Gauss-Seidel et S.O.R., qui utilisent la décomposition suivante
de A :
A = D − L − U, (8.25)
8.5 Les méthodes itératives de base pour le schéma à 5 points 61
Fig. 8.7. Décomposition de la matrice A en trois sous-matrices disjointes −Nl , M, et −Nu . Le principe des méthodes
itératives de ce paragraphe est de n’inverser que la sous-partie M de A : M doit donc être une matrice “facile” à inverser.
Dans la déconposition LU que nous utilisons, M est la diagonale principale de A, qui est triviale à inverser.
où D, L1 et U 2 sont les sous-matrices de A contenant respectivement les termes diagonaux, supérieurs et in-
férieurs par rapport à la diagonale principale (cf. Fig 8.7). Dans le cas du schéma à 5 points, cette décomposition
appliquée à l’équation (8.7) s’écrit :
aS uS + aW uW + aP uP + aE uE + aN uN = fP . (8.26)
| {z } | {z } | {z }
−Lu Du −Uu
La plus simple (simpliste ?) des méthodes itératives est la méthode de Jacobi, qui s’écrit
Dum+1 = f + (L + U ) um , (8.27)
où l’indice m se réfère au nombre d’itérations de la méthode. Dans le cas d’un maillage cartésien, une itération
m −→ m + 1 correspond à un balayage (sweep) du maillage dans l’ordre lexicographique (cf. section 8.3).
Lorsqu’elle est appliquée à l’équation (8.26), la méthode de Jacobi s’écrit
1 £ ¤
um+1
P = fP − (aS um m m m
S + aW uW ) − (aE uE + aN uN ) . (8.28)
aP
Cette méthode est aujourd’hui très peu utilisée car elle se révèle très coûteuse en temps CPU : elle se révèle
être moins efficace qu’une méthode directe.
Une amélioration de la méthode de Jacobi consiste à utiliser les valeurs de um+1 dans le second membre dès
qu’elles sont disponibles : c’est la méthode de Gauss-Seidel, qui s’écrit :
soit
ω£ ¡ ¢ ¤
um+1
P = (1 − ω) um
P + fP − aS um+1
S + aW um+1
W − (aE um m
E + aN uN ) . (8.31b)
aP
1
L : Lower (inférieur).
2
U : Upper (supérieur).
3
Successive Over-Relaxation.
9 Les problèmes hyperboliques
9.1 Généralités
Reprenons le modèle des équations de bilan de la mécanique du paragraphe 4.2, c.à.d. l’équation d’advection-
diffusion :
∂u ∂u ∂2u
+ a − ν = 0. (9.1)
∂t | {z∂x } ∂x2 }
| {z
a6=0, advection ν≥0, diffusion
On rappelle que dans le cas ν 6= 0, cette équation est de type parabolique, et pour ν = 0 elle prends la forme
de l’équation d’advection, ou de transport :
∂u ∂u
+a = 0. (9.2)
∂t ∂x
qui est de type hyperbolique. Comme il a été vu dans le paragraphe 4.2, une solution de Fourier de cette équation
s’écrit
b0 e i k (x−at) ,
u(x, t) = u
ce qui correspond à une propagation de la condition initiale à la vitesse a sans déformation ou dissipation
visqueuse.
|a|
Pe = , (9.3)
ν
qui exprime le rapport entre les forces d’advection et de diffusion, et qui est à rapprocher du nombre de Reynolds
Re des équations de Navier-Stokes. Lorsque Pe À 1 (ou |a| À ν), c’est-à-dire lorsque la dissipation est très
faible, des effets hyperboliques apparaissent dans la solution, meme si l’équation (9.1) est, stricto senso, de type
parabolique. Ce mélange de comportement parabolique et hyperbolique est typique de l’équation d’advection-
diffusion et, plus généralement, des équations de la mécanique des fluides. C’est la raison pour laquelle les
méthodes du chapitre 6 pour les problèmes paraboliques deviennent moins performantes dans le cas Pe À 1
(ou Re À 1), et que certaines des méthodes pour les équations hyperboliques que nous verrons ci-après, sont
utilisées en CFD pour résoudre les équations de Navier-Stokes.
Exemple 9.2. Les équations d’Euler instationnaires pour la dynamique des gaz (non visqueux). En aéronautique,
on fait souvent l’hyp que le fluide est non-visqueux ... Pour calculer les écoulements autour d’ailes d’avion, on
applique généralement une variante des schémas qui seront discutés dans ce chapitre à la résolution des équations
d’Euler, qui sont non-linéaires.
Exemple 9.3 (Vibration de torsion d’une poutre de section circulaire). Les équations hyperboliques sont om-
niprésentes dans les problèmes de vibrations mécaniques. Par exemple, si on considère le problème de torsion
représenté sur la figure 9.1, l’équation vérifiée par l’angle de rotation ϕ de la section S est
∂2ϕ ∂2ϕ µ
2
− c2 = 0, avec c2 = , (9.4)
∂t ∂x2 ρ
où µ est le coefficient de Lamé et ρ la p
masse volumique de la poutre. Cette équation, appelée équation des ondes,
est de nature hyperbolique, et c = ± µ/ρ est la célérité des ondes de torsion.
Plus généralement, les équations de la mécanique qui modélisent des phénomènes de conservation sont de nature
hyperbolique, et non-linéaires. Leur solution est caractérisée par des paquets d’ondes qui se propagent sans perte
d’amplitude ni de phase. La résolution numérique de ces problèmes est délicate car il est important d’utiliser un
schéma numérique dont les erreurs altèrent le moins possible l’amplitude de ces ondes (phénomène de dissipation
numérique), et leur célérité (phénomène de dispertion numérique).
Afin de se familiariser à la résolution de problèmes hyperboliques, nous allons examiner une variété de
schémas explicites pour l’équation de transport (9.2) tels qu’ils ont été historiquement proposés, et examiner
leurs performances. Ces considérations plus ou moins théoriques seront approfondies (et éclaircies !) en TP et
TD.
Les notions de stabilité (analyse de Von Neumann, paragraphe 6.3) et de consistance (paragraphe 5.4.1)
sont, bien sûr, toujours valides pour les équations hyperboliques.
Il est possible de déterminer complètement la solution en utilisant la condition initiale (9.6). Soit ξ? > 0 et
plaçons nous sur la ligne caractéristique d’équation
x − at = ξ? ,
représentée sur la figure 9.2. Le point courant (x? , t? ) tel que x? − at? = ξ? est sur cette ligne de même que, au
temps initial t = 0, le point (ξ? = x? − at? , 0). La solution vérifie donc
u(x? , t? ) = u(x? − at? , 0) ≡ u0 (x? − at? ),
ce qui signifie que l’information se propage à partir de l’état initial u0 le long des caractérisitiques, et le problème
(9.5)-(9.6) admet finalement pour solution
u(x, t) = u0 (x − at). (9.8)
9.4 Le schéma “upwind” (décentré) et la condition CFL 65
un+1 − uni
i
+ a δx0 uni = 0, (9.9)
∆t
où l’opérateur δx0 est défini en (5.15). Il est facile de vérifier que l’erreur de troncature de ce schéma est en
O(∆t, ∆x2 ).
Exercice 9.4. Montrez que le facteur d’amplification g du schéma (9.9) s’exprime comme
g = 1 − i C sin k∆x,
Un premier remède à l’instabilité du schéma (9.9) consiste à décentrer l’approximation de la partie spatiale de
l’équation de transport suivant le sens de propagation de l’information (i.e. signe de a). Ce principe est commun
à tous les schémas dits “upwind” pour les problèmes hyperboliques.
• Cas a > 0 : schéma décentré amont (“upwind”)
un+1 − uni
i
+ a δx− uni = 0, (9.11a)
∆t
un+1 − uni
i
+ a δx+ uni = 0, (9.12a)
∆t
Ces deux schémas sont du premier ordre en espace et en temps. Une étude de la stabilité du schéma (9.11) pour
le cas a > 0 montre que le facteur d’amplification s’écrit
Comme
a ∆t
C= ≥0 et 1 − cos k∆x ≥ 0,
∆x
la condition de stabilité devient
1 − C ≥ 0,
soit
∆t
C=a ≤ 1. (9.14)
∆x
66 9 Les problèmes hyperboliques
Remarque 9.5. Si a était négatif, la condition de Von Neumann ne serait pas vérifiée, et le schéma (9.11) serait
inconditionnellement instable.
Remarque 9.6. Pour le cas a < 0, la condition de stabilité du schéma (9.12) est :
∆t
−a ≤ 1. (9.15)
∆x
En conclusion, les schémas décentrés (9.11) et (9.12) sont stables sous la condition CFL (Courant-Friedrich-
Levy, 1928) :
∆t
|C| = |a| ≤ 1. (9.16)
∆x
Cette condition de stabilité est omniprésente pour les schémas hyperboliques explicites. On la retrouve aussi
énormément dans les méthodes numériques pour les écoulements de fluides, où les termes de convection (hyper-
boliques) sont très souvent pris en compte explicitement, cf. le logiciel FLUENT.
un+1 − uni
i
+ a δx0 uni − ² δxx
0
un = 0, (9.18a)
∆t | {z i}
terme dissipatif
avec
∆x
²=a > 0. (9.18b)
2
Le schéma upwind s’interprète alors comme le schéma explicite centré (9.9) auquel on ajoute (artificiellement)
un terme dissipatif qui va stabiliser la solution numérique, tout en préservant la consistance du schéma. Une
des conséquences de la présence de ce terme dissipatif est l’amortissement au cours du temps de la solution
numérique, qui est un effet non observé par la solution exacte. Le terme ² > 0 est appelé viscosité artificielle
(ou numérique) par analogie à la mécanique des fluides (terme dissipatif : ν∇2 u).
Remarque 9.7. La notion de dissipation numérique est valable pour d’autres schémas (cf. TP, TD). On l’observe
lors de la résolution numérique de toutes les EDP de la mécanique, mais elle est essentiellement prononcée pour
les EDP à haut caractère hyperbolique, par exemple l’équation d’advection diffusion (9.1) à haut nombre de
Péclet.
Remarque 9.8. Cette notion de dissipation numérique sera approfondie en TD. On introduira aussi la notion de
dispersion numérique.
∂u ∆t2 ∂ 2 u
u(xi , tn + ∆t) = u(xi , tn ) + ∆t (xi , tn ) + (xi , tn ) + O(∆t3 ). (9.19a)
∂t 2 ∂t2
D’après (9.5), on a
∂u ∂u ∂2u ∂2u
(x, t) = −a (x, t), 2
(x, t) = a2 2 (x, t). (9.19b)
∂t ∂x ∂t ∂x
∂u ∆t2 ∂ 2 u
u(xi , tn + ∆t) = u(xi , tn ) − a∆t (xi , tn ) + a2 (xi , tn ) + O(∆t3 ). (9.19c)
∂x 2 ∂x2
En tronquant ce développement au second-ordre et en approchant les dérivées spatiales par différences finies
centrées, on obtient :
∆t2 0 n
un+1 = uni − a∆t δx0 uni + a2 δ u . (9.19d)
i
2 xx i
Le schéma de Lax-Wendroff s’écrit alors, pour a > 0 ou a < 0,
un+1 − uni ∆t 0 n
i
+ a δx0 uni − a2 δxx ui = 0. (9.20)
∆t | {z2}
²>0 : viscosité numérique
1
0.5
0.5
0 0
–0.5 –0.5
–1
–1 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1
(a) Schéma Upwind (a) Schéma Upwind
1.5
1
1
0.5
0.5
0 0
–0.5 –0.5
–1
–1 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1
(b) Schéma de Lax-Wendroff (b) Schéma de Lax-Wendroff
1.5
1
1
0.5
0.5
0 0
–0.5 –0.5
–1
–1 0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1
(c) Schéma MinMod (c) Schéma MinMod
Figure 1: Figure 2:
4 5
1. Motivations & Objectifs (1/2)
Z Motivation de ce travail : Solveur précis & efficace pour géométries complexes (écoulement
visqueux incompressible, méthode volumes/différences fini(e)s)
Z (Un des) enjeux majeurs : Génération de grille pour géométries complexes
Grilles conformes : qui épousent la frontière des géométries complexes
V V
V
Maturité des solveurs structurés Génération de maillage très automatisée
Contrôle aisé de la densité de maillage V
X
Utilisation sur de nombreux types de
Génération de grille «chronophage» géométries
en terme de main d’œuvre X Absence de données structurées
⇒ coût CPU élevé
Les met́hodes de différences finies pour résoudre une E.D.P consistent à approcher les opérateurs différentiels
de l’équation avec une formule aux différences et à chercher une approximation de la solution aux nœuds du
maillage. En tout rigueur, la solution n’est définie qu’aux points de ce maillages.
Au contraire, les méthodes de résidus pondérés supposent que la solution u(t, x) d’une EDP peut être
représentée sous la forme analytique :
N
X
u(t, x) ∼
= uh (t, x) ≡ aj (t)ϕj (x), (10.1)
j=1
où les aj (t) sont des coefficients à determiner et les ϕ(x) sont des fonctions analytiques connues. Les ϕ(x) sont
appelées fonctions de base.
Considérons l’approximation de l’EDP générique :
∂u
− L(u) − f = 0, (10.2)
∂t
ou L est un opérateur différentiel spatial1 et f un second-membre donné. Pour déterminer les N coeffcients
aj (t), on a besoin de construire N équations à partir de l’EDP (10.2). Pour cela, nous injectons l’approximation
de la solution (10.1) dans (10.2) et obtenons :
∂uh
− L(uh ) − f ≡ R(uh ), (10.3)
∂t
où R est le résidu de l’équation, que l’on va entreprendre d’annuler ou, du moins, rendre aussi petit que possible.
Pour cela, nous allons exprimer que l’intégrale du residu sur tout le domaine, pondéré par des fonctions test
ϕ(x),
e soit nulle : Z
R(uh ) ϕ
ei dV = 0, pour i = 1, . . . , N, (10.4)
Ω
ce qui nous fournit les N équations permettant de déterminer les coefficients aj (t), j = 1, . . . , N de la solution
approchée (10.1).
L’équation (10.4) est appelée formulation faible (ou variationnelle) de l’EDP (10.2). Suivant la forme des
fonctions test ϕ,
e on obtient différents types de méthodes, notamment :
A) Méthodes des sous-domaines (volumes finis)
et exprime la conservation des quantités transportées dans une maille Ωi . C’est le point de départ de la
méthodes des volumes finis, où Ωi est souvent appelé volume de contrôle.
1
Par exemple, L = −∇2 .
72 10 Introduction à la méthode des éléments finis
Si les fonctions test sont choisies égales aux fonctions de base, i.e.
ϕ
ej = ϕj ,
on obtient alors la méthode de Galerkin. Cette méthode exprime que le résidu soit orthogonal à chaque
fonction test ϕj dans le produit scalaire L2 (Ω), c.à.d. orthogonal à l’espace
Vh = {ϕj , j = 1, . . . , N } ,
Vh → V,
où V représente l’espace fonctionnel des solutions de l’EDP (10.2), alors la méthode de Galerkin exprime
que
uh → u,
la solution exacte de l’EDP.
C) Il existe d’autres méthodes de résidus pondérés, en particulier la méthode de collocation (hors programme).
Les approximations par sous-domaines et de Galerkin sont à l’origine des méthodes de volumes finis et des
éléments finis respectivement. Leur principal avantage sur les différences finies et de pouvoir s’appliquer à des
géométries arbitrairement complexes (cf. paragraphe suivant).
Lorsqu’on considère un maillage de type cartésien comme ceux que nous avons vu pour les différences finies
(i.e. Fig. 5.1), la méthode de volumes finis est très semblable aux différences finies.
Par contre, la méthode des éléments finis repose sur des techniques très spécifiques qui seront présentées
dans la suite de ce chapitre, et notamment :
• La construction de la formulation variationnelle (10.4) par méthode de Galerkin, permettant de fixer les
conditions aux limites et de déterminer l’espace fonctionnel V où chercher sa solution.
• La construction de l’espace d’éléments finis Vh tel que Vh ∼
= V , qui permet de représenter la solution discrète
(10.1) dans sa base d’éléments finis.
• La construction du problème discret à partir de la formulation variationnelle.
On considère, par exemple, l’écoulement autour d’une aile d’avion représenté sur la figure 10.1.
Fig. 10.1. Ecoulement supersonique autour d’un profil d’aile d’avion. Dans cette approximation on considère une fluide
non visqueux compressible, modélisé par les équations d’Euler.
Pour ce type de géométries, on considère un maillage structuré représente sur la figure 10.2. Il est possible de
trouver un changement de variable
(ξ, η) = f (x, y), (10.7)
entre le domaine physique (x, y) et le domaine de calcul (ξ, η) tel que, dans ce dernier repère, le maillage soit
de la forme représenté sur la figure 10.3.
Il n’est néanmoins pas très aisé de contrôler la distribution des nœuds du maillage, par exemple si on veut
mettre beaucoup de points dans la couche limite ou le sillage de l’aile. Ces maillages structurés sont donc limités
à des géométries relativement simples, où il est possible de trouver, analytiquement ou numériquent, une relation
du type (10.7).
10.1 Introduction et motivation 73
Fig. 10.2. Maillage curviligne utilisé pour l’écoulement autour d’une aile d’avion.
Fig. 10.3. Représentation du maillage curviligne dans le domaine de calcul (ξ, η).
Fig. 10.4. Maillage non-structuré (triangulation) pour l’écoulement autour d’une aile d’avion.
Ce type de maillage est très bien adapté aux approximations par élèments finis ou volumes finis. Dans
l’exemple de la figure 10.4, par l’utilisation d’éléments triangulaires, il est possible d’augmenter la densité du
maillage dans la couche limite de l’aile, sans mettre beaucoup d’éléments dans les zones éloignées du profil ou
rien d’important n’apparait.
74 10 Introduction à la méthode des éléments finis
Ce type de maillages est réalisé de manière (semi)-automatique par un logiciel de maillage appellé mailleur,
par exemple GAMBIT est le mailleur utilisé par le logiciel FLUENT. Avec quelques semaines de travail, vous
pouvez arriver à mailler le type de géométries représenté sur la figure 10.5.
Fig. 10.5. Maillage non-structuré (héxaèdral) pour une géométrie complexe tridimensionnelle (skud).
Un espace d’éléments finis Vh est une base de polynômes par morceaux permettant de représenter des fonctions
continues sur le domaine Ω. On prendra dans cet exemple Ω =]0, 1[.
Nous allons définir au préalable ce qu’est un polynôme par morceaux. Considérons d’abord le maillage de
Ω, tel que :
© ª
Ωh = xi ∈ Ω, i = 1, . . . , N , (10.8a)
avec
définie par :
10.2 Les bases d’éléments finis 75
0 si x ≤ xj−1 ,
x − xj−1
pour x ∈ [xj−1 , xj ],
xj − xj−1
ϕj (x) = (10.11)
xj+1 − x
pour x ∈ [xj , xj+1 ],
xj+1 − xj
0 si x ≥ xj+1 .
Cette base est représentée sur la figure 10.7. Clairement, une fonction de base vérifie
φj (xi ) = δij , i = 1, . . . , N,
c’est-à-dire que les coefficients du polynôme par morceaux sont égaux à la valeur de p aux nœuds du maillage.
Puisque ϕj (x) est non-nulle dans l’intervalle [xj−1 , xj+1 ] uniquement, elle s’exprime tres facilement dans les
éléments Aj−1 = [xj−1 , xj ] et Aj = [xj , xj+1 ] comme :
et
76 10 Introduction à la méthode des éléments finis
Il est possible de représenter une fonction continue quelconque v(x) par son approximation polynômiale vh (x) ∈
Vh1 , telle que
N
X
vh (x) = v(xj )ϕj (x). (10.13)
j=1
vh = Πh1 v.
Un exemple d’interpolation de fonction continue est représenté sur la figure 10.8. Il est important de mesurer
la qualité de cette approximation polynômiale (i.e. , l’ordre de convergence de cette approximation). Ces mesures
sont effectuées dans les espaces de Sobolev L2 (Ω) et H 1 (Ω).
Soit f une fonction de Ω ⊂ Rn à valeur dans R. L’espace vectoriel L2 (Ω) est l’ensemble des fonctions de carré
intégrables, i.e. Z
n o
2
L (Ω) = f tel que |f |2 dV < +∞ ,
Ω
L’espace H 1 (Ω) ne possède pas de produit scalaire, mais possède une norme, définie par :
³ ´1/2
||f ||H 1 (Ω) = ||f ||2L2 (Ω) + ||∇f ||2(L2 (Ω))n .
Les fonctions de H 1 (Ω) sont par définition plus régulières que celle de L2 (Ω) , car les dérivées d’une fonction
de L2 peuvent être des distributions (i.e. , des éléments de H −1 (Ω)) ! On a en particulier l’inclusion
10.3 Formulation variationnelle d’un problème aux limites 77
H 1 (Ω) ⊂ L2 (Ω).
Une conséquence de cette plus grande régularité est qu’on peut, contrairement aux fonctions L2 , définir la
valeur au bord ∂Ω (i.e. , la trace) des fonctions de H 1 (Ω). Un sous-espace de H 1 (Ω) très utile pour imposer
les conditions aux limites de Dirichlet dans la méthode des éléments finis est :
n o
H01 (Ω) = f ∈ H 1 (Ω) tel que f |∂Ω = 0 . (10.14)
Les fonctions de base ϕj (x) sont dérivables une fois seulement et on a ϕ0j ∈ L2 (Ω). Donc ϕj appartient à H 1 (Ω)
et on a l’inclusion :
Vh1 ⊂ H 1 (Ω).
On dispose en plus du résultat de convergence suivant :
Théorème 10.1. Soit v ∈ L2 (Ω), avec Ω =]0, 1[, telle que v 0 et v 00 sont aussi dans L2 (Ω). Alors on dispose
des estimations d’erreur suivantes :
avec h = maxi |xi+1 − xi |, c.à.d. h est la taille maximale d’un élément du maillage.
En language clair, ce théorème exprime que pour tout v dans H 1 , l’approximation polynomiale vh converge en
O(h2 ) vers v et en O(h) pour ses dérivées. Ce thèorème indique que Vh1 est une bonne approximation polynômiale
de H 1 , et qu’on peut raisonnablement représenter la solution u ∈ H 1 d’une EDP par sa représentation de type
éléments finis uh . On qualifie couramment Vh1 comme une approximation interne de H 1 (Ω).
Remarque 10.2. Les éléments finis IP1 donnent une précision sur la solution du même ordre que les différences
finies centrées. Des rapprochements entre ces deux méthodes seront énoncées en TD.
On peut généraliser le théorème 10.1 en énoncant un resultat classique de l’approximation polynomiale, qui dit
qu’une approximation de polynômes par morceaux de degré k est précise en O(hk+1 ).
Ainsi, pour augmenter la précision des méthodes d’éléments finis, on utilise généralement des polynômes par
morceaux de degré plus élevé, par exemple l’élément IP2 qui engendre l’espace :
© ª
Vh2 = p, tel que p ∈ C 0 (0, 1), et p|[xi ,xi+1 ] ∈ IP2 pour 1 ≤ i ≤ N − 1 ,
qui représente les fonctions constantes par morceaux. Les éléments de la base canonique de Vh0 sont les fonctions
en escalier. Cet espace est un espace vectoriel de dimension N − 1.
Nous considérons ici le problème (10.15),(10.16) avec λ = 0. L’équation (10.15) devient alors
avec u ∈ V , un espace fonctionnel qui est pour l’instant indéterminé. L’espace de travail V n’est pas une simple
coquetterie mathématique. C’est lui qui va indiquer quel approximation interne Vh utiliser2 , mais il va aussi
servir à imposer les conditions aux limites du problème.
En multipliant (10.18) par une fonction test v ∈ V et en intégrant sur tout le domaine, on obtient :
Z Z
00
− u v dx = f v dx, ∀ v ∈ V. (10.19)
Ω Ω
Le but de la formulation variationnelle est d’approcher la solution de (10.19) par des éléments de Vh1 . Or ces
éléments ne sont dérivables qu’une fois. Nous allons donc réécrire (10.19) en ne faisant intervenir que des dérivées
premières.
En utilisant la formule d’intégration par parties :
Z b Z b
£ ¤b
f 0 g dx = f g a − f g 0 dx,
a a
En imposant que les fonctions tests vérifient les conditions aux limites (10.16), on obtient :
Z Z
u0 v 0 dx = f v dx, ∀ v ∈ V. (10.20)
Ω Ω
On peut maintenant déterminer l’espace V dans lequel vivent u et v. Pour que (10.20) ait un sens, on doit avoir
au moins
u0 , v 0 ∈ L2 (Ω), v ∈ L2 (Ω),
et, de plus, u et v doivent vérifier les C. L. homogènes (10.16). On en déduit aisement que :
V = H01 (Ω),
où H01 (Ω) est le sous-espace de H 1 (Ω) défini par (10.14). Pour que (10.20) ait un sens, on doit aussi avoir la
condition sur le second-membre :
f ∈ L2 (Ω).
En conclusion, si f ∈ L2 (Ω), le problème (10.18),(10.17) admet pour formulation variationnelle :
Trouver u ∈ V = H01 (Ω) tel que
(10.21)
a(u, v) = L(v), ∀ v ∈ V = H01 (Ω),
a : V × V −→ R
Z
(u, v) 7−→ u0 v 0 dx,
Ω
et la forme linéaire
L : V −→ R
Z
v 7−→ f v dx.
Ω
2
pour briser le suspense, on utilisera Vh = Vh1 l’espace des éléments finis IP1 .
10.3 Formulation variationnelle d’un problème aux limites 79
On peut montrer que ce problème d’optimisation est équivalent à la formulation faible (10.21)3 . En particulier,
les algorithmes issus de l’optimisation (par exemple, la méthode du gradient conjugué) sont bien adaptés aux
problèmes issus des éléments finis.
3
Indication : former l’équation d’Euler du problème à minimiser (cf. section 1.4).
80 10 Introduction à la méthode des éléments finis
1
et en choisissant les fonctions test vh comme les éléments de la base canonique de V0h , i.e.
vh (x) = ϕi (x), i = 2, . . . , N − 1, (10.26)
alors le problème (10.23) s’écrit :
¡ ¢
Trouver u2 , . . . , uN −1 ∈ RN −2 tel que
NX−1
(10.27)
a(ϕi , ϕj ) uj = L(ϕi ), ∀ i = 2, . . . , N − 1,
j=2
La matrice K de taille N − 2 × N − 2 est appelée matrice de rigidité. Elle correspond à la discrétisation par
éléments finis de l’opérateur −d2 /dx2 avec conditions aux limites de Dirichlet ; ses composantes sont :
Z
Kij = a(ϕi , ϕj ) = ϕ0i ϕ0j dx. (10.29)
Ω
On vient de montrer que le problème variationnel discret (10.23) peut se formuler en un système linéaire. Puisque
la matrice de rigidité K est symétrique, définie positive (c’est une des conséquences des propriétés énoncées dans
la section 10.3.2), ce problème possède une unique solution et la méthode du gradient conjugué est très bien
adapté à sa résolution.
10.4 Discrétisation par éléments finis IP1 du problème variationnel 81
La matrice K est donc tridiagonale symétrique. Dans le cas d’un maillage uniforme, puisque les ϕj sont identiques
à une translation près, il suffit de calculer Ki,i−1 et Kii , puis de poser par arguments de symétrie et de translation
Ki,i+1 = Ki,i−1 ,
pour déterminer K complètement.
En posant
b−a 1
h= = ,
N −1 xj − xj−1
les fonctions de base s’écrivent, d’après (10.11) :
x − xj−1
pour x ∈ [xj−1 , xj ],
ϕj (x) = h
xj+1 − x
pour x ∈ [xj , xj+1 ],
h
et leur dérivée
1
pour x ∈ [xj−1 , xj ],
0
ϕj (x) = h
1
− pour x ∈ [xj , xj+1 ].
h
Pour j = i − 1, on a Z
Ki,i−1 = ϕ0i ϕ0i−1 dx,
Ω
qui s’écrit, en utilisant le fait que le produit ϕ0i ϕ0i−1 a support dans [xi−1 , xi ] uniquement :
Z xi Z xi
1 1 1
Ki,i−1 = ϕ0i ϕ0i−1 dx = × dx = .
xi−1 xi−1 h h h
De même, Z Z Z
xi xi+1
2 1 1 2
Kii = (ϕ0i ) dx = dx + dx = .
Ω xi−1 h2 xi h 2 h
On en déduit que pour des conditions de Dirichlet sur maillage uniforme, la matrice de rigidité K, de taille
N − 2 × N − 2, prend la forme :
2 −1
−1 2 −1
1
K= . . . . . . ,
(10.30)
h . . .
−1 2 −1
−1 2
qu’on a déjà rencontré en différences finies (section 3.1).
Remarque 10.3 (Conditions de Neumann). Dans le cas des conditions de Neumann (section 10.3.3), la matrice
de rigidité est de taille N × N , et elle s’écrit :
1 −1
−1 2 −1
1
K= .. .. .. . (10.31)
h . . .
−1 2 −1
−1 1
82 10 Introduction à la méthode des éléments finis
Le calcul du vecteur charge F fait intervenir le terme analytique f (x), ce qui rend son intégration exacte plus
compliquée que précédemment. Pour cela, dans les codes d’éléments finis, on utilise couramment des formules
de quadrature numérique (trapèze, Simpson, Gauss, . . . , etc). L’une des plus utilisée est la formule du trapèze.
Comme représenté sur la figure 10.9, l’intégrale de f sur [a, b] est écrite comme la somme de son aire sur chaque
élément du maillage, i.e.
Z b N
X −1 Z xi+1
f (x) dx = f (x) dx,
a k=1 xi
où, comme précédemment, h = maxi |xi+1 − xi |. Cette formule est donc précise au second-ordre pour f (x)
quelconque. De plus, elle est exacte pour les polynômes par morceaux de degré 1. Elle peut donc être utilisée
pour calculer la matrice de rigidité K de façon exacte, puisque ϕ0i ϕ0j est un polynôme par morceaux de degré
0. Si une formule de quadrature est introduite dans une méthode d’éléments finis pour calculer des termes de
façon approchée seulement, on parle alors de crime variationnel (cf. TD).
15 La méthode des volumes finis
La méthode des volumes finies est maintenant l’une des plus répandues pour simuler numériquement les écoule-
ments de fluides. Sa principale caractéristique est d’utiliser la formulation intégrale (ou “conservative”) des
équations de bilan de la mécanique (cf. Section 4.1). C’est une différence conceptuelle majeure avec la méthode
des différences finies, qui utilise la forme différentielle de ces équations).
Dans la méthode des volumes finis, le domaine physique est subdivisé en un nombre fini de volumes de
contrôle (CVs), et les lois de conservation du problème physique sont exprimées à l’intérieur de chaque CV : on
obtient alors une équation algébrique par volume de contrôle. Ce principe de discrétisation peut s’appliquer à
des CVs de forme arbitraire, et donc à des géométries complexes. C’est une seconde différence majeure avec les
différences finies, qui ne sont généralement appliquables qu’à des géométries rectangulaires.
Malgré les différences évoquées ci-dessus, ces deux discrétisations ont de nombreux points communs. Pour
des applications simples (maillages rectangulaires uniformes, coefficients constants, etc. . . ) les discrétisation par
volumes finis centrés en sommets (cf. Sect. 15.2.2) et par différences finies sont rigoureusement identiques. Des
divergences apparaissent lorsque, par exemple, les coefficients de l’équation à résoudre sont non constants ou
discontinus : il est alors recommandé d’utiliser une formulation volume finis.
Les notions de troncature, stabilité, dissipation artificielle, etc . . . , d’un schéma numérique restent valables
pour les volumes finis : les connaissances de base en différences finies se révéleront donc précieuses pour la suite
des événements.
Puisque les équations de bilan de la mécanique ont une forme semblable à l’équation de convection-diffusion
(cf. Chap. 4), la semi-discrétisation (i.e. discrétisation spatiale) par volumes finis sera présentée pour cette
dernière équation. L’intégration en temps sera abordé ensuite : elle est basée, comme pour les différences finies,
sur des schémas pour équations différentielles ordinaires (EDOs). Cette partie reprendra de manière unifiée la
plupart des schémas temporels présentés dans la partie II de ces notes.
et/ou de Neumann
∂φ
(t, x) = g(x), ∀x ∈ ΓN . (15.2b)
∂n
Le vecteur n désigne (comme toujours) la normale extérieure, et les frontières ΓD et ΓN sont des parties disjointes
(ΓD ∩ ΓN = ∅) de la paroi Γ = ∂Ω du domaine. La condition initiale est :
Le point de départ de la discrétisation par volumes finis consiste à subdiviser Ω en un nombre fini de volumes
de contrôle (ou cellules) notés Ωl , tels que
N
Ω = ∪ Ωl , (15.6a)
l=1
Ωl ∩ Ωm = ∅ , l 6= m. (15.6b)
Cette subdivision est appelée le maillage de Ω, et on note Γl la frontière de chaque cellule élémentaire Ωl . La
forme conservative (15.4) s’écrit alors dans la cellule Ωl comme :
Z Z ³ ´ Z
d c d
φ dV + F − F · n dΓ = q dV. (15.7)
dt Ωl Γl Ωl
par application du théorème de Reynolds 4.1 pour un volume fixe en temps. © Afin d’obtenirª un système
d’équations algébriques, il est nécessaire de définir les inconnues discrètes φl , l = 1, . . . , N . Ces inconnues
sont couramment définies comme la valeur moyenne de φ dans la cellule Ωl , soit
Z
1
φl ≡ φ dV, (15.8)
Vl Ωl
On montrera dans les paragraphes suivants qu’il est possible d’exprimer les intégrales de flux convectif ou diffusif
de (15.7) en fonction des inconnues φl : soit, formellement
Z
F · n dΓ ∼
= Vl Fh (φl ), (15.10)
Γl
Afin de discrétiser le domaine Ω, on choisit en premier lieu une subdivision de Ω par cellules rectangulaires
¤ £ ¤ £
Ωij = xi− 12 , xi+ 12 × yj− 12 , yj+ 21 ,
Fig. 15.1. Maillage non-uniforme centré en cellules. Les nœuds ◦ sont placés au centre de chaque volume de contrôle
(ou cellule). Les symboles • désignent les points où sont interpolées les conditions aux limites (cf. Section 15.3.4).
Ensuite, on place le nœud xij = (xi , yj ) au centre de la cellule Ωij . L’espacement des nœuds dans chaque
direction est :
xi+1 − xi = ∆xi
+ ∆xi+1 f i,
≡ ∆x (15.12a)
2 2
∆yj ∆yj+1 f j.
yj+1 − yj = 2 + 2 ≡ ∆y (15.12b)
Une représentation de ce type de maillages est donnée dans la figure 15.1. Notons que dans un maillage centré
en cellule, il n’y a pas de nœuds sur la frontière Γ = ∂Ω du domaine de calcul.
Une autre conséquence de cette construction est que les frontières des cellules ne se situent pas à égale
distance des nœuds, sauf dans le cas particulier d’un maillage uniforme (i.e. , ∆xi = ∆xi+1 ).
Remarque 15.1. Inutile ? : En effet, si on désigne par xi+ 12 l’abscisse de la frontière séparant Ωij de Ωi+1,j , on
obtient :
∆xi+1
xi+ 12 ≡ xi + ∆x
2 = xi+1 −
i
2 .
Mais, en utilisant (15.12),
xi + xi+1
= xi+ 12 + 14 (∆xi+1 − ∆xi ) ,
2
ce qui montre que la frontière des cellules est située au milieu des nœuds uniquement dans le cas particulier
d’un maillage uniforme.
Pour ce type de maillages, il est possible de relier la valeur moyenne des variables (15.8) aux valeurs nodales : en
effet, en utilisant la formule de quadrature du point milieu pour approcher les intégrales de volume, on obtient :
Z
1
φij ≡ φ dV ∼
= φ(xij ), (15.13)
Vij Ωij
ce qui montre que l’inconnue φij est une approximation de la valeur de φ au centre de la cellule. De même, pour
le terme source, on obtient
qij ∼
= q(xij ). (15.14)
Fig. 15.2. Maillage non-uniforme centré en nœuds. Les volumes de contrôle sont crées en plaçant chacune de leurs
faces au milieu des nœuds. Les nœuds (◦) sont utilisés pour discrétiser les équations, tandis que les nœuds (•) servent à
implémenter les conditions aux limites.
Pour approcher chacune de ces intégrales, on utilise la formule du point milieu. Par exemple, on obtient sur la
face Γe : Z
Fx dy ∼ = ∆y P (Fx )e ,
Γe
et on déduit alors l’approximation suivante du flux :
Z
1 1 h i 1 h i
F · n dΓ ∼
= Fh ≡ (Fx )e − (Fx )w + (Fy )n − (Fy )s . (15.16)
VP Γ P ∆xP ∆y P
La fonction Fh est appelée fonction de flux discret. L’approximation du flux en fonction de ses valeurs nodales
n’est pas encore achevée, car on vient simplement d’exprimer Fh en fonction des nœuds s, w, n et e de la surface
de ΩP .
Dans une seconde étape, nous allons interpoler ces valeurs surfaciques en fonction des valeurs nodales
S, W, N, E et P. Pour cela, il convient de distinguer le cas des flux convectifs et diffusifs.
15.3 Approximation des flux sur un maillage centré en cellules 109
Le principe de cette approximation sera détaillée pour la face ’e’, qui sépare les nœuds P et E (Fig. 15.4). La
manière la plus simple (et la plus utilisée) est d’interpoler φe comme la moyenne algébrique :
φe ∼
= 21 φE + 12 φP . (15.19)
(uφ)e = ue φe (15.20a)
∼
= 21 ue φE + 12 ue φP . (15.20b)
Remarque 15.2. On rappelle que la vitesse de convection v = (u, v) est une donnée du problème. On a considéré
dans l’approximation ci-dessus qu’elle était connue sur les faces des volumes de contrôle, et donc au point xe .
Il n’y a donc pas besoin de l’interpoler en fonction de ses valeurs prises au centre des cellules. On retrouvera
ce type de raisonnement dans la discrétisation des équations de Navier-Stokes sur maillages décalés (Chap. 18),
où les vitesses normales sont stockées sur les faces des cellules.
De même pour la face ’w’, on obtient :
(uφ)w ∼
= 12 uw φP + 12 uw φW . (15.21)
Pour les faces Γn et Γs , il est possible d’exprimer d’une manière analogue (vφ)n et (vφ)s en fonction des valeurs
de φ aux nœuds N, S et P. En reportant ces diverses expressions dans (15.18), on obtient l’expression finale du
flux convectif Fhc en fonction des valeurs nodales. Ce calcul est laissé au lecteur.
Il est intéressant d’observer que dans le cas d’un maillage uniforme,
et dans le cas d’une vitesse de convection constante au travers de la cellule (i.e. ue = uw = u, vn = vs = v),
l’expression du flux convectif se simplifie en
110 15 La méthode des volumes finis
u h i v h i
Fhc = φE − φW + φN − φS , (15.23)
2∆x 2∆y
et on retrouve la formule centrée des différences finies. L’interpolation (15.19) conduit donc à une approximation
centrée du flux convectif1 .
Remarque 15.3. L’ordre de convergence d’un schéma de volumes finis utilisant des interpolations du type (15.19)
pour les flux convectifs est au second-ordre, même sur maillage non-uniforme [14].
Néanmoins, l’ interpolation (15.19) n’est en toute rigueur précise au second-ordre que sur des maillages
uniformes. Notez en effet que la face Γe n’est pas située à égale distance des nœuds P et E sur un maillage
non-uniforme : son abscisse xe ∈ [xP , xE ] prend la valeur
xe = λe xE + (1 − λe ) xP , (15.24a)
avec
Il est alors possible d’utiliser cette formule pour améliorer l’erreur de troncature locale de l’interpolation des
flux. En effet, le flux sur la face ’e’ s’écrit alors :
(uφ)e ∼
= ue [ λe φ(xE , yP ) + (1 − λe )φ(xP , yP ) ] (15.26a)
= λe ue φE + (1 − λe )ue φP . (15.26b)
(uφ)w ∼
= λw uw φP + (1 − λw )uw φW . (15.28)
Ces approximations se réduisent à (15.20) et (15.21) dans le cas uniforme, et conduisent à une approximation
centrée dont l’erreur de troncature reste au second-ordre sur tout type de maillage. Certains auteurs (cf. [14])
déconseillent néanmoins l’utilisation de ces formules, en raison de la rupture de symétrie du système algébrique
ainsi construit.
Approximations décentrées
Au lieu d’interpoler φe linéairement entre les valeurs φP et φE (Eq. (15.26)), nous allons l’approximer suivant
la direction de la convection v au travers de la face 0 e0 de la cellule, tel que :
½
φP si (v · n)e ≥ 0,
φe = (15.29)
φE si (v · n)e < 0.
Des approximations similaires sont utilisées pour les trois autres faces. Comme on le constatera ci-après, cette
approximation correspond à un décentrage upwind du terme convectif2 .
Par exemple, dans le cas où (v · n)e ≥ 0, l’approximation (15.29) conduit à :
(uφ)e ∼
= u e φP .
et on reconnait l’approximation décentrée amont (5.14) des différences finies, valable sur maillages non-
uniformes.
Remarque 15.4. Astuce de programmation : la généralisation de (15.31) aux vitesses de convection > 0 ou < 0
s’écrit :
1h i 1h i
Fhc = (u − |u|) δx+ + (u + |u|) δx− φij + (v − |v|) δy+ + (v + |v|) δy− φij .
2 2
Plus généralement, le test (15.29) conduit à l’approximation
(uφ)e ∼
= 21 (ue + |ue |)φP + 12 (ue − |ue |)φE ,
qui est à comparer avec (15.29). Les coefficients d’interpolation λ+,− et µ+,− sont déterminés de façon que φ
possède un profil parabolique entre les nœuds d’interpolation (cf. [4]). Cette approximation est au second-ordre,
et dissipe beaucoup moins que l’approximation upwind.
2
Aussi notée UDS : “Upwind Differencing Scheme”.
3
Acronyme de “Quadratic Upwind Interpolation for Convection Kinematics”, proposée par Leonard (1979).
112 15 La méthode des volumes finis
Pour un maillage uniforme et une vitesse constante, l’interpolation linéaire (CDS) conduit à :
où δx0 et δy0 sont les opérateurs de différences finies centrés définis en (5.15). Ainsi, l’interpolation CDS est
équivalente à l’approximation centrée en différences finies. Toujours pour un maillage uniforme et une vitesse
constante, l’approximation upwind (UDS) s’écrit
1h i 1h i
Fhc (φij v) = (u − |u|) δx+ + (u + |u|) δx− φij + (v − |v|) δy+ + (v + |v|) δy− φij . (15.34c)
2 2
Lorsque la cellule ΩP se trouve à proximité des parois du domaine, il est nécessaire de tenir compte des conditions
aux limites (15.2) pour discrétiser les flux.
Considérons la configuration représentée sur la figure 15.5, où ΩP est la cellule située à la paroi ’est’ de Ω
: dans ce cas, la face Γe fait partie de la paroi, et les conditions de Dirichlet et de Neumann (15.2) s’écrivent
respectivement
φ e = fe , (15.40a)
µ ¶
∂φ
= ge , (15.40b)
∂x e
et l’interpolation du flux discret (15.16) doit être modifiée afin de tenir compte de ces conditions aux limites.
Plus précisément, les flux au travers de Γw , Γn , et Γs ne nécessitent pas de modification, et sont interpolés
comme dans les paragraphes 15.3.2 et 15.3.3. Seule l’interpolation sur la face Γe du terme
Z
1 1
Fx dy ∼
= (Fx )e ,
VP Γ e ∆xP
Dans le cas où Fx ≡ uφ, la condition de Dirichlet (15.40a) est aisément imposée en remarquant que :
L’imposition de la condition de Neumann (15.40b) nécessite plus de travail. Dans un premier temps, on effectue
le développement de Taylor tronqué au point xe de la paroi :
µ ¶
∼ ∆xP ∂φ
φP = φe − 2 , (15.42)
∂x e
(Fx )e = ue φe ∼
= ue φP + ue ∆x
2 ge .
P
(15.43)
Dans le cas où Fx ≡ ν∂φ/∂x, l’imposition d’une condition de Dirichlet repose sur un raisonnement analogue à
(15.42), i.e. : µ ¶
∂φ ∼ φe − φP
= , (15.44)
∂x e ∆xP /2
114 15 La méthode des volumes finis
Second-ordre, sauf l’approximation upwind du terme convectif qui est au premier ordre.
Lh = Ch (v) − Kh , (15.49)
où Ch (v) et Kh sont les représentations matricielles respectives du flux convectif et diffusif. Par exemple :
si on utilise une approximation centrée avec vitesse de convection constante sur un maillage uniforme.
La discrétisation de la condition initiale (15.3) est simplement :
L’intégration en temps du système différentiel (15.48) peut alors être effectué par des schémas en temps pour
EDO.
La plus simple des intégrations en temps utilise le schéma d’Euler progressif (EP1) :
Φn+1 − Φn
+ Lh Φn = Qn , (15.52)
∆t
dont l’erreur de troncature temporelle est en O(∆t). Il est qualifié d’explicite car la solution au temps (n + 1)∆t
s’écrit comme :
Φn+1 = Φn + ∆t (Qn − Lh Φn ) ,
et ne nécessite par d’inversion de système linéaire, seulement une multiplication matrice-vecteur.
L’étude de stabilité par la méthode de von Neumann se fait d’une manière analogue au cas 1D (cf. section
6.3) : on le fait pour un schéma non forcé (Q ≡ 0), sur un maillage uniforme (xi = i∆x, yj = j∆y), sans
considérer les conditions aux limites, et en “gelant” les divers coefficients de l’équation : dans le cas de l’équation
de convection-diffusion, la viscosité ν et la vitesse de convection v sont considérées comme constantes. Ainsi,
nous nous ramenons à étudier la stabilité des schémas dans le cas où le flux convectif prend la forme (15.34b)
ou (15.34c) dans le cas centré CDS ou décentréUDS respectivement, et la forme centrée (15.39b) pour le flux
diffusif.
On considère alors une solution de la forme
15.4 Intégration en temps 115
que l’on porte dans le schéma EP1 de façon à obtenir le facteur d’amplification g défini par :
L’étude de stabilité des schémas de convection multidimensionnels est rendue très fastidieuse par la technicité des
calculs. Dans la suite, nous nous contenterons d’énoncer sans démonstration le critère de stabilité des schémas
importants.
Proposition 15.7. Le schéma EP1 avec approximation centrée des flux convectif et diffusif est stable si les
conditions suivantes sont vérifiées :
|u|∆t |v|∆t
Cx ≡ , Cy ≡ . (15.58)
∆x ∆y
Pour les détails de l’analyse de von Neumann, cf. [14]. Ce critère de stabilité généralise les résultats obtenus
précédemment dans le cas unidimensionel.
Remarque 15.8 (Stabilité de l’équation de la chaleur). Dans le cas purement diffusif (Eq. (15.1) avec ν > 0, et
v = 0), à caractère parabolique, la condition (15.56b) est trivialement vérifiée. Dans le cas 1D, obtenu en posant
dy = 0 dans (15.56a), on retrouve le critère :
∆x2
∆t ≤ , (15.59)
2ν
déjà vu dans la Section 6.3.2. Dans le cas 2D avec ∆x = ∆y = h, le critère (15.56a) conduit à :
h2
∆t ≤ , (15.60)
4ν
qui est une condition deux fois plus restrictive que dans le cas 1D ! En 3D, on trouve que le critère de stabilité
est 6 fois plus restrictif qu’en 1D.
Remarque 15.9 (Stabilité de l’équation de convection). Dans le cas purement convectif (ν = 0, v 6= 0), de nature
hyperbolique, le critère (15.56b) ne peut être vérifié. On retrouve là l’instabilité caractéristique du schéma
explicite centré appliqué à l’équation de transport, vu dans la section 9.3.
Proposition 15.10. Dans le cas où l’approximation upwind (15.34c) du terme advectif est utilisée, la condition
de stabilité du schéma EP1 s’écrit :
Cx + 2dx + Cy + 2dy ≤ 1. (15.61)
Remarque 15.11 (La condition CFL). Pour la convection pure, on retrouve l’expression multidimensionnelle du
critère CFL de la section 9.4, soit :
|u|∆t |v|∆t
+ ≤ 1. (15.62)
∆x ∆y
Dans le cadre d’un calcul pratique, où la vitesse de convection et le maillage ne sont pas uniformes, la condition
CFL s’écrit :
116 15 La méthode des volumes finis
d’après (15.61).
Schémas explicites du second ordre
Une précision du premier ordre se révèle généralement insuffisante pour le calcul de solutions instationnaires,
et des schémas du second ou troisième ordre sont couramment employés dans les simulations numériques. Il
est possible d’améliorer la précision temporelle du schéma EP1 en augmentant le nombre de niveaux de temps
utilisés : ce type de schéma sera appelé schéma multi-niveaux.
Une technique générale de construction de schémas multi-niveaux sera présenté dans la section 15.4.4. Un
exemple important est le schéma d’Adams-Bashforth (AB2) :
Φn+1 − Φn ¡ ¢ ¡ ¢
+ 21 3Lh Φn − Lh Φn−1 = 12 3Qn − Qn−1 , (15.64)
∆t
qui est un schéma explicite en O(∆t2 ), possédant 3 niveaux de temps : Φn−1 , Φn et Φn+1 . Il nécessite donc
du stockage supplémentaire dans la mémoire d’un ordinateur. Les conditions de stabilité de ce schéma sont très
compliquées à écrire, cf. [14]. Il faut néanmoins retenir que ses propriétés de stabilité sont similaires à celles du
schéma EP1, et il se révèle plus attractif pour le calcul d’écoulements visqueux instationnaires.
Pas de temps critique pour un schéma explicite
On défini le pas de temps critique ∆tcr comme le pas de temps maximal qui assure la stabilité pour un maillage
uniforme ∆x = ∆y = h donné. Lorsqu’on exprime ∆tcr en fonction de h, cela permet d’évaluer la diminution
du pas de temps nécessaire pour la stabilité du calcul lorsque le maillage est raffiné (i.e. h est diminué).
Examinons l’ordre de grandeur de ∆tcr pour le schéma EP1. Dans le cas de l’équation de convection pure,
la condition CFL (15.62) du schéma EP1 upwind s’écrit :
(|u| + |v|) ∆t ≤ h,
et le pas de temps critique est tel que :
∆tcr ∼ h.
Pour l’équation de diffusion avec approximation spatiale centrée, la remarque 15.8 donne ∆t ≤ h2 /4ν et donc :
∆tcr ∼ h2 ,
ce qui est une restriction beaucoup plus sévère que la condition CFL lorsqu’on diminue h.
Qu’en est-il pour l’équation de convection-diffusion ? Pour l’approximation centrée, en multipliant (15.56b)
par (2dx + 2dy ) et en utilisant (15.56a), on obtient :
µ ¶ µ ¶
2 dy 2 dx
Cx 1 + + Cy 1 + ≤ 2dx + 2dy ≤ 1,
dx dy
et dans le cas ∆x = ∆y = h, cette expression devient :
¡ ¢
2 u2 + v 2 ∆t2 ≤ 4ν∆t ≤ h2 ,
et on obtient donc
∆tcr ∼ h2 .
On trouve un résultat similaire pour l’approximation upwind d’après la condition (15.61). Ainsi, la condition de
stabilité du schéma EP1 pour l’équation de convection-diffusion est essentiellement dictée par le terme diffusif,
et elle est beaucoup plus restrictive que le critère CFL du cas convectif. Ce phénomène est observé par tous les
schémas explicites, et on le retrouve pour les équations de Navier-Stokes.
En résumé, l’utilisation de schémas explicites pour l’équation de convection (ν = 0) nécessite de respecter
une condition de type CFL, telle que ∆tcr ∼ h. Cette condition n’est pas trop restrictive dans la pratique, et
les schémas explicites, tels le schéma de Lax-Wendroff (cf. Section 9.6), sont très couramment employés pour
les problèmes hyperboliques.
Par contre, en présence de diffusion (ν > 0), le pas de temps critique est tel que ∆tcr ∼ h2 , ce qui peut
représenter une contrainte prohibitive en dimensions supérieures à 2, comme l’énonce la remarque 15.8.
15.4 Intégration en temps 117
Afin de se libérer de la sévère contrainte de stabilité que doivent observer les schémas explicites en présence de
diffusion, il est intéressant de considérer des schémas implicites, tels le schéma d’Euler rétrograde (ER1) :
Φn+1 − Φn
+ Lh Φn+1 = Qn+1 . (15.65)
∆t
Ces schéma est en O(∆t), et l’analyse de von Neumann montre qu’il est stable sans conditions.
Une façon simple d’obtenir un schéma implicite du second-ordre est de prendre la demi-somme des schémas
ER1 et EP1, ce qui conduit au schéma de Crank-Nicolson (CN) :
Φn+1 − Φn ¡ ¢ ¡ ¢
+ 1
2 Lh Φn+1 + Lh Φn = 1
2 Qn+1 + Qn , (15.66)
∆t
qui est stable sans condition.
D’une manière totalement différente, on peut améliorer la précision du schéma ER1 en considérant une
approximation en O(∆t2 ) de la dérivée en temps, ce qui conduit au schéma d’Euler rétrograde du second-
ordre (ER2) :
3Φn+1 − 4Φn + Φn−1
+ Lh Φn+1 = Qn+1 . (15.67)
2∆t
Ce schéma4 possède trois niveaux, et il est stable sans conditions. Voici un nouvel exemple de schéma multi-
niveaux, où l’élévation de l’ordre de précision passe par l’ajout de niveaux de temps.
Intérêts et désavantages
On le répète, le principal intérêt des schémas implicites ER1, CN et ER2 est d’être stable sans conditions. Leur
grand désavantage est de devoir résoudre au temps (n + 1)∆t un système linéaire de la forme :
où α est un réel dépendant du schéma utilisé, et F n+1 un vecteur regroupant les termes déjà connus à l’intant
(n + 1)∆t. Par exemple, pour le schéma CN :
¡ n+1 ¢
α = 12 , F n+1 = Φn + ∆t 2 Q + Qn − Lh Φn .
Le système (15.68) peut être très délicat à inverser à cause du terme convectif : dans le cas le plus simple ou
la convection est constante et l’approximation centrée (15.34b) est utilisée, la matrice Ch (v) n’est pas définie
positive : cela entraîne des difficultés pour la résolution itérative de (15.68). Dans les application pratiques,
i.e. les équations de Navier-Stokes, le flux convectif Ch (v)Φn+1 est un terme non-linéaire : le système (15.68)
doit donc être résolu par des méthodes (quasi-)Newton. L’utilisation de schéma implicite peut donc être très
pénalisante sur le plan du temps de calcul et de la complexité des méthodes de résolution à utiliser.
Il faut donc trouver un juste milieu entre les questions de stabilité du schéma et l’efficacité du temps de
calcul. Ce compromis est représenté par les schémas semi-implicites.
Ces considérations motivent donc le développement de schémas qui combinent la prise en compte implicite du
terme diffusif, pour lever la restriction sur la stabilité ∆tcr ∼ h2 , et la prise en compte explicite du terme
convectif Ch (v), pour éviter la résolution de systèmes mal fichus : ce sont les schémas semi-implicites, aussi
appelés IMEX (implicites-explicites).
Construction
Il est possible de bâtir des schémas IMEX à partir de schémas implicites, en considérant l’extrapolation :
Φn+1 ∼
= 2Φn − Φn−1 , (15.69)
Remarque 15.12. Si on appliquait cette linéarisation à la totalite du schéma CN, on obtiendrait le schéma
explicite AB2, Eq. (15.64). En référence à cette remarque, on désignera (15.69) comme l’extrapolation d’Adams-
Bashforth dans la suite de ces notes.
Si on applique cette extrapolation au terme convectif uniquement du schéma CN, on obtient :
Φn+1 − Φn ¡ ¢ ¡ ¢ ¡ ¢
+ 1
2 3Ch (v)Φn − Ch (v)Φn−1 − 1
2 Kh Φn+1 + Kh Φn = 1
2 Qn+1 + Qn , (15.70)
∆t
qui est le schéma IMEX à 3 niveaux connu sous le nom d’Adams-Bashforth/Cranck-Nicolson (AB/CN). Ce
schéma conduit à la résolution du système :
(I − α∆tKh ) Φn+1 = F n+1 , (15.71)
avec ¡ n+1 ¢
α = 12 , F n+1 = Φn + ∆t
2 Q + Qn + [Kh − 3Ch (v)]Φn + Ch (v)Φn−1 .
Si on compare avec le système (15.68) du schéma CN, on n’a plus qu’à résoudre une équation de Helmholtz
discrète, de type elliptique, et qui correspond donc à un système linéaire défini positif, relativement “facile” à
inverser.
Lorsqu’on applique la linéarisation (15.69) à la partie convective du schéma ER2 (15.67), on obtient le
schéma AB/ER2 :
3Φn+1 − 4Φn + Φn−1 ¡ ¢
+ 2Ch (v)Φn − Ch (v)Φn−1 − Kh Φn+1 = Qn+1 , (15.72)
2∆t
qui est précis en O(∆t2 ). Comme pour le schéma AB/CN, on se ramène à résoudre un système de Helmholtz
de la forme (15.71).
Stabilité
L’une des motivations du développement d’un schéma IMEX est d’essayer de se débarasser de la contraine
∆tcr ∼ h2 du terme diffusif en le considérant implicitement, et récupérer une contrainte du type CFL ∆tcr ∼ h
causée par le caratère explicite du terme convectif. A-t’on atteint ce but avec les schémas AB/ER2 et AB/CN ?
C’est compliqué, et les résultats précis sont fragmentaires. Dans la pratique, on essaie simplement d’utiliser
un pas de temps tel que la condition CFL (15.63) est satisfaite.
On montre néanmoins que, lorsque des approximations centrées sont utilisées :
∆tcr (AB/CN) < ∆tcr (AB/ER2) < ∆tcr (LF/CN),
avec ∆tcr (LF/CN) = CFL, c.à.d. que le pas de temps critique du schéma LF/CN (défini dans la section suivante)
est donné par la condition CFL (15.62). Ce dernier schéma est à déconseiller à cause du découplage pair/impair
de la solution sur la grille de calcul, donnant lieu à des oscillations lorsque la viscosité est faible. Le schéma
AB/ER2 est supérieur au schéma AB/CN, de part sa plus grande stabilité, et son meilleur amortissement des
fréquences élevées de la solution dans le cas non-linéaire. De plus le schéma AB/ER2 est tel que ∆tcr ∼ h, ce
qui ne semble pas être obtenu avec le schéma AB/CN.
Technique générale
Dans cette partie, nous nous limiterons à détailler la technique de construction de schémas du second ordre au
plus. Pour cela, on considère le schéma général à trois niveaux pour l’équation de convection-diffusion (15.48) :
(1 + ²)Φn+1 − 2² Φn − (1 − ²)Φn−1 £ ¤
+ Ch γ1 Φn+1 + γ2 Φn + (1 − γ1 − γ2 )Φn−1
2∆t £ ¤
− Kh θ1 Φn+1 + θ2 Φn + (1 − θ1 − θ2 )Φn−1 (15.73)
= α1 Qn+1 + α2 Qn + (1 − α1 − α2 )Qn−1 .
où ² et les γi , θi , αi sont des paramètres à déterminer de façon que l’erreur de troncature soit au second-ordre.
L’erreur de troncature de ce schéma s’obtient à partir des développements de Taylor suivants autour du temps
n∆t :
n n
dΦn ∆t2 d2 Φ ∆t3 d3 Φ
Φn+1 = Φn + ∆t + + + O(∆t4 ), (15.74a)
dt 2 dt2 6 dt3
n n
dΦn ∆t2 d2 Φ ∆t3 d3 Φ
Φn−1 = Φn − ∆t + − + O(∆t4 ). (15.74b)
dt 2 dt2 6 dt3
15.4 Intégration en temps 119
En premier lieu, on utilise ces développements pour obtenir l’erreur de troncature de la dérivée temporelle :
n n
(1 + ²)Φn+1 − 2² Φn − (1 − ²)Φn−1 dΦ n ²∆t d2 Φ ∆t2 d3 Φ
= + 2
+ + O(∆t3 ),
2∆t dt 2 dt 6 dt3
et de l’extrapolation :
n
dΦn ∆t2 d2 Φ
γ1 Φn+1 + γ2 Φn + γ3 Φn−1 = (γ1 + γ2 + γ3 )Φn + ∆t(γ1 − γ3 ) + (γ1 + γ3 ) 2
dt 2 dt (15.75)
n
∆t3 d3 Φ
+ (γ1 − γ3 ) 3 + O(∆t4 ).
6 dt
Cette extrapolation est utilisée pour les termes convectifs, diffusifs, et le second-membre du schéma général.
A partir de ces relations, on obtient l’erreur de troncature du schéma en ordonnant les différents termes en
puissance de ∆t :
d n
Schéma (15.73) = Φ + Ch Φn − Kh Φn − Qn
dt · ¸
d ² dΦn
+ ∆t + (2γ1 + γ2 − 1)Ch Φn − (2θ1 + θ2 − 1)Kh Φn − (2α1 + α2 − 1)Qn
dt 2 dt (15.76)
· ¸
∆t2 d2 1 dΦn n n n
+ + (1 − γ2 )Ch Φ − (1 − θ2 )Kh Φ − (1 − α2 )Q
2 dt2 3 dt
+ O(∆t3 ).
Les relations (15.77) définissent l’expression des schémas présentés dans les sections précédentes. Il suffit de
poser γ1 = θ1 = 0 pour obtenir des schémas explicites. Le cas γ1 = 0 et θ1 6= 0 correspond aux schémas
semi-implicites.
Ces schémas peuvent être rassemblés en trois classes, suivant les niveaux utilisés par l’approximation de la
dérivée temporelle.
• Pour ² = 1, on obtient la famille des θ−schémas. Le schéma implicite CN (15.66) correspond au choix
1 1 1
γ1 = γ2 = , θ1 = θ2 = , α1 = α2 = .
2 2 2
C’est le seul schéma à deux niveaux précis en O(∆t2 ). Si, au contraire, on pose γ1 = 0, alors nécessairement
γ2 = 3/2 et on obtient le schéma semi-implicite AB/CN (15.70).
• Pour ² = 0, on obtient les schémas de type Leap-Frog. Un exemple classique est le schéma semi-implicite
LF/CN défini par :
1
γ1 = α1 = 0, γ2 = α2 = 1, θ1 = , θ2 = 0.
2
5
Parmi les schémas à deux niveaux, on reconnait les schémas du premier ordre EP1 (15.52) pour
² = 1, γ1 = θ1 = α1 = 0, γ2 = θ2 = α2 = 1.
• Pour ² = 2, on obtient les schémas d’Euler retardés du second-ordre. Le schéma totalement implicite ER2
(15.67) est donné par le jeu de coefficients :
γ1 = θ1 = α1 = 1, γ2 = θ2 = α2 = 0.
γ1 = 0, γ2 = 2, θ1 = α1 = 1, θ2 = α2 = 0.
Enfin, il faut noter que les coefficients de ces schémas ne vérifient pas les conditions (15.78) : ils sont donc du
second-ordre en temps.
Schémas de démarrage
Prenons l’exemple du schéma à trois niveaux AB2 (15.64). La condition initiale (15.51) fournit Φ0 , et la calcul
de Φ1 avec le schéma AB2 est impossible, car on ne connait pas Φ−1 (ni Q−1 ). Ainsi, le calcul de Φ1 doit être
effectué avec un autre schéma, le “schéma de démarrage”, par exemple le schéma EP1 (15.52), soit :
¡ ¢
Φ1 = Φ0 + ∆t Q0 − Lh Φ0 .
Les calculs suivants (n ≥ 2) pourront alors être réalisés sans problèmes par le schéma AB2.
Remarque 15.13. L’utilisation d’un schéma de démarrage en O(∆t) dans le cadre d’un calcul au second-ordre ne
dégrade pas la précision globale de la méthode, qui reste en O(∆t2 ). C’est la conséquence d’un résultat classique
sur les méthodes numériques pour EDO (e.g. [6]).
Les schémas à 3 niveaux présentés ci-dessus nécessitent donc des schémas de démarrage, d’ordre O(∆t) au
moins. Par exemple, le schéma EP1 (ou ER1) pourra être choisi pour démarrer un calcul qui sera réalisé avec
les schémas ER2, AB/CN et AB/ER2.
pas fait
Partie I
Annexes et compléments
A Travaux Dirigés
ẏ(t) = −t y 2 (t),
t ∈ [0, 1],
y(0) = 2,
dont la solution exacte est y(t) = 2/(1 + t2 ).
1) Cette E.D.O. est elle linéaire ? Pour le schéma EP1, établir la relation de récurrence donnant
y n+1 en fonction de yn . Pour h = 1/10, calculez la solution aux temps t1 et t2 .
2) Déterminez une condition nécessaire de stabilité pour EP1. Vériez que la méthode est stable
pour le pas de temps utilisé dans la question précédente.
3) Appliquez ER1 à la résolution de cette EDO. Montrez que ce schéma se met sous la forme de
récurrence :
G(tn+1 , y n+1 ) = H(tn , y n ),
et explicitez les fonctions G et H . Pouvez-vous facilement calculer y n+1 ? Pourquoi ? Décrivez
n+1
une méthode itérative permettant de calculer y .
y(0) = y0 . (A.1b)
h Schéma X Schéma Y
1 3.05 × 10−2 5.22 × 10−3
0.5 1.46 × 10−2 1.03 × 10−3
0.25 7.16 × 10−3 2.50 × 10−4
0.125 3.55 × 10−3 6.19 × 10−5
0.0625 1.77 × 10−3 1.54 × 10−5
Tableau A.1. Erreurs commises à l'instant t = t? pour diérentes valeurs du pas de temps.
Stabilité pour ẏ = λy
Schémas Type Ordre q σ(λh)
λ ∈ R−,? λ ∈ i R?
2
EP1 Expl. 1 1 + λh h < Non
−λ
1
ER1 Impl. 1 Oui Oui
1 − λh
CN
2) En utilisant des développements de Taylor, montrez que la formule centrée à trois points du
cours :
0 ui+1 − 2 ui + ui−1
δxx ui = , (A.3)
∆x2
2
∂ u
est une approximation au second ordre de .
∂x2
i
3) Utilisez la technique générale de construction de formule de diérences nies pour établir la
formule décentrée du second ordre qui exprime (∂u/∂x)i en fonction de ui , ui+1 , et ui+2 .
Montrez que l'erreur de troncature s'écrit :
∆x2 ∂3u
τi = − .
3 ∂x3 i
2) Montrez que la formule (A.4) est une approximation au second-ordre sur maillage non uni-
forme.
avec conditions aux limites de Dirichlet homogènes. On dénit le maillage Ωi = {xi = i∆x, i =
0, . . . , N + 1} avec le pas uniforme ∆x = 1/(N + 1).
1) Montrez que la résolution de(A.5) par méthode de diérences nies centrées conduit à la
résolution du système linéaire :
1
− KU = F (A.6)
∆x2
avec U et F respectivement les vecteur des inconnues {ui } et du second-membre {f (xi )} aux
points intérieurs du maillage, et K = TridiagN [1, −2, 1] la matrice tridiagonale de taille N × N
telle que :
−2 1
1 −2 1
K= .. .. .. .
. . .
1 −2 1
1 −2
1 + cos π∆x
χ(K) = ,
1 − cos π∆x
4
χ(K) ' .
π 2 ∆x2
1
On rappelle que les valeurs propres de la matrice TridiagN [a, b, c] s'écrivent :
√ kπ
λk = b − 2 ac cos , k = 1, 2, . . . , N.
N +1
6 A Travaux Dirigés
4) Que pouvez-vous déduire de ces questions sur la performance des méthodes itératives pour
résoudre le système linéaire (A.6) ?
5) De la même façon, montrez que la matrice de masse (cf. cours sur les éléments nis) D =
TridiagN [1, 4, 1]/6∆x est bien conditionnée.
y n+1 − y n
= θf (tn+1 , y n+1 ) + (1 − θ)f (tn , y n ), (A.10)
∆t
avec θ un paramètre réel compris dans l'intervalle [0, 1]. Les conditions aux limites sont négligées.
i+1
X i+1
X
1 n+1 2 n
Bij ui = Bij uj ,
j=i−1 j=i−1
où les Bl sont les matrices d'itération du schéma. Exprimez les coecients de ces matrices en
fonction du nombre de diusion r = ν∆t/∆x2 .
8) Exprimez le facteur d'amplication g(ξ) du schéma
k∆x
2 =
CN en fonction de r et de ξ = sin2
1−cos k∆x
. Rappelez la condition de stabilité de Von Neumann et analysez la stabilité du
2
schéma.
9) Question subsidiaire : même question pour θ quelconque. Montrez que si θ ≥ 1/2, le schéma
est inconditionnellement stable et, si θ < 1/2, il est stable sous la condition
∆x2
∆t ≤ .
2ν(1 − 2θ)
A.2 Méthode des diérences nies 7
2) Combien de niveaux de temps possède ce schéma ? Quel est son ordre de troncature ?
3) Exprimez la matrice d'amplication du schéma. (On introduira la variable auxiliaire vin+1 = uni
pour se ramener à un schéma à 2 niveaux.)
Fig. A.1. A gauche : Solution exacte de l'équation de convection diusion stationnaire pour diverses
valeur du nombre de Péclet. A droite : Solution par diérences nies centrées pour n = 13.
a∆x
Peh = . (A.3)
ν
Ecrivez le schéma complet sous sa forme matricielle et donnez son ordre de troncature.
3) Cherchez la solution discréte du schéma centré sous la forme du mode normal ui = q i . Déter-
minez q en fonction des coecients du schéma, et montrez que la solution s'écrit :
i
2 + Peh
−1
2 − Peh
ui = N +1 . (A.4)
2 + Peh
−1
2 − Peh
En déduire que la solution numérique présente des oscillations lorsque Peh > 2.
−3
4) Application numérique : on considère le problème (A.1) avec ν = 10 et a = 1. Calculez le
nombre de Péclet. Quel est nombre minimal de points N pour que la méthode de diérences
nies centrée ne présente pas d'oscillations ?
5) Remplacez l'approximation centrée du terme convectif de (A.1) par une approximation dé-
centrée (ou upwind ) dans le sens de la vitesse de convection. Utilisez la méthode des modes
normaux pour montrer que la solution discréte s'écrit maintenant :
i
(1 + Peh ) − 1
ui = N +1
, (A.5)
(1 + Peh ) −1
u0 (a) = g− , (A.2)
dans un schéma de diérences nies centrées. Comme dans le cours, nous considèrerons le maillage
uniforme
b−a
Ωh = {xi = a + (i − 1)h, i = 1, . . . , N } avec h= ,
N −1
et noterons ui et fi les approximations respectives de u(x) et f (x) aux points de ce maillage.
A.2 Méthode des diérences nies 9
2) Eliminez u0 du système à l'aide de la formule courante pour (A.1), écrite au bord x=a du
domaine. Comparez avec la formule obtenue avec la première méthode du cours.
u(b) = g+ . (A.3)
Ecrivez le système complet, de dimension N × N, sous forme tridiagonale tel qu'il soit prêt à
être résolu par l'algorithme de Thomas.
−∇2 u = f, (A.4)
∂u
(x) = g(x), ∀ x ∈ ∂Ω. (A.5)
∂n
1) Vériez que si ce problème admet une solution, elle est dénie à une constante près.
2) Par application du théoreme de la divergence, montrez que le problème est solvable si les
données vérient la condition de compatibilité :
Z Z
g dS + f dV = 0. (A.6)
∂Ω Ω
3) Montrez que la solution analytique est dénie à une constante près et exhibez l'analogue 1D
de la condition de compatibilité (A.6).
4) Discrétisez (A.7) en utilisant la méthode du point fantôme. Ecrivez le système discret sous la
forme matricielle de taille N ×N :
A U = F, (A.9)
6) Supposons que la donnée f (x) vérie la condition de compatibilité du problème continu (A.7).
On dénit les fi du second-membre de (A.9) comme :
Z h
2 2
f1 = f (x) dx,
h 0
h
Z xi + 2
1
fi = f (x) dx pour i = 2, . . . , N − 1,
h h
xi − 2
Z 1
2
fN = f (x) dx.
h h
1− 2
Montrez alors que la condition de solvabilité du système linéaire est vériée. Cette approxi-
mation des fi est-elle semblable à l'interpolation usuelle
4 ?
7) On cherche à résoudre le système linéaire (A.9) par l'algorithme de Thomas. Dans la suite de
cette question, on notera :
f1 g− fN g+
fe1 = − , feN = + .
2 h 2 h
Montrez que, à l'issue de la première étape de cet algorithme, les (N − 1) premières lignes du
système ont la forme :
h2 fe1
1 −1 u1
h2 fe1 + f2
0 1 −1 u2
·
· · · ·
i
2 e X
= h f1 + fk ,
0 1 −1 ui
k=2
· · · ·
·
N −1
X
0 1 −1 u 2
N −1 h fe1 + fk
k=2
• • uN
•
N
X −1
pivot(N ) uN = h2 fe1 + fk + feN ,
k=2
AX = B,
est solvable si et seulement si, pour tout Y tel que
AT Y = 0,
la condition de solvabilité
B T Y = 0,
est vériée. En d'autres termes, ce théorème formule des conditions de compatiblité sur le second
membre B : pour que le système linéaire possède des solutions (solution particulière + les éléments du
noyau de A), il faut que B soit orthogonal à tous les éléments du noyau de AT .
4
Conseil : utilisez la formule de quadrature du rectangle.
A.2 Méthode des diérences nies 11
possède un pivot nul. En déduire que, si la condition de compatibilité discrète est vériée, le
système admet néanmoins une solution dénie à une constante près. Proposez une stratégie
algorithmique pour contourner la division par zéro de la dernière ligne.
∂u ∂u
+a = 0, dans Ω =]0, 1[ (A.10)
∂t ∂x
avec a>0 et la condition d' inow u(ax , t) = g− (t), on considère le θ−schéma :
un+1 − uni
i
+ a θ δx0 un+1 + (1 − θ) δx0 uni = 0,
i pour θ ∈ [0, 1] (A.11)
∆t
sur le maillage Ωi = {xi = (i − 1)∆x, i = 1, . . . , N } avec le pas uniforme ∆x = 1/(N − 1).
1) Reconnaissez les diérents schémas du cours pour θ = 0, 1/2 et 1.
2) Pour imposer la condition au limite numérique à l'outow x = 1 on utilisera le schéma upwind
en i = N . Ecrivez-le θ−schéma sous sa forme itérative
i+1
X i+1
X
1 n+1 2 n
Bij uj = Bij uj , (A.12)
j=i−1 j=i−1
∂u ∂u
+a = 0, (A.13)
∂t ∂x
avec a > 0. On a vu en cours que le schéma explicite décentré upwind
uin+1 − uni
+ a δx− uni = 0, (A.14)
∆t
correspondait à une stabilisation du schéma explicite centré par l'introduction de diusion
numérique.
Le but de cet exercice est d'introduire de façon plus rigoureuse le concept de diusion
numérique, et d'introduire celui de dispersion numérique. L'approche que nous utiliserons repose
sur l'étude de Fourier de l' équation équivalente du schéma numérique (A.14). Ces notions sont bien
sûr valables pour d'autres EDP (pas nécessairement hyperboliques) et d'autres schémas.
L'équation équivalente d'un schéma est une généralisation des notions de consistance et d'erreur
de troncature. Si on note
A u(t, x) = 0, (A.15)
Ah uni = 0, (A.16)
le schéma numérique (ici, Eq. (A.14)) alors, par l'utilisation de développements de Taylor, il est
possible d'écrire que la solution exacte u(t, x) vérie aux points du maillage
Ah u(tn , xi ) = A u(tn , xi ) + Eh u(tn , xi ) , (A.17)
τin ∼ Eh u(tn , xi ) ,
pour ∆t, ∆x petit,
que vous exhibez lorsque on vous demande de calculer l'ordre de troncature du schéma.
L'équation équivalente au schéma numérique (A.16) est dénie comme l'équation aux dérivées
partielles
A u(t, x) + Eh u(t, x) = 0. (A.18)
Puisque Eh (u) comporte un nombre inni de termes qui sont obtenus par développement de Taylor,
Eq. (A.18) a peu d'utilité pratique. Elle a, par contre, un grand intérêt théorique car elle permet
d'évaluer quantitativement la précision du schéma numérique. Outre la détermination de l'ordre
de troncature du schéma, elle permet, si l'on conserve les termes d'ordre supérieur de Eh (u),
d'observer les phénomènes de dissipation et dispersion numérique du schéma, ce qui est le but du
TD.
1) Pour le schéma upwind (A.14), montrez que l'équation équivalente (A.18) s'écrit
5 :
∂u ∂u ∂2u ∂3u
+a + η 2 + ∆ 3 + O(∆t3 , ∆x3 ) = 0, (A.19)
∂t ∂x ∂x ∂x
où η et ∆ dépendent de a, ∆x et C le nombre de Courant. Pour cela, on utilisera des développe-
ments de Taylor de la solution autour de (xi = i∆x, tn = n∆t), qu'on aura pris soin d'exprimer
en fonction des derivées spatiales uniquement. Mettez en évidence le terme dominant de l'erreur
de troncature du schéma. Vériez qu'il est du premier ordre en espace et en temps.
2) Que se passe t'il pour C =1 ? Pour quelles valeurs de C 6= 1 le terme dominant de l'erreur
est le plus petit possible ?
3) Nous savons que la solution de l'équation de transport (A.13) cherchée sous la forme du mode
de Fourier
b(t) eikx ,
u(x, t) = u (A.20)
s'écrit comme
b0 eik(x−at) ,
u(x, t) = u avec u
b0 = u
b(0), (A.21)
0
u(x, t) = u00 (t) eik(x−a t) , avec a0 ∈ R, (A.23)
5
On dit aussi : le schema upwind (A.14) est consistant en O(∆t2 , ∆x2 ) avec l'EDP (A.19).
A.3 Méthode des éléments nis 13
5) Tracez sur un même graphe la solution exacte (A.21) et la solution numérique (A.23) de
l'équation de transport. Explicitez les termes liés a la dissipation numérique (amortissement
de la solution) et de dispersion numérique (altération de la vitesse de propagation) du schéma
upwind. En déduire que ce schema est dissipatif au premier ordre et dispersif au second ordre.
6) Si vous avez du courage, ou de bonne connaisances en Maple, montrez que l'équation équiva-
lente du schéma de Lax-Wendro appliqué à (A.13) s'écrit :
Mu + Ku = f
2) Dans le cas c(x) = 1 et pour un maillage uniforme de pas h, calculez M et écrivez le système
complet.
3) Pour c(x) 6= 1 et un maillage uniforme, établir la forme du système linéaire dans le cas où
l'intégration numérique du trapèze est utilisée. Eectuez-vous un crime variationnel ? Com-
parez avec l'approximation par diérences-nies.
u0 (0) = 0 et u(1) = 0.
2) On peut, comme en diérences nies, eectuer une analyse de stabilité du schéma. Montrez
que le facteur d'amplication s'écrit
12 r ξ
g =1− ,
3 − 2ξ
Remarque A.15 (Sur les éléments nis pour les équations d'évolution).
Pour une vraie méthode GFEM (intégration exacte), il n'est guère possible d'obtenir un schéma
en temps qui soit explicite, et donc très économique en temps de calcul, tel qu'il n'y ait pas de
système linéaire de la forme
Mun+1 = F (un , un−1 , . . . ), (A.26)
γN (M) ∼ C
dans le domaine Ω =]0, 1[. La viscosité ν = ν(x) est strictement positive pour tout x ∈ Ω . La
vitesse d'advection u = u(x) est de signe quelconque. On suppose néanmoins que u(x = 0) > 0 et
u(x = 1) > 0 : c'est-à-dire qu'au bord x = 0 le uide entre, et en x = 1 le uide sort. Pour que le
problème soit mathématiquement bien posé, on choisit donc les conditions aux limites suivantes :
on impose une condition d'entrée (inow) en x = 0,
φ(0) = g− , (A.29)
A.4 Méthode des volumes nis 15
dφ
(1) = g+ . (A.30)
dx
On se propose de résoudre ce problème par la méthode des volumes nis sur un maillage non-
uniforme centré en cellules.
Construisez un maillage centré en cellules tels que les xi+ 21 représentent les frontières des
cellules élémentaires Ωi . On notera xi le centre de Ωi , et ∆xi son volume. L'espacement entre
les n÷uds xi et xi+1 sera noté ∆x
f i. Combien y-a-t'il de cellules ? Représentez ce maillage sur
un schéma. Soignez ce schéma en particulier autour d'une cellule Ωi quelconque, et près des
bords x=0 et x = 1.
2) Dénition des inconnues. On dénit les valeurs moyennes dans une cellule :
Z Z
1 1
φi = φ(x) dx, qi = q(x) dx, i = 1, . . . , N.
∆xi Ωi ∆xi Ωi
Eectuez une approximation des intégrales permettant de relier ces moyennes aux valeurs
nodales.
3) Formulation volumes nis. En intégrant l'équation (A.28) dans le volume Ωi , montrez que la
discretisation volumes nis s'écrit :
avec F = F c −F d , les fonctions de ux conservatif et dissipatif dont vous donnerez l'expression.
Le système discret est-il clos ? Quelle diérence notable observez-vous par rapport au cas
bidimensionnel ?
4) Interpolation des ux. Il faut maintenant exprimer les ux discrets Fi+ 12 , Fi− 12 en fonction des
valeurs nodales φi .
a) Dans le cas d'une vitesse d'advection quelconque, établissez les interpolations UDS et
CDS du ux convectif
c
Fi+ pour i = 1, . . . , N − 1, c'est-à-dire loin des bords. En déduire
1
2
l'expression de F
c . Retrouvez la formule de diérences nies upwind dans le cas u(x) =
i− 1 2
u > 0.
b) Eectuez l'interpolation du ux diusif
d
Fi+ pour i = 1, . . . , N − 1. Sur maillage uniforme
1
2
et ν(x) = ν > 0, retrouvez la formule de diérences nies :
d − Fd
Fi+ 1
2 i− 1 2 0
= νδxx φi .
∆x
5) Implémentation des conditions aux limites. Il faut maintenant tenir compte des conditions aux
limites dans l'interpolation des ux discrets près des parois.
a) Représentez les C.L. (A.29) et (A.30) sur le dessin du maillage. D'après Eq. (A.31), quels
sont les ux discrets dont l'interpolation nécessite d'être modiée a priori pour tenir
compte des conditions aux limites ?
b) Implémentez les C. L. dans les ux convectifs pour l'approximation CDS.
c) Même question pour l'approximation UDS. D'après l'énoncé, u 12 > 0 : la condition de
6) Representation matricielle du schéma. Montrez que la formulation volumes nis s'écrit sous la
forme matricielle, de taille N ×N :
( Ch (u) − Dh ) Φ = Q0 .
Dans le cas CDS, donnez l'expression des matrices tridiagonales Ch (u) et Dh , ainsi que le
second-membre Q0 .
Bibliographie
En ce qui concerne l’analyse numérique “classique”, niveau Licence ou Maîtrise, citons le livre de Quarteroni [9],
et celui de Ciarlet [2] portant notamment sur l’optimisation. Citons aussi sur le même sujet le récent ouvrage
de Bergonioux [1]. On rappelle que le grand classique présentant le coté pratique de l’analyse numérique est
le “Numerical Recipes” de Press et al. [8], qui regroupe de nombreux programmes en C ou Fortran, et qui est
disponible gratuitement sur le Net3 .
Au sujet des méthodes numeriques, le bouquin de Sainsaulieu [11] est un excellent complément de ces notes
de cours, bien qu’il possède un formalisme mathématique légérement plus élevé. Pour le niveau d’une maîtrise,
citons aussi le livre de Rappaz and Picasso [10], et surtout celui d’Euvrard [3], qui possède une grande sensibilité
“mécanique”.
Pour ceux qui veulent connaître plus sur la mécanique des fluides numérique, un livre en anglais est incon-
tournable : Ferziger and Perić [4]. Citons aussi les “classiques” de Fletcher [5] et Peyret and Taylor [7], et celui
de Versteeg and Malalasekera [13] portant sur la méthode des volumes finis et son utilisation dans les codes de
calcul commerciaux tels Fluent. Pour les gens vraiment accrochés : le récent bouquin de Wesseling [14].
[1] M. Bergonioux. Optimisation et Contrôle des Systèmes Linéaires. Dunod, Paris, 2001.
[2] P. G. Ciarlet. Introduction à l’Analyse Numérique Matricielle et à l’Optimisation. Masson, Paris, 1990.
[3] D. Euvrard. Résolution Numérique des Equations aux Dérivées Partielles. Masson, Paris, 1988.
[4] J. H. Ferziger and M. Perić. Computational Methods for Fluid Dynamics. Springer, Berlin, 1996.
[5] C. A. J. Fletcher. Computational Techniques for Fluid Dynamics. Springer, Berlin, 1991.
[6] R. Peyret. Spectral Methods for Incompressible Viscous flow. Springer, New York, 2002.
[7] R. Peyret and T. D. Taylor. Computational Methods for Fluid Flow. Springer, New York, 1983.
[8] W. H. Press, B. P. Flannery, S. A. Teukolski, and W. T. Vettering. Numerical Recipes. Cambridge Univ.
Press, Cambridge, 1992.
[9] A. Quarteroni. Méthodes Numériques pour le Calcul Scientifique. Springer, Paris, 2000.
[10] J. Rappaz and M. Picasso. Introduction à l’Analyse Numérique. Presses polytechniques et universitaires
romandes, Lausanne, 1998.
[11] L. Sainsaulieu. Calcul Scientifique. Masson, Paris, 1996.
[12] G. Strang. Introduction to Applied Mathematics. Wellesley-Cambridge Press, Wellesley, MA, 1986.
[13] H. K. Versteeg and W. Malalasekera. An Introduction to Computational Fluid Dynamics. The Finite
Volume Method. Longman, Harlow, 1995.
[14] P. Wesseling. Principles of Computational Fluid Dynamics. Springer, Berlin, 2001.
3
[Link]