Nehmen wir an, Sie haben das folgende Raster aus rechteckigen Elementen:
Wenn Sie nun Ihre Interpolation unter der Annahme eines normal strukturierten rechteckigen Gitters durchführen, werden Sie Fehler einführen, die mit dieser ungenauen Interpolation verbunden sind. Mit anderen Worten, wenn Sie Ihren Restvektor einschränken und Ihren Fehlervektor verlängern, treten Fehler bei der Interpolation auf.
Wenn Ihr Raster einem normalen strukturierten kartesischen Raster "nahe" ist, kann dies zumindest zunächst funktionieren, aber ich vermute, dass eines von zwei Dingen passieren wird, je nachdem, wie weit Ihr Raster von der Rechteckigkeit entfernt ist:
1) Möglicherweise stellen Sie fest, dass das Multigrid zunächst konvergiert. Schließlich ist Ihr Fehler anfangs sowieso groß und Ihre "ungefähre" Interpolation bedeutet wirklich nur, dass einige Knoten leicht überrepräsentiert sind, während andere leicht unterrepräsentiert sind. Möglicherweise stagniert die Konvergenz jedoch, wenn die Lösung genauer wird und die Interpolationsfehler wichtiger werden.
2) Eine andere Möglichkeit besteht darin, dass das Multigrid zwar konvergiert, jedoch nicht so schnell wie es sollte, wenn Sie die richtige Interpolation verwendet haben.
Grundsätzlich gewichten Sie die Wichtigkeit bestimmter Knoten ungenau, indem Sie Ihre Interpolation deaktivieren. Zum Beispiel in 2D, wenn Sie einen bestimmten Knoten wie folgt gewichten:
⎡⎣⎢0,250,50,250,51.00,50,250,50,25⎤⎦⎥
wenn in Wahrheit, weil Ihr Gitter nicht genau kartesisch ist, sollte es sein:
⎡⎣⎢0,250,550,280,551.00,520,250,490,30⎤⎦⎥
dann führt dies zu einem Fehler. Ob dieser Fehler die Konvergenz verhindert, hängt wahrscheinlich davon ab, wie weit Ihr Raster davon entfernt ist, kartesisch zu sein.
Obwohl AMG schwieriger zu verstehen / zu implementieren ist, scheint es die richtige Methode für Ihr Grid zu sein. Das Anwenden von geometrischem Multigrid auf ein "ungefähres" rechteckiges Gitter mag funktionieren, aber ich würde vermuten, dass es bestenfalls eine Pflasterlösung ist. Hoffe das hilft.
Update : Ich glaube, meine Antwort war verwirrend. Ich sage nicht, dass geometrisches Multigrid nur mit kartesischen Netzen funktioniert, sondern dass das Definieren der Interpolation (und damit der Einschränkung) von kartesischen Netzen einfach ist, während dies bei nicht strukturierten Netzen schwierig sein kann. Betrachten Sie beispielsweise den Fall einer einfachen 2D-Domäne mit einem Dreiecksnetz. Das Verfeinern dieses Netzes ist - zumindest konzeptionell - einfach, aber wie würden Sie einen Interpolationsoperator zwischen dem groben und dem feinen Netz definieren? Ich bevorzuge AMG einfach, weil es eher wie ein "Black-Box" -Löser funktioniert, dh keine Informationen über das zugrunde liegende Netz benötigt, dies ist jedoch nur meine persönliche Voreingenommenheit / Eigenart. Geometrisches Multigrid kann funktionieren, solange Sie genaue Interpolationsoperatoren bereitstellen können.