Je voudrais comprendre plus de détails sur la mise en œuvre des méthodes multigrilles algébriques (AMG). J'ai lu "A Multigrid Tutorial", qui est assez bon et explique tous les détails de l'interpolation, de l'opérateur de grille grossière et de la sélection de grille grossière pour AMG. Cependant, je pense qu'il n'y a rien de tel que de jouer et de lire un code.
Je voudrais donc demander si quelqu'un connaît un "exemple de code" AMG classique, comme le code FORTRAN multigrille géométrique disponible à la fin de "Méthodes multigrille" (SIAM) par SF McCormick. Il est assez difficile d'obtenir un code de production et de haute qualité comme BoomerAMG pour en savoir plus sur la méthode.
Réponses:
BoomerAMG fait partie du package Hypre , qui est très simple à acquérir. Un code beaucoup moins complexe si vous commencez à regarder ces méthodes pourrait être PyAMG .
la source
Je recommande fortement l' introduction d' Alfio Borizi à la méthode multigrille algébrique. Il y a un exemple de code fortran 77 dans l'annexe A.
la source
Il y a aussi le paquet ML qui fait partie de Trilinos. Sa réputation est tout aussi bonne que celle de BoomerAMG / hypre.
Un nouveau package Trilinos pour AMG s'appelle MueLu, je crois, et devrait également être disponible dans les versions les plus récentes.
Tous ces éléments sont open source.
la source
Je travaille sur cette implémentation depuis un petit moment. C'est Python / Numpy / Scipy. Ce n'est pas multigrille algébrique - vous devez fournir votre propre opérateur de restriction. Mais s'il s'agit d'une implémentation pédagogique qui vous intéresse, j'accueillerais volontiers certaines demandes d'ajout d'une telle capacité.
la source