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)

[

Pour résoudre le problème, nous introduisons la grille régulière représentée sur la figure 1(a). Comme en 1D, nous découpons

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