Décomposition en sous-domaines : Méthodes de Schwarz

Documents pareils
Programmation linéaire

Résolution de systèmes linéaires par des méthodes directes

Résolution d équations non linéaires

3 Approximation de solutions d équations

Feuille TD n 1 Exercices d algorithmique éléments de correction

Algorithmes pour la planification de mouvements en robotique non-holonome

Cours d analyse numérique SMI-S4

Souad EL Bernoussi. Groupe d Analyse Numérique et Optimisation Rabat http ://

Sujet proposé par Yves M. LEROY. Cet examen se compose d un exercice et de deux problèmes. Ces trois parties sont indépendantes.

Exo7. Limites de fonctions. 1 Théorie. 2 Calculs

Construction d un cercle tangent à deux cercles donnés.

La programmation linéaire : une introduction. Qu est-ce qu un programme linéaire? Terminologie. Écriture mathématique

Correction de l examen de la première session

Exo7. Matrice d une application linéaire. Corrections d Arnaud Bodin.

Cours d initiation à la programmation en C++ Johann Cuenin

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable T : pour travailler et mémoriser le cours.

ALGORITHMIQUE ET PROGRAMMATION En C

Programmation linéaire et Optimisation. Didier Smets

Licence Sciences et Technologies Examen janvier 2010

Exo7. Calculs de déterminants. Fiche corrigée par Arnaud Bodin. Exercice 1 Calculer les déterminants des matrices suivantes : Exercice 2.

Fonctions de plusieurs variables

1 Systèmes triphasés symétriques

* très facile ** facile *** difficulté moyenne **** difficile ***** très difficile I : Incontournable

Définitions. Numéro à préciser. (Durée : )

Principes d implémentation des métaheuristiques

1 de 46. Algorithmique. Trouver et Trier. Florent Hivert. Mél : Florent.Hivert@lri.fr Page personnelle : hivert

Exclusion Mutuelle. Arnaud Labourel Courriel : arnaud.labourel@lif.univ-mrs.fr. Université de Provence. 9 février 2011

C f tracée ci- contre est la représentation graphique d une

Fonctions de plusieurs variables : dérivés partielles, diérentielle. Fonctions composées. Fonctions de classe C 1. Exemples

Chapitre 6. Fonction réelle d une variable réelle

a et b étant deux nombres relatifs donnés, une fonction affine est une fonction qui a un nombre x associe le nombre ax + b

Fonctions de plusieurs variables, intégrales multiples, et intégrales dépendant d un paramètre

Algorithmique et Programmation

Rappels sur les suites - Algorithme

TD1 Signaux, énergie et puissance, signaux aléatoires

Examen optimisation Centrale Marseille (2008) et SupGalilee (2008)

aux différences est appelé équation aux différences d ordre n en forme normale.

Le théorème de Perron-Frobenius, les chaines de Markov et un célèbre moteur de recherche

FONCTIONS DE PLUSIEURS VARIABLES (Outils Mathématiques 4)

Calculs et Certificats de Quantités d Intérêts Non Linéaires d un Mousqueton Cédric Bellis

Exercices - Polynômes : corrigé. Opérations sur les polynômes

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Bien lire l énoncé 2 fois avant de continuer - Méthodes et/ou Explications Réponses. Antécédents d un nombre par une fonction

Chapitre 5 : Flot maximal dans un graphe

Analyse fonctionnelle Théorie des représentations du groupe quantique compact libre O(n) Teodor Banica Résumé - On trouve, pour chaque n 2, la classe

INTRODUCTION À L ANALYSE FACTORIELLE DES CORRESPONDANCES

Cours No 3 : Identificateurs, Fonctions, Premières Structures de contrôle.

AC AB. A B C x 1. x + 1. d où. Avec un calcul vu au lycée, on démontre que cette solution admet deux solutions dont une seule nous intéresse : x =

Objectifs. Clustering. Principe. Applications. Applications. Cartes de crédits. Remarques. Biologie, Génomique

Les algorithmes de base du graphisme

Manipulateurs Pleinement Parallèles

Chapitre 4 : Exclusion mutuelle

Planche n o 22. Fonctions de plusieurs variables. Corrigé

Rapport de stage. Première année de master Calcul Scientifique et Mathématiques de l information UFR Mathématiques et Informatique (STRASBOURG)

Cours 7 : Utilisation de modules sous python

Continuité et dérivabilité d une fonction

I - PUISSANCE D UN POINT PAR RAPPORT A UN CERCLE CERCLES ORTHOGONAUX POLES ET POLAIRES

