Quel est l'avantage du multigrille sur les préconditionneurs de décomposition de domaine, et vice versa?


Réponses:


16

Les méthodes de décomposition de domaine multigrille et multiniveau ont tellement en commun que chacune peut généralement être écrite comme un cas spécial de l'autre. Les cadres d'analyse sont quelque peu différents, en raison des différentes philosophies de chaque domaine. D'une manière générale, les méthodes multigrilles utilisent des taux de grossissement modérés et des lissoirs simples tandis que les méthodes de décomposition de domaine utilisent des lissages extrêmement rapides et des lisseurs forts .

Multigrille (MG)

Multigrid utilise des taux de grossissement modérés et atteint la robustesse en modifiant l'interpolation et les lissoirs. Pour les problèmes elliptiques, les opérateurs d'interpolation doivent être "basse énergie", de manière à préserver l'espace quasi nul de l'opérateur (par exemple les modes de corps rigides). Un exemple d'approche géométrique de ces interpolants de basse énergie est Wan, Chan, Smith (2000) , comparé à la construction algébrique d'agrégation lissée Vaněk, Mandel, Brezina (1996) (implémentations parallèles en ML et PETSc via PCGAMG, le remplacement de Prométhée ) . Le livre de Trottenberg, Oosterlee et Schüller est une bonne référence générale sur les méthodes multigrilles.

La plupart des lisseurs multigrilles impliquent une relaxation ponctuelle, soit additivement (Jacobi) soit multiplicative (Gauss Seidel). Ceux-ci correspondent à de minuscules problèmes de Dirichlet (nœud unique ou élément unique). Une certaine adaptabilité spectrale, robustesse et vectorisabilité peuvent être obtenues en utilisant des lisseurs Chebyshev, voir Adams, Brezina, Hu, Tuminaro (2003) . Pour les problèmes non symétriques (par exemple de transport), des lisseurs multiplicatifs comme Gauss-Seidel sont généralement nécessaires, et des interpolants au vent peuvent être utilisés. Alternativement, des lissoirs pour les problèmes de point de selle et d'ondes raides peuvent être construits en se transformant via des "préconditionneurs de bloc" inspirés du complément Schur ou par la "relaxation distribuée" connexe, en systèmes dans lesquels des lissoirs simples sont efficaces.

L'efficacité multigrille des manuels se réfère à la résolution d' une erreur de discrétisation dans un petit multiple du coût de quelques évaluations résiduelles, aussi peu que quatre, sur la grille fine. Cela implique que le nombre d'itérations à une tolérance algébrique fixe diminue à mesure que le nombre de niveaux augmente. En parallèle, l'estimation temporelle implique un terme logarithmique résultant de la synchronisation impliquée par la hiérarchie multigrille.

Décomposition de domaine (DD)

Les premières méthodes de décomposition de domaine n'avaient qu'un seul niveau. Sans niveau grossier, le numéro de condition de l'opérateur préconditionné ne peut pas être inférieur à Lest le diamètre du domaine etHest la taille nominale du sous-domaine. En pratique, les nombres de conditions pour DD à un niveau se situent entre cette limite etO(L2O(L2H2)LHhest la taille de l'élément. Notez que le nombre d'itérations nécessaires à une méthode de Krylov est mis à l'échelle en tant que racine carrée du numéro de condition. Les méthodes de Schwarz optimisées(Gander 2006)améliorent les constantes et la dépendance àH/h parrapport aux méthodes de Dirichlet et Neumann, mais n'incluent généralement pas de niveaux grossiers et se dégradent donc dans le cas de nombreux sous-domaines. Voir les livres deSmith, Bjørstad et Gropp (1996)ouToselli et Widlund (2005)pour une référence générale aux méthodes de décomposition de domaine.O(L2hH)hH/h

Pour des taux de convergence optimaux ou quasi-optimaux, plusieurs niveaux sont nécessaires. La plupart des méthodes DD se présentent comme des méthodes à deux niveaux et certaines sont très difficiles à étendre à plusieurs niveaux. Les méthodes DD peuvent être classées comme chevauchantes ou non chevauchantes.

Chevauchement

Ces méthodes Schwarz utilisent le chevauchement et sont généralement basées sur la résolution de problèmes de Dirichlet. La force des méthodes peut être augmentée en augmentant le chevauchement. Cette classe de méthodes est généralement robuste, ne nécessite pas d'identification locale de l'espace nul ou de modifications techniques pour les problèmes de contraintes locales (courantes en ingénierie de la mécanique des solides), mais implique un travail supplémentaire (en particulier en 3D) en raison du chevauchement. De plus, pour les problèmes contraints comme l'incompressible, la constante inf-sup de la bande qui se chevauche apparaît généralement, conduisant à des taux de convergence sous-optimaux. Dorhmann, Klawonn et Widlund (2008) et Dohrmann et Widlund (2010) ont développé des méthodes de chevauchement modernes utilisant des espaces grossiers similaires à BDDC / FETI-DP (voir ci-dessous ) .

Sans chevauchement

Ces méthodes résolvent généralement les problèmes de Neumann d'une certaine sorte, ce qui signifie que contrairement aux méthodes de Dirichlet, elles ne peuvent pas fonctionner avec une matrice globalement assemblée et nécessitent plutôt des matrices non assemblées ou partiellement assemblées. Les méthodes Neumann les plus populaires imposent la continuité entre les sous-domaines en équilibrant à chaque itération ou par des multiplicateurs de Lagrange qui n'appliqueront la continuité qu'une fois la convergence atteinte. Les premières méthodes de ce type (Balancing Neumann-Neumann et FETI) nécessitent une caractérisation précise de l'espace nul de chaque sous-domaine, à la fois pour construire le niveau grossier et pour rendre les problèmes de sous-domaine non singuliers. Les méthodes ultérieures (BDDC et FETI-DP) sélectionnent les coins de sous-domaine et / ou les moments de bord / face comme degrés de liberté de niveau grossier. Voir Klawonn et Rheinbach (2007)pour une discussion approfondie de la sélection de l'espace grossier pour l'élasticité 3D. Mandel, Dohrmann et Tazaur (2005) ont montré que BDDC et FETI-DP ont toutes les mêmes valeurs propres, à l'exception des possibles 0 et 1.

Plus de deux niveaux

La plupart des méthodes DD ne se présentent que comme des méthodes à deux niveaux, et certaines sélectionnent des espaces grossiers qui ne conviennent pas à une utilisation avec plus de deux niveaux. Malheureusement, en particulier en 3D, les problèmes de niveau grossier deviennent rapidement un goulot d'étranglement, limitant les tailles de problèmes qui peuvent être résolus. De plus, les nombres de conditions des opérateurs préconditionnés, en particulier pour les méthodes DD basées sur des problèmes de Neumann, ont tendance à évoluer comme

κ(PDD-1UNE)=C(1+logHh)2(L-1)

LL4dix12


9

C'est un excellent résumé, mais je pense que dire que (à plusieurs niveaux) DD et MG ont beaucoup en commun n'est pas précis, ou du moins pas utile. Les méthodes sont très différentes et je ne pense pas que l'expertise dans l'une soit très utile dans l'autre.

Premièrement, les deux communautés utilisent des définitions différentes de la complexité: DD optimise le numéro de condition des systèmes préconditionnés et MG optimise la complexité travail / mémoire. Il s'agit d'une grande différence fondamentale - "l'optimalité" a une signification totalement différente dans ces deux contextes. Les choses ne changent pas lorsque vous ajoutez une complexité parallèle (bien que vous obteniez un terme de journal ajouté dans MG). Les deux communautés parlent presque des langues différentes.

Deuxièmement, MG a intégré plusieurs niveaux et les méthodes DD à plusieurs niveaux ont toutes été développées avec une théorie et des implémentations à deux niveaux. Cela limite l'espace des espaces de grille grossiers que vous pouvez utiliser dans MG - ils doivent être récursifs. Par exemple, vous ne pouvez pas implémenter FETI dans un framework MG. Les gens font certaines méthodes DD à plusieurs niveaux comme Jed l'a mentionné, mais au moins certaines des méthodes DD populaires actuelles ne semblent pas être implémentables de manière récursive.

