266
8 Approximation numérique des problèmes aux limites
avec u 0 = α et u N+1 = β. Naturellement, u j est une approximation de
u(x j ). Les équations (8.13) forment le système linéaire
Au h = h
2
f ,
(8.14)
où u h = (u 1 , . . . , u N )
T est le vecteur des inconnues, f = (f(x 1 ) +
α/h
2 , f(x 2 ), . . . , f(x N−1 ), f(x N ) + β/h
2 )
T , et A est la matrice tridiagonale
A = tridiag(−1, 2, −1) =
⎡
⎢
⎢
⎢
⎢
⎢
⎢
⎢
⎣
2 −1 0 . . . 0
−1 2
. . .
. . .
0
. . .
. . . −1 0
. . .
−1 2 −1
0 . . . 0 −1 2
⎤
⎥
⎥
⎥
⎥
⎥
⎥
⎥
⎦
.
(8.15)
Ce système admet une unique solution car A est symétrique définie positive (voir Exercice 8.1). De plus, il peut être résolu avec l’algorithme
de Thomas vu à la Section 5.6. Notons cependant que, pour des petites valeurs de h (et donc pour des grandes valeurs de N ), A est mal
conditionnée. En effet, K(A) = λ max (A)/λ min (A) = Ch
−2 , où C est
une constante indépendante de h (voir Exercice 8.2). Par conséquent, la
résolution numérique du système (8.14), par une méthode directe ou itérative, exige quelques précautions. En particulier, quand on utilise une
méthode itérative, un préconditionneur efficace doit être utilisé.
Il est possible de montrer (voir p.ex. [QSS07, Chapitre 12]) que si
f ∈ C
2 ([a, b]) alors
max
j=0,...,N+1
|u(x j ) − u j | ≤
h
2
96
max
x∈[a,b]
|f
(x)|
(8.16)
autrement dit, la méthode de différences finies (8.13) est convergente
d’ordre deux par rapport à h.
Dans le Programme 8.1, on résout le problème aux limites suivant
(appelé problème de diffusion-convection-réaction) qui généralise (8.10)
−μu
(x) + ηu
(x) + σu(x) = f(x) pour x ∈]a, b[,
u(a) = α
u (b) = β,
(8.17)
où μ > 0, η et σ > 0 sont des constantes. Pour ce problème, la méthode
des différences finies qui généralise (8.13) s’écrit
⎧
⎨
⎩
−μ
u j+1 − 2u j + u j−1
h 2
+ η
u j+1 − u j−1
2h
+ σu j = f(x j ), j = 1, . . ., N,
u 0 = α,
u N+1 = β.
Précédent

- 276/374

Suivant