Mathématique et Automatique : de la boucle ouverte à la boucle fermée. Maïtine bergounioux Laboratoire MAPMO - UMR 6628 Université d'orléans

Calcul matriciel. Définition 1 Une matrice de format (m,n) est un tableau rectangulaire de mn éléments, rangés en m lignes et n colonnes.

Examen Médian - 1 heure 30

CCP PSI Mathématiques 1 : un corrigé

Algorithme. Table des matières

Cours Fonctions de deux variables

Optimisation, traitement d image et éclipse de Soleil

Algorithmique et programmation : les bases (VBA) Corrigé

Chapitre 3. Quelques fonctions usuelles. 1 Fonctions logarithme et exponentielle. 1.1 La fonction logarithme

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Rencontre sur la thématique du Calcul Haute Performance - 13 juin Better Match, Faster Innovation

Exercices - Nombres complexes : corrigé. Formes algébriques et trigonométriques, module et argument

Dualité dans les espaces de Lebesgue et mesures de Radon finies

Probabilités Loi binomiale Exercices corrigés

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Caractéristiques des ondes

ALGORITHME GENETIQUE ET MODELE DE SIMULATION POUR L'ORDONNANCEMENT D'UN ATELIER DISCONTINU DE CHIMIE

Dérivation : cours. Dérivation dans R

Gestion des Clés Publiques (PKI)

TOUT CE QU IL FAUT SAVOIR POUR LE BREVET

Optimisation des fonctions de plusieurs variables

Cours Informatique Master STEP

chapitre 4 Nombres de Catalan

Baccalauréat L spécialité, Métropole et Réunion, 19 juin 2009 Corrigé.

Chapitre 1 Régime transitoire dans les systèmes physiques

avec des nombres entiers

Examen d informatique première session 2004

1 Description générale de VISFIELD

Fonctions de plusieurs variables

L exclusion mutuelle distribuée

L ALGORITHMIQUE. Algorithme

Correction du baccalauréat S Liban juin 2007

Programmation linéaire

Exercices types Algorithmique et simulation numérique Oral Mathématiques et algorithmique Banque PT

Equilibrage de charge pour les grilles de calcul : classe des tâches dépendantes et indépendantes.

Chp. 4. Minimisation d une fonction d une variable

Exercices du Cours de la programmation linéaire donné par le Dr. Ali DERBALA

Fonctions de deux variables. Mai 2011

Chapitre 02. La lumière des étoiles. Exercices :

Programmation Linéaire - Cours 1

Baccalauréat S Antilles-Guyane 11 septembre 2014 Corrigé

On ne peut pas entendre la forme d un tambour

La fonction exponentielle

Transcription:

MATH0471 Projet de calcul scientifique multiphysique Décomposition en sous-domaines : Méthodes de Schwarz R. Boman & C. Geuzaine March 17, 2014 ULg, Liège, Belgium MATH0471 Cours 5 1 / 27

Table des matières Poisson avec Poisson avec Deux sous-domaines Reformulation N sous-domaines ULg, Liège, Belgium MATH0471 Cours 5 2 / 27

Poisson avec Deux sous-domaines Reformulation N sous-domaines Méthode de Schwarz avec recouvrement pour Poisson ULg, Liège, Belgium MATH0471 Cours 5 3 / 27

