Transcript TP3
Sup’Galilée MACS1
Projets numériques déterministes-TP3 Résolution du problème de Poisson dans un domaine rectangulaire avec conditions de Dirichlet
1er avril 2014 Dans ce TP, nous allons nous intéresser à la résolution numérique de l’équation de Poisson en deux dimensions dans un domaine rectangulaire Ω : Ω = ( x, y ) ∈ R 2 , a < x < b, c < y < d (1) On désigne par partielles ∂ Ω le bord de Ω . Plus précisément, nous cherchons à construire − ∆ u = f dans Ω u la solution de l’équation aux dérivées (2) où ∆ est l’opérateur Laplacien : ∆ u ( x, y ) = ∂ 2 u ( x, y ) + ∂x 2 ∂ 2 u ( x, y ) .
∂y 2 u doit de plus satisfaire une condition limite de Dirchlet homogène sur le bord de Ω , ie (3) u = 0 sur ∂ Ω .
(4)
Exercice 1 (travail sur feuille)
[
a, b ] en sous intervalles [ x i , x i +1 ] de longueur h x pour i = 0 , N x avec x 0 = a et x N x +1 = b . On a x i = x 0 + ih x i = 0 , · · · , N x + 1 De la même manière, on introduit une partition régulière du segment j = 0 , N y avec y 0 = c et y N y +1 = d : y j = y 0 + jh y j = 0 , · · · [ c, d ] , N y en sous intervalles + 1 .
[ y j , y j +1 ] de longueur h y pour Les noeuds de la grille sont les points approchent u ( x i , y j ) M i,j de coordonnées au niveau des noeuds intérieurs ( 1 ≤ i ( ≤ x i N , y x j ) et . Les inconnues du problèmes sont les nombres 1 ≤ j ≤ N y ). Il y a N x × N y inconnues.
u ij qui (a) La grille de calcule ∆ h avec (b) Schéma à 5 points pour le laplacien F IGURE 1 – Discrétisation du Laplacien par une méthode de différences finies 1.
Noeuds intérieurs : on rappelle que ∂u ( x i , y j ) ∂x 2 1 = h 2 x ( u ( x i − 1 , y j ) − 2 u ( x i , y j ) + u ( x i +1 , y j )) + O ( h 2 x ) .
∂u ( x i , y j ) ∂y 2 1 = h 2 y ( u ( x i , y j − 1 ) − 2 u ( x i , y j ) + u ( x i , y j +1 )) + O ( h 2 y ) .
1 (5) (6)
Soit M ij de la grille situé à l’ intérieur du domaine Ω ( 1 ≤ i ≤ N x et 1 – Proposer un schéma de différences finies pour approcher l’équation ≤ j ≤ N y ).
− ∆ u ( x i , y j ) = f ( x i , y j ) .
– Combien obtenez-vous d’équations ? Ces équations sont-elles linéaires ?
2.
Noeuds sur la frontière : prise en compte de la condition limite de Dirichlet . Soit M ij un point de la frontière ∂ Ω . Comment pouvez-vous imposer la condition de Dirichlet en ces points ? Parmi les équations de la question précédente, réécrire celles qui font intervenir des noeuds sur les bords.
3.
Forme matricielle : de taille N x × N y Montrer que le système d’équations à résoudre se ramène à la résolution d un système lineaire carré A u = − f où u est le vecteur contenant les inconnues (rangées par colonnes) u = ( u 1 , 1 , u 1 , 2 , u 1 , 3 , · · · , u 1 ,N x , u 2 , 1 , u 2 , 2 , · , u 2 ,N x , · · · , u N y , 1 , u N y , 2 , · · · u N y ,N x ) T .
Expliciter la matrice A ainsi que le second membre f .
4. Ecrire un algorithme pour résoudre numériquement le problème de Poisson dans programme ?
Ω . Comment pouvez-vous tester votre
Exercice 2 (implémentation Matlab)
1. Coder votre méthode en Matlab. Valider votre programme et tracer l’erreur en fonction de h .
2. Modifier vos programmes pour pouvoir traiter des conditions de Dirichlet non homogènes.
Pour la première question de cet exercice, vous pouvez télécharger les fichiers sur la page http ://math.univ-paris13.fr/ ∼ delourme/TeachingProjetsNumeriquesMACS1.html
La fonction à modifier est la fonction script TestErreur.m
Poisson2D.m
. Le script permet de tracer l’erreur en fonction de TestPoisson.m
h .
permet de tester votre programme et le
Auto-évaluation de la séance de TP2
1. Compréhension du sujet : – niveau A : je suis capable de décrire le sujet du TP2.
– niveau B : niveau A + je comprends la différence entre les problèmes posés au TP1 et au TP2.
– niveau C : niveau B + je suis capable d’expliquer la méthode mise en oeuvre pour résoudre le problème.
– niveau D : niveau C + je suis capable d’expliquer les limites de la méthode mise en oeuvre.
2. Algorithmique et programmation : – niveau A : le code relatif à l’exercice 1 (équation de Poisson 1d avec conditions de Dirichlet) tourne et donne des résultats corrects.
– niveau B : niveau A + j’ai validé mon code et j’ai tracé l’erreur en fonction du paramètre de discrétisation. J’obtiens des résultats en accord avec la théorie.
– niveau C : niveau B + j’ai codé les programmes liés à l’exercice 2 (résolution d’un problème elliptique 2d avec conditions de Neumann). Mon programme tourne et donne des résultats corrects.
– niveau D : niveau C + j’ai validé mon code et j’ai tracé l’erreur en fonction du paramètre de discrétisation. J’obtiens des résultats en accord avec la théorie.
3. Méthodes numériques : – niveau A : je sais comment discrétiser le problème de Poisson 1d avec des conditions de Dirichlet en utilisant la méthode des différences finies.
– niveau B : niveau A + je comprends la différence entre un problème aux limites et un problème de Cauchy.
– niveau C : niveau B + je suis capable de prendre en compte différentes conditions aux limites (Dirichlet homogène, Neumann homogène).
– niveau D : niveau C + je sais démontrer l’ordre de consistance théorique des schémas mis en oeuvre (notamment l’ordre des conditions aux limites).
2