Dies ist hauptsächlich für elliptische PDEs über konvexe Domänen gedacht, damit ich einen guten Überblick über die beiden Methoden bekomme.
Dies ist hauptsächlich für elliptische PDEs über konvexe Domänen gedacht, damit ich einen guten Überblick über die beiden Methoden bekomme.
Antworten:
Mehrgitter- und Mehrebenendomänenzerlegungsmethoden haben so viele Gemeinsamkeiten, dass normalerweise jede als Spezialfall für die andere geschrieben werden kann. Die Analyserahmen sind aufgrund der unterschiedlichen Philosophien der einzelnen Bereiche etwas unterschiedlich. Im Allgemeinen verwenden Multigrid-Methoden moderate Vergröberungsraten und einfache Glättungsfaktoren, während Domänenzerlegungsmethoden extrem schnelle Vergröberungsraten und starke Glättungsfaktoren verwenden .
Mehrgitter- Anwendungen moderieren vergröbert Raten und erreicht Robustheit durch Modifikation der Interpolation und Glätter. Für elliptische Probleme sollten die Interpolationsoperatoren "energiearm" sein, so dass sie den nahezu Nullraum des Operators erhalten (z. B. Starrkörpermodi). Ein beispielhafter geometrischer Ansatz für diese energiearmen Interpolanten ist Wan, Chan, Smith (2000) im Vergleich zur algebraischen Konstruktion der geglätteten Aggregation Vaněk, Mandel, Brezina (1996) (parallele Implementierungen in ML und PETSc über PCGAMG, den Ersatz für Prometheus ). . Das Buch von Trottenberg, Oosterlee und Schüller ist eine gute allgemeine Referenz zu Multigrid-Methoden.
Die meisten Mehrgitter- Glätter beinhalten punktuellen Entspannung, entweder additiv (Jacobi) oder multiplikativ (Gauss - Seidel). Diese entsprechen den winzigen (Einzelknoten oder Einzelelement) Dirichlet Probleme. Einige spektrale Adaptivität, Robustheit und Vektorisierbarkeit kann erreicht werden unter Verwendung Chebyshev Glätter, siehe Adams, Brezina, Hu, Tuminaro (2003) . Für nicht-symmetrisch (zB Transport) Probleme, wie multiplikativen Glätter Gauss-Seidel ist in der Regel notwendig ist , und upwinded Interpolationsmittel verwendet werden. Alternativ Glätter für Sattelpunkt und steife Welle Probleme können durch die Umwandlung über Schur-Komplement-inspirierten „-Block Vorkonditionierer“ oder durch den Zusammenhang „distributed relaxation“, in Systemen , in denen einfache Glätter wirksam aufgebaut sein.
Lehrbuch Mehrgitter- Effizienz bezieht sich auf auf die Lösung Diskretisierungsfehlers in einem kleinen Vielfachen der Kosten von wenigen Rest Auswertungen, so wenig wie vier, auf dem feinen Raster. Dies bedeutet , dass die Anzahl der Iterationen auf eine feste algebraische Toleranz geht nach unten wie die Anzahl der Ebenen in zugenommen. Parallel dazu umfaßt die Zeitschätzung eine logarithmische Term aufgrund der Synchronisation entstehen durch die Mehrgitter - Hierarchie impliziert.
Die ersten Domänenzerlegungsmethoden hatten nur eine Ebene. Ohne Grobstufe darf die Bedingungsnummer des vorkonditionierten Operators nicht kleiner sein als wobeiLder Durchmesser der Domäne undHdie nominelle Subdomänengröße ist. In der Praxis liegen Bedingungsnummern fürDD zwischen dieser Grenze undwobeidie Elementgröße ist. Man beachtedass die Anzahl von Iterationen durch eine Methode Krylov Skalen als die Quadratwurzel der Konditionszahl benötigt. Optimierte Schwarz-Methoden(Gander 2006)verbessern die Konstanten und die Abhängigkeit vonVergleich zu Dirichlet- und Neumann-Methoden, enthalten jedoch im Allgemeinen keine Grobanteile und bauen sich daher bei vielen Subdomänen ab. Sehendie Bücher vonSmith, Bjørstad und Gropp (1996)oderToselli und Widlund (2005) für eine allgemeine Referenz zu Domänenzerlegungsmethoden.
Für eine optimale oder quasi-optimale Konvergenzraten, sind mehrere Ebenen notwendig. Die meisten DD-Methoden werden als zweistufige Methoden dargestellt, und es ist sehr schwierig, sie auf mehrere Ebenen auszuweiten. DD Verfahren können als überlappende oder nicht überlappende klassifiziert werden.
Diese Schwarz-Methoden verwenden Überlappungen und basieren im Allgemeinen auf der Lösung von Dirichlet-Problemen. Die Stärke des Verfahrens kann durch Erhöhung der Überlappung erhöht werden. Diese Klasse von Verfahren ist in der Regel robust, benötigt keine lokale Nullraumidentifikation oder technische Änderungen für Probleme mit lokalen Einschränkungen (häufig bei Engineering solide Mechanik), sondern beinhaltet zusätzliche Arbeit (vor allem in 3D) aufgrund der Überlappung. Außerdem tritt bei eingeschränkten Problemen wie inkompressiblen normalerweise die Inf-Sup-Konstante des überlappenden Streifens auf, was zu suboptimalen Konvergenzraten führt. Moderne überlappende Methoden unter Verwendung von ähnlichen groben Räumen BDDC / FETI-DP (siehe unten) werden von entwickelt Dorhmann, Klawonn und Widlund (2008) und Dohrmann und Widlund (2010) .
Diese Methoden lösen in der Regel Neumann Probleme irgendwelcher Art, was bedeutet , dass im Gegensatz zu Dirichlet Methoden, können sie nicht mit einer global zusammengesetzten Matrix arbeiten und stattdessen erfordern nicht oder nur teilweise Matrizen zusammengesetzt. Die beliebtesten Neumann Methoden erzwingen entweder Kontinuität zwischen Sub - Domains durch bei jeder Iteration oder durch Lagrange - Multiplikatoren balancieren , die Kontinuität erzwingen wird nur einmal Konvergenz erreicht ist. Die frühen Methoden dieser Art (Balancing Neumann-Neumann und FETI) erfordern eine genaue Charakterisierung des Nullraums jeder Subdomäne, um sowohl die grobe Ebene zu konstruieren als auch die Subdomänenprobleme nicht singulär zu machen. Spätere Methoden (BDDC und FETI-DP) wählen Subdomänenecken und / oder Kanten- / Flächenmomente als grobe Freiheitsgrade aus. Siehe Klawonn und Rheinbach (2007)für eine eingehende Diskussion der groben Raumauswahl für 3D-Elastizität. Mandel, Dohrmann und Tazaur (2005) zeigten , dass BDDC und FETI-DP alle die gleichen Eigenwerte haben, mit Ausnahme von möglichen 0 und 1.
Die meisten DD-Methoden werden nur als zweistufige Methoden gestellt, und einige wählen grobe Leerzeichen aus, die für die Verwendung mit mehr als zwei Ebenen unpraktisch sind. Leider werden gerade in 3D die Grobprobleme schnell zu einem Engpass, der die zu lösenden Problemgrößen einschränkt. Darüber hinaus sind die Zustandszahlen der vorkonditionierten Operatoren, insbesondere für die auf Neumann-Problemen basierenden DD-Methoden, tendenziell wie folgt skaliert
Dies ist eine hervorragende Zusammenfassung, aber ich denke, dass es nicht genau oder zumindest nicht nützlich ist, zu sagen, dass (mehrstufige) DD und MG viel gemeinsam haben. Die Methoden sind sehr unterschiedlich und ich denke nicht, dass Fachwissen in einem sehr nützlich ist in dem anderen.
Erstens verwenden die beiden Communities unterschiedliche Definitionen der Komplexität: DD optimiert die Zustandsnummer der vorkonditionierten Systeme und MG optimiert die Arbeits- / Speicherkomplexität. Dies ist ein großer grundlegender Unterschied - "Optimalität" hat in diesen beiden Zusammenhängen eine völlig unterschiedliche Bedeutung. Die Dinge ändern sich nicht, wenn Sie parallel Komplexität hinzufügen (obwohl in MG ein Protokollausdruck hinzugefügt wird). Die beiden Gemeinden sprechen fast verschiedene Sprachen.
Zweitens ist MG mehrstufig aufgebaut, und alle mehrstufigen DD-Methoden wurden mit Theorie und Implementierungen auf zwei Ebenen entwickelt. Dies begrenzt den Platz für Grobraster, den Sie in MG verwenden können - sie müssen rekursiv sein. Beispielsweise können Sie FETI nicht in einem MG-Framework implementieren. Die Leute machen einige mehrstufige DD-Methoden, wie von Jed erwähnt, aber zumindest einige der derzeit gängigen DD-Methoden scheinen nicht rekursiv implementierbar zu sein.
Drittens sehe ich die Algorithmen selbst als sehr unterschiedlich an. Qualitativ würde ich sagen, dass DD-Methoden auf Domänengrenzen projizieren und dieses Schnittstellenproblem lösen. MG arbeitet direkt mit den nativen Gleichungen. Durch das Vermeiden dieser Projektion kann MG leicht auf nichtlineare und unsymmetrische Probleme angewendet werden. Obwohl die Theorie für nichtlineare und unsymmetrische Probleme so gut wie verschwunden ist, haben sie für viele Menschen funktioniert. MG auch abkoppelt ausdrücklich das Problem in zwei Teile: der Grobgitterraum für die Skalierung und einen iterativen Solver (je glatte), um die Physik zu lösen. Dies ist für das Verständnis und die Zusammenarbeit mit MG von entscheidender Bedeutung und für mich eine attraktive Eigenschaft.
Obwohl theoretisch die Glätter und Grobraster eng miteinander gekoppelt sind, können Sie in der Praxis häufig unterschiedliche Glätter als Optimierungsparameter ein- und auswechseln. Als Jed Punkt oder Scheitelpunkt erwähnt sind Glätter beliebt und in der Regel schneller, aber für Probleme schwerer Glätter herausfordernd können nützlich sein. Diese Darstellung stammt aus meiner Dissertation und zeigt die Lösungszeit als Funktion des Poisson-Verhältnisses für Jacobi, Block Jacobi und "Additiv Schwarz" (überlappt). Es ist ein wenig schwer zu lesen, aber auf dem höchsten Poisson-Verhältnis (0,499) Schwarz überlappende ist etwa 2x schneller als (Vertex) Jocobi während es etwa 3x langsamer an Fußgänger Poisson-Verhältnissen ist.
Laut Jeds Antwort verwendet MG eine moderate Vergröberung, während DD eine schnelle Vergröberung verwendet. Ich denke , das macht einen Unterschied , wenn sie parallelisiert werden. Es wird ein Vielfaches von Kommunikation und Synchronisationen sein für MG gehen durch viele Ebenen der Vergröberung, die auf einem einzigen Vergröberung der DD gleichwertig sind. Ein weiterer Punkt aus Jeds Antwort ist, dass MG billigen Glätter und DD starken Glätter verwendet. Betrachtet man die beiden Punkte, wurde berichtet, dass MG in groben Stufen schlechte Kommunikation / Berechnungsverhältnisse haben. Nach Amdahls Gesetz ist die parallele Beschleunigung also nicht gut. Abhilfe schafft hier die parallele Grobgitterkorrektur wie der BPX-Vorkonditionierer. Außerdem kann MG DD als glattere verwenden, wie Adams wies darauf hin, und MG kann auch innerhalb Subdomains von DD verwendet werden. Auf der Grundlage der Überlegungen haben Barker darauf hingewiesen, ich denke, mit MG innerhalb DD ist besser, die sowohl parallelsim von DD und optimale Komplexität von MG ausnutzt.
Ich möchte eine kleine Ergänzung zu Jeds ausgezeichnete Antwort machen, nämlich, dass die Motivationen hinter den beiden Ansätzen sind (oder zumindest waren) anders.
Die Zerlegung von Domänen wird als Technik für paralleles Rechnen motiviert. Speziell für einstufig Methoden ist DD sehr natürlich auf einer parallelen Maschine zu implementieren - Sie teilen die Domäne in Stücke und geben jedes Stück zu einem anderen Prozessor. In einem gewissen Sinn hinter DD ist die Motivation Rechenoperationen zwischen Prozessoren aufzuteilen.
Gut parallel Mehrgitter- Implementierungen existieren, aber es ist oft weniger natürlich parallel zu tun. Stattdessen ist die Motivation hinter Mehrgitter- weniger Rechenoperationen in erster Linie zu tun.