Gebietszerlegung¶
Wenn ein großskaliges Netz mit mehreren Prozessen parallel analysiert wird, muss das Einbereichsnetz zunächst in Teilgebiete zerlegt werden, und die für die Zuordnung zu den einzelnen Prozessen sowie für die Kommunikation zwischen den Gebieten erforderlichen Informationen müssen vorab erzeugt werden. Dieser Vorverarbeitungsschritt wird als Gebietszerlegung bezeichnet.
Bei der parallelen Berechnung mit FrontISTR zerlegt hecmw_part1 ein Einbereichsnetz in Teilgebiete und erzeugt verteilte Netzdaten. Die erzeugten verteilten Netzdaten werden von der parallelen Ausführung von fistr1 eingelesen und zusammen mit den für die Kommunikation zwischen den Gebieten erforderlichen Informationen vom parallelen Solver verwendet.
Diese Seite beschreibt den Zerlegungstyp, das Zerlegungsverfahren, die Überlappungstiefe und die Behandlung von Kontaktpunkten bei der Gebietszerlegung. Informationen zur Ausführung von hecmw_part1, zur konkreten Syntax der Steuerdatei und zu Fehlermeldungen finden Sie unter den verwandten Themen.
Überblick¶
Bei der Gebietszerlegung wird ein Einbereichsnetz in mehrere Teilgebiete aufgeteilt. FrontISTR erzeugt verteilte Netzdaten durch Kombination von Zerlegungstyp, Zerlegungsverfahren, Anzahl der Gebiete und Überlappungstiefe.
| Auswahlkriterium | Hauptoptionen | Funktion |
|---|---|---|
| Zerlegungstyp | Knotenbasierte Zerlegung, elementbasierte Zerlegung | Legt fest, ob die eindeutige Zuordnung anhand von Knoten oder Elementen erfolgt. |
| Zerlegungsverfahren | RCB, METIS (pMETIS / kMETIS) | Legt fest, wie die Gebietsgrenzen erzeugt werden. |
| Anzahl der Gebiete | Beliebige positive Ganzzahl (\(2^n\) bei RCB) | Legt die Anzahl der Teilgebiete in den verteilten Netzdaten fest. Normalerweise wird sie an die Anzahl der MPI-Prozesse angepasst. |
| Überlappungstiefe | Ganzzahl von 1 oder größer | Legt den Bereich fest, der von benachbarten Gebieten redundant gehalten wird. Wird bei knotenbasierter Zerlegung angegeben. |
| Kommunikationstabellen | Import-/Exportinformationen, gemeinsame Informationen | Definieren den erforderlichen Datenaustausch zwischen benachbarten Teilgebieten. Werden bei der Gebietszerlegung automatisch erzeugt. |
Da die Kommunikationstabellen in den verteilten Netzdaten enthalten sind, müssen Benutzer sie normalerweise nicht direkt bearbeiten. Die parallele Ausführung von fistr1 liest die verteilten Netzdaten ein und löst die linearen Gleichungen mit einem parallelen Direktverfahren wie MUMPS oder einem iterativen Verfahren.
Auswahl einer Gebietszerlegungskonfiguration¶
Bei gewöhnlichen Struktur- und Wärmeleitungsanalysen sollte zunächst im Allgemeinen eine knotenbasierte Zerlegung in Betracht gezogen werden. Die knotenbasierte Zerlegung vereinfacht die Kommunikation der Knotenwerte, die bei parallelen Finite-Elemente-Analysen erforderlich ist, und ermöglicht außerdem die Angabe der Überlappungstiefe. Die elementbasierte Zerlegung ist eine Option für Anwendungen wie gekoppelte Analysen, bei denen die verteilten Informationen hauptsächlich elementbezogen behandelt werden sollen.
Wählen Sie das Zerlegungsverfahren anhand der Geometrie und der Anzahl der Gebiete. Für einfache Geometrien, bei denen die Anzahl der Gebiete \(2^n\) betragen kann, ist RCB eine einfache und stabile Wahl. Bei komplexen Geometrien oder wenn eine beliebige Anzahl von Gebieten benötigt wird, kommt das auf Graphpartitionierung basierende METIS in Frage.
| Eigenschaften des Problems | Empfohlene Auswahl |
|---|---|
| Standardmäßige parallele Struktur- oder Wärmeleitungsanalyse | Knotenbasierte Zerlegung |
| Anwendungen mit elementzentrierten verteilten Informationen, z. B. gekoppelte Analysen | Elementbasierte Zerlegung |
| Einfache, annähernd quaderförmige Geometrie mit \(2^n\) Gebieten | RCB |
| Komplexe Geometrie oder beliebige Anzahl von Gebieten | METIS |
| Kontakt- oder MPC-beschränkte Probleme mit dem SAINV-Vorkonditionierer | Knotenbasierte Zerlegung mit einer Überlappungstiefe von 2 oder größer verwenden |
Die Anzahl der Gebiete wird normalerweise an die Anzahl der MPI-Prozesse angepasst. Informationen zur parallelen Ausführung und zur Angabe der Prozessanzahl finden Sie unter Parallele Analyse. Zum Zusammenhang zwischen dem SAINV-Vorkonditionierer und der Überlappungstiefe siehe auch Solver und Vorkonditionierer.
Zerlegungstypen¶
Der Zerlegungstyp bestimmt, welcher Netzentität die eindeutige Zugehörigkeit zu einem Teilgebiet zugewiesen wird. Bei der knotenbasierten Zerlegung erfolgt die Zugehörigkeit über Knoten, bei der elementbasierten Zerlegung über Elemente. In beiden Fällen werden die für Berechnungen mit benachbarten Teilgebieten erforderlichen Informationen als Überlappungsdaten gehalten.
Knotenbasierte Zerlegung¶
Bei der knotenbasierten Zerlegung wird jeder Knoten genau einem besitzenden Teilgebiet zugeordnet. Elemente werden überlappend in benachbarten Teilgebieten gehalten. In der Eingabe wird dies mit !PARTITION, TYPE=NODE-BASED angegeben.

