Discrétisation par différences finies du laplacien

Transcription

Discrétisation par différences finies du laplacien
École Nationale Supérieure de Techniques Avancées
Discrétisation
par différences finies
du laplacien
août 2007
MA261 Introduction au calcul scientifique
@Eric Lunéville
Différences finies
u : R −→ R fonction C 3
h2 ′′
u(x + h) = u(x) + hu (x) + u (x) + O(h3 )
2
h2 ′′
′
u(x − h) = u(x) − hu (x) + u (x) + O(h3 )
2
′
u(x + h) − u(x)
+ O(h)
h
u(x) − u(x − h)
′
u (x) =
+ O(h)
h
′
u (x) =
ordre 1, décentré avant
ordre 1, décentré arrière
u(x + h) − u(x − h)
u (x) =
+ O(h2 )
2h
′
ordre 2, centré
1
u(x+h)−u(x)
h
u(x+h)−u(x)
h
u′ (x)
u′ (x)
x
x
x+h
x+h
u(x + h) − u(x) h ′′
u (x) =
+ u (ξx ) ξx ∈ [x, x + h]
h
2
′′ bonne approximation si h petit et sup u (ξ) petit
′
ξ∈[x,x+h]
2
Eq. de Laplace 1D
′′
−u (x) = f (x) x ∈ ]0, 1[
u(0) = u(1) = 0
(f = 1 → u(x) = x(x − 1))
si u est C 4
2
2u(x)
−
u(x
+
h)
−
u(x
−
h)
h
(4)
u
−u′′ (x) =
+
(x + θh) θ ∈ ]−1, 1[
2
h
12
(dms : développement de Taylor-MacLaurin + th. des valeurs intermédiaires)
Rmq :
2
4
(4)
si f est C alors la solution u est C avec −u
′′ (4)
u (x + θh) ≤ sup f (x)
′′
= f et
x∈[0,1]
3
Discrétisation de l’équation
découpage de l’intervalle [0, 1]
(xi )i=1,N +1 avec xi = ih et h =
1
N+1
xi = ih
xN +1 = 1
x0 = 0
(découpage régulier pour simplifier)
ui approximation de u(xi ) et on note fi = f (xi )
2ui − ui+1 − ui−1
= fi
2
h
u0 = uN +1 = 0
pour i = 1, N
schéma à 3 points (ui−1 , ui , ui+1 )
4
Forme matricielle
1
h2
1
h2
...
1
h2
...
1
h2
1
h2
(2u1 − u2 ) = f1
i=1
(2u2 − u1 − u3 ) = f2
i=2
(2ui − ui+1 − ui−1 ) = fi
i
(2uN −1 − uN − uN −2 ) = fN −1
i=N −1
(2uN − uN −1 ) = fN =
i=N
−
→ −
→
AU = F

2

 −1

1 
A= 2
h 




−1
2
..
..
.
.
..
.
..
.
..
.
2
−1








−1 
2
tridiagonale symétrique
élimination de
u0 et uN +1
système linéaire d’ordre N

u1
u2
..
.

−
→ 

U =

 uN −1
uN








f1
f2
..
.

−
→ 

F =

 fN −1
fN







5
Propriété fondamentale
A est une matrice tridiagonale symétrique definie positive (donc inversible)
dms :
−
→ −
→
2
h AV , V
2
=h
N
i=1
−
→
vi A V
= v1 (2v1 − v2 ) +
i
i=N
−1
vi (2vi − vi+1 − vi−1 ) + vN (2vN − vN −1 )
i=2
2
v12 + vN
+
i=N−1
(vi − vi−1 )2 ≥ 0
i=2
−
→ −
→
A V , V = 0 −→ v1 = vN = 0 et vi − vi−1 = 0 −→ vi = 0 ∀i = 1, N
éléments propres de A
−
→
Wk =
ikπ
sin
N + 1 i=1,N
kπ
λk = 2 1 − cos
N +1
>0
k = 1, N
(2 sin ikhπ − sin(i + 1)khπ − sin(i − 1)khπ = 2 sin ikhπ (1 − cos khπ))
−
→ Wk
base orthogonale.
k=1,N
6
Estimation d’erreur
erreur ei = ui − u(xi )
Th´eéor`eème : si f ∈ C 2 alors
−
→
h2
sup |f ′′ (x)|
E = sup |ei | ≤
96 x∈[O,1]
∞
i=1,N
dms : voir polycopié
convergence ponctuelle à l’ordre 2
Remarque : si f ∈ C 0 alors u ∈ C 2 et on peut seulement montrer que :
−
→
lim E h−→0
=0
∞
convergence pouvant être très lente !
la qualité de l’approximation dépend de la régularité des solutions
7
−△u = f
u=0
dans Ω
sur ∂Ω
u=0
−△u = f
0
Approximation a
`à l’ordre 2 du laplacien
−△u(x) =
u=0
u=0
Eq. de Laplace sur le carré Ω = ]0, 1[ × ]0, 1[
1
u=0
Généralisation en dimension 2
1
(u ∈ C 4 (Ω))
4u(x, y) − u(x + h, y) − u(x − h, y) − u(x, y + h) − u(x, y − h)
2
+
O(h
)
2
h
même variation (h) suivant x et y
obtenu en approchant indépendamment ∂x2 u et ∂y2 u par DF d’ordre 2
8
Discrétisation du problème de Laplace
grille de discrétisation de pas h (identique dans les 2 directions)
xi = ih i = 0, n + 1
yj = jh j = 0, n + 1
yj = jh
Mij
Mij = (xi , yj )i,j=1,n+1
xi = ih
uij approximation de u(xi , yj )
1
(4uij − ui+1,j − ui−1,j − ui,j+1 − ui,j−1 ) = fij 1 ≤ i, j ≤ n
2
h
uij = 0
i = 0 ou i = n + 1 ou j = 0 ou j = n + 1
fij = f (xi , yj )
i, j + 1
schéma à 5 points
i − 1, j
i, j
i, j − 1
i + 1, j
9
Forme matricielle
On élimine les termes de bord !


u1j



U•j =  ...  F•j = 
unj



U•1
−
→  .  −
→ 
U =  ..  F = 
U•n


f1j
..  vecteurs de dimension n
. 
fnj

F•1
..  vecteurs de dimension n2
. 
F•n
2
Système linéaire d’ordre N = n :

B

 −I

1 
A= 2
h 




−I
B
..
.
..
.
..
.
..
.
..
.
B
−I








−I 
B
tridiagonale symétrique par bloc
−
→ −
→
AU = F

4

 −1


B =





−1
4
..
.
..
.
..
.
..
.
..
.
4
−1








−1 
4
tridiagonale symétrique
10
4
-1
-1
4
-1
-1
-1
-1
-1
4
0
0
4
-1
-1
4
-1
-1
-1
-1
-1
4
h2 A =
4
-1
-1
4
-1
-1
-1
-1
-1
4
0
0
4
-1
-1
4
-1
-1
-1
-1
-1
4
matrice symétrique pentadiagonale
11
Propri´eét´eés de l’approximation
A est une matrice symétrique définie positive (donc inversible)
dms :
−
→
−
→
h2 A V , V
2
2
= V•1 + V•n +
V•j − V•j+1 2
j=1,n−1
2 +h
(BV•j , V•j )
j=1,n
Nb de termes non nuls : 5n2 − 4n
soit un taux de remplissage de l’ordre de 5/n2
Si u ∈ C 4 (Ω) on a l’estimation d’erreur :
sup |uij − u(xi , yj )| ≤ C0 h2
(C0 cte ind. de u)
i,j
dms complexe
moins bonne convergence si u est moins régulier
12
Extensions
autre sch´eéma
−△u(x)


j+1
4u(x, y)
1 
−u(x + h, y + h) − u(x + h, y − h) 
=
2
2h
−u(x − h, y + h) − u(x − h, y − h)
+O(h2 )
schéma à 5 points en croix
j
j−1
i−1 i i+1
j+2
schéma à 5 points en 1D
j+1
j
i−2 i−1 i i+1 i+2
j−1
j−2
Idem en dimension 3
i−2i−1 i i+1 i+2
schéma à 9 points en 2D
13
condition de Dirichlet non homog`eène
en 1D
équation i = 1 :
équation i = n :
′′
−u (x) = f (x)
u(0) = g0 u(1) = g1
x ∈ ]0, 1[
2u2 − u2 − u0
2u2 − u2
g0
= f1 −→
= f1 + 2
2
2
h
h
h
2un − un−1 − un+1
2un − un−1
g1
= fn −→
= f1 + 2
h2
h2
h
modification du système linéaire :


g0
−
→ −
→
1  . 
A U = F + 2  .. 
h
g1
même principe en dimension supérieure
14
condition de Neumann
en 1D
′′
−u (x) + αu(x) = f (x) x ∈ ]0, 1[
u′ (0) = u′ (1) = 0
schéma d’ordre 2
2ui − ui+1 − ui−1
= fi
2
h
α = 0 problème mal posé !
pour i = 1, N
manque 2 équations
approximation d’ordre 1 :
u(h) − u(0)
′
+ O(h) → u1 = u0
0 = u (0) =
h
u(1) − u(1 − h)
′
0 = u (1) =
+ O(h) → uN +1 = uN
h
approximation d’ordre 2 (en utilisant l’équation)
u(h) = u(0) + hu′ (0) + 12 h2 u′′ (0) + O(h3 )
= u(0) + hu′ (0) + 12 h2 (αu(0) − f (0)) + O(h3 )
u1 = u0 + 12 h2 (αu0 − f0 )
uN = uN+1 + 12 h2 (αuN +1 − fN +1 )
15
en dimension 2
∂n = ∂y
Eq. de Laplace sur le carré Ω = ]0, 1[ × ]0, 1[
1
−△u + αu = f dans Ω
∂n = −∂x
∂n u = 0
sur ∂Ω
−
→
n normale sortante
−
→ −
→
∂n u = ∇u, n
0
∂n = ∂x
1
∂n = −∂y
condition de Neumann en y = 0
u(h, y)
3
1 2 2
= u(0, y) + h∂x u(0,
y)
+
h
∂
u(0,
y)
+
O(h
)
x
2
2
2
3
= u(0, y) + 12 h αu − f − ∂y u(0, y) + O(h )
(∂x u(0, y) = 0)
(en utilisant l’eq.)
en approchant ∂y2 u(0, y) par une DF d’ordre 2
u1j = u0j + 12 h2 (αu0j − f0j ) +
1
2
(2u0j − u0,j−1 − u0,j+1 )
idem pour les autres bords
non valable pour les coins !!!
16
Conclusions
• méthode des différences finies simple à mettre en œuvre (dvp Taylor)
• donne des systèmes linéaires sym. def. pos. creux sur les pbs elliptiques
• convergence quadratique si les solutions sont régulières
• permet de traiter la plupart des conditions limites
• mais limitée à des géométries rectangulaires !
méthode alternative : éléments finis
17