Ich würde gerne mehr Details über die Implementierung von Algebraic Multigrid Methods (AMG) erfahren. Ich habe "A Multigrid Tutorial" gelesen, das ziemlich gut ist und alle Details der Interpolation, des Grobgitteroperators und der Grobgitterauswahl für AMG erklärt. Ich denke jedoch, es gibt nichts Schöneres, als herumzuspielen und einen Code zu lesen.
Daher möchte ich fragen, ob jemand einen klassischen AMG "Beispielcode" kennt, wie den geometrischen FORTRAN-Code für mehrere Migranten, der am Ende von "Multigrid Methods" (SIAM) von SF McCormick verfügbar ist. Es ist ziemlich schwierig, einen hochwertigen Qualitäts- und Produktionscode wie BoomerAMG zu erhalten, um mehr über die Methode zu erfahren.
Antworten:
BoomerAMG ist Teil des Hypre- Pakets, das kinderleicht zu erwerben ist. Ein viel weniger komplexer Code, wenn Sie sich diese Methoden ansehen, könnte PyAMG sein .
quelle
Ich kann Alfio Borizis Einführung in die algebraische Multigrid-Methode nur empfehlen . Anhang A enthält einen Beispielcode für fortran 77.
quelle
Es gibt auch das ML-Paket, das Teil von Trilinos ist. Sein Ruf ist ebenso gut wie der von BoomerAMG / hypre.
Ich glaube, ein neueres Trilinos-Paket für AMG heißt MueLu und sollte auch in den neueren Versionen verfügbar sein.
Alle diese sind Open Source.
quelle
Ich habe eine Weile an dieser Implementierung gearbeitet . Es ist Python / Numpy / Scipy. Es ist kein algebraisches Multigrid - Sie müssen Ihren eigenen Restriktionsoperator angeben. Wenn es sich jedoch um eine Bildungsimplementierung handelt, an der Sie interessiert sind, würde ich einige Pull-Anfragen begrüßen, um solche Funktionen hinzuzufügen.
quelle