Jedes Teilgebiet hält seine internen Knoten, die Elemente, welche diese internen Knoten enthalten, sowie die Knoten, aus denen diese Elemente bestehen.

Die Kommunikationstabellen für die knotenbasierte Zerlegung enthalten die folgenden Informationen.
- Importknoten: Knoten, die in einem Teilgebiet verwendet werden, aber einem anderen Teilgebiet gehören.
- Exportknoten: Interne Knoten, die Importknoten eines anderen Teilgebiets sind.
- Gemeinsame Elemente: Elemente, die mit anderen Teilgebieten gemeinsam genutzt werden.



Elementbasierte Zerlegung¶
Bei der elementbasierten Zerlegung wird jedes Element genau einem besitzenden Teilgebiet zugeordnet. Knoten werden überlappend in benachbarten Teilgebieten gehalten. In der Eingabe wird dies mit !PARTITION, TYPE=ELEMENT-BASED angegeben.

Jedes Teilgebiet hält seine internen Elemente, die Knoten, aus denen diese internen Elemente bestehen, sowie die Elemente, welche diese Knoten enthalten.

Die Kommunikationstabellen für die elementbasierte Zerlegung enthalten die folgenden Informationen.
- Importelemente: Elemente, die in einem Teilgebiet verwendet werden, aber einem anderen Teilgebiet gehören.
- Exportelemente: Interne Elemente, die Importelemente eines anderen Teilgebiets sind.
- Gemeinsame Knoten: Knoten, die mit anderen Teilgebieten gemeinsam genutzt werden.



