1 Projet de MAP - Méthode de Schwarz de dé- composition
Transcription
1 Projet de MAP - Méthode de Schwarz de dé- composition
1 Projet de MAP - Méthode de Schwarz de décomposition du domaine 1.1 Question 1 Montrons tout d'abord que la convergence des deux sommes est uniforme sur le rectangle [0, l1 ] × [0, l2 ], ce qui nous permettra de dériver sous le signe somme. D'après la forme de fpq , il existe clairement une constante M , indépendante du couple (x1 , x2 ) telle que µ ¶ µ ¶ |fpq | pπx1 qπx2 M | sin sin | ≤ ³ ´2 ³ ´2 ³ ´2 l1 l2 pπ qπ + l2 p2 + qll21 l1 D'autre part, il existe une constante N , indépendante de (x1 , x2 ) telle que ³ ³ ´´ nπl1 x1 µ µ ¶¶ µ ¶ sinh 1 − l2 l1 nπl1 |un | x1 qπx2 ´ sinh ´ ³ ³ 1 − | sin | ≤ N πnl1 πnl1 l l l 2 1 2 sinh sinh l2 l2 mais sur tout rectangle [², l1 ]×[0, l2 ] la convergence est uniforme d'après la forme du majorant. Donc, la dérivée partielle des deux sommes peut être calculée par dérivation sous le signe somme. Le calcul simple de dérivation sous le signe somme donne : −∆u = ∞ X µ fpq sin p,q=1 pπx1 l1 ¶ µ sin qπx2 l2 ¶ l'analyse de Fourier nous dit que cette somme vaut en fait f (x1 , x2 ) (il sut de considérer f˜ fonction périodique de période l1 en x1 et l2 en x2 , qui coincide avec f sur le rectangle [0, l1 ] × [0, l2 ]). De plus u vérie clairement les conditions aux limites. u est donc bien une solution du problème (1) Soit u1 une autre solution de (1) diérente de u, la diérence u − u1 notée v vérie −∆v = f à l'intérieur de Ω et est nulle au bord de Ω. L'étude des problèmes elliptiques nous dit que v ≡ 0 est la seule possibilité, ce qui prouve par l'absurde l'unicité de la solutuion de (1). 1.2 Question 2-3 Après avoir approché la solution exacte par une troncature des sommes précédentes (question 2- script exact) nous avons mis en oeuvre une méthode de diérence nies pour approcher la solution du problème (1). Nous procédons à 1 une discrétisation du domaine Ω puis évaluons le Laplacien grâce à un schéma centré à 5 points, nous résolvons le système linéaire qui nous conduit à un vecteur colonne ayant pour i-ème composante la valeur de la solution au point indexé par i. Il ne nous reste plus qu'a obtenir une représentation graphique de l'approximation, ce qui n'est pas très compliqué dans le cas d'un domaine rectangulaire puisque la matrice des valeurs que prend en argument la fonction plot a pour coecient d'indice (i, j) le coecient du vecteur colonne portant l'indice N (i − 1) + j où N 2 est le nombre de points dans la discretisation de Ω (question 3 script approche) Nous avons évalué le temps de calcul (grace à des appels de timer()) et la qualité de l'approximation en norme L2 et L∞ . Il apparaît que l'approximation par diérences nies est largement favorable du point de vue du temps de calcul et d'une précision similaire à l'évaluation par troncature des sommes de la question 1. La solution calculée par diérences nies. Cette tendance se conrme même quand nous ne tronquons plus à l'ordre 5 mais à l'ordre 7. Z 0.1253 0.0626 0.0000 0.0 0.00 0.5 Y 0.25 X 1.0 0.50 Il est donc préférable d'évaluer la solution de ce problème elliptique par diérences nies, quitte à raner la subdivision du domaine. 1.3 Question 4 Ici, le principe est le même que pour la question 3 mais la mise en oeuvre d'une méthode de diérences nies est plus délicate car le passage du vecteur des valeurs de la solution à une représentation graphique nécessite quelques manipulations techniques pour séparer deux cas : si on est dans l'une ou l'autre des "barres" du domaine Ω. 2 Z 1.53 0.77 0.00 1 0 1 Y 0 X −1 −1 1.4 Question 5 Nous appliquons la méthode itérative de la décomposition de domaines de Schwarz, c'est à dire que nous appliquons pour chacun des rectangles un schéma centré à cinq points avec une condition au bord determinée par l'itération précédente. Pour chaque domaine, cela revient à résoudre un système linéaire où la matrice associée au laplacien possède une structure bande. Le passage du vecteur des valeurs prises à la représentation graphique se fait de la même manière que dans les questions précédentes. Une numérotation bien choisie permet de minimiser la largeur de bande des matrices (cf code du script schwarz-quest5). Nous notons également que les deux sous-domaines ayant ici la même forme, nous pouvons ne stocker qu'une seule matrice associée au laplacien sur chacun des sous-domaines. Nous pouvons montrer mathématiquement (fait en DM) que chacune des deux solutions (sur chacun des sous-domaines) converge pour un nombre d'itérations susant vers la solution du problème (2). (Pour l'achage dans la zone commune on en a choisi arbitrairement une, mais elles sont rapidement très proche comme on le verra en FreeFem++). 1.5 Question 6 [Attention, il est nécessaire d'exécuter le script de la question 4 avant celui de la question 6 pour calculer la solution de référence. Il faut de plus prendre la même valeur de h] Nous avons tracé l'erreur calculée, c'est à dire l'écart entre la solution calculée itérativement par la décomposition de Schwarz et celle du problème (2) calculée par diérences nies, pour chacun des rectangles en norme L2 et L∞ . Nous voyons eectivement que cette erreur tend vers 0, conformément aux prévisions mathématiques. 3 8e−4 7e−4 6e−4 5e−4 4e−4 3e−4 2e−4 1e−4 0 1 2 3 4 5 6 7 8 9 10 1.6 Question 7 Ici, FreeFem++ se charge de la mise en place de la méthode d'éléments nis pourvu que l'on construise le maillage, qu'on dénisse l'espace utilisé (éléments nis P1 ) et qu'on précise les données du problème (structure, conditions au bord, terme source). On obtient un maillage comme celui-ci. Th Nous utilisons le ranement de maillage adaptmesh, nous constatons que le nombre de points est manifestement plus faible "sur les bords" que lors du maillage initial. Un avantage de la méthode des éléments nis est qu'elle permet de résoudre "intelligemment" le problème en n'ayant une précision élevée que là ou c'est nécessaire, Ce qui n'est pas le cas dans la résolution par diérences nies. 4 Nouveau Th On obtient une solution (ici, un exemple intéressant où on devine le maillage, assez grossier) : Solution 1.7 Question 8 Pour adapter un maillage, nous pouvons penser à deux solutions diérentes : tout d'abord, en gardant le nombre de noeuds constant, déplacer les noeuds vers les zones où le "gradient" est le plus important ; cette méthode optimise véritablement le maillage existant. Nous proposons une démarche diérente qui consiste à ajouter des points là ou nous avons besoin d'une précision plus grande. Cette technique n'est pas vraiment une optimisation du maillage existant car elle ne fait qu'ajouter des points à des endroits bien choisis. Dans le cas d'un maillage triangulaire. Il s'agirait de xer une borne supérieure à 5 |u(Xi )−u(Xj )| |Xi −Xj | (notée M ) où Xi et Xj sont deux points voisins du maillage et u est la solution approchée calculée par éléments nis sur un maillage grossier. Si des points posent problèmes (où cette condition n'est pas respéctée) nous introduisons sur le segment Xi Xj p 0 1 |u(Xi )−u(Xj )| nouveaux points Xi où p = E( M ) (notons que le triangle initial |Xi −Xj | Xi Xj Xk se divise en p + 1 triangles). Nous pouvons éventuellement itérer cette méthode. 1.8 Question 9 Notre programme FreeFem++ consiste à rentrer les paramètres des deux problèmes associés aux sous domaines (maillages, domaines, conditions aux limites), puis de les résoudre alternativement ; nous observons la convergence vers la solution obtenue à la question 7. Ici on ache dans la zone commune la superposition des deux solutions, mais elles sont tellement proches que cela n'apparaît pas. Ce phénomème est cependant visible en exécutant le code, au moment des premières itérations. 6