Problème de Poisson 1D Poisson avec Deux sous-domaines Reformulation N sous-domaines Notons Ω =]0,1[, Γ D = {0} et Γ N = {1}. On veut résoudre u = f dans Ω, u = c D sur Γ D, n u = c N = 0 sur Γ N. (1) Le vecteur n est la normale sortante au domaine Ω et la notation n u = u n représente la dérivée normale de u. Pour résoudre ce problème, nous utiliserons une méthode de décomposition de domaine (DDM) avec chevauchement ( ). ULg, Liège, Belgium MATH0471 Cours 5 4 / 27

Deux sous-domaines avec Poisson avec Deux sous-domaines Γ D Σ 2 Σ 1 Γ N Reformulation N sous-domaines a Ω 2 1 0 b Ω 1 Σ 2 Σ 1 Décomposition en deux sous-domaines On considère une décomposition en deux sous-domaines. Introduisons deux sous-domaines connexes (=segments) Ω 1 et Ω 2 de Ω tels que Ω 1 =]0,b[ et Ω 2 =]a,1[, avec a < b. On a alors Ω = Ω 1 Ω 2 et Ω 1 Ω 2. ULg, Liège, Belgium MATH0471 Cours 5 5 / 27

Deux sous-domaines avec Poisson avec Deux sous-domaines Γ D Σ 2 Σ 1 Γ N Reformulation N sous-domaines a Ω 2 1 0 b Ω 1 Σ 2 Σ 1 Décomposition en deux sous-domaines L intersection entre les deux sous-domaines est l intervalle ]a,b[ de taille b a = H. On introduit également les ensembles Σ 1 et Σ 2 qui sont une partie de la frontière de respectivement Ω 1 et Ω 2 : Σ 1 = Ω 1 \{0} = {b} et Σ 2 = Ω 2 \{1} = {a}, et, pour j = 1,2, on note u j la restriction de la solution u au sous-domaine Ω j : u j = u Ωj. ULg, Liège, Belgium MATH0471 Cours 5 6 / 27

Poisson avec Deux sous-domaines Reformulation N sous-domaines La méthode itérative de Schwarz alternée est la suivante : On initialise u (0) 1 et u (0) 2 à 0 dans leur domaine de définition respectif. Ensuite, tant que le critère de convergence n est pas atteint (à définir), pour passer de l itération k à l itération k +1, on résout dans l ordre u (k+1) 1 = f dans Ω 1, u (k+1) 1 = c D sur Γ D, u (k+1) 1 = u (k) 2 sur Σ 1, u (k+1) 2 = f dans Ω 2, n u (k+1) 2 = c N (= 0) sur Γ N, u (k+1) 2 = u (k+1) 1 sur Σ 2. Cette méthode s apparente en réalité à la méthode de Gauss-Seidel. Une possibilité est de prendre non pas u (k+1) 1 mais u (k) 1 (dans la troisième relation du deuxième système). On obtient ainsi la méthode Jacobi-Schwarz, où les deux systèmes peuvent être résolus en parallèle. ULg, Liège, Belgium MATH0471 Cours 5 7 / 27

Reformulation Poisson avec Deux sous-domaines Reformulation N sous-domaines D autre part, en introduisant les données sur le bord g (k) 1 = u (k) 2 Σ 1 et g (k) 2 = u (k) 1 Σ 2, l algorithme itératif peut s écrire : u (k+1) 1 = f dans Ω 1, u (k+1) 1 = c D sur Γ D, u (k+1) 1 = g (k) 1 sur Σ 1, g (k+1) 2 = u (k+1) 1 Σ2, De manière plus compacte, si on introduit le vecteur g (k) u (k+1) 2 = f dans Ω 2, n u (k+1) 2 = c N sur Γ N, u (k+1) 2 = g (k+1) 2 sur Σ 2, g (k+1) 1 = u (k+1) 2 Σ1. g (k) = [g (k) 1,g(k) 2 ], alors on peut écrire directement g (k+1) = Ag (k) +b, où l opérateur A fait intervenir la résolution des systèmes (2) et b est le membre de droite donné par les données f, c D et c N. (2) ULg, Liège, Belgium MATH0471 Cours 5 8 / 27

N sous-domaines avec Poisson avec Deux sous-domaines Σ j 1,j Σ j,j 1 Σ j,j+1 Σ j+1,j Reformulation N sous-domaines Ω j 1 b j 1 a j+1 Ω j+1 a j Ω j b j Σ j 1,j Σ j,j 1 Σ j,j+1 Σ j+1,j Domaine Ω j pour 0 < j < N. On décompose Ω en N segments Ω j =]a j,b j [, pour j = 1,...,N, avec a j < b j,a 1 = 0 et b N = 1. Pour simplifier, on suppose que l intersection Ω i Ω j entre deux segments est de taille constante égale à H : b j a j+1 = H, 1 j < N. ULg, Liège, Belgium MATH0471 Cours 5 9 / 27

N sous-domaines avec Poisson avec Deux sous-domaines Reformulation N sous-domaines Ω j 1 Σ j 1,j Σ j,j 1 b j 1 Σ j,j+1 Σ j+1,j a j+1 Ω j+1 a j Ω j b j Σ j 1,j Σ j,j 1 Σ j,j+1 Σ j+1,j Domaine Ω j pour 0 < j < N. On note maintenant, pour i,j = 1,...,N avec i j, u j = u Ωj, Γ j D = Ω j Γ D, Γ j N = Ω j Γ N, Σ ij = Ω j Ω i. ULg, Liège, Belgium MATH0471 Cours 5 10 / 27

N sous-domaines avec Poisson avec Deux sous-domaines Σ j 1,j Σ j,j 1 Σ j,j+1 Σ j+1,j Reformulation N sous-domaines Ω j 1 b j 1 a j+1 Ω j+1 a j Ω j b j Σ j 1,j Σ j,j 1 Σ j,j+1 Σ j+1,j Domaine Ω j pour 0 < j < N. Les ensembles Σ ij représentent les frontières de entre les sous-domaines. Plus précisément, on peut interpréter Σ ij comme étant la frontière où Ω i transmet une donnée au domaine Ω j. Ainsi Σ ij = si j i 1. L ensemble Γ j D (resp. Γj N ) est vide sauf pour l ensemble Ω 1 (resp. Ω N ) et vaut {a 1 = 0} (resp. {b N = 1}). ULg, Liège, Belgium MATH0471 Cours 5 11 / 27

(Jacobi) Poisson avec Deux sous-domaines Reformulation N sous-domaines Afin de définir pleinement l algorithme itératif, on introduit les valeurs des u j sur les frontières Σ ij : On note g (k) = g (k) ij = u (k) i Σij. ( g (k) ij ) 1 i j N /Σ ij. L algorithme de Schwarz s écrit alors, pour une certaine tolérance tol : Tant que g (k+1) g (k) 2 > tol, faire u (k+1) j = f dans Ω j u (k+1) j = c D sur Γ j D n u (k+1) j = c N sur Γ j N u (k+1) j g (k+1) ji = g (k) ij sur Σ ij ( i j) = u (k+1) j Σji. (3) ULg, Liège, Belgium MATH0471 Cours 5 12 / 27

Poisson avec Méthode de Schwarz sans recouvrement pour Helmholtz ULg, Liège, Belgium MATH0471 Cours 5 13 / 27

Equation de Helmholtz Poisson avec On veut résoudre l équation de Helmholtz avec le nombre d onde k dans le domaine Ω: ( +k 2 )u = f dans Ω, u = u D sur Γ D, (4) u une onde sortante sur Γ S. On considère une décomposition topologiquement 1D de Ω en N sous-domaines sans recouvrement Ω i,1 i N, avec des frontières artificielles Σ ij entre Ω i et Ω j, telle que le partitionnement ne contient pas de boucle: Ω i Ω j = if i j 1. Décomposition en sous-domaines sans recouvrement pour Helmholtz. ULg, Liège, Belgium MATH0471 Cours 5 14 / 27

de Schwarz sans recouvrement Poisson avec Le problème (4) peut être formulé dans les sous-domaines de sorte que u i = u Ωi, en utilisant des conditions d impédance sur les interfaces artificielles Σ ij. En introduisant les inconnues d interface g = {g ij,1 i j N, i j = 1}, on cherche la solution de : ( +k 2 )u i = 0 dans Ω i, u i = u D sur Γ i D, u i une onde sortante sur Γ i S, (5) ( n +S)u i = g ij := ( n +S)u j sur Σ ij où l opérateur S a un double rôle : simuler l impédance du domaine qui s étend derrière la frontière artificielle assurer que les sources situées par-delà la frontière produisent une constribution équivalente à l intérieur du sous-domaine Par la suite, on dénote (5) par H i u i = f i. ULg, Liège, Belgium MATH0471 Cours 5 15 / 27

de Schwarz sans recouvrement Poisson avec La méthode de Schwarz se résume dès lors à résoudre : ( +k 2 )u (k+1) i = 0 dans Ω i, u (k+1) i = u D sur Γ i D, u (k+1) i une onde sortante sur Γ i S, ( n +S)u (k+1) i = g (k) ij sur Σ ij, puis à mettre à jours les inconnues : = n u (k+1) j +Su (k+1) j sur Σ ij, g (k+1) ij = g (k) ji +2Su (k+1) j. En exploitant la linéarité du problème, on peut séparer les solutions des sous-problèmes en deux composantes : les contributions des sources artificielles sur les interfaces internes v i et les sources physiques w i, telles que u i = v i +w i. (6) (7) Au cours des itérations, on peut écrire l approximation courante de la solution u (k) i = v (k) i +w i, puisque les sources physiques ne changent pas. ULg, Liège, Belgium MATH0471 Cours 5 16 / 27

de Schwarz sans recouvrement Poisson avec On a donc (en ne réécrivant pas les conditions sur Γ i S pour la lisibilité) : ( +k 2 )v (k+1) i = 0 dans Ω i, ( n +S)v (k+1) i = g (k) ij sur Σ ij, v (k+1) i = 0 sur Γ i D, et ( +k 2 )w i = f dans Ω i, ( n +S)w i = 0 sur Σ ij, w i = u D sur Γ i D. En injectant cette décomposition dans l équation d update (7), on obtient : g (k+1) ij = g (k) ji +2Sv (k+1) j +2Sw j sur Σ ij. = g (k) ji +2Sv (k+1) j +b ij ULg, Liège, Belgium MATH0471 Cours 5 17 / 27

de Schwarz sans recouvrement Poisson avec En considérant le vecteur complet des inconnues, on obtient l itération de point fixe : g (k+1) = Ag (k) +b, où l opérateur d itération A : N i,j=1 L2 (Σ ij ) N i,j=1 L2 (Σ ij ) consiste en une étape de l algorithme avec les sources physiques mises à 0. Le vecteur b contient les contributions des sources externes, et est calculé en appliquant (7) à w i. A convergence, g doit satisfaire le système linéaire suivant : Fg := (I A)g = b. (8) On peut utiliser n importe quel solveur linéaire pour résoudre (8), en particulier une méthode de Krylov comme GMRES qui ne nécessite que d évaluer Fg ( matrix-free ). ULg, Liège, Belgium MATH0471 Cours 5 18 / 27

t t 5 5 de Schwarz sans recouvrement Poisson avec s s r r Application de l opérateur d itération g Fg ULg, Liège, Belgium MATH0471 Cours 5 19 / 27

t t 5 5 de Schwarz sans recouvrement Poisson avec s s Calcul du membre de droite b ULg, Liège, Belgium MATH0471 Cours 5 20 / 27

Choix de l opérateur S Poisson avec Le choix de S influe directement sur les propriétés spectrales de F et peut mener à la non-convergence de la méthode (p. ex. valeurs propres de module supérieur à 1 pour Jacobi). Un choix judicieux de S peut mener à une convergence rapide. Optimum : prendre pour S l opérateur Dirichlet-to-Neumann (DtN) D correspondant au complémentaire du sous-domaine. Pas pratique, car non-local! ULg, Liège, Belgium MATH0471 Cours 5 21 / 27

Choix de l opérateur S Poisson avec Approximations locales : Condition de Sommerfeld S IBC(0) u = ıku (9) Sommerfeld complexifié S IBC(χ) u = ıku+χu (10) Optimized Order 0 and 2 S OO0 u = au and S OO2 u = au b Σ u, (11) où les nombres complexes a et b sont obtenus via la solution d un problème d optimisation. Opérateur racine carrée S GIBC(sq,ε) u = ık ( 1 1+div Σ kε 2 Σ )u, (12) localisé par une approximation de Padé complexe, où k ε = k +ıε. ULg, Liège, Belgium MATH0471 Cours 5 22 / 27

pour un problème simple Poisson avec Ω 1 Ω 0 Σ R 0 n 0 n 1 Figure 1: Deux sous-domaines avec une interface circulaire. Etude de l opérateur de A = + m= A me ımθ en termes du spectre des matrices A m. ULg, Liège, Belgium MATH0471 Cours 5 23 / 27

pour un problème simple Poisson avec 1 0.9 0.8 0.7 ρ(am) 0.6 0.5 0.4 IBC(0) IBC(k/2) OO2(π) GIBC(sq,0) GIBC(sq,ε opt ) 0.3 0.2 m = kr 0 0.1 0 0 50 100 150 200 m Figure 2: Rayon spectral de A m vs. mode m. ULg, Liège, Belgium MATH0471 Cours 5 24 / 27

pour un problème simple Poisson avec 1.6 1.4 1.2 IBC(X) OO2( k) GIBC(sq,ε) ρ(a) 1 0.8 k = π X = k/2 0.6 0.4 ε = ε opt 0.2 0 5 10 15 20 X or k or ε Figure 3: Rayon spectral de A vs. χ (pour IBC), k (pour OO2) et ε (pour GIBC). ULg, Liège, Belgium MATH0471 Cours 5 25 / 27

pour un problème simple Poisson avec 1 0.8 0.6 0.4 IBC(0) IBC(k/2) OO2(π) GIBC(sq,ε opt ) Imaginary part 0.2 0-0.2-0.4-0.6-0.8-1 0 0.5 1 1.5 2 Real part Figure 4: Distribution des valeurs propres de F = (I A) dans le plan complexe pour différents opérateurs de. ULg, Liège, Belgium MATH0471 Cours 5 26 / 27

s r pour un problème simple Poisson avec t Figure 5: Iterations vs. nombre d onde ULg, Liège, Belgium MATH0471 Cours 5 27 / 27