MA261 Cours4 Col

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
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