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