1 Analyse de stabilité de Von-Neumann
1.1 La transformation de Fourier
On note Lp (R) l’ensemble des fonctions mesurables f : R → R qui vérifient
Z +∞
|f (x)|p dx < +∞. (3.42)
−∞
On note
Z +∞ p1
p
kf kp = |f (x)| dx . (3.43)
−∞
La transformation de Fourier est définie sur L1 (R) par
Z +∞
1
f (k) = √
b f (x) exp(−ikx)dx (3.44)
2π −∞
La transformation de Fourier peut être prolongée en un opérateur isométrique de
2
L (R)
kfbk2 = kf k2 . (3.45)
On note τa l’opérateur de shift ou translation
(τa f )(x) = f (x + a), ∀x ∈ R. (3.46)
L’opérateur τa est dans le plan Fourier un opérateur multiplicatif. La transformation de
Fourier va donc nous permettre d’analyser finement
Z +∞
1
τa f (k) = √
c f (x + a) exp(−ikx)dx (3.47)
2π −∞
Z +∞
1
=√ f (x + a) exp(−ik(x + a)) exp(ika)dx
2π −∞
Z +∞
1
=√ f (x) exp(−ikx)dx exp(ika)
2π −∞
= exp(ika)fb(k), ∀f ∈ L1 (R).
Par densité de L1 (R) ∩ L2 (R) dans L2 (R) on a aussi
τc
a f (k) = exp(ika)f (k).
b (3.48)
1.1.1 Principe de l’analyse de Von Neumann
Cette analyse étudie la stabilité d’un schéma numérique. On considère un problème posé
sur tout R.
On associe au vecteur uni la fonction wn (x) définie par
n n h h
w (x) = ui , pour x ∈ xi − , xi + (3.49)
2 2
L’étude de Von-Neumann consiste
1
• dans le cas d’un schéma à un pas à déterminer la relation de récurrence entre wbn
bn+1
et w
bn+1 = ρ(k)w
w bn (3.50)
puis de déterminer pour quels h et δt
|ρ(k)| ≤ 1 ∀k ∈ R. (3.51)
• dans le cas d’un schéma à deux pas à déterminer la relation de récurrence entre
bn−1 , w
w bn et w
bn+1
bn+1 + a(k)w
w bn + b(k)w bn−1 = 0. (3.52)
puis de calculer pour quels h et δt
|ρ1 (k)| ≤ 1 et |ρ2 (k)| ≤ 1 ∀k ∈ R (3.53)
avec ρ1 (k) et ρ2 (k) les deux racines de
ρ2 + a(k)ρ + b(k) = 0. (3.54)
1.1.2 Discrétisation de l’équation de diffusion par le schéma d’Euler explicite
La discrétisation de l’équation de diffusion
∂t u(x, t) − c∂x2 u(x, t) = 0 (3.55)
est basée sur une différence finie centrée en espace et un schéma d’Euler explicite en
temps qui prend la forme suivante
δt
un+1 = uni + c uni+1 − 2uni + uni−1
i 2
(3.56)
h
Ceci s’écrit à l’aide des fonctions wn et wn+1 sous la forme
δt
wn+1 = wn + 2 c (τh wn − 2wn + τ−h wn ) (3.57)
h
En appliquant la transformation de Fourier, on obtient
n+1 cδt
w
b = 1 + 2 (exp(ikh) − 2 + exp(−ikh)) w bn (3.58)
h
Nous avons obtenu ρ(k) qui vaut
cδt
1 + h2 (exp(ikh) − 2 + exp(−ikh))
ρ(k) = = 1 + cδt h2
(2 cos(kh) − 2) (3.59)
cδt 2 kh
= 1 − 4 h2 sin 2
Comme sin2 kh
2
est inférieur à 1 et atteint 1, la condition de stabilité au sens de Von
Neumann s’écrit
cδt
1 − 4 2 ≥ −1, (3.60)
h
c’est-à-dire
cδt 1
2
≤ . (3.61)
h 2
C’est une condition très contraignante. En effet, le pas de temps doit forcément être
plus petit que le carré du pas d’espace.
2
1.1.3 Application à l’équation de diffusion discrétisée par le schéma d’Euler
implicite
Reprenons la discrétisation de (3.55) par un schéma d’Euler implicite qui s’écrit
cδt n+1
un+1 n+1 n+1
= uni
i − 2
u i+1 − 2u i + ui−1 (3.62)
h
Ceci s’écrit à l’aide des fonctions wn et wn+1 sous la forme
cδt
wn+1 − n+1 n+1 n+1
= wn
2
τh w − 2w + τ −h w (3.63)
h
En appliquant la transformation de Fourier on obtient
cδt
1 − 2 (exp(ikh) − 2 + exp(−ikh)) w bn+1 = w
bn (3.64)
h
Nous avons obtenu ρ(k) qui vaut
1 cδt
= 1 − 2 (exp(ikh) − 2 + exp(−ikh))
ρ(k) h
cδt
= 1 − 2 (2 cos(kh) − 2) (3.65)
h
cδt 2 kh
= 1 + 4 2 sin
h 2
Comme sin2 kh
2
est positif, ρ(k) est inférieur à 1 pour tout k. Le schéma est donc
inconditionnellement stable au sens de Von Neumann.
1.1.4 Application à l’équation des ondes (schéma saute-mouton)
On discrétise l’équation des ondes homogènes
∂t2 u(x, t) − c2 ∂x2 u(x, t) = 0, ∀x ∈ R (3.66)
par des différences finies à 3 points en espace et en temps
un+1
i − 2uni + un−1
i
n n n
2 ui+1 − 2ui + ui−1
− c =0 (3.67)
(δt)2 h2
Ceci s’écrit à l’aide des fonctions wn+1 , wn et wn−1
wn+1 − 2wn + wn−1 n n
2 τh w − 2w + τ−h w
n
− c =0 (3.68)
(δt)2 h2
2
n+1 2 δt
w
b − 2 + c 2 (exp(ikh) − 2 + exp(−ikh)) wbn + w
bn−1 = 0 (3.69)
h
On a donc la suite de Fibonacci
2
n+1 2 δt 2 kh
wb − 2 − 4c 2 sin bn + w
w bn−1 = 0 (3.70)
h 2
3
dont le polynôme caractéristique est donné par
2
2 2 δt 2 kh
ρ − 2 − 4c 2 sin ρ+1=0 (3.71)
h 2
Sachant que le produit de ρ1 et ρ2 vaut 1. Afin qu’elles soient toutes deux inférieures
à 1 en module, il faut et il suffit que le discriminant de ce polynôme soit négatif
2
2
2 δt 2 kh
∆ = 2 − 4c 2 sin −4 (3.72)
h 2
2 2
2 δt 2 kh 2 δt 2 kh
= −4c 2 sin 4 − 4c 2 sin
h 2 h 2
Le discriminant est donc négatif ssi
δt2
kh
4c2 2 sin 2
≤4 (3.73)
h 2
Comme sin2 kh
2
est inférieur à 1 et atteint 1, la condition de stabilité au sens de Von
Neumann s’écrit donc
2
2 δt δt
c 2 ≤ 1 ou encore c ≤ 1. (3.74)
h h
Traditionnellement, on parle de condition CFL (Courant–Friedrichs–Lewy). Cette
condition est beaucoup moins contraignante que la condition de stabilité pour le schéma
explicite et le problème de diffusion. C’est pourquoi les schémas saute-mouton seront très
souvent utilisés en pratique.