Bei beiden Zerlegungstypen erzeugt hecmw_part1 die Kommunikationstabellen automatisch und schreibt sie in die verteilten Netzdaten. Daher müssen Benutzer die Import-/Exportinformationen normalerweise nicht direkt erstellen.
Zerlegungsverfahren¶
Das Zerlegungsverfahren bestimmt, wie die Grenzen der Teilgebiete erzeugt werden. FrontISTR unterstützt das koordinatenbasierte RCB und das auf Graphpartitionierung basierende METIS.
| Zerlegungsverfahren | Eigenschaften | Wesentliche Einschränkungen und Hinweise |
|---|---|---|
| RCB | Zerlegt das Netz rekursiv anhand der Koordinatenwerte in zwei Teile. Ermöglicht eine schnelle Zerlegung einfacher Geometrien. | Die Anzahl der Gebiete ist auf \(2^n\) beschränkt. Die Zerlegungsachsen müssen angegeben werden. |
| pMETIS | Führt eine Graphpartitionierung unter Berücksichtigung der Verbindungen zwischen den Gebieten durch. | Verfügbar in Builds mit aktiviertem METIS. |
| kMETIS | Verwendet eine Mehrwege-Graphpartitionierung und eignet sich dadurch zur Erzeugung von Gebietsgrenzen bei komplexen Geometrien. | Verfügbar in Builds mit aktiviertem METIS. |
RCB steht für Recursive Coordinate Bisection und zerlegt das Netz wiederholt entlang der Koordinatenachsen in zwei Teile. Es eignet sich, wenn die Anzahl der Gebiete \(2^n\) betragen kann, und ist bei einfachen, quaderähnlichen Geometrien leicht anzuwenden.
METIS behandelt die Netzkonnektivität als Graphen und erzeugt die Teilgebiete durch Graphpartitionierung. Es kommt bei komplexen Geometrien oder dann in Frage, wenn die Anzahl der Gebiete nicht auf \(2^n\) beschränkt werden soll. Zur Verwendung von METIS muss die METIS-Bibliothek beim Build aktiviert sein. Informationen zum Umgang mit Abhängigkeiten finden Sie unter Erforderliche und optionale Abhängigkeiten.
Überlappungstiefe¶
Die Überlappungstiefe ist die Anzahl der Schichten in dem Bereich, der von benachbarten Teilgebieten redundant gehalten wird. Bei knotenbasierter Zerlegung kann in !PARTITION mit dem Parameter DEPTH eine Ganzzahl von 1 oder größer angegeben werden. Die standardmäßige Überlappungstiefe ist 1.
Für gewöhnliche parallele Analysen ist DEPTH=1 ausreichend. Wird jedoch ein Vorkonditionierer der SAI-Familie wie SAINV bei einem Kontaktproblem oder einem Problem mit MPC-Zwangsbedingungen verwendet, kann eine Erhöhung der Überlappungstiefe auf 2 oder größer die Qualität der Vorkonditionierung verbessern.
Eine Überlappungstiefe von 2 oder größer ist ebenfalls erforderlich, wenn die selektive Kanten-/Knotenglättungsformulierung (FORM341=SELECTIVE_ESNS) mit dem linearen Tetraederelement 341 in einer parallelen MPI-Berechnung verwendet wird. Bei kanten- und knotenbasierter Glättung werden Größen über die an das Zielelement angrenzenden Elemente gemittelt. Für den Aufbau der Steifigkeit innerhalb eines Teilgebiets werden daher Informationen von Elementen benötigt, die zwei Nachbarschaftsschichten entfernt liegen; mit dem Standardwert DEPTH=1 ist die Glättung in der Nähe von Gebietsgrenzen unzureichend. Einzelheiten zur Elementformulierung finden Sie unter Elementbibliothek.
Mit zunehmender Überlappungstiefe steigt die Anzahl der von benachbarten Teilgebieten gehaltenen Knoten und Elemente, wodurch sowohl der Speicherbedarf als auch das Kommunikationsvolumen zunehmen. Die Einstellung sollte daher unter Abwägung der verbesserten Konvergenz gegenüber dem höheren Rechenaufwand erfolgen. Informationen zur Auswahl des Vorkonditionierers finden Sie unter Solver und Vorkonditionierer.
Behandlung von Kontaktpunkten¶
Beim Zerlegen eines Netzes mit Kontaktpaaren kann in !PARTITION mit dem Parameter CONTACT die Platzierungsstrategie der Kontaktpunkte auf die Gebiete festgelegt werden. Die Platzierung der Kontaktpunkte beeinflusst die Stabilität und das Kommunikationsvolumen paralleler Analysen mit Kontaktsuche und Kontaktzwangsbedingungen.
| Wert | Bedeutung |
|---|---|
DEFAULT |
Verwendet die standardmäßige Platzierungsstrategie. |
SIMPLE |
Verwendet eine der gewöhnlichen Zerlegung ähnliche Platzierung, ohne Kontaktpunkten besondere Gewichte zuzuweisen. |
AGGREGATE |
Zerlegt so, dass Knotengruppen, die zu Kontaktpaaren gehören, tendenziell zusammengefasst werden. |
DISTRIBUTE |
Zerlegt so, dass die Master-seitigen Kontaktknoten möglichst nicht in einzelnen Teilgebieten konzentriert werden. |
Bei Netzen ohne Kontakt muss der Parameter CONTACT im Allgemeinen nicht berücksichtigt werden. Treten bei parallelen Analysen mit Kontakt Probleme mit der Konvergenz oder Lastverteilung auf, sollte die Platzierungsstrategie der Kontaktpunkte überprüft werden. Einzelheiten zur Eingabesyntax finden Sie unter !PARTITION.
Unabhängig davon kann mit dem Parameter CONTACT_OWNER das Eigentümerschema für parallelen Kontakt gewählt werden. Während CONTACT angibt, „wie zerlegt wird“, legt CONTACT_OWNER fest, „welche Seite nach der Zerlegung zuständig ist“.
| Wert | Bedeutung |
|---|---|
MASTER |
Master-Eigentümerschema (Standard). Die Masterfläche wird nach den Eigentumsgebieten der Elemente zerlegt, und Slave-Knoten werden in jedes Gebiet repliziert, das einen Teil der Masterfläche besitzt. |
SLAVE |
Slave-Eigentümerschema. Slave-Knoten werden nur von ihrem Eigentumsgebiet gehalten, und die gesamte Masterfläche wird in diesem Gebiet bereitgestellt. |
Bei endlichem Gleiten (!CONTACT mit INTERACTION=FSLID) kann beim Überschreiten einer Gebietsgrenze der Masterfläche durch einen Slave-Knoten im Schema MASTER die Nachbarschaftssuche an der Grenze unterbrochen werden. Dadurch gehen Kontaktzustand und Reibungshistorie verloren, sodass die Lösung von der Anzahl der Gebiete abhängt. Das Schema SLAVE vermeidet dies. Es kann nur bei TYPE=NODE-BASED angegeben werden; in Gebieten, die Slave-Knoten besitzen, steigt der Speicherbedarf.
Ausgabe einer Darstellung der Gebietszerlegung¶
Wird in !PARTITION der Parameter UCD angegeben, kann eine UCD-Datei zur Kontrolle des Zerlegungsergebnisses ausgegeben werden. Die UCD-Datei kann mit Visualisierungswerkzeugen wie MicroAVS verwendet werden, um Gebietsnummern und Zerlegungsgrenzen zu überprüfen.
Nach einer Änderung der Anzahl der Gebiete, des Zerlegungsverfahrens oder der Überlappungstiefe ist es wichtig zu prüfen, ob die zerlegten Gebiete unausgewogen oder unnatürlich fragmentiert sind. Die UCD-Ausgabe ist eine Hilfsfunktion zur Überprüfung der Plausibilität der Zerlegung vor der parallelen Analyse.
Verwandte Themen¶
- Parallele Analyse — Ausführung von
hecmw_part1, Eingabedateien und Kontrolle der Ausgabe verteilter Netzdaten. - Solver und Vorkonditionierer — Parallele Solver, Vorkonditionierer und der Zusammenhang zwischen SAINV und Überlappungstiefe.
- Liste der Fehlermeldungen — Typische Fehlermeldungen von
hecmw_part1undfistr1. - Parallele Finite-Elemente-Methode — Theoretischer Hintergrund der Gebietszerlegung und paralleler Finite-Elemente-Methoden.
- !PARTITION — Eingabesyntax der Steuerdaten des Gebietszerlegungsprogramms.