Vous êtes sur la page 1sur 18

École Nationale Supérieure de Techniques Avancées

Discrétisation
par différences finies
des problèmes
transitoires

août 2007 MA261 Introduction au calcul scientifique @Eric Lunéville


Introduction
Discrétisation des problèmes transitoires

eq. des ondes : ∂t2 u − c2 △u = f


eq. de la chaleur : ∂t u − α△u = f

 différences finies en espace et en temps


• rôle différent des 2 discrétisations : sens du temps
• lien entre les pas de discrétisation lié à la vitesse de propagation

exemple modèle : équation des ondes 1D (corde vibrante)


 2 2 2

 ∂t u(x, t) − c ∂x u(x, t) = f (x, t) x ∈ ]0, 1[ , t > 0

u(0, t) = u(1, t) = 0 t>0

 u(0, x) = u0 (x) x ∈ ]0, 1[

∂t u(x, 0) = v0 (x) x ∈ ]0, 1[

1
Un exemple encore plus simple : l’équation de transport

 premier ordre
∂t u(x, t) + c∂x u(x, t) = 0 x ∈ R, t > 0
u(0, x) = u0 (x) x∈R pas de condition limite

solution évidente : u(x, t) = u0 (x − ct)

ct

u(., t) = u0 (. − ct)
u0

équation conservative, propagation à vitesse finie (c)


similaire à l’équation des ondes

2
Discrétisation de l’éq. de transport
abscisses de discrétisation xj = j△x j ∈ Z
instants de discrétisation tn = n△t n ≥ 0
t

tn = n△t

t0 = 0 x
x0 = 0 xj = j△x

unj approximation de u(xj , tn )


on a u0j = u0 (xj ) ∀j ∈ Z (condition initiale)

3
n+1
 n+1 
Idée : fabriquer un schéma qui construit u = uj j∈Z
à partir
des approximations aux instants précédents un , un−1 , ...

schéma décentré (DF d’ordre 1)


un+1
j − un
j u n
j − un
j−1 n+1
+c = 0 ∀n ≥ 0, ∀j ∈ Z
△t △x n
n+1 n
 n n
 c△t j −1 j j+1
uj = uj − α uj − uj−1 avec α =
△x
schéma explicite à 2 pas!

schéma saute-mouton (leapfrog) (DF d’ordre 2)


n+1
un+1
j − un−1
j unj+1 − unj−1 n
+c = 0 ∀n ≥ 1, ∀j ∈ Z
2△t 2△x n−1
n+1 n−1
 n n

uj = uj − α uj+1 − uj−1 j−1 j j +1
schéma explicite à 3 pas! (il faut construire u1 )
4
Ordre des schémas

le schéma décentré est d’ordre 1, le schéma saute-mouton est d’ordre 2

dms : u solution régulière de l’équation de transport


erreur de troncature pour le schéma décentré :
n u(xj , tn+1 ) − u(xj , tn ) u(xj , tn ) − u(xj−1 , tn )
εj = +c
△t △x
= ∂t u(xj , tn ) + O(△t) + c∂x u(xj , tn ) + O(△x)
= O(△x) + O(△t)

erreur de troncature pour le schéma saute-mouton :


u(xj , tn+1 ) − u(xj , tn−1 ) u(xj+1 , tn ) − u(xj−1 , tn )
εnj = +c
2△t 2△x
= ∂t u(xj , tn ) + △t ∂
2 t
2
u(x j , tn ) + O(△t 2
)
+ c∂x u(xj , tn ) + c △x ∂
2 x
2
u(x j , tn ) + O(△x 2
)
= O(△x2 ) + O(△t2 ) car ∂t2 u = −c∂x2 u

5
Stabilité des schémas et convergence
erreur enj = unj − u(xj , tn ) on a pour le schéma décentré :
n+1
 n 
ej = ej − α ej − ej−1 + △tεnj
n n

 
..
 . 
 α 1−α 
 
en+1 = Aen + △tεn avec A=  .. .. 
 . . 
 
.. ..
. .
n−1
 n−k k
n n 0
e = A e + △t A ε
k=0

n

n−1   
An−k εk  ≤ T max0≤k≤n−1 An−k εk  0 ≤ n ≤ T
e  ≤ △t △t
k=0

déf le schéma est stable pour la norme  si il existe une constante C


indépendante de n, △t et △x telle que :
T
An u0  ≤ C u0  0≤n≤ △t

6
la stabilité implique la convergence

 n−k k   k
n
e  ≤ T max A ε  ≤ CT max ε  ≤ CT (△t + △x)
0≤k≤n−1 0≤k≤n−1

stabilit´eé l2
 iξj△x  2
wξ = e j∈Z
, (wξ ) ξ∈R base Fourier de l
pour obtenir la stabilité il suffit de montrer que
T
An wξ 2 ≤ C wξ 2 0≤n≤ △t

(Awξ )j = (1 − α)eiξj△x + αeiξ(j−1)△x


 −iξ△x
 iξj△x
= 1 − α + αe e =⇒ ∀ξ Awξ = g(ξ, △x, △t)wξ
= g(ξ, △x, △t) (wξ )j

An wξ 2 ≤ sup |g(ξ, △x, △t)|n wξ 2


ξ

Condition suffisante de stabilité : sup |g(ξ, △x, △t)| ≤ 1


ξ

7

2 
−iξ△x 2

|g(ξ, △x, △t)| = 1 − α + αe = 1 − 2α(1 − α)(1 − cos ξ△x)

c△t
stable si α = ≤ 1 (condition CFL)
△x

interpr´eétation de la CFL
si u est la solution alors : u(xj , tn+1 ) = u(xj − c△t, tn ) = u0 (xj − ctn+1 )

j−1 j j+1
△t 1
△x CFL : ≤
△x c
n+1

△t △x vitesse de prop. du schéma ≥


≥ c vitesse de prop. de l’équation
△t
n

droite d’équation x − ct = xj − ctn+1 toujours instable si c < 0


de pente 1/c utiliser le décentré avant

8
Stabilit´eé du sch´eéma saute-mouton

même approche (un peu plus compliqué car 3 pas)


 
 c△t 
condition CFL :  ≤1
 △x 

fonctionne (sous CFL) quel que soit le signe de la vitesse c (schéma centré!)

α = 0.3 α = 1.01

9
Discrétisation de l’éq. des ondes 1D
 2 2 2

 ∂t u(x, t) − c ∂x u(x, t) = f (x, t) x ∈ ]0, 1[ , t > 0

u(0, t) = u(1, t) = 0 t>0

 u(0, x) = u0 (x) x ∈ ]0, 1[

∂t u(x, 0) = v0 (x) x ∈ ]0, 1[

discrétisation de [0, 1] avec m + 2 pts : xj = j△x j = 0, m + 1


t

tn = n△t
1
△x =
m+1

t0 = 0 x
x0 = 0 xj = j△x xm+1 =1

10
Schéma saute-mouton
 n+1 n−1 n n n n

 u j + uj − 2uj 2
u j+1 + uj−1 − 2uj n

 − c = fj ∀j = 1, m ∀n ≥ 1
 △t2 △x2
un0 = unm+1 = 0 ∀n ≥ 1

 0

 u j = u0 (xj ) ∀j = 1, m
 1
uj = u0 (xj ) + △t v0 (xj ) ∀j = 1, m

un+1
j = −un−1
j + α 2 n
u j+1 + 2(1 − α 2
)2un
j + α2 n
uj−1 + △t2 n
fj

n+1
schéma explicite à 3 pas
n
d’ordre 2
n−1

j−1 j j+1

11
forme vectorielle

→ n
 n −
→n  n 
u = uj j=1,m f = fj j=1,m (élimination des indices 0 et m + 1)



→ n+1 2 −
→ n −
→ n−1 2−
→n
u = (2I − α B) u − u + △t f ∀n ≥ 1
u 0, −

→ →
u 1 donnés
 
2 −1
 .. 
 −1 2 . 
avec B = 

 matrice m × m

 .. ..
. . −1 
−1 2

u(x, t) solution de l’eq. des ondes : −



u n = (u(xj , tn ))j=1,m

erreur de troncature :

→ −

u n+1 = (2I − α2 B)−

un−− →
u n−1 + △t2 f n + △t2 −

εn
avec −
→ε n = O(△t2 ) + O(△x2 ) (approx. DF d’ordre 2)
12
Stabilité et convergence du schéma

l’erreur à l’instant n : −

en=−

u n+1 − −

u n vérifie :


e n+1 = (2I − α2 B)−

en−−

e n−1 + △t2 −

εn ∀n ≥ 1
 −
→ n+1


→n e
en posant E = −
→ on a :
en
   −
→ 

→n+1 2
(2I − α B) −I −
→n εn −
→n −→n
E = E + −
→ = ME + Ξ
I 0 0 def

qui donne par récurrence :



→n n−1
n−1 −
→1 2
 n−k k
E =M E + △t M ε
k=1

soit l’estimation d’erreur :

−  −   
→n   

n−1  → 1   n−k −
→ k
 E  ≤ M E
  + △tT max M Ξ 
k=1,n−1

13
Si le schéma est stable :
 − →  −  −
 k    →

M X  ≤ C  X  ∀ X , ∀k ≥ 1 avec C indépendant de k

alors on convergence du schéma :


−
→  −
→ 
 n  
 E  ≤ C1  E 1  + O(△t2 ) + O(△x2 )

condition suffisante de stabilit´eé :


ρ (M) ≤ 1 (ρ rayon spectral)
 2

(2I − α B) −I
ici M = et les valeurs propres de B sont connus
I 0
on en déduit après ”quelques calculs” la condition de stabilité :
 
 c△t 
|α| =   ≤ 1 (CFL)
△x 

(même interprétation que pour l’eq. de transport)


14
Equation des ondes 2D
Utilisation de saute-mouton pour l’équation des ondes 2D dans un carré

15
calcul stable

16
Diffraction d’une onde acoustique (milieu air-mer)

17

Vous aimerez peut-être aussi