Problemstellung
Ich habe ein geometrisches Multigrid für implementiert, wobei f = 3 π 2 ist aufΩ∈[0,1]auf einemEinheitswürfel. Die Dirichlet-Grenzen auf der linken Seite, der Unterseite und der Vorderseite sind0. Neumann-Grenzen oben, rechts und hinten sind∂u .
Methode
Eine Multigrid-Methode wird verwendet, um die Gleichung zu lösen. Ich approximiere die Geisterpunkte an der Neumann-Grenze anhand des zentralen Unterschieds .
Methodenübersicht (aus Kommentaren, vom Autor bestätigt): Beginnen Sie mit dem feinen Netz (dem endgültigen Netz, mit dem die Gleichung gelöst werden soll), fahren Sie mit dem gröberen Netz fort, um die Korrektur zu berechnen, geben Sie es zurück und glätten Sie es am Ende des Multigrids Verfahren.
Beobachtungen
Das Problem ist, wenn ich mein gröbstes Gitter (etwa zu 16x16x16
) fixiere und V-Zyklen zur Erhöhung der feinen Gittergrößen messe , sind meine V-Zyklen nicht konstant . Ich habe in dem Buch MULTIGRID von Trottenberg et. al . dass wir einen modifizierten vollgewichteten Restriktionsoperator verwenden müssen , um eine falsche Skalierung an den Neumann-Grenzen zu verhindern. Außerdem kann ich diesen im Buch erwähnten modifizierten Operator für vollständige Einschränkungen nicht verstehen .
Frage
Könnte die "modifizierte Einschränkung mit vollem Gewicht" zu einer Verschlechterung der Konvergenzrate führen?
Bitte vorschlagen / erklären.
quelle
Antworten:
Ihre anfängliche Vermutung kann einen großen Rest nahe der Neumann-Grenze erzeugen. Abhängig von der Restriktionsmethode nimmt dieser Rest möglicherweise nicht wie gewünscht ab.
Ich würde versuchen, anstelle eines V-Zyklus einen FMG-Zyklus zu verwenden. Da der FMG-Zyklus am gröbsten Gitter beginnt, haben Sie eine vernünftige Schätzung in der Nähe Ihrer Neumann-Randbedingung auf feineren Ebenen. Nach meiner Erfahrung funktioniert FMG gut mit Neumann-Randbedingungen.
quelle