Discrétisation par différences finies des

Transcription

Discrétisation par différences finies des
É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
:
eq. de la chaleur :
∂t2 u − c2 △u = f
∂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
−
∂
u(x,
t)
c
∂x u(x, t) = f (x, t)

t


u(0, t) = u(1, t) = 0
u(0, x) = u0 (x)



∂t u(x, 0) = v0 (x)
x ∈ ]0, 1[ , t > 0
t>0
x ∈ ]0, 1[
x ∈ ]0, 1[
1
Un exemple encore plus simple : l’équation de transport
∂t u(x, t) + c∂x u(x, t) = 0 x ∈ R, t > 0
u(0, x) = u0 (x)
x∈R
premier ordre
pas de condition limite
solution évidente : u(x, t) = u0 (x − ct)
ct
u0
u(., t) = u0 (. − ct)
x
é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
x
t0 = 0
x0 = 0
xj = j△x
unj approximation de u(xj , tn )
on a u0j = u0 (xj ) ∀j ∈ Z (condition initiale)
3
n+1
Idée :
fabriquer un schéma qui construit u
n+1 = uj
à partir
j∈Z
des approximations aux instants précédents un , un−1 , ...
schéma décentré (DF d’ordre 1)
n
n
n
−
un+1
u
u
−
u
j
j
j
j−1
+c
= 0 ∀n ≥ 0, ∀j ∈ Z
△t
△x
n
c△t
n+1
n
n
uj = uj − α uj − uj−1 avec α =
△x
schéma explicite à 2 pas!
n+1
n
j −1 j
j+1
schéma saute-mouton (leapfrog) (DF d’ordre 2)
n−1
un+1
−
u
unj+1 − unj−1
j
j
+c
= 0 ∀n ≥ 1, ∀j ∈ Z
2△t
2△x
n
n+1
n−1
n
uj = uj − α uj+1 − uj−1
n+1
n
n−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é :
u(xj , tn+1 ) − u(xj , tn )
u(xj , tn ) − u(xj−1 , tn )
n
ε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
2
2
= ∂t u(xj , tn ) + △t
∂
u(x
,
t
)
+
O(△t
)
j
n
2 t
2
2
∂
u(x
,
t
)
+
O(△x
)
+ c∂x u(xj , tn ) + c △x
j
n
2 x
= 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
n+1
n
n
ej = ej − α ej − ej−1 + △tεnj

..
 .
 α 1−α

en+1 = Aen + △tεn avec A= 
..
..

.
.

.. ..
.
.
n−1
n−k k
n
n 0
e = A e + △t
A
ε







k=0
n
e ≤ △t
n−1
k=0
déf
An−k εk ≤ T max0≤k≤n−1 An−k εk 0 ≤ n ≤
T
△t
le schéma est stable pour la norme si il existe une constante C
indépendante de n, △t et △x telle que :
An u0 ≤ C u0 0≤n≤
T
△t
6
la stabilité implique la convergence
n
e ≤ T
max
0≤k≤n−1
n−k k A
ε ≤ CT
max
0≤k≤n−1
stabilit´eé l2
iξj△x 2
wξ = e
,
(w
)
base
Fourier
de
l
ξ
ξ∈R
j∈Z
k
ε ≤ CT (△t + △x)
pour obtenir la stabilité il suffit de montrer que
An wξ 2 ≤ C wξ 2
(Awξ )j
0≤n≤
T
△t
= (1 − α)eiξj△x + αeiξ(j−1)△x
iξj△x
−iξ△x
=⇒ ∀ξ Awξ = g(ξ, △x, △t)wξ
= 1 − α + αe
e
= 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
−iξ△x 2
|g(ξ, △x, △t)| = 1 − α + αe
= 1 − 2α(1 − α)(1 − cos ξ△x)
2
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
△x
n+1
△t
n
droite d’équation x − ct = xj − ctn+1
de pente 1/c
CFL :
△t
1
≤
△x
c
△x
vitesse de prop. du schéma ≥
≥ c vitesse de prop. de l’équation
△t
toujours instable si c < 0
utiliser le décentré avant
8
Stabilit´eé du sch´eéma saute-mouton
même approche (un peu plus compliqué car 3 pas)
condition CFL :
c△t ≤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
∂
u(x,
t)
−
c
∂x u(x, t) = f (x, t)

t


u(0, t) = u(1, t) = 0
u(0, x) = u0 (x)



∂t u(x, 0) = v0 (x)
x ∈ ]0, 1[ , t > 0
t>0
x ∈ ]0, 1[
x ∈ ]0, 1[
discrétisation de [0, 1] avec m + 2 pts : xj = j△x j = 0, m + 1
t
tn = n△t
t0 = 0
x0 = 0
1
△x =
m+1
xj = j△x
xm+1
x
=1
10
Schéma saute-mouton
 n+1
n−1
n
n
n
n
u
+
u
−
2u
u
+
u
−
2u

j
j
j
j+1
j−1
j
2
n


−
c
=
f

j

△t2
△x2
un0 = unm+1 = 0

0

u

j = u0 (xj )

 1
uj = u0 (xj ) + △t v0 (xj )
∀j = 1, m ∀n ≥ 1
∀n ≥ 1
∀j = 1, m
∀j = 1, m
n−1
2 n
2
n
2 n
2 n
−u
−
△t
un+1
=
+
α
u
+
2(1
α
)2u
+
α
u
+
fj
j+1
j
j−1
j
j
n+1
schéma explicite à 3 pas
d’ordre 2
n
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
−
→
−
→
−
→
n+1
2
n
n−1
2−
u
= (2I − α B) u − u
+ △t f
→
−
→
u 1 donnés
u 0, −

2

 −1
avec B = 


−1
2
..
.
∀n ≥ 1



.
 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
→
→
→
u n+1 − −
u n vérifie :
l’erreur à l’instant n : −
en=−
−
→
→
→
→
e n+1 = (2I − α2 B)−
en−−
e n−1 + △t2 −
εn
−
→
n+1
−
→n
e
en posant E =
on a :
−
→
en
−
→n+1
E
=
2
(2I − α B) −I
I
0
−
→n
E +
∀n ≥ 1
−
→
εn
−
→n −
→n
= ME + Ξ
−
→
def
0
qui donne par récurrence :
n−1
n−k k
→1
−
→n
n−1 −
2
M
E + △t
E =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
ici M =
2
(2I − α B) −I
I
0
(ρ rayon spectral)
et les valeurs propres de B sont connus
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

Documents pareils