Troisièmement, je vois les algorithmes eux-mêmes, tels qu'ils sont pratiqués, comme très différents. Qualitativement parlant, je dirais que les méthodes DD se projettent sur les limites du domaine et résolvent ce problème d'interface. MG travaille directement avec les équations natives. Éviter cette projection permet d'appliquer facilement la MG aux problèmes non linéaires et asymétriques. Bien que la théorie disparaisse pratiquement pour les problèmes non linéaires et asymétriques, ils ont fonctionné pour beaucoup de gens. MG dissocie également explicitement le problème en deux parties: l'espace de grille grossier pour la mise à l'échelle et un solveur itératif (le plus lisse) pour résoudre la physique. C'est essentiel pour comprendre et travailler avec MG et c'est une propriété attrayante pour moi.

Bien que théoriquement les lissoirs et les espaces de grille grossiers soient étroitement couplés, dans la pratique, vous pouvez souvent échanger différents lisseurs vers l'intérieur et vers l'extérieur comme paramètre d'optimisation. Comme Jed l'a mentionné, les lisseuses à point ou à sommet sont populaires et généralement plus rapides, mais pour les problèmes difficiles, des lisseuses plus lourdes peuvent être utiles. Ce tracé est issu de ma thèse montrant le temps de résolution en fonction du coefficient de Poisson pour Jacobi, bloc Jacobi et "additif Schwarz" (chevauché). C'est un peu difficile à lire, mais au taux de Poisson le plus élevé (0,499), Schwarz chevauchant est environ 2 fois plus rapide que (vertex) Jocobi alors qu'il est environ 3 fois plus lent aux taux de Poisson pour piétons.

Résoudre le temps par rapport au coefficient de Poisson pour les lisseuses ponctuelles, en blocs et superposées


4

Selon la réponse de Jed, MG utilise un grossissement modéré tandis que DD utilise un grossissement rapide. Je pense que cela fait une différence lorsqu'ils sont parallélisés. Il y aura des multiples de communications et de synchronisations pour que MG passe par de nombreux niveaux de grossissement équivalents à un seul grossissement de DD. Un autre point de la réponse de Jed est que MG utilise un lisseur bon marché et DD utilise un lisseur fort. Compte tenu des deux points, il a été rapporté que la MG à des niveaux grossiers aura de mauvais rapports de communication / calcul. Donc, selon la loi d' Amdahl , l'accélération parallèle n'est pas bonne. Un remède à cela est la correction parallèle des grilles grossières comme le préconditionneur BPX. En outre, MG peut utiliser DD aussi facilement que Adams l'a souligné, et MG peut également être utilisé dans des sous-domaines de DD. Sur la base des considérations soulignées par Barker, je suppose que l'utilisation de MG dans DD est meilleure, qui exploite à la fois le parallélisme de DD et la complexité optimale de MG.


1

Je veux faire un petit ajout à l'excellente réponse de Jed, à savoir que les motivations derrière les deux approches sont (ou du moins étaient) différentes.

La décomposition de domaine est motivée comme une technique de calcul parallèle. Surtout pour les méthodes à un niveau, DD est très naturel à implémenter sur une machine parallèle - vous divisez le domaine en morceaux et donnez chaque morceau à un processeur différent. Dans un certain sens, la motivation derrière DD est de diviser les opérations arithmétiques entre les processeurs.

Il existe de bonnes implémentations multigrilles parallèles, mais il est souvent moins naturel de le faire en parallèle. Au lieu de cela, la motivation derrière multigrid est de faire moins d'opérations arithmétiques en premier lieu.


2
C'est un bon point, mais j'ajouterais que DD était également motivé par le désir de réutiliser les solveurs directs existants (dans la plupart des cas d'ingénierie) de mon expérience en voyant les premières discussions DD. Je n'ai jamais implémenté une méthode DD à plusieurs niveaux mais elle ne me semble pas plus "naturelle". La parallélisation d'un produit matrice-vecteur - la seule chose autre que les opérations vectorielles simples que vous devez implémenter pour les multigrilles - est sinon très bien comprise.
Adams

1

HhO(1Hh)

hH


2
Pour info, cela devrait probablement être un commentaire sur la réponse de Jed plutôt qu'une réponse séparée.
Jack Poulson

Oui, j'ai essayé mais je ne trouve pas de moyen d'ajouter un commentaire sous la réponse de Jed.
Hui Zhang

hH

Hh
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.