Quelles bibliothèques ont un bon support de haut niveau pour les multigrilles?

17

Je prévois d'utiliser le multigrille pour calculer certaines valeurs et vecteurs propres, et j'ai remarqué que PETSc a un support de haut niveau pour le multigrille. La documentation PETSc indique que cette partie de PETSc ne doit pas être utilisée, car elle sera bientôt remplacée.

Quelles autres bibliothèques prennent en charge de haut niveau le multigrille, et à quelle date approximative PETSc publiera-t-il le nouveau support multigrille?

Dan
la source
2
La nouvelle MG est là dans petsc-dev et fonctionne, tout comme le nouveau solveur GAMG. Nous attendons de publier jusqu'à ce que nous puissions changer chaque exemple (et il y en a des centaines). Je voudrais juste commencer à utiliser petsc-dev maintenant.
Matt Knepley

Réponses:

7

PETSc et Trilinos ont tous deux de bonnes méthodes multigrilles algébriques.

deal.II implémente des méthodes géométriques multigrilles pour les discrétisations par éléments finis, voir par exemple le programme tutoriel étape-16 .

Wolfgang Bangerth
la source
2
PETSc fait de la MG géométrique si vous utilisez une grille DMDA (cartésienne) depuis lors, nous savons comment construire des interpolateurs et des problèmes grossiers.
Matt Knepley
11

PETSc multigrid (en tant que préconditionneur) est assez mature et peut être utilisé avec n'importe lequel des solveurs KSP (méthode itérative de Krylov) dans PETSc en tapant:

-pc_type mg

Cependant, cela nécessite que vous ayez un moyen de générer vos niveaux grossiers, comme avoir des grilles structurées définies par des objets PETSc DA, qui seront grossies automatiquement.

Ou, si vous souhaitez utiliser une multigrille algébrique du package HYPRE, vous pouvez utiliser

-pc_type hypre

Ou du pack ML avec

-pc_type ml

Ceux-ci sont téléchargés pendant le processus de configuration en ajoutant

--download-hypre=1 --download-ml=1

à votre ligne de commande ./configure.

La partie qui est dépréciée (pour l'instant) est le cadre DMMG, qui est remplacé par le solveur SNES (non linéaire) FAS et un meilleur support pour gérer les discrétisations multiniveaux tout en utilisant MG ou FAS en ce moment. L'autre remplacement (pour les problèmes linéaires) est

-pc_type gamg -pc_gamg_type sa

Il s'agit d'un code plus récent, natif de PETSc, multigrille algébrique à agrégation lissée hautement évolutive.

Peter Brune
la source