scieee Science in your language
[en] (orig)
Anwendung diskreter raumf¨
ullender Kurven
Graphpartitionierung und Kontaktsuche
in der Finite-Elemente-Simulation
Jens-Michael Wierum
post.circ_index.grid16.ps 29.04.02 10:49 size 256 (-1-1073782286)
Dissertation
Schriftliche Arbeit zur Erlangung des Grades
eines Doktors der Naturwissenschaften
Fakult¨
at f¨
ur Elektrotechnik, Informatik und Mathematik
der Universit¨
at Paderborn
Paderborn, Oktober 2003
F¨
ur J¨
orn, Maren
und Sandra
Danksagung
Mein besonderer Dank gilt meinem Betreuer Prof. Dr. Burkhard Monien f¨
ur die Un-
terst¨
utzung meiner wissenschaftlichen Arbeiten am PC2in den vergangenen Jahren.
Desweiteren bedanke ich mich bei Prof. Dr. Wilfried Hauenschild f¨
ur die Begutachtung
der Arbeit.
An dieser Stelle sind auch weitere Personen zu erw¨
ahnen, die meine Arbeit beeinflusst
haben. Zu diesen z¨
ahlen Dr. Lars Taenzer, Dr. Ralf Diekmann und weitere Mitarbeiter
der Hilti AG, die mich f¨
ur die Zusammenarbeit in verschiedenen Projekten begeistert
haben, in denen Kenntnisse unterschiedlicher wissenschaftlicher Disziplinen zum Tragen
kommen. Insbesondere die F¨
ahigkeit zur Kommunikation im interdisziplin¨
aren Umfeld
verdanke ich dieser Kooperation.
Mein Dank gilt allen Mitarbeitern des PC2f¨
ur die langj¨
ahrige Zusammenarbeit und die
freundschaftliche Arbeitsatmosph¨
are. Die intensiven Diskussionen mit Dr. Jens Simon,
Jan Hungersh¨
ofer, Achim Streit und Stefan Schamberger haben wesentlich zum Zustan-
dekommen dieser Arbeit beigetragen. Weiterhin bedanke ich mich bei Prof. Dr. Odej
Kao, Axel Keller, Oliver Marquardt und Kerstin Wielage, deren Kommentare zu Teilen
der schriftlichen Arbeit f¨
ur mich hilfreich waren.
Inhaltsverzeichnis
1 Einleitung 3
2 Diskrete raumf¨
ullende Kurven 7
2.1 Definition der Kurven . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2.1.1 Hilbert-Kurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8
2.1.2 Lebesgue-Kurve . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.3 Sierpi´nski-Kurve . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.1.4 βΩ-Indizierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16
2.2 Eigenschaften raumf¨
ullender Kurven . . . . . . . . . . . . . . . . . . . . 19
2.2.1 Lokalit¨
at ............................... 20
2.2.2 Zusammenhangskomponenten . . . . . . . . . . . . . . . . . . . . 22
3 Partitionierung von Finite-Elemente-Netzen 25
3.1 Grundlagen .................................. 26
3.2 Implizite Partitionierung . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
3.2.1 Datenverteilung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
3.2.2 Grundlegende Eigenschaften . . . . . . . . . . . . . . . . . . . . . 28
3.2.3 Raumf¨
ullende Kurven in unstrukturierten Netzen . . . . . . . . . 29
3.3 Partitionierungsqualit¨
at im Gitter . . . . . . . . . . . . . . . . . . . . . 33
3.3.1 Definition des Qualit¨
atsmaßes . . . . . . . . . . . . . . . . . . . . 33
3.3.2 Qualit¨
at im schlechtesten Fall . . . . . . . . . . . . . . . . . . . . 35
3.3.3 Qualit¨
at der Lebesgue-Kurve im mittleren Fall . . . . . . . . . . 42
3.3.4 Experimentelle Ergebnisse . . . . . . . . . . . . . . . . . . . . . . 45
3.4 Partitionierungsqualit¨
at in unstrukturierten Netzen . . . . . . . . . . . . 48
3.4.1 Beispiel: 5-Partitionierung des Benchmarks biplane . . . . . . . . 49
3.4.2 Beschreibung der Netze . . . . . . . . . . . . . . . . . . . . . . . 51
3.4.3 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
3.4.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . 64
4 Effiziente globale Kontaktsuche 65
4.1 Kontaktbehandlung in der expliziten FE-Simulation . . . . . . . . . . . 66
4.2 Methoden der Kontaktsuche . . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.1 Geometrische Ordnung . . . . . . . . . . . . . . . . . . . . . . . . 67
4.2.2 Objekt-Partitionierung . . . . . . . . . . . . . . . . . . . . . . . . 71
1
2INHALTSVERZEICHNIS
4.2.3 Parallele Kontaktsuche . . . . . . . . . . . . . . . . . . . . . . . . 73
4.3 Algorithmus zur globalen Kontaktsuche . . . . . . . . . . . . . . . . . . 74
4.3.1 Linearer Position-Code . . . . . . . . . . . . . . . . . . . . . . . . 75
4.3.2 Position-Codes auf Basis der Lebesgue-Kurve . . . . . . . . . . . 76
4.3.3 Erweiterung f¨
ur die parallele Kontaktsuche . . . . . . . . . . . . 81
4.4 Aufwandsanalyse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 82
4.4.1 Szenario................................ 83
4.4.2 Aktualisieren der Position-Codes . . . . . . . . . . . . . . . . . . 84
4.4.3 Testen der Halo-Kandidaten . . . . . . . . . . . . . . . . . . . . . 86
4.4.4 Zusammenfassung . . . . . . . . . . . . . . . . . . . . . . . . . . 90
4.5 Logarithmische Index-Distanz . . . . . . . . . . . . . . . . . . . . . . . . 91
4.5.1 Definition des Qualit¨
atsmaßes . . . . . . . . . . . . . . . . . . . . 92
4.5.2 Qualit¨
at im schlechtesten Fall . . . . . . . . . . . . . . . . . . . . 92
4.5.3 Qualit¨
at im mittleren Fall . . . . . . . . . . . . . . . . . . . . . . 94
5 Industrielle Applikation 101
5.1 Eigenschaften . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 101
5.2 Dynamische Lastverteilung . . . . . . . . . . . . . . . . . . . . . . . . . 102
5.2.1 Parallelisierung . . . . . . . . . . . . . . . . . . . . . . . . . . . . 103
5.2.2 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 105
5.3 Kontaktbehandlung . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.3.1 Kontaktformulierung . . . . . . . . . . . . . . . . . . . . . . . . . 109
5.3.2 Datenstrukturen . . . . . . . . . . . . . . . . . . . . . . . . . . . 112
5.3.3 Globale Suche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 113
5.3.4 Lokale Suche . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 114
5.3.5 Benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 119
5.3.6 Ergebnisse . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 121
6 Zusammenfassung 127
A Partitionierungsqualit¨
at der Lebesgue-Kurve 129
Literaturverzeichnis 135
Kapitel 1
Einleitung
Vor ¨
uber hundert Jahren hat Mathematiker die Frage besch¨
aftigt, ob eine stetige bi-
jektive Abbildung des Intervalls [0,1] in das Einheitsquadrat [0,1]2existiert. Im Jahre
1879 hat Eugen Netto gezeigt, dass eine solche bijektive Abbildung nicht stetig sein
kann [54]. Damit reduzierte sich die Suche auf eine stetige surjektive Abbildung. Die
erste Abbildung mit den gew¨
unschten Eigenschaften zeigte Giuseppe Peano 1890 [63].
Die erste graphische Darstellung einer solchen Abbildung wurde ein Jahr sp¨
ater von
David Hilbert angegeben [38]. Diese graphische Form der Definition f¨
uhrte zu der Be-
zeichnung der raumf¨
ullenden Kurve (space-filling curve). Im Laufe der Zeit wurde eine
Vielzahl an raumf¨
ullenden Kurven entwickelt. Die meisten sind f¨
ur den zweidimensio-
nalen Raum definiert, einige lassen sich jedoch auf R¨
aume von beliebiger Dimension
erweitern. Diese Arbeit konzentriert sich auf diskrete raumf¨
ullende Kurven, welche Ab-
bildungen zwischen diskreten R¨
aumen darstellen. Diese ergeben sich aus allgemeinen
raumf¨
ullenden Kurven, wenn lediglich eine endliche Verfeinerung der rekursiven Defi-
nition angewendet wird. Der Schritt von kontinuierlichen Mengen auf diskrete ergibt in
diesem Falle bijektive Abbildungen, so dass entsprechende Umkehrfunktionen definiert
sind.
Die lokalit¨
atserhaltenden Eigenschaften diskreter raumf¨
ullender Kurven werden in
verschiedenen Anwendungsgebieten genutzt. Dabei ist die Definition der Lokalit¨
at von
der Art der Anwendung abh¨
angig. In einigen Bereichen ist eine Abbildung einer eindi-
mensionalen Struktur auf ein mehrdimensionales Gitter gefordert. Diese Aufgabe ergibt
sich z. B. bei parallelen Berechnungen auf Systemen, deren Kommunikationsstruktur
dem Gitter entspricht [43, 71]. In diesem Falle sollen Elemente der eindimensionalen
Struktur ¨
uber m¨
oglichst kurze Wege innerhalb des Netzwerkes des parallelen Rechner-
systems kommunizieren k¨
onnen.
Die Umkehrfunktion einer diskreten raumf¨
ullenden Kurve erlaubt die ¨
Uberf¨
uhrung
mehrdimensionaler Strukturen in eine eindimensionale Form. Eine bedeutende Anwen-
dung ist die Ordnung mehrdimensionaler Datenbanken [41, 53, 60]. Eine typische An-
frage erfolgt ¨
uber die Angabe von Intervallen f¨
ur jede der gespeicherten Dimensionen.
Geometrisch ergibt sich eine Anfrageregion in Form eines r-dimensionalen Quaders, de-
ren enthaltene Punktmenge zu bestimmen ist. Die Beantwortung einer solchen Anfrage
3
4KAPITEL 1. EINLEITUNG
kann dann besonders schnell erfolgen, wenn die Punkte innerhalb des Quaders in weni-
gen zusammenh¨
angenden Bereichen der eindimensionalen Struktur liegen. Damit ergibt
sich eine hohe Lokalit¨
at, wenn die Nachbarschaft innerhalb des r-dimensionalen Raum-
es bei der ¨
Ubertragung in die eindimensionale Struktur weitgehend erhalten bleibt.
Zwei weitere Anwendungsgebiete in denen die Transformation in den eindimensionalen
Raum eingesetzt werden kann, sind die Graphpartitionierung und die Kontaktsuche im
Bereich der Simulation nach der Finite-Elemente-Methode. Die Eignung verschiedener
raumf¨
ullender Kurven f¨
ur diese Einsatzgebiete wird innerhalb dieser Arbeit analysiert.
Der erste Teil der Arbeit analysiert die Graphpartitionierung ¨
uber die Struktur raumf¨
ul-
lender Kurven. Ihre Aufgabe besteht in der Aufteilung der Knoten eines Graphen in eine
gegebene Anzahl gleichgroßer Teile. Gleichzeitig soll die Anzahl der Kanten zwischen
Knoten unterschiedlicher Partitionen minimiert werden. Die Fragestellung ergibt sich
aus der geeigneten Aufteilung einer Berechnung in parallele Prozesse. Die Rechenlas-
ten werden gleichm¨
aßig auf die Recheneinheiten verteilt. Dabei sollen die Daten so auf
dem Zielsystem verteilt werden, dass m¨
oglichst viele Operationen auf lokal gespeicher-
ten Daten stattfinden und nur wenige Zugriffe auf fremden Speicher erfolgen. F¨
ur die
NP-schwere Aufgabe der Graphpartitionierung sind viele Heuristiken entwickelt wor-
den, die in vielen Untersuchungen verglichen worden sind [67, 73]. Die derzeit besten
Methoden geh¨
oren zur Klasse der mehrstufigen Partitionierungsverfahren. Neben einer
guten Qualit¨
at der Partitionierung sind sie ausreichend schnell, wenn eine statische
Partitionierung gefordert ist.
Bei einigen parallelen Anwendungen ergibt sich eine stark schwankende Rechenlast in
den Partitionen. Um eine hohe parallele Effizienz zu erzielen, muss ein st¨
andiger Last-
ausgleich erfolgen. Damit ist eine schnelle Repartitionierung erforderlich, die gleichzeitig
die Anzahl der externen Datenzugriffe gering h¨
alt. Aus dieser Fragestellung haben wir
eine neue Form der Netzpartitionierung entwickelt, die wir als implizite Partitionie-
rung bezeichnen. ¨
Uber die Knoten des Graphen wird eine Indizierung durchgef¨
uhrt.
Jede Aufteilung dieser Indizierung in Intervalle ergibt eine Partitionierung, deren Qua-
lit¨
at von dem gew¨
ahlten Indizierungsschema abh¨
angig ist. In dieser Arbeit wird die
Indizierung ¨
uber diskrete raumf¨
ullende Kurven vorgestellt, die eine Ordnung auf Basis
der geometrischen Positionen der Knoten des Graphen durchf¨
uhrt. Diese geometrischen
Positionen sind i. A. bei Finite-Elemente-Netzen gegeben, da sie eine Diskretisierung
des Raumes darstellen. Es werden analytische Ergebnisse zur Qualit¨
at der Partitio-
nierung des Gitters ¨
uber verschiedene raumf¨
ullende Kurven hergeleitet. Dabei wird
sowohl der schlechteste als auch der mittlere Fall untersucht. Desweiteren werden die
Partitionierungseigenschaften der raumf¨
ullenden Kurven in unstrukturierten Netzen
experimentell untersucht. Die erzielten Partitionierungen werden anhand einer Men-
ge von zwei- und dreidimensionalen Finite-Elemente-Netzen mit den Ergebnissen der
Partitionierungsbibliothek Metis [45] verglichen.
Das zweite untersuchte Anwendungsgebiet ist die effiziente Kontaktsuche in Simula-
tionsumgebungen. Die Aufgabe der Kontaktsuche besteht in der Bestimmung von Kol-
lisionen zwischen Objekten im Raum, deren Bewegung simuliert wird. Die meisten
5
Anwendungsbereiche finden sich im Gebiet der Virtual Reality, bei der eine (zuk¨
unfti-
ge) Umgebung im Raum simuliert und visualisiert wird [32, 34, 84]. Insbesondere bei
der Konstruktion von Bauteilen und deren Fertigungs- und Montageprozessen spielt die
Kollisionserkennung eine entscheidende Rolle. Schon vor der Erstellung eines Prototyps
sollte die Frage beantwortet sein, ob ein bestimmtes Bauteil problemlos an der vorge-
sehen Stelle integriert werden kann. ¨
Ahnliches gilt f¨
ur die Bestimmung von Wegen f¨
ur
Roboter zwischen zwei Punkten ihres Einsatzgebietes, bei denen eine Kollision vermie-
den werden muss. F¨
ur diese und ¨
ahnliche Aufgaben sind viele geeignete Methoden der
Kontaktsuche vorgeschlagen und analysiert worden [17, 30, 77]. Die meisten basieren
auf hierarchischen Strukturen, ¨
uber welche die Objekte im Raum geordnet werden.
Innerhalb der Simulation strukturmechanischer Prozesse mit Hilfe der Finite-Elemente-
Methoden erfordert die Kontaktsuche oftmals einen sehr hohen Anteil an der Gesamt-
rechenzeit. In diesem Anwendungsbereich haben sich zellbasierte Methoden als effi-
zientere Alternative erwiesen [26]. In dieser Arbeit wird eine neue Variante f¨
ur eine
zellbasierte Methode vorgestellt, die auf der Struktur raumf¨
ullender Kurven basiert.
Der daraus folgende Algorithmus wird hinsichtlich seiner Kosten in einem Szenario
untersucht, welches die Anforderungen einer Kontaktsuche innerhalb der Simulation
strukturmechanischer Prozesse abstrahiert. Aus der Kostenanalyse ergibt sich ein neu-
es Lokalit¨
atsmaß f¨
ur raumf¨
ullende Kurven, welches die Auswirkungen der Eigenschaften
der Kurven im betrachteten Einsatzgebiet beschreibt. Eine Analyse verschiedener Kur-
ven im schlechtesten und im mittleren Fall f¨
uhrt zu einer Bewertung der Eignung der
Kurven f¨
ur diese Aufgabe.
In Kapitel 2 wird die diskrete Form raumf¨
ullender Kurven definiert, die in dieser Ar-
beit untersucht wird. Zudem werden dort die untersuchten zwei- und dreidimensiona-
len Kurven beschrieben und die wichtigsten bekannten Ergebnisse zu ihren Lokalit¨
ats-
eigenschaften vorgestellt. Der Einsatz der Kurven bzgl. der Partitionierung von Finite-
Elemente-Netzen wird in Kapitel 3 betrachtet. Zun¨
achst wird die Partitionierungs-
qualit¨
at in zweidimensionalen Gittern analysiert. Desweiteren wird die Eignung der
Kurven f¨
ur die Partitionierung unstrukturierter Netze an einem Satz von Benchmark-
Netzen untersucht. In Kapitel 4 wird ein Algorithmus zur globalen Kontaktsuche auf
Basis raumf¨
ullender Kurven eingef¨
uhrt und sein algorithmischer Aufwand analysiert.
Zudem wird f¨
ur diese Aufgabenstellung ein neues Qualit¨
atsmaß f¨
ur raumf¨
ullende Kur-
ven entwickelt. F¨
ur dieses werden Schranken zu verschiedenen Kurven erarbeitet. Die
Integration der entwickelten Methoden in eine Umgebung zur expliziten Simulation
nach der Finite-Elemente-Methode wird in Kapitel 5 beschrieben. Neben der Umset-
zung der Algorithmen innerhalb der gegebenen industriellen Applikation werden die
erzielten Ergebnisse der Parallelisierung und der effizienten Kontaktsuche dargestellt
und diskutiert.
6KAPITEL 1. EINLEITUNG
Kapitel 2
Diskrete raumf¨
ullende Kurven
Stetige surjektive Abbildungen des Intervalls [0,1] in den r-dimensionalen W¨
urfel [0,1]r
werden als raumf¨
ullende Kurve bezeichnet. Zun¨
achst wurde der Wertebereich des Ein-
heitsquadrats betrachtet. Die erste stetige Abbildung einer Linie in ein Fl¨
achenst¨
uck
ist von Peano 1890 definiert worden [63]. Die Konstruktion dieser Kurve ist in Ab-
bildung 2.1 skizziert. Ein quadratisches Teilgebiet der Ebene wird in 3 ×3 Quadrate
zerlegt, ¨
uber die eine schlangenf¨
ormige Ordnung gelegt wird. F¨
ur die rekursive Ver-
feinerung wird in jedem der neun Quadrate wiederum eine schlangenf¨
ormige Ordnung
gew¨
ahlt. In jedem zweiten Quadrat wird die Kurve, welche die Ordnung repr¨
asentiert,
horizontal gespiegelt, so dass sich f¨
ur jede beliebige Rekursionstiefe eine kontinuierliche
Kurve ergibt. Einen historischen ¨
Uberblick ¨
uber die Entwicklung raumf¨
ullender Kurven
und deren mathematischer Eigenschaften sind in [69] zusammengefasst.
Abbildung 2.1: Geometrische Definition der Peano-Kurve
2.1 Definition der Kurven
Innerhalb dieser Arbeit betrachten wir Abbildungen zwischen diskreten R¨
aumen die
eine Approximation einer raumf¨
ullenden Kurve beschreiben. Seien x= (x1, . . . , xr)
und y= (y1, . . . , yr) Positionen im r-dimensionalen Raum und ||xy||=
max{|xiyi| |i {1, . . . , r}} deren Abstand.
Definition 2.1 (Diskrete raumf¨
ullende Kurven) Sei curve : [0,1] [0,1]reine
raumf¨
ullende Kurve. curven:{1, . . . , nr} {1, . . . , n}rbezeichnen wir als diskrete
7
8KAPITEL 2. DISKRETE RAUMF ¨
ULLENDE KURVEN
raumf¨
ullende Kurve, falls
(a) curvenbijektiv ist und
(b)
curve k
nrcurven(k)
n1
n, f¨
ur alle k {1, . . . , nr}.
Verbindet man die Bildpunkte gem¨
ihrer Ordnung im Definitionsbereich ergibt sich
eine Kurve durch die nrZellen des r-dimensionalen Gitters der Gr¨
oße n. In dieser
Arbeit beziehen sich alle Resultate auf diskrete raumf¨
ullende Kurven, so dass im Fol-
genden auf die Spezifizierung diskret verzichtet wird. Aus der graphischen Darstellung
ergibt sich auch der Begriff der Indizierung (oder Indizierungsschema), da ¨
uber die Um-
kehrfunktion curve1jeder dieser Gitterzellen ein Index zwischen 1 und nrzugewiesen
wird.
Die graphische Definition der Kurven erfolgt ¨
uber die rekursive Aufteilung der Ebe-
ne ¨
uber Geraden (bzw. Fl¨
achen im dreidimensionalen Raum), die im Folgenden als
Separatoren bezeichnet werden. Teilgebiete, die durch die Separatoren begrenzt sind,
werden als Zellen bezeichnet. Die Ordnung der Zellen wird durch eine Kurve skizziert.
Sie beginnt in den folgenden Definitionen i. A. an der unteren linken Zelle.
Als rekursive raumf¨
ullende Kurven werden solche bezeichnet, die ¨
uber die rekursive
Verfeinerung in jeweils vier quadratische Teilgebiete definiert sind [6]. Damit ergeben
sich in der Konstruktion lediglich vertikale und horizontale Separatoren. Den Separa-
toren rekursiver raumf¨
ullender Kurven werden Level zugeordnet, die invers zu ihrer
Einf¨
ugung nummeriert werden. Damit gibt es im Gitter mit (2k)2Zellen insgesamt
2·2k2 Separatoren, von denen eine H¨
alfte vertikal und die andere H¨
alfte horizon-
tal angeordnet ist. Von den vertikalen und horizontalen Separatoren sind jeweils 2k1
vom Level 0 und genau einer, der mittlere, ist vom Level k1. Das Level einer Kurve
ist durch den h¨
ochsten Level der enthaltenen Separatoren gegeben, d. h. eine Kurve im
2k×2kGitter ist vom Level k1. Sind benachbarte Indizes jeweils benachbarten Zellen
im Gitter zugewiesen, sprechen wir von einer kontinuierlichen Kurve.
2.1.1 Hilbert-Kurve
Die Hilbert-Kurve ist die am h¨
aufigsten genutzte und am meisten untersuchte raumf¨
ul-
lende Kurve. Sie wurde 1891 von Hilbert eingef¨
uhrt [38] und geh¨
ort zu den rekursiven
raumf¨
ullenden Kurven. Die geometrische Definition der Kurve ist in Abbildung 2.2 an-
gegeben. Die U-f¨
ormige Basisstruktur im 2×2-Gitter wird durch vier solcher Strukturen
im 4×4-Gitter ersetzt. Dabei wird die Basisstruktur ggf. so rotiert oder gespiegelt, dass
die Kurve einen Hamilton-Pfad durch die Zellen des Gitters bildet.
In Abbildung 2.3 ist die Hilbert-Kurve im 32 ×32-Gitter dargestellt. Aus Gr¨
unden der
¨
Ubersichtlichkeit sind die Separatoren vom Level 0 und 1 ausgelassen. Die Ordnung der
Zellen ¨
uber den Verlauf der Kurve ist in einem Farbverlauf von rot zu blau dargestellt,
um die Lokalit¨
atseigenschaften hervorzuheben. So ist z. B. die rekursive Aufteilung
in jeweils vier quadratische Teilgebiete gut sichtbar. F¨
ur die Abbildung, die durch
2.1. DEFINITION DER KURVEN 9
Abbildung 2.2: Geometrische Definition der Hilbert-Kurve
die Kurve definiert ist, gilt, dass von im Urbild-Raum benachbarten Werten auch die
zugeh¨
origen Bildwerte im Bild-Raum benachbart sind. Die Umkehrung gilt i. A. nicht, es
ist jedoch in vielen F¨
allen so, dass die Nachbarn im Bild-Raum auch h¨
aufig im Urbild-
Raum nahe zusammen liegen. Diese N¨
ahe findet sich an Separatoren von niedrigem
Level, w¨
ahrend an hohen Leveln teilweise eine sehr große Distanz zu finden ist. So
liegen die Zellen entlang des vertikalen mittleren Separators vom Level 4 sehr weit
auseinander, was an der roten bzw. blauen F¨
arbung der Kurve im unteren Bereich der
Darstellung zu erkennen ist.
Abbildung 2.3: Hilbert-Kurve im 32 ×32-Gitter
Dreidimensionale Hilbert-Kurven Hilbert hat die nach ihm benannte Kurve nur
f¨
ur den zweidimensionalen Raum beschrieben. Sie stellt die einzige M¨
oglichkeit dar,
im zweidimensionalen Raum eine kontinuierliche rekursive raumf¨
ullende Kurve ¨
uber
lediglich einer Basisstruktur zu definieren. Nimmt man diese Charakteritik als Hilbert-
Eigenschaft, so ergeben sich 1536 Varianten der Hilbert-Kurve im dreidimensionalen
Raum [3]. F¨
ur die Untersuchungen in dieser Arbeit wird die dreidimensionale Kurve
betrachtet, deren geometrische Definition in Abbildung 2.4 angegeben ist.
10 KAPITEL 2. DISKRETE RAUMF ¨
ULLENDE KURVEN
Abbildung 2.4: Untersuchte Variante der 3-dimensionalen Hilbert-Kurven
2.1.2 Lebesgue-Kurve
Die 1904 von Lebesgue definierte Abbildung bildet eine Kurve, die auf einer N-f¨
ormigen
Basisstruktur aufbaut. Sie wird durch rekursive Vervielf¨
altigung verfeinert, vergleichbar
mit der Hilbert-Kurve. Im Gegensatz zur Hilbert-Kurve wird die Basisstruktur jedoch
weder rotiert noch gespiegelt (vgl. Abb. 2.5). Auf der einen Seite ergibt sich dadurch
eine Kurve mit deutlich mehr Symmetrie-Eigenschaften. Auf der anderen Seite sind
die Bildwerte von im Urbild-Raum benachbarten Werten i. A. nicht benachbart. Es
entstehen Spr¨
unge innerhalb der Kurve, deren L¨
ange von dem Level des Separators
abh¨
angt, an dem sie auftreten.
Abbildung 2.5: Geometrische Konstruktion der Lebesgue-Kurve
Abbildung 2.6 zeigt diesen Effekt in der Lebesgue-Kurve des 32×32-Gitters. Insbeson-
dere an den mittleren Separatoren ergeben sich lange Spr¨
unge. F¨
ur die Lebesgue-Kurve
gilt, dass alle Zellen die weiter rechts oder weiter oben im Gitter liegen, einen h¨
oheren
Index haben.
2.1.2.1 Besondere Eigenschaften
Wie in der Hilbert-Kurve haben viele benachbarte Zellen ¨
ahnliche Index-Werte bzgl.
der Lebesgue-Kurve. Die Differenz der Index-Werte zweier benachbarter Zellen h¨
angt in
der Lebesgue-Kurve nur von dem Level und der Orientierung des trennenden Separators
ab. Sie ergibt sich aus dem folgenden Lemma:
Lemma 2.1 Seien xund yzwei benachbarte Zellen im Gitter, die durch einen Sepa-
rator vom Level lgetrennt sind.
2.1. DEFINITION DER KURVEN 11
post.lebesgue.grid32.ps 26.03.02 13:37 size 1024 (-1-1073782286)
Abbildung 2.6: Lebesgue-Kurve im 32 ×32-Gitter
F¨
ur die Differenz ihrer Indizes, δ(x, y) = |Lebesgue1(x)Lebesgue1(y)|, gilt
δ(x, y) = Ul=2·4l+ 1
3an einem horizontalen Separator und
δ(x, y) = Rl=4·4l+ 2
3an einem vertikalen Separator .
Beweis: Der Beweis erfolgt ¨
uber eine vollst¨
andige Induktion ¨
uber den Level l. Im
Folgenden gelte Lebesgue1(x)<Lebesgue1(y).
Induktionsanfang (l= 0):
F¨
ur Separatoren vom Level 0 gilt:
U0= 1
R0= 2
Dieser Abstand gilt f¨
ur alle Zellenpaare an einem solchen Separator.
Induktionsschritt (ll+ 1):
Der Induktionsschritt erfolgt in zwei Teilen, f¨
ur Rl+1 und f¨
ur Ul+1. Der Beweis f¨
ur Ul+1
erfolgt ¨
uber alle Rimit ilund der Beweis f¨
ur Rl+1 ¨
uber alle Uimit il+ 1.
Ri(il)Ul+1:
Es gelte Ri=4·4i+2
3f¨
ur alle Zellenpaare an Separatoren vom Level il. F¨
ur den
Induktionsschritt betrachten wir den Verlauf der Kurve: Seien xund yam linken Ende
des horizontalen Separators vom Level l+1 gelegen. Der Pfad der Kurve durchl¨
auft 2l+1
Zellen rechts von xund springt dann zur Zelle y. Abbildung 2.7 zeigt den Pfad, der ¨
uber
zverl¨
auft, der Zelle mit dem h¨
ochsten Index im ersten Quadranten. yist die Zelle mit
dem kleinsten Index im zweiten Quadranten. Die H¨
aufigkeit eines vertikalen Separators
12 KAPITEL 2. DISKRETE RAUMF ¨
ULLENDE KURVEN
x
yz
31
2 4
l+1
l+1
Abbildung 2.7: Pfad zwischen benachbarten Zellen xund yam horizontalen Separator
vom Level l
vom Level ilauf diesem Weg ist 2li. Damit kann die Distanz der Lebesgue-Indizes
zwischen den Zellen xund yaus den Einzeldistanzen an den vertikalen Separatoren
bestimmt werden plus einer Zelle f¨
ur den Sprung von der Zelle zauf die Zelle y.
Ul+1 =
l
X
i=0
2li·Ri+ 1
=
l
X
i=0
2li·4
3·4i+2
3+ 1
=
l
X
i=0
2li·4
3·4i+
l
X
i=0
2li·2
3+ 1
=
l
X
i=0
2l·4
3·2i+
l
X
i=0
2i·2
3+ 1
= 2l·4
3·2l+1 1+2
3·2l+1 1+3
3
=2·4l+1 + 1
3
Liegen die Zellen xund ynicht am linken Ende des Separators, bleibt die Anzahl der
¨
ubersprungenen Separatoren eines jeden Levels ilgleich. Es ¨
andert sich lediglich die
Ordnung, in der die Separatoren durchlaufen werden.
Ui(il+ 1) Rl+1:
Der Induktionsschritt f¨
ur die Distanz an vertikalen Separatoren vom Level l+ 1 erfolgt
analog zu dem oben gezeigten. In diesem Fall werden jedoch jeweils 2li+1 horizontale
Separatoren von jedem Level il+1 durchlaufen. Es gelte Ui=2·4i+1
3f¨
ur alle il+1.
Dann folgt:
Rl+1 =
l+1
X
i=0
2li+1 ·Ui+ 1
=
l+1
X
i=0
2li+1 ·2
3·4i+2
3+ 1
=
l+1
X
i=0
2li+1 ·2
3·4i+
l+1
X
i=0
2li+1 ·1
3+ 1
2.1. DEFINITION DER KURVEN 13
=
l+1
X
i=0
2l+1 ·2
3·2i+
l+1
X
i=0
2i·1
3+ 1
= 2l+1 ·2
3·2l+2 1+1
3·2l+2 1+ 1
=4·4l+1 + 2
3
Wiederum ist die Anzahl der ¨
ubersprungenen horizontalen Separatoren vom Level
il+ 1 unabh¨
angig von der relativen Position der benachbarten Zellen am betrachte-
ten vertikalen Separator. ut
Graphisch l¨
asst sich die Distanz ¨
uber die durchlaufenen quadratischen Gebiete be-
schreiben, die bei der rekursiven Konstruktion der Kurve entstanden sind. Im Falle des
vertikalen Separators vom Level lwird f¨
ur alle iljeweils ein Quadrat der Gr¨
oße
2i×2idurchlaufen. Damit gilt:
Rl=
l
X
i=0
4i+ 1
=4l+1 1
3+ 1
=4·4l+ 2
3
Beim Weg zu einer benachbarten Zelle, die durch einen horizontalen Separator vom
Level lgetrennt wird, werden f¨
ur alle iljeweils Rechtecke der Gr¨
oße 2i×2i1
durchlaufen.
Dreidimensionale Lebesgue-Kurve Im Gegensatz zu der Hilbert-Kurve ist die Er-
weiterung der Lebesgue-Kurve f¨
ur den drei- und h¨
oherdimensionalen Raum eindeutig.
F¨
ur jede weitere Raumdimension wird die Basisstruktur verdoppelt und das Ende der
ersten mit dem Beginn der zweiten verbunden. Abbildung 2.8 zeigt die Struktur der
dreidimensionalen Kurve. F¨
ur eine Verfeinerung wird in allen acht Teilw¨
urfeln wieder-
um die gleiche Struktur eingesetzt.
Abbildung 2.8: Dreidimensionale Erweiterung der Lebesgue-Kurve
14 KAPITEL 2. DISKRETE RAUMF ¨
ULLENDE KURVEN
2.1.3 Sierpi´nski-Kurve
Im Jahre 1912 hat Sierpi´nski eine weitere raumf¨
ullende Kurve vorgestellt. Ihre geome-
trische Konstruktion ist in Abbildung 2.9 angegeben. Die Aufteilung des zweidimen-
sionalen Raumes erfolgt ¨
uber achsenparallele und diagonale Separationslinien. Somit
geh¨
ort diese Kurve nicht zu den rekursiven raumf¨
ullenden Kurven. Jedes der vier recht-
Abbildung 2.9: Geometrische Definition der Sierpi´nski-Kurve
winkligen, gleichschenkligen Dreiecke wird durch vier kleinere Dreiecke ersetzt und in
diesen eine kontinuierliche Ordnung definiert. Wie die Hilbert-Kurve ergibt sich damit
ein kontinuierlicher Verlauf der Kurve im Raum. Im Gegensatz zu den beiden anderen
ist sie jedoch zyklisch und bildet damit einen Hamilton-Kreis ¨
uber die Fl¨
achen des
triangulierten Gebietes. Die Sierpi´nski-Kurve nach der vierten Verfeinerung ist in Ab-
bildung 2.10 dargestellt. Wiederum ist lediglich ein grobes 8 ×8-Gitter zur besseren
Orientierung eingezeichnet.
post.sierpinski.grid32.ps 20.08.03 14:08 size 1024 (-1-1)
Abbildung 2.10: Sierpi´nski-Kurve nach vier Verfeinerungen
Bei der Sierpi´nski-Kurve handelt sich um keine diskrete raumf¨
ullende Kurve, da sie
keine Abbildung in ein Gitter darstellt. Die Aufteilung des Raumes ist jedoch geeignet,
um eine Ordnung von Punkten im Raum zu definieren, die f¨
ur die in Kapitel 3 beschrie-
bene Partitionierung von unstrukturierten FE-Netzen eingesetzt werden kann. Zudem
ist es m¨
oglich, ¨
uber die Struktur der Sierpi´nski-Kurve eine Indizierung im Gitter zu
2.1. DEFINITION DER KURVEN 15
definieren, wie die H-Indizierung.
2.1.3.1 H-Indizierung
Niedermeier et al. haben 1997 die H-Indizierung vorgestellt. Ihre urspr¨
ungliche Defini-
tion erfolgt ¨
uber Pfade in Gittern bzw. in Teilgebieten aus Gittern [55]. Aufgrund der
großen Verwandtschaft zur Struktur der Sierpi´nski-Kurve, kann die geometrische Kon-
struktion auch aus dieser Kurve erfolgen. Nach der rekursiven Verfeinerung bis zum
gew¨
unschten Level werden alle Strukturen aus 16 Dreiecken in 16 Quadrate aufgeteilt
und die Kurve gem¨
der in Abbildung 2.11 dargestellten Transformation angepasst.
Die resultierende Kurve im 32 ×32-Gitter ist in Abbildung 2.12 dargestellt. Wie in der
Abbildung 2.11: Ableitung der H-Indizierung aus der Sierpi´nski-Kurve
Sierpi´nski-Kurve ergibt sich ein Hamilton-Kreis, in diesem Fall als Indizierung ¨
uber den
Zellen des Gitters. Die diagonalen Separationslinien innerhalb der Konstruktion sind
durch den farblichen Verlauf der Kurve gut sichtbar.
post.h_index.grid32.ps 26.03.02 13:26 size 1024 (-1-1073782286)
Abbildung 2.12: H-Indizierung im 32 ×32-Gitter
Auch wenn die H-Indizierung eine Abbildung der geforderten Form ist, ist sie aufgrund
der diagonalen Separationen keine rekursive raumf¨
ullende Kurve. Eine zyklische rekur-
sive raumf¨
ullende Kurve ist im folgenden Abschnitt definiert.
16 KAPITEL 2. DISKRETE RAUMF ¨
ULLENDE KURVEN
2.1.4 β-Indizierung
Die βΩ-Indizierung ist eine neue raumf¨
ullende Kurve. Sie ist mit dem Ziel entwickelt
worden, bessere Lokalit¨
atseigenschaften im Hinblick der in dieser Arbeit untersuch-
ten Anwendungsgebiete zu erzielen [81]. Sie nutzt die gleiche U-f¨
ormige Basisstruktur
wie die Hilbert-Kurve. Es existieren jedoch zwei Subtypen, die zu unterschiedlichen
Verfeinerungen f¨
uhren. Die beiden Subtypen und ihre Verfeinerungsregeln sind in Ab-
bildung 2.13 dargestellt. Die roten Punkte markieren die Richtung, in die der ¨
Ubergang
zum benachbarten Teilgitter zu erfolgen hat und charakterisieren damit den Subtyp.
Der obere Subtyp wird als gebogene, der untere als gerade Basisstruktur bezeichnet.
Abbildung 2.13: Geometrische Definition der βΩ-Indizierung
Die beiden Endpunkte der gebogenen Struktur liegen an benachbarten Kanten des um-
schließenden Quadrates, die Endpunkte der geraden Struktur an gegen¨
uberliegenden.
Die Verfeinerung der gebogenen Struktur f¨
uhrt zu drei gebogenen und einer geraden
Basisstruktur, die der geraden Struktur zu vier gebogenen Substrukturen. Damit die
Kurve einen Hamilton-Kreis ¨
uber die Zellen des Gitters definiert, ist eine spezielle
Ordnung in der ersten Verfeinerung notwendig (vgl. Abb. 2.14). Sie beinhaltet eben-
falls vier gebogene Basisstrukturen. Diese Ordnung ist mit der in Moores Version der
Abbildung 2.14: Ordnung in der ersten Verfeinerung der βΩ-Indizierung
Hilbert-Kurve identisch. Die Verfeinerung in Moores Kurve erfolgt jedoch ¨
uber die Re-
gel der Hilbert-Kurve [69]. In Abbildung 2.15 ist die βΩ-Indizierung im 32 ×32-Gitter
dargestellt.
2.1. DEFINITION DER KURVEN 17
post.circ_index.grid32.ps 05.03.02 15:00 size 1024 (-1-1073782286)
Abbildung 2.15: βΩ-Indizierung im 32 ×32-Gitter
Der Name der Kurve ergibt sich aus dem Pfad innerhalb der beiden Basisstrukturen.
Nach einer Gl¨
attung ergeben sich Formen, die den griechischen Buchstaben βund
¨
ahneln (vgl. Abb. 2.16).
Abbildung 2.16: Bezeichnung der Kurve
2.1.4.1 Besondere Eigenschaften
Bei allen anderen bisher vorgestellten Kurven liegen die ¨
Uberg¨
ange von einem Quadran-
ten in den benachbarten an den relativen Positionen 0 bzw. 1 der Separatoren, d. h.
an zwei der Ecken des umschließenden Quadrats. Bei der Sierpi´nski- und H-Kurve gilt
diese Beobachtung auch an den diagonalen Separatoren. Bei der βΩ-Kurve konvergiert
die relative Position eines ¨
Ubergangs gegen 1/3 bzw. 2/3.
Lemma 2.2 Sei eine Teilkurve der β-Kurve vom Level lgegeben. F¨
ur die relative
Position αdes ¨
Ubergangs zu einem benachbarten Quadranten von gleichem Level gilt
α(l) = 2l+2 1
3·1
2l+2 oder α(l) = 1 2l+2 1
3·1
2l+2 .
Beweis: Wir betrachten lediglich die Positionen auf der ersten H¨
alfte einer Kante, also
α < 1/2. Der Beweis f¨
ur α > 1/2 erfolgt analog. Die Position des ¨
Ubergangs liegt
18 KAPITEL 2. DISKRETE RAUMF ¨
ULLENDE KURVEN
immer in der Mitte der Zelle, in der die Teilkurve vom Level lendet. Damit ergibt sich
aus der Definition der geraden und der gebogenen Basisstruktur eine relative Position
von (vgl. Abb. 2.13):
α(0) = 1/4
F¨
ur beide Verfeinerungsregeln gilt, dass der Endpunkt alternierend im oberen und
unteren Quadranten bzgl. der n¨
achstkleineren Level liegt, bzw. rechts und links bei
¨
Uberg¨
angen an einem horizontalen Separator. Da sich die Kantenl¨
ange bei jeder Ver-
feinerung halbiert, gilt f¨
ur den ¨
Ubergang aus einer Teilkurve vom Level l:
α(l) =
l
X
i=0
1i
2i+2 =1
41
8+1
16 +···+1l
2l+ 2 =2l+2 1
3·1
2l+2
ut
Da sich die beiden Subtypen bzgl. der Lokalit¨
ateigenschaften ihrer Teilkurven unter-
scheiden, ist die H¨
aufigkeit der Substrukturen innerhalb einer Kurve von h¨
oherem Le-
vel wichtig. Das folgende Lemma zeigt, dass das Verh¨
altnis von gebogenen zu geraden
Strukturen in Kurven von hohem Level gegen 4 : 1 konvergiert.
Lemma 2.3 Seien l1, l2IN0mit l1< l2und l=l2l1. Die Anzahl der geraden
Strukturen Nger vom Level l1innerhalb der β-Kurve vom Level l2betr¨
agt
Nger(l) = 4l+ 4
5, falls lgerade und
Nger(l) = 4l4
5, falls lungerade .
F¨
ur die Anzahl der gebogenen Strukturen folgt
Ngeb(l)=4·4l1
5, falls lgerade und
Ngeb(l)=4·4l+ 1
5, falls lungerade .
Beweis: Der Beweis erfolgt ¨
uber vollst¨
andige Induktion ¨
uber den Level l. Da sich
die Anzahl der Strukturen h¨
oheren Levels bei einer weiteren Verfeinerung nicht mehr
¨
andert, ist die absolute Gr¨
oße von l1und l2unerheblich.
Induktionsanfang (l {1,2}):
F¨
ur die Level 1 und 2 ergeben sich die H¨
aufigkeiten
Nger(1) = 0 und Ngeb(1) = 4 und
Nger(2) = 4 und Ngeb(2) = 12 .
Induktionsschritt (ll+ 1):
Bei der Verfeinerung einer geraden Basisstruktur entstehen vier gebogene Strukturen
2.2. EIGENSCHAFTEN RAUMF ¨
ULLENDER KURVEN 19
von kleinerem Level. Aus einer gebogenen Struktur entstehen drei gebogene und eine
gerade. Daher gilt immer
Nger(l+ 1) = Ngeb(l) und
Ngeb(l+ 1) = 4 ·Nger(l)+3·Ngeb(l).
F¨
ur lgerade folgt
Nger(l+ 1) = 4 ·4l1
5
=4l+1 1
5
und
Ngeb(l+ 1) = 4 ·4l+ 4
5+ 3 ·4·4l1
5
= 4 ·(1 + 3) ·4l+ 4 3
5
= 4 ·4l+1 + 1
5.
Der Induktionsschritt f¨
ur den Fall, dass lungerade ist, erfolgt analog. ut
2.2 Eigenschaften raumf¨
ullender Kurven
Raumf¨
ullende Kurven werden in vielen Gebieten der Informatik eingesetzt. Dabei wird
je nach Anwendung entweder die Abbildung selbst oder ihre Umkehrfunktion, d. h. die
Indizierung des Raumes, genutzt. Der erste Fall ist die Einbettung eines eindimensio-
nalen Feldes in den r-dimensionalen Raum, der zweite eine Einbettung in umgekehrter
Richtung. Nach der Beschreibung einiger Anwendungsgebiete sind die wichtigsten Er-
gebnisse zu den Eigenschaften raumf¨
ullender Kurven angegeben. Zudem sind die Be-
weisans¨
atze skizziert, um die g¨
angigen Methoden der Beweisf¨
uhrung in diesem Bereich
aufzuzeigen.
Die Abbildung in den Raum wird u. a. f¨
ur die Entwicklung paralleler Algorithmen auf
Parallelrechnern mit gitterartiger Netzwerkstruktur eingesetzt. Beispiele sind Sortieral-
gorithmen, bei denen ein eindimensionales Feld gegeben ist und benachbarte Partitio-
nen im Feld ¨
uber kurze Kommunikationspfade im Gitter verbunden sein sollen [33, 71].
Ein weiteres untersuchtes Einsatzgebiet ist die Einbettung von Suchb¨
aumen (wie beim
branch-and-bound oder backtracking) in das Gitter eines Parallelrechners. Dabei sollen
Sohnknoten m¨
oglichst nahe zu ihrem Vater platziert sein. Eine Analyse f¨
ur die Lauf-
zeit einer Baumsuche bei der Einbettung ¨
uber die Hilbert-Kurve ist in [43] gegeben.
Aus diesen Aufgabenstellungen ist die Definition der Lokalit¨
at raumf¨
ullender Kurven
entstanden.
Die Indizierung des Raumes ¨
uber Kurven wird dann eingesetzt, wenn eine eindimensio-
nale Struktur gefordert ist, in der r¨
aumliche Nachbarschaften weitestgehend erhalten
20 KAPITEL 2. DISKRETE RAUMF ¨
ULLENDE KURVEN
bleiben. Die wichtigste Anwendung in diesem Bereich ist die Speicherung mehrdimen-
sionaler Datenbanken auf Hintergrundspeichern [6, 42, 53]. Anfragen in solchen Daten-
banken werden typischerweise durch Intervalle ¨
uber mehrere Eigenschaften beschrieben,
die als Polytope im r-dimensionalen Raum angesehen werden k¨
onnen. F¨
ur die Beant-
wortung m¨
ussen damit alle Datenbl¨
ocke aus dem Hintergrundspeicher gelesen werden,
die in diesem Polytop enthalten sind. Da die Zugriffszeit auf Daten im Hintergrundspei-
cher von den Zeiten f¨
ur die Positionierung des Lesekopfes dominiert wird, stellt sich die
Frage, welche Anordnung der Daten zu den wenigsten Positionierungen des Lesekopfes
f¨
uhrt? Diese Anforderung wird ¨
uber die Anzahl der Zusammenhangskomponenten einer
Kurve innerhalb eines Polytopes untersucht.
Ein weiteres Anwendungsgebiet f¨
ur die Indizierungseigenschaften der raumf¨
ullenden
Kurven ist die Partitionierung von strukturierten und unstrukturierten Netzen f¨
ur par-
allele Berechnungen. ¨
Uber die raumf¨
ullende Kurve wird eine Indizierung der Knoten des
Netzes durchgef¨
uhrt. Partitionen werden ¨
uber die Aufteilung der Indizes in Intervalle
gebildet. Damit entsprechen die Partitionen disjunkten Teilpfaden der raumf¨
ullenden
Kurve. In mehreren Arbeiten wurde eine zufriedenstellende Qualit¨
at der resultierenden
Partitionierung festgestellt [4, 31, 62, 64]. Eine weitergehende Analyse von Partitionie-
rungen auf Basis raumf¨
ullender Kurven wird in Kapitel 3 durchgef¨
uhrt. Dort wird auch
ein entsprechendes Maß f¨
ur die Qualit¨
at von Partitionierungen definiert.
2.2.1 Lokalit¨
at
Die Lokalit¨
at von raumf¨
ullenden Kurven ist ¨
uber den geometrischen Abstand der Punk-
te auf der Kurve definiert. Das Maß ist von Gotsman und Lindenbaum f¨
ur die euklidi-
sche Distanz eingef¨
uhrt worden [28]. An dieser Stelle nutzen wir eine Verallgemeinerung,
die auch die Maximum- und Manhattan-Metrik beinhaltet [2].
Sei x= (x1, . . . , xr) die Position im r-dimensionalen Raum. F¨
ur p1 sei ||x||pdie
p-Norm, d. h. ||x||p= (Pr
k=1 |xk|p)1/p und ||x||= max{|x1|, . . . , |xr|}. Daraus lassen
sich die Distanzfunktionen dp(x, y) = ||xy||pf¨
ur x, y IRrableiten. Die bisher
ver¨
offentlichten Ergebnisse beziehen sich auf die Sonderf¨
alle d1(Manhattan-Metrik),
d2(euklidische Distanz) und d(Maximum-Metrik).
Definition 2.2 (Lokalit¨
at) Sei curven:{1, . . . , nr}→{1, . . . , n}reine bijektive Ab-
bildung in den r-dimensionalen Raum. Die Lokalit¨
at dieser Kurve ist definiert als
Lcurven
p= max
i,j∈{1,...,nr},i6=j
dp(curven(i), curven(j))r
|ij|.(2.1)
Von besonderem Interesse ist die Lokalit¨
at im Grenzfall von n . Die Verallgemei-
nerung der Metrik auf eine Familie von Kurven curve ={curven|nIN}ist
Lcurve
p= lim
n→∞ Lcurven
p.(2.2)
Viele der unten dargestellten Schranken f¨
ur allgemeine oder spezielle Kurven sind direkt
¨
uber die geometrischen Distanzen angegeben und sind somit exakter, da sie additive
2.2. EIGENSCHAFTEN RAUMF ¨
ULLENDER KURVEN 21
Konstanten ber¨
ucksichtigen. An dieser Stelle wird jedoch lediglich das in der Defini-
tion beschriebene relative Verh¨
altnis aus geometrischer Entfernung und Index-Distanz
dargestellt, damit sich die Ergebnisse direkt vergleichen lassen.
2.2.1.1 Untere Schranken
Gotsman und Lindenbaum haben gezeigt, dass f¨
ur jede kontinuierliche raumf¨
ullende
Kurve curvenim r-dimensionalen Raum
Lcurven
2>(2r1) 11
nr
(2.3)
eine untere Schranke f¨
ur die Lokalit¨
at ist [28]. Der Beweis erfolgt ¨
uber die Betrachtung
der Eckpunkte des r-dimensionalen W¨
urfels und deren Indizes. F¨
ur den zweidimensio-
nalen Fall ergibt sich damit eine Schranke von Lcurve
2>3 f¨
ur beliebig große Kurven.
Dieser Wert kann mit einer analogen Betrachtung auf Lcurve
2>3.25 erh¨
oht werden,
wenn neun statt vier Punkte innerhalb des Quadrates betrachtet werden [28].
Niedermeier et al. haben verschiedene untere Schranken f¨
ur den zweidimensionalen
Raum bewiesen [55]. F¨
ur kontinuierliche Kurven gilt f¨
ur die euklidische und die
Maximum-Metrik Lcurve
2,3.5. Eine untere Schranke in der Manhattan-Metrik ist
Lcurve
16.5. In der gleichen Arbeit zeigen sie Schranken f¨
ur zyklische Kurven von
Lcurve
2,4 und Lcurve
18. Alle Beweise betrachten charakteristische Punkte (meist
Eckpunkte) in der quadratischen Grundfl¨
ache. F¨
ur diese k¨
onnen jeweils Schranken f¨
ur
den geometrischen Abstand (d1, d2bzw. d) und die Index-Differenz angegeben wer-
den.
2.2.1.2 Obere Schranken
Obere Schranken zur Lokalit¨
at von raumf¨
ullenden Kurven wurden f¨
ur die Hilbert-
Kurve, die H-Indizierung und die βΩ-Indizierung untersucht. F¨
ur r-dimensionale Hil-
bert-Kurven gilt eine obere Schranken von [28]
LHilbert
2<2r(r+ 3)r/2.(2.4)
F¨
ur den Beweis wird f¨
ur einen beliebigen Pfad der L¨
ange mein kIN so gew¨
ahlt, dass
(2r)k1< m (2r)kgilt. Aufgrund der Form der Hilbert-Kurve, sind die r-dimensio-
nalen W¨
urfel mit Kantenl¨
ange 2k, in denen der Pfad beginnt und endet, benachbart und
der Pfad liegt vollst¨
andig innerhalb dieser beiden W¨
urfel. Aus der minimalen Pfadl¨
ange
und dem maximalen Durchmesser ergibt sich die Schranke. Aufgrund der notwendi-
gen Voraussetzungen, ist die so erzielte Schranke f¨
ur alle kontinuierlichen rekursiven
raumf¨
ullenden Kurven g¨
ultig. F¨
ur den Sonderfall r= 2 ergibt sich ein Wert von 20.
Dieser kann auf LHilbert
2<62
3reduziert werden, wenn anstelle von zwei Quadraten der
Gr¨
oße 2k×2kalle Anordnungen mit bis zu f¨
unf Quadraten der Gr¨
oße 2k1×2k1
betrachtet werden, die in der Hilbert-Kurve auftreten k¨
onnen [28]. Eine weitere Ver-
besserung auf LHilbert
261
2kann erzielt werden, wenn die m¨
oglichen Teilpfade in der
n¨
achstfeineren Hilbert-Kurve betrachtet werden [3].
22 KAPITEL 2. DISKRETE RAUMF ¨
ULLENDE KURVEN
Ein induktiver Beweis ist m¨
oglich, wenn von der oberen Schranke in curvenauf die
obere Schranke in curve2ngeschlossen werden kann. Ein solcher Beweisansatz f¨
uhrt
f¨
ur die Manhattan-Metrik zu LHilbert
19 [15, 55]. Dazu seien i, j die Indizes in der
Hilbert2n-Kurve und i0, j0die Positionen im gr¨
oberen Hilbertn. Die Induktion erfolgt
¨
uber die Schranke f¨
ur den Abstand von d1(i, j)2·d1(i0, j0) + 2.
Innerhalb der zweidimensionalen Hilbert-Kurve kann ein Pfad der L¨
ange mkonstruiert
werden, dessen euklidischer Durchmesser gegen 6mkonvergiert [28] und ein Pfad,
dessen d1-Distanz gegen 9mkonvergiert [56]. Damit gilt, dass
LHilbert
26,61
2und
LHilbert
1= 9 .
Ebenfalls ¨
uber einen induktiven Beweis k¨
onnen gute Schranken f¨
ur die H-Indizierung
gefunden werden. Es gilt LHInd
2,4 und LHInd
18. Aus diesem Ergebnis und den
unteren Schranken f¨
ur zyklische raumf¨
ullende Kurven folgt, dass die H-Indizierung ein
asymptotisch1optimaler Vertreter dieser Klasse an Kurven ist.
Eine Analyse zur βΩ-Indizierung erfolgt analog zur Hilbert-Kurve. F¨
ur einen Pfad der
L¨
ange mwird kIN so gew¨
ahlt, dass 4k1< m 4kgilt. Es werden alle Anordnungen
von Quadraten der Gr¨
oße 2k2×2k2gem¨
der βΩ-Kurve untersucht. Es ergibt sich
eine obere Schranke von LβInd
2<52
3. Zudem kann ein schlechter Fall konstruiert
werden, der LβInd
25 zeigt [81]. Es folgt
LβInd
25,52
3.
Daraus ergibt sich eine Ordnung f¨
ur die untersuchten Kurven von
LHInd
2<LβInd
2<LHilbert
2(2.5)
im zweidimensionalen Raum. Weitere analytische Schranken, insbesondere zu dreidi-
mensionalen Kurven, finden sich in [28, 56].
2.2.2 Zusammenhangskomponenten
Die Anzahl an Zusammenhangskomponenten in einer Kurve (engl.: clustering property),
die in einem gegebenen Polyeder enthalten sind, sind sowohl im mittleren als auch im
schlechtesten Fall untersucht worden.
2.2.2.1 Mittlerer Fall
Die meisten Untersuchungen zu dieser Fragestellung besch¨
aftigen sich mit der Struktur
der Hilbert-Kurve. Dieser Abschnitt gibt die wichtigsten Ergebnisse wieder. F¨
ur rIN
1In [55, 56] sind die Distanzen in den drei Metriken direkt angegeben, so dass der Abstand zur
unteren Schranke exakt gegeben ist.
2.2. EIGENSCHAFTEN RAUMF ¨
ULLENDER KURVEN 23
sei Nrdie zu erwartende Anzahl an Teilpfaden einer Kurve, die im Mittel in einem
r-dimensionalen Polyeder verlaufen.
Jagadish hat gezeigt, dass im zweidimensionalen Raum die mittlere Anzahl an Teilpfa-
den f¨
ur eine Anfrageregion der Gr¨
oße k×kf¨
ur k[2,3] von unten gegen kkonvergiert,
d. h. es gilt N2kf¨
ur solche quadratische Anfragen [42]. F¨
ur jeden Teilpfad gilt, dass er
an einer Stelle in die Anfrageregion eintritt und an einer zweiten austritt. Damit ist die
Anzahl der Teilpfade halb so groß wie die der Schnitte des Pfades mit den R¨
andern der
Anfrageregion. Der Beweis erfolgt ¨
uber die Untersuchung aller m¨
oglichen Positionen,
an der eine quadratische Anfrageregion der Gr¨
oße k×kliegen kann. F¨
ur jede Kante des
Hilbert-Pfades wird untersucht, durch wie viele dieser Anfrageregionen sie geschnitten
wird. Das Verh¨
altnis aus der summierten Anzahl an Teilpfaden zu der Anzahl aller
Anfrageregionen ergibt die mittlere Zahl an Zusammenhangskomponenten.
Moon et al. haben diese Aussage auf Quadrate mit Kantenl¨
ange 2kerweitert: Seien
k, n IN. F¨
ur quadratische Anfrageregionen der Gr¨
oße 2k×2kin einer Kurve vom
Level n+k1 (d. h. ¨
uber 2n+k×2n+kZellen) sind im Mittel
N2=(2n1)223k+ (2n1)22k+ 2n
(2k+n2k+ 1)2(2.6)
Teilpfade enthalten [53]. Der Beweisansatz ist analog zu dem oben skizzierten, d. h. es
werden alle m¨
oglichen F¨
alle aufgez¨
ahlt. In der gleichen Arbeit haben die Autoren auch
eine Absch¨
atzung f¨
ur den r-dimensionalen Raum gegeben. Sei Sqdie Oberfl¨
ache einer
polyedrischen Anfrageregion qmit achsenparallelen Fl¨
achen in der Hilbert-Kurve vom
Level n. F¨
ur die Anzahl der Zusammenhangskomponenten innerhalb qgilt
lim
n→∞ Nr=Sq
2r.(2.7)
Damit teilt eine Anfrageregion die Hilbert-Kurve im Mittel in weniger Zusammenhangs-
komponenten als die Lebesgue-Kurve [53]. Der Beweis f¨
ur diese Aussage erfolgt ¨
uber
die Orientierung der Pfadsegmente der Hilbert-Kurve im Raum. In großen Kurven
ist die Segmenth¨
aufigkeit in jeder Richtung gleich groß. Daraus kann auf die Wahr-
scheinlichkeit geschlossen werden, mit der ein Punkt am Rand der Anfrageregion einen
Index-Nachbarn außerhalb der Region besitzt.
F¨
ur den Spezialfall des r-dimensionalen W¨
urfels mit Kantenl¨
ange sfolgt, dass in diesem
im Mittel
lim
n→∞ Nr=sr1(2.8)
Zusammenhangskomponenten der Hilbert-Kurve liegen.
2.2.2.2 Schlechtester Fall
Asano et al. haben untersucht, wie viele Zusammenhangskomponenten im schlechtesten
Fall notwendig sind, wenn eine Vergr¨
oßerung der Region um einen konstanten Faktor
erlaubt ist [6]. Ihre Arbeiten beziehen sich alle auf den zweidimensionalen Raum. F¨
ur
eine im vorhinein bekannte Anfrageregion der Gr¨
oße k×kkonnten sie eine Kurve
24 KAPITEL 2. DISKRETE RAUMF ¨
ULLENDE KURVEN
angeben, die mit h¨
ochstens 2 Teilpfaden die Anfrageregion ¨
uberdeckt. Da dieser Wert
auch die untere Schranke ist, ist die Kurve optimal bzgl. dieser Aufgabe. Die Struktur
der Kurve (snake curve) ist in Abbildung 2.17 skizziert.
k
Abbildung 2.17: Optimale Kurve f¨
ur feste k×k-Anfrage
F¨
ur variable Anfragegr¨
oßen konnten sie die untere Schranke von drei Teilpfaden bei
rekursiven raumf¨
ullenden Kurven zeigen. Gleichzeitig konnten sie eine Kurve angeben,
die diesen optimalen Wert erreicht. F¨
ur die graphische Definition der Kurve sind acht
Verfeinerungsregeln notwendig. In Abbildung 2.18 ist die Kurve der Level 0,1 und 2
dargestellt. Sie besteht aus einem Mix von U- und N-f¨
ormigen Grundstrukturen, die
in der Hilbert- und der Lebesgue-Kurve zu finden sind. Dadurch ist sichergestellt, dass
jede 2×2-Anfrage mit h¨
ochstens drei Teilpfaden beantwortet werden kann. Die Autoren
haben gezeigt, dass dieses auch f¨
ur beliebige k×k-Anfragen gilt, wenn eine Vergr¨
oßerung
der Region um den Faktor 4 zugelassen wird.
Abbildung 2.18: Anfrage-optimale raumf¨
ullende Kurve
Die Eigenschaft der beschr¨
ankten Anzahl an Teilpfaden bei einer Anfrage im Raum wird
f¨
ur die Weiterentwicklung eines Algorithmus zur globalen Kontaktsuche in Kapitel 4
genutzt.2An der Stelle ist jedoch die Distanz zwischen den entstandenen Teilpfaden
ebenfalls von großer Bedeutung, f¨
ur die ein entsprechendes Maß definiert wird.
2Die in dieser Arbeit definierten Kurven werden durch eine k×k-Anfrage in bis zu vier Teilepfade
zerlegt. Dieser Fall tritt auf, wenn die Anfrage zwei Separatoren von h¨
oherem Level schneidet.
Kapitel 3
Partitionierung von
Finite-Elemente-Netzen
Parallele Anwendungen auf Basis der Finite-Elemente-Methoden (FEM) basieren auf
dem SPMD-Prinzip (single program multiple data). Jeder Prozess arbeitet die gleichen
Befehle ab, jedoch auf einem unterschiedlichen Bereich der Daten. Um eine hohe Ska-
lierung der Applikation zu erreichen, sollte der Kommunikationsaufwand zwischen den
nebenl¨
aufigen Prozessen m¨
oglichst gering sein. Die Datenabh¨
angigkeiten k¨
onnen als
Graph dargestellt werden, indem die Knoten die Daten und die Kanten deren Abh¨
angig-
keit im Verlauf der Rechnung repr¨
asentieren. Insbesondere bei FE-Berechnungen erge-
ben sich in vielen aufeinander folgenden Schritten die gleichen Abh¨
angigkeiten zwischen
den Daten.
Bei der Aufteilung der Daten auf die Prozesse m¨
ussen Knoten so zu Gruppen (Partitio-
nen) zusammengefasst werden, dass jede Partition die gleiche Rechenlast repr¨
asentiert.
Zudem sollen m¨
oglichst wenige Kanten zu Knoten außerhalb einer Partition bestehen,
d. h. wenige Abh¨
angigkeiten zu Daten anderer Prozesse. Die Struktur des Abh¨
angig-
keitsgraphen kann oftmals direkt vom gegebenen FE-Netz abgeleitet werden. Je nach
Zuordnung der Daten zu den Knoten oder Elementen des Netzes, ist die Datenabh¨
angig-
keit h¨
aufig als Adjazenz der Knoten, der Elemente oder beider gegeben.
In diesem Kapitel wird die Eignung von raumf¨
ullenden Kurven zur Partitionierung von
FE-Netzen f¨
ur die parallele numerische Simulation untersucht. Nach der Einf¨
uhrung
der wesentlichen Grundlagen und einiger konkurrierender Methoden wird die Par-
titionierung mittels raumf¨
ullender Kurven beschrieben. In den weiteren Abschnitten
wird die Qualit¨
at in unterschiedlicher Hinsicht bewertet. Zum Einen werden analyti-
sche Ergebnisse zur absoluten G¨
ute bei der Partitionierung regul¨
arer Gitter dargestellt.
Ein weiterer Abschnitt vergleicht die Qualit¨
at der vorgestellten Methode anhand eines
Benchmark-Satzes aus unterschiedlichsten FE-Netzen mit den Ergebnissen der etablier-
ten Partitionierungsbibliothek Metis. Zudem werden in Kapitel 5 Ergebnisse aus einer
industriellen Anwendung aufgezeigt.
25
26 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
3.1 Grundlagen
Sei Veine Knotenmenge und EV×Veine Menge an ungerichteten Kanten. Die
Aufgabe der k-Partitionierung besteht in der Aufteilung des Graphen G= (V, E) mit
n=|V|Knoten in kTeilgraphen Vi, mit
ViVj=, f¨
ur i6=jund i, j kund
k
[
i=1
Vi=V , (3.1)
so dass alle Teilgraphen gleich groß sind, d. h.
|Vi|−|Vj| 1,f¨
ur i6=jund i, j k(3.2)
Dabei soll der Kantenschnitt (engl.: edge cut) minimiert werden. Dieser umfasst alle
Kanten Evon G, die zwei Teilgraphen verbinden:
edge cut = |{(u, v)E|uVi,vVjund i6=j}|
Die vorgestellte Bewertung spiegelt die notwendigen Kriterien an eine Partitionierung
nicht ausreichend wider. Es sind andere Metriken diskutiert worden, die besser den
Bed¨
urfnissen der parallelen Anwendungen entsprechen [36, 78]. Dennoch ist die vorge-
stellte Metrik der Quasi-Standard f¨
ur die Bewertung von Methoden zur Graphpartitio-
nierung und deren Umsetzung. Sie wird im weiteren Verlauf des Kapitels als Qualit¨
ats-
kriterium herangezogen.
Sind die Rechenlasten der einzelnen Knoten unterschiedlich, ist eine gewichtete Par-
titionierung notwendig. Dabei sollen die Rechenlasten gleichm¨
aßig auf die Partitionen
aufgeteilt werden. Sei w(v) die Rechenlast des Knotens vf¨
ur alle vV. Die gesamte
Rechenlast ergibt sich zu
W=X
vV
w(v).
Die gewichtete k-Partitionierung ist beschrieben durch:
W
k·(1 ε)X
vVi
w(v)W
k·(1 + ε),f¨
ur i= 1, . . . , k . (3.3)
Dabei ist εdas zul¨
assige Ungleichgewicht der Partitionierung.
Das Problem der Graphpartitionierung ist NP-vollst¨
andig, selbst f¨
ur eine asymptotisch
optimale L¨
osung [13]. Daher ist es i. A. nicht m¨
oglich, in annehmbarer Zeit eine optimale
k-Partitionierung zu bestimmen. Diese Tatsache hat zu der Entwicklung einer großen
Anzahl unterschiedlicher Heuristiken gef¨
uhrt. In mehreren Ver¨
offentlichungen sind die
bedeutendsten Verfahren beschrieben, klassifiziert und bewertet [18, 25, 35, 73].
Die Klasse der geometrischen Ans¨
atze umfasst die schnellsten Verfahren. Zu diesen
z¨
ahlen Recursive Coordinate Bisection (RCB) und Recursive Inertial Bisection (RIB).
Beide teilen die Knoten des Graphen durch gerade Schnitte in zwei Teile, die wiederum
3.2. IMPLIZITE PARTITIONIERUNG 27
rekursiv weiter zerlegt werden. RCB f¨
uhrt lediglich achsenparallele Schnitte aus [10].
Die Schnitte beim RIB liegen hingegen orthogonal zu der Haupttr¨
agheitsachse (engl.:
principal inertial axis) [57]. Unter der Annahme, dass das Netz in dieser Richtung eine
geringere Ausdehnung hat, ergibt sich ein geringerer Kantenschnitt. Da diese Verfahren
die Struktur des Graphen unber¨
ucksichtigt lassen, ist die Qualit¨
at der resultierenden
Partitionierungen nur unterdurchschnittlich [35]. Es ist leicht Beispiele zu finden, deren
k-Partitionierung mittels dieser geometrischen Verfahren zu einem sehr hohen Kanten-
schnitt f¨
uhrt.
Die Partitionierung ¨
uber raumf¨
ullende Kurven z¨
ahlt ebenso zu der Klasse der geome-
trischen Methoden. Ihre Eigenschaften hinsichtlich Partitionierungsqualit¨
at und Ge-
schwindigkeit sind vergleichbar mit den anderen Methoden dieser Klasse [35]. Der
Einsatz dieser Methode erlaubt in vielen parallelen Applikationen eine ausreichende
Skalierbarkeit [58, 61, 64]. Der besondere Vorteil liegt jedoch in der einfachen Reparti-
tionierung bei einer ¨
Anderung der Lastsituation. Die raumf¨
ullenden Kurven definieren
eine eindimensionale Ordnung ¨
uber alle Knoten oder Elemente des Netzes. Die Lastba-
lancierung erfolgt durch eine Verschiebung der Intervallgrenzen, ¨
uber welche die Parti-
tionierung gegeben ist. Damit erfolgt die Bestimmung der Lastverteilung sehr schnell,
wobei eine gleich bleibende Qualit¨
at der Partitionierung angenommen werden kann.
Die besten Partitionierungsergebnisse werden von mehrstufigen Verfahren erzielt (engl.:
multilevel schemes). Diese vergr¨
obern den Graphen in mehreren Schritten, bis er so
wenige Knoten hat, dass eine optimale Partitionierung bestimmt werden kann. Es wer-
den Gruppen von Knoten zu einem Metaknoten zusammengefasst, wenn diese viele
innere und wenige ¨
außere Kanten besitzen. Von diesen kann angenommen werden, dass
sie bei einer guten Partitionierung gemeinsam innerhalb einer Partition liegen werden.
W¨
ahrend der nachfolgenden schrittweisen Verfeinerung erben die Knoten die Partitions-
zugeh¨
origkeit ihres Stellvertreters im jeweils gr¨
oberen Graphen. Nach jedem Schritt
der Verfeinerung wird mittels lokaler Verbesserungsheuristiken die Partitionierung des
aktuellen Graphen verbessert [22, 24, 47]. Hierarchische Verfahren zur Graphpartitio-
nierung sind in verschiedenen Bibliotheken implementiert, wie Metis [45], Jostle [79],
Chaco [37] und Party [66, 68].
3.2 Implizite Partitionierung
In einigen Applikationen ist die Qualit¨
at einer Partitionierung nicht so bedeutend wie
die st¨
andig gleichm¨
aßige Verteilung der vorhandenen Rechenlast. Bei sich regelm¨
aßig
¨
andernden Lastsituationen ist damit eine h¨
aufige Umverteilung der Last unumg¨
anglich.
Damit w¨
achst der Einfluss der Zeiten f¨
ur die Berechnung der jeweiligen Partitionierun-
gen auf die Gesamtrechenzeit. Die implizite Partitionierung ist bei diesen speziellen
Anforderungen besonders geeignet. Bei dieser wird vor der eigentlichen Berechnung
eine eindimensionale Ordnung ¨
uber die Last (hier: Knoten des Graphen) definiert, so
dass sich eine Partitionierung direkt aus der Aufsplittung in Intervalle ergibt.
28 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
3.2.1 Datenverteilung
Die Aufgabe der Partitionierung kann durch die Sortierung der Knoten und deren an-
schließender Zerlegung in konsekutive Intervalle ersetzt werden. Unabh¨
angig von der
Sortierung V= (v1, . . . , vn) der Knoten erf¨
ullt eine gleichm¨
aßige Aufteilung die Bedin-
gungen in (3.1) und (3.2) f¨
ur eine k-Partitionierung:
Vi:= vj
(i1) ·n
k< j i·n
k,f¨
ur 1 ik . (3.4)
Das gleiche gilt f¨
ur die gewichtete Partitionierung in (3.3), jedoch mit der Einschr¨
an-
kung, dass die Ausgewogenheit der Partitionen durch die vorgegebene Reihenfolge be-
grenzt ist. Es ist jedoch offensichtlich, dass die Qualit¨
at der sp¨
ateren Partitionierung
wesentlich von der Ordnung der Knoten abh¨
angig ist. Dieser Zusammenhang wird im
weiteren Verlauf des Kapitels untersucht.
3.2.2 Grundlegende Eigenschaften
In Abbildung 3.1 sind die untersuchten Kurven gem¨
Hilbert-, Lebesgue-, Sierpi´nski-
und βΩ-Indizierung dargestellt. In der oberen Reihe ist die jeweilige Kurve nach
dem vierten Verfeinerungsschritt dargestellt. In der unteren Reihe ist die resultierende
5-Partitionierung des 16 ×16-Gitters angegeben.
Einerseits lassen sich aus der Partitionierung des Gitters keine allgemeinen Aussagen
¨
uber die Partitionierungsqualit¨
at von raumf¨
ullenden Kurven herleiten. Auf der anderen
Seite erm¨
oglicht die regul¨
are Struktur des Netzes, die Form der abgeleiteten Partitionen
zu analysieren und Schw¨
achen dieser geometrischen Heuristik auszumachen. Im 16×16-
Gitter ergeben sich Kantenschnitte von 65 (Hilbert), 64 (Lebesgue), 66 (Sierpi´nski) und
58 (βΩ).
Die Partitionierungsbibliothek Metis erzielt einen Kantenschnitt von 63 bei der direkten
k-Partitionierung (kMetis) und 46 bei der Partitionierung mittels rekursiver Bisek-
tion (pMetis). Die entsprechenden Partitionierungen sind in Abbildung 3.2 angegeben.
Es ist offensichtlich, dass diese Aufgabe kMetis Probleme bereitet. Der Kantenschnitt
zwischen der blauen und der gelben Partition kann um 14 verringert werden, in dem
einige Knoten zwischen den Partitionen ausgetauscht werden. Bei Ausklammerung des
Fehlers an der gelben Partition wird ein Kantenschnitt von 49 erreicht. Im Vergleich
zu der von pMetis gelieferten L¨
osung haben die auf raumf¨
ullenden Kurven basierenden
Partitionierungen in Abbildung 3.1 einen um 29 bis 44 Prozent h¨
oheren Kantenschnitt.
Ein wesentlicher Nachteil der Partitionierung auf der Basis von raumf¨
ullenden Kurven
liegt in deren gewundener Struktur. An den Intervallgrenzen im Indizierungsschema,
welche die Partitionen begrenzen, ergibt sich in vielen F¨
allen ein schneckenf¨
ormiger
Ansatz. Dieser erzeugt einen, im Verh¨
altnis zu der Anzahl der enthaltenen Knoten, sehr
großen Kantenschnitt. Am deutlichsten zeigt sich dieser Nachteil bei der Hilbert-Kurve,
an der Grenze zwischen der roten und der gelben Partition. Das gleiche Verhalten zeigen
auch die Sierpi´nski- und βΩ-Kurve, jedoch in leicht abgeschw¨
achter Form.
3.2. IMPLIZITE PARTITIONIERUNG 29
post.peano.grid16.ps 29.04.02 10:49 size 256 (-1-1073782286)
post.lebesgue.grid16.ps 29.04.02 11:39 size 256 (-1-1073782286)
post.sierpinski.grid16.ps 04.09.02 10:04 size 256 (-1-1)
post.circ_index.grid16.ps 29.04.02 10:49 size 256 (-1-1073782286)
Hilbert Lebesgue Sierpi´nski βΩ-Indizierung
Abbildung 3.1: Partitionierungen des 16 ×16-Gitters
kMetis pMetis
Abbildung 3.2: 5-Partitionierung des 16 ×16-Gitters durch Metis
Ein bedeutender Nachteil der Sierpi´nski-Kurve liegt jedoch in den diagonalen Separa-
tionslinien. Da die Partitionsgrenzen den Separationslinien folgen, ergibt sich im Gitter
ein hoher Kantenschnitt, auch wenn die Partitionen selbst von kompakter Struktur sind.
Diese Auff¨
alligkeit ist jedoch auf Gitter und Netze vergleichbarer Struktur beschr¨
ankt.
Die Spr¨
unge innerhalb der Lebesgue-Kurve wirken sich negativ auf die darauf basie-
rende Partitionierung aus. Die Partitionen sind nicht zwangsl¨
aufig zusammenh¨
angend,
wodurch sich ein großer Kantenschnitt ergibt, wie an der gr¨
unen Partition zu sehen ist.
3.2.3 Raumf¨
ullende Kurven in unstrukturierten Netzen
Die vorgestellten raumf¨
ullenden Kurven sind nur f¨
ur Gitter definiert. F¨
ur die Sortierung
der Knoten eines unstrukturierten Netzes wird das Netz gem¨
der Separationslinien
soweit rekursiv aufgeteilt, bis jedes Teilgebiet h¨
ochstens einen Knoten enth¨
alt.
In Abbildung 3.3 ist ein m¨
oglicher Algorithmus f¨
ur die Bestimmung der Hilbert-Ord-
30 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
nung in einem unstrukturierten Netz skizziert. Die Hilbert-Funktion separiert alle
Knoten des Intervalls [first,last[ in vier Teile, die rekursiv weiter verarbeitet werden.
Die Separatoren f¨
ur die Zerlegung in die vier Gebiete sind firstcut,midcut und lastcut.
Die Split-Operation sortiert die Knoten bzgl. der angegebenen Orientierung (orien-
tation; x- oder y-Koordinaten) und Richtung (aufsteigend oder absteigend). Sie gibt
den Index zur¨
uck, der das Intervall gem¨
dem gegebenen Separator teilt. Orientie-
rung und Richtung f¨
ur diese Operation ergeben sich aus dem Typ der Basisstruktur
(type), die der aktuellen Rekursion zugrunde liegen. Die zum Algorithmus passende
Nummerierung der Basisstrukturen ist in der Abbildung 3.3 rechts angegeben.
Hilbert (first,last,type):
orient1 = (type <2) ? x : y
orient2 = (type <2) ? y : x
crit1 = (type%2==0) ? ascend : descend
crit2 = (type%2==0) ? descend : ascend
midcut =Split (crit1,orient1,first,last)
firstcut =Split (crit2,orient1,first,midcut)
thirdcut =Split (crit2,orient2,midcut,last)
Hilbert (first,firstcut, (type+2)%4)
Hilbert (firstcut,midcut,type)
Hilbert (midcut,thirdcut,type)
Hilbert (thirdcut,last, 3type)
0
1
2
3
Abbildung 3.3: Algorithmen-Skizze zur Berechnung der Hilbert-Ordnung
Das Vorgehen des Algorithmus ist in Abbildung 3.4 an einem Beispiel dargestellt. Der
Graph wird rekursiv gem¨
der Separationslinien aufgeteilt. Die Ordnung der Knoten
ergibt sich dabei aus der raumf¨
ullenden Kurve vom jeweiligen Feinheitsgrad. Das linke
Bild zeigt den ersten Schnitt. Alle Knoten im unteren linken Quadranten liegen vor
Abbildung 3.4: Knotensortierung gem¨
Hilbert-Kurve in einem unstrukturierten Netz
3.2. IMPLIZITE PARTITIONIERUNG 31
den Knoten im oberen linken Quadranten usw. Das mittlere Bild zeigt den zweiten
Rekursionsschritt. Die Rekursion wird solange fortgef¨
uhrt, bis ein Teilbereich, der durch
die Separationslinien abgegrenzt ist, h¨
ochstens einen Knoten enth¨
alt. F¨
ur diesen ist eine
eindeutige Position in der Ordnung der Knoten gefunden. F¨
ur dieses Beispiel ist die
Ordnung der Knoten durch die gr¨
une Linie in der rechten Darstellung skizziert.
An dem gegebenen Beispiel zeigt sich, dass auch f¨
ur die raumf¨
ullenden Kurven, die
im Gitter keine Spr¨
unge aufweisen, in einem irregul¨
aren Graph i. A. keine Folge ¨
uber
adjazente Knoten entsteht. Es fließt nur die geometrische Position, nicht aber die Nach-
barschaften der Knoten in die Partitionierung ein. Damit k¨
onnen stark verzerrte Netze
zu deutlich schlechteren Partitionierungen f¨
uhren. Dieser Effekt verst¨
arkt sich, wenn
das Netz L¨
ocher enth¨
alt. Somit lassen sich f¨
ur raumf¨
ullende Kurven, ¨
ahnlich wie f¨
ur
jede Heuristik, die lediglich auf geometrischen Informationen beruht, Beispiele finden,
in denen eine sehr schlechte L¨
osung erzielt wird.
Bei Netzen mit stark unterschiedlichen Ausdehnungen in x- und y-Richtung wird sich
bei der rekursiven Generierung einer raumf¨
ullenden Kurve eine stark verzerrte Kurve
ergeben. Unter der Annahme, dass das Netz nicht verzerrte Elemente enth¨
alt, ergibt sich
dabei eine schlechtere Partitionierungsqualit¨
at der Indizierung. Daher ist es sinnvoll,
zun¨
achst das Gebiet rekursiv bzgl. der l¨
angsten Ausdehnung zu teilen, bis das Verh¨
altnis
der Gebietsausdehnung kleiner oder gleich 2 ist. Dies ist das beste Verh¨
altnis, das
im schlechtesten Fall erreicht werden kann. Ein Beispiel f¨
ur die Hilbert-Kurve ist in
Abbildung 3.5 angegeben.
Abbildung 3.5: Erste Schritte zur Indizierung eines l¨
anglichen Gebietes bzgl. der
Hilbert-Kurve
Zun¨
achst wird das Gebiet in der Orientierung mit der gr¨
oßten Ausdehnung mittels
Separatoren zerlegt, so dass das gew¨
unschte Verh¨
altnis der Ausdehnung erreicht ist. In
dem gegebenen Beispiel betr¨
agt das Verh¨
altnis 22 : 6. Nach der ersten Teilung mit dem
mittleren Separator ergibt sich jeweils eine Ausdehnung von 11 : 6, so dass ein weiterer
Schnitt erfolgt (links). In jedem der vier Teilgebiete erfolgt die Zerlegung gem¨
der
Hilbert-Indizierung. Begonnen wird mit einer der Grundstrukturen, die eine Verkettung
in der geforderten Orientierung erlaubt (vgl. Abschnitt 2.1.1). Sowohl f¨
ur die x- als auch
f¨
ur die y-dominierte Ausdehnung ergeben sich zwei M¨
oglichkeiten. Das rechte Bild
zeigt den Beispielgraphen nach dem zweiten Rekursionsschritt der zweidimensionalen
Hilbert-Indizierung.
Die gleiche Strategie l¨
asst sich auf die Indizierung dreidimensionaler Netze ¨
ubertragen.
In diesem Fall l¨
asst sich das Verh¨
altnis der gr¨
oßten zur kleinsten Ausdehnung eines
32 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
Teilbereiches auf 22/3reduzieren.1In Abbildung 3.6 (a) ist die Oberfl¨
ache des Netzes pwt
(vgl. Abschnitt 3.4.2) dargestellt. Zun¨
achst wird das Gebiet bzgl. der x-Orientierung
geteilt. Im zweiten Schritt werden beide Teile bzgl. der zweidimensionalen Hilbert-
Kurve in x- und y-Richtung geteilt. Abbildung 3.6 (b) zeigt die Kurve nach dem zweiten
Schritt. Danach beginnt die rekursive Aufteilung gem¨
der dreidimensionalen Hilbert-
Kurve. In 3.6 (c) ist die Kurve nach der ersten dreidimensionalen Aufteilung dargestellt.
Es muss wiederum beachtet werden, dass eine Grundstruktur gew¨
ahlt wird, die eine
durchgehende Verkettung der Teilkurven erlaubt.
(a)
(b) (c)
Abbildung 3.6: Erste Schritte zur Indizierung des Netzes pwt bzgl. der dreidimensiona-
len Hilbert-Kurve
Es ergibt sich eine große Anzahl an Basisstrukturen geringerer Dimension und eben-
so viele Ableitungsm¨
oglichkeiten in den Raum mit einer h¨
oheren Dimension. Um die
Anzahl der zu ber¨
ucksichtigenden F¨
alle gering zu halten, ist es sinnvoll, das Objekt
zun¨
achst so zu drehen, dass die gr¨
oßte Ausdehnung in x-Richtung und die zweitgr¨
oßte
Ausdehnung in y-Richtung liegt. Dann erfolgt zun¨
achst eine eindimensionale Aufteilung
bzgl. der x-Richtung, bis das gew¨
unschte 2 : 1 Verh¨
altnis erreicht ist. Die folgende
zweidimensionale Zerlegung findet in xy-Richtung statt, wobei eine Grundstruktur mit
x-Ausrichtung eingesetzt wird (vgl. Abb. 3.6 (b)). Bei der zweidimensionalen Zerlegung
ergeben sich vier verschiedene Grundstrukturen. Beim ¨
Ubergang zu der dreidimensio-
1Im schlechtesten Fall liegen die drei Ausdehnungen (o.B.d.A.) a < b < c jeweils um den Faktor
22/3auseinander. Halbiert man die gr¨
oßte Ausdehnung, ¨
andert sich die Ordnung in c/2< a < b, die
Abst¨
ande bleiben jedoch erhalten.
3.3. PARTITIONIERUNGSQUALIT ¨
AT IM GITTER 33
nalen Zerlegung, m¨
ussen diese vier Strukturen durch entsprechende dreidimensionale
ersetzt werden. Um die durchgehende Verkettung zu gew¨
ahrleisten, m¨
ussen die Pro-
jektionen der dreidimensionalen Grundstrukturen auf die xy-Ebene die gleichen End-
punkte haben, wie die zweidimensionalen, denen sie entsprechen. Zudem m¨
ussen die
Endpunkte in der gleichen Ebene liegen. Abbildung 3.6 (c) zeigt eine m¨
ogliche Wahl
von geeigneten dreidimensionalen Grundstrukturen. Die Endpunkte liegen alle in der
oberen xy-Ebene.
3.3 Partitionierungsqualit¨
at im Gitter
Dieser Abschnitt beschreibt analytische Untersuchungen zur Qualit¨
at der Partitionen,
die durch verschiedene Indizierungsschemata erzeugt werden. Die Ergebnisse basieren
auf dem zweidimensionalen Gitter der Gr¨
oße 2n×2nmit nIN, in das die raumf¨
ullen-
den Kurven direkt eingebettet werden k¨
onnen. Anstelle der ¨
ublichen Partitionierung
der Knoten eines Graphen wird in diesem Abschnitt aufgrund der besseren Darstell-
barkeit die Partitionierung der Elemente untersucht. Das Gitter der Gr¨
oße 2n×2n
Knoten ist jedoch dual zu dem Netz aus 2n×2nElementen, womit sich die Ergebnis-
se direkt auf die ¨
ubliche Graphenpartitionierung ¨
ubertragen lassen. Die Definition des
Qualit¨
atsmaßes ist angelehnt an die Arbeiten von Zumbusch [88].
Die folgende Analyse betrachtet die Partitionierungsqualit¨
at der Kurven Hilbert, Le-
besgue und βΩ, wobei sowohl der schlechteste als auch der mittlere Fall untersucht
werden. Ein wesentliches Ergebnis der Analyse des schlechtesten Falls ist der Beweis,
dass die Partitionierungsqualit¨
at der Lebesgue-Kurve besser ist, als die der beiden an-
deren untersuchten Indizierungsschemata.
In der Literatur ist es allgemein ¨
ublich, Partitionierungsverfahren ¨
uber die Qualit¨
at der
gesamten Partitionierung zu bewerten und zu vergleichen. Aufgrund der Besonderheiten
bei der impliziten Partitionierung ist es an dieser Stelle m¨
oglich, die Qualit¨
at einer
einzelnen Partition zu ermitteln.
3.3.1 Definition des Qualit¨
atsmaßes
Das in diesem Abschnitt untersuchte Qualit¨
atsmaß ist angelehnt an die Eigenschaften
von geometrischen K¨
orpern. Je nach Struktur eines K¨
orpers ergibt sich eine bestimmte
Abh¨
angigkeit der Oberfl¨
ache zu seinem Volumen. In diesem Fall soll die Oberfl¨
ache,
d. h. der Rand der Partition minimiert werden. Im zweidimensionalen Raum weist der
Kreis, im dreidimensionalen Raum die Kugel die kleinste Oberfl¨
ache zu einem gegebe-
nen Volumen auf. Die Kreisoberfl¨
ache w¨
achst proportional zur Wurzel der Fl¨
ache, die
Kugeloberfl¨
ache proportional zur dritten Wurzel des Volumens. Ein ¨
ahnliches Verh¨
alt-
nis von Oberfl¨
ache zu Volumen sollte i. A. auch die optimale Partitionierung von zwei-
oder dreidimensionalen FE-Netzen aufweisen.
F¨
ur die in diesem Abschnitt untersuchten zweidimensionalen Gitter hat Zumbusch [88]
den Vergleich mit dem Oberfl¨
achen-Volumen-Verh¨
altnis des Quadrates vorgeschlagen,
34 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
welches diesbez¨
uglich im Gitter optimale Eigenschaften aufweist. In seinen Arbeiten
ist der schlechteste Fall f¨
ur die Partitionierung mit raumf¨
ullenden Kurven asympto-
tisch untersucht. Definition 3.1 ist eine Erweiterung des Qualit¨
atsmaßes auch f¨
ur den
mittleren Fall.
Abbildung 3.7: Oberfl¨
ache einer Partition in der Hilbert-Kurve
Abbildung 3.7 zeigt an der Hilbert-Kurve im 4×4-Gitter die Oberfl¨
ache einer Partition
(blau) mit Volumen 6. Es ergibt sich eine Oberfl¨
ache (rot) von 12. Diese Form der
Untersuchung schließt auch den ¨
außeren Rand des Gitters mit ein. Der relative Anteil
dieses Randes wird mit wachsender Gr¨
oße des Gitters immer geringer, so dass er auf
die unten definierte Partitionierungsqualit¨
at keinen Einfluss hat.
Definition 3.1 (Partitionierungsqualit¨
at) Sei curve eine diskrete raumf¨
ullende
Kurve. Jedes Indexintervall p= [i1, i2], mit i1i2f¨
ur i1, i2IN, beschreibt eine
Partition der Gr¨
oße V(p) = |p|=i2i1+ 1. Sei S(p)der Rand dieser Partition. Die
Qualit¨
at der Partition ist gegeben als Pcurve(p)mit:
Pcurve(p) = Scurve(p)
4·pV(p)(3.5)
Die Verallgemeinerung des Qualit¨
atskriteriums f¨
ur eine Kurve curve im schlechtesten
Fall ergibt sich als:
Pcurve
max = max{Pcurve(p)|p= [i1, i2]mit i1i2f¨
ur i1, i2IN}(3.6)
Sei iIN eine Intervalll¨
ange. Die Qualit¨
at im mittleren Fall f¨
ur eine gegebene Parti-
tionsgr¨
oße ist:
Pcurve
avg (i) = avg{Pcurve(p)|p= [i1, i2]mit i2i1+1 = if¨
ur i1, i2IN}, i IN ,(3.7)
wobei avg das arithmetische Mittel ist.
Die Verallgemeinerung f¨
ur die mittlere Qualit¨
at einer Familie von Kurven curve ergibt
sich als:
Pcurve
avg = max{Pcurve
avg (i)|iIN}(3.8)
In seinen Arbeiten hat Zumbusch gezeigt, dass kontinuierliche raumf¨
ullende Kurven
zu einer quasi-optimalen Partitionierung des Gitters f¨
uhren [88]. F¨
ur diese Kurven
existiert eine Konstante Cpart, so dass im r-dimensionalen Gitter f¨
ur eine Partition der
Gr¨
oße vdie obere Schranke
sCpart ·v(d1)/d (3.9)
3.3. PARTITIONIERUNGSQUALIT ¨
AT IM GITTER 35
f¨
ur die Oberfl¨
ache der Partition gilt. Dabei ist die Konstante Cpart von der Kurve
abh¨
angig und entspricht im zweidimensionalen Gitter 4 · Pcurve
max aus der obigen De-
finition. Die Begr¨
undung f¨
ur die Schranke erfolgt ¨
uber die Ergebnisse zur Lokalit¨
at
kontinuierlicher raumf¨
ullender Kurven (vgl. Abschnitt 2.2.1).
Zudem konnte er zeigen, dass die obere Schranke (3.9) auch f¨
ur einige irregul¨
are Gra-
phen gilt, wenn diese mittels schrittweiser Verfeinerung aus einem Gitter entstanden
sind [87]. F¨
ur diese als quasi-uniform bezeichnete Struktur m¨
ussen in jedem Verfeine-
rungsschritt bestimmte Schranken eingehalten werden, die ein Intervall f¨
ur die Anzahl
der Elemente angeben, in die ein vorhergehendes Element zerlegt werden muss. Wird
eine Kurve durch die Elemente gelegt, deren Struktur in den Verfeinerungsschritten
sukzessive erweitert wird (verallgemeinerte Sierpi´nski Kurve), kann die oben angege-
bene Schranke f¨
ur die Oberfl¨
ache erzielt werden.
In den folgenden Abschnitten werden Schranken f¨
ur die Partitionierungsqualit¨
at im
zweidimensionalen Gitter hergeleitet. Neben dem schlechtesten Fall wird dabei auch
der mittlere Fall betrachtet, der f¨
ur die Partitionierung eines Graphen in viele Teile
von gr¨
oßerer Bedeutung ist.
3.3.2 Qualit¨
at im schlechtesten Fall
Zun¨
achst wird die Partitionierungsqualit¨
at raumf¨
ullender Kurven im schlechtesten Fall
untersucht. F¨
ur die Lebesgue-Kurve kann ¨
uber eine obere und eine untere Schran-
ke eine genaue Absch¨
atzung der Qualit¨
at angegeben werden. F¨
ur die Qualit¨
at der
Hilbert- und der βΩ-Kurve k¨
onnen untere Schranken gezeigt werden, die beweisen,
dass die Lebesgue-Kurve bei der Betrachtung des schlechtesten Falles die beste Par-
titionierungsqualit¨
at der untersuchten Kurven aufweist. Experimentelle Ergebnisse in
Abschnitt 3.3.4 belegen, dass die gefundenen unteren Schranken wahrscheinlich sehr
nahe an den tats¨
achlichen Partitionierungsqualit¨
aten der beiden Kurven liegen.
3.3.2.1 Lebesgue-Kurve
Die analytischen Untersuchungen beginnen mit der Lebesgue-Kurve. Diese ist durch
ihre einfache Konstruktionsvorschrift, ohne Spiegelung oder Drehung der Basisstruktur,
am leichtesten zu analysieren. Daher ist es insbesondere m¨
oglich, auch eine relativ
scharfe obere Schranke f¨
ur die Qualit¨
at zu bestimmen.
Untere Schranke Der Beweis der unteren Schranke erfolgt durch die Konstruktion
einer Partition entlang der Lebesgue-Kurve mit schlechter Qualit¨
at. Die symmetrische
Partition ist durch eine Separationslinie von hohem Level geteilt. Jede H¨
alfte enth¨
alt
Quadrate der Gr¨
oße 4k, 4k1, 4k2, . . . , 42, 41und zwei der Gr¨
oße 40. Eine H¨
alfte der
Partition und deren Lage innerhalb der gesamten Kurve ist in Abbildung 3.8 dargestellt.
36 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
2k
Abbildung 3.8: Untere Schranke f¨
ur die Partitionierungsqualit¨
at der Lebesgue-Kurve
Satz 3.1 F¨
ur die Partitionierungsqualit¨
at der Lebesgue-Kurve gilt im schlechtesten Fall
PLebesgue
max 3r3
8.
Beweis: F¨
ur jede H¨
alfte der Partition pkergibt sich das Volumen Vzu
V(pk) =
k
X
i=0
4i+ 40=4k+1 1
3+ 1 = 4k+1 + 2
3(3.10)
und die Oberfl¨
ache Szu
S(pk) = 6 ·2k.(3.11)
Aus (3.10) und (3.11) folgt die Qualit¨
at Pder gesamten Partition als
PLebesgue(pk) = 2·S(pk)
4·p2·V(pk)
=1
22·6·2k
q4k+1+2
3
= 3r3
2·2k
4k+1 + 2
>3r3
2·2k
2k+1 + 1 , da k 0
= 3r3
2·2k·2k+1 1
22k+2 1
>3r3
2·22k+1 2k
22k+2
= 3r3
2·1
21
2k+2 (3.12)
F¨
ur große kkonvergiert PLebesgue(pk) gegen 3 ·q3
81.84. ut
3.3. PARTITIONIERUNGSQUALIT ¨
AT IM GITTER 37
Obere Schranke Eine Partition, die sich aus der Struktur der Lebesgue-Kurve er-
gibt, kann in h¨
ochstens zwei unverbundene Gebiete zerfallen. Die Bestimmung einer
oberen Schranke f¨
ur die Partitionierungsqualit¨
at basiert auf der Betrachtung dieser
beiden Teilpartitionen. Sie erf¨
ullen besondere Eigenschaften, welche die Analyse er-
leichtern. Eine der beiden Teilpartitionen endet in der oberen rechten Ecke des Qua-
dranten, der sie vollst¨
andig enth¨
alt, die andere beginnt in der unteren linken Ecke
des Quadranten, der sie vollst¨
andig enth¨
alt (vgl. Abbildung 3.8). Damit sind beide
Teilpartitionen bzgl. dieser Eigenschaft symmetrisch zueinander. Zudem ist die Ober-
fl¨
ache einer zusammenh¨
angenden Partition im Falle der Lebesgue-Kurve kleiner oder
gleich der Oberfl¨
ache eines umschließenden Rechtecks2. Letztere Eigenschaft erlaubt
die Analyse grob-granularer Strukturen. ¨
Uber diese ergibt sich f¨
ur eine gegebene Parti-
tionsgr¨
oße eine obere Schranke f¨
ur die Oberfl¨
ache, woraus sich eine obere Schranke f¨
ur
die Partitionierungsqualit¨
at ableiten l¨
asst.
Ein einf¨
uhrendes Lemma betrachtet zun¨
achst die Qualit¨
at einer Partition, die mit dem
ersten Gitterelement beginnt und damit in jedem Fall zusammenh¨
angend ist.
Lemma 3.1 F¨
ur jede Partition p= [1, V ], die sich aus der Lebesgue-Kurve ergibt, gilt
PLebesgue
max 3
5.
Beweis: F¨
ur eine gegebene Partition p= [1, V ] mit Volumen V > 4 w¨
ahle kIN,
so dass 4 ·4k< V 16 ·4k. F¨
ur jedes Vin diesem Intervall existiert ein vmit der
Eigenschaft v·4k< V (v+ 1) ·4k. Die Oberfl¨
ache S(p) von pist kleiner oder gleich
der Oberfl¨
ache der Partition [1,(v+1) ·4k]. Die folgende Tabelle zeigt obere Schranken
f¨
ur die Oberfl¨
ache f¨
ur Partitionen mit Volumen V(v+ 1) ·4k. Die Oberfl¨
ache ist in
der untersuchten Granularit¨
at angegeben, d. h. sist so gew¨
ahlt, dass s·2kSgilt3.
v0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
s4 6 8 8 10 12 12 12 14 14 16 16 16 16 16 16
F¨
ur alle V > 4 gilt:
S(p)
4·pV(p)max s
4·v
4v < 16
3
51.34 ,
d. h. die schlechteste Qualit¨
at ergibt sich f¨
ur v= 5.
F¨
ur kleine Partitionen mit weniger als 5 Elementen sind die Partitionierungsqualit¨
aten
1.0 (V= 1), 1.5/21.061 (V= 2), 2/31.155 (V= 3), 1.0 (V= 4). ut
2Diese Eigenschaft gilt nicht f¨
ur alle untersuchten Kurven. Der schneckenf¨
ormige Verlauf bei Hilbert-
und βΩ-Kurve f¨
uhrt i. A. zu einer deutlich h¨
oheren Oberfl¨
ache.
3Die Tabelle enth¨
alt auch Werte f¨
ur v < 4, die nicht in diesem Lemma betrachtet werden. Diese
werden in Satz 3.2 verwendet.
38 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
















































2k
Abbildung 3.9: Partition der Form [1,V] in der Lebesgue-Kurve im 4 ×4-Gitter
Beispiel 3.1 Abbildung 3.9 zeigt das Oberfl¨
achen-Volumen Verh¨
altnis f¨
ur v= 4. Die-
ser Fall enth¨
alt alle Partitionen pder Form [1, V ] mit 4·4k< V 5·4k. Die resultierende
Oberfl¨
ache Sist in jedem Fall kleiner oder gleich 10 ·2k, d. h. es gilt s= 10. Daraus
folgt eine Qualit¨
at der Partition von
10
44=5
4
im schlechtesten Fall.
Der gleiche Beweisansatz wird f¨
ur die Bestimmung der Partitionsqualit¨
at beliebiger
Partitionen eingesetzt. Diese zerfallen in h¨
ochstens zwei unabh¨
angige Teilpartitionen,
welche die gleiche Struktur aufweisen, wie die in Lemma 3.1 untersuchten Partitionen.
Damit ergibt sich eine Partition pals Teilpartitionen p1und p2mit p=p1p2, die
beide in der Lebesgue-Struktur eines groben Gitters untersucht werden.
Satz 3.2 F¨
ur jedes Intervall pder Lebesgue-Kurve gilt die Partitionsqualit¨
at
PLebesgue
max 7
23.
Beweis: Sei kIN0so gew¨
ahlt, dass 4 ·4k< V 16 ·4k. Sei p=p1p2eine
Zerlegung der Partition p, so dass p1an der letzten Position einer Teilkurve vom Level
k+ 1 endet und p2an der ersten Position einer Teilkurve vom Level k+ 1 endet (vgl.
Voraussetzung in Lemma 3.1). Falls beide Partitionen geometrisch zusammenh¨
angend
sind, verringert sich die maximal m¨
ogliche Oberfl¨
ache und damit verbessert sich die
Qualit¨
at der Gesamtpartition p. Daher wird im Folgenden angenommen, dass beide
Teilpartitionen nicht verbunden sind.
Seien V1=|p1|und V2=|p2|die Volumen der Teilpartitionen. Es existieren v1und
v2mit der Eigenschaft v1,2·4k< V1,2(v1,2+ 1) ·4k. Es gilt 3 v1+v215 mit
v1, v2[0,15]. F¨
ur die Partitionsqualit¨
at gilt
P(p1p2)s1+s2
4·v1+v2
.(3.13)
Die Betrachtung aller m¨
oglichen Kombinationen f¨
ur v1und v2zeigt, dass das Maximum
f¨
ur v1= 1 und v2= 2 angenommen wird. Die zugeh¨
origen oberen Schranken f¨
ur die
Oberfl¨
achen sind s1= 6 und s2= 8 (vgl. Tabelle in Lemma 3.1) und es folgt
P(p1p2)6+8
4·1+2 =7
2·32.02 .
ut
3.3. PARTITIONIERUNGSQUALIT ¨
AT IM GITTER 39
Die Analyse der oberen Schranke erfolgt als Aufz¨
ahlung einer endlichen Menge von
Zerlegungen einer Partition. F¨
ur diese m¨
oglichen Kombinationen aus Teilpartitionen
wird jeweils eine obere Schranke der Qualit¨
at ermittelt und aus diesen Schranken die
h¨
ochste bestimmt. Die obere Schranke kann gesenkt werden, indem die Analyse in
ein feineres Gitter ¨
ubertragen wird. Dies ist gleichbedeutend mit der Verschiebung des
untersuchten Intervalls 4·4k< V 16·4k. Eine rechnerunterst¨
utzte Auswertung ergibt
folgende Verbesserungen der oberen Schranke:
4·4k< V 16 ·4k PLebesgue
max 6+8
4·1+2 <2.021 (3.14)
16 ·4k< V 64 ·4k PLebesgue
max 24 + 24
4·21 + 21 <1.852 (3.15)
256 ·4k< V 1024 ·4k PLebesgue
max 192 + 192
4·1365 + 1365 <1.838 (3.16)
Korollar 3.3 Die Partitionierungsqualit¨
at der Lebesgue-Kurve liegt in dem Bereich
1.837 <3r3
8CLebesgue
max 96
2730 <1.838 .(3.17)
3.3.2.2 Hilbert-Kurve
Satz 3.4 F¨
ur die Partitionierungsqualit¨
at der Hilbert-Kurve gilt im schlechtesten Fall
PHilbert
max 3r5
13 .
Beweis: Der Beweis erfolgt ¨
uber die Konstruktion einer Partition pkmit Volumen
V(pk) und Oberfl¨
ache S(pk), welche diese schlechte Partitionsqualit¨
at hat: Sei kIN
gerade. Das Zentrum der Partition ist gegeben als Quadrat der Gr¨
oße 4k+1. An zwei
Seiten des Quadrates werden jeweils 3 kleinere Quadrate der Gr¨
oßen 4k, 4k2, . . . , 42,
40schneckenf¨
ormig angeh¨
angt. Abbildung 3.10 zeigt die Konstruktion der Partition
und ihre Lage innerhalb der Hilbert-Kurve. Damit ergibt sich f¨
ur das Volumen Vzu
V(pk)=4k+1 + 2
k/2
X
i=0
3·42i
= 4k+1 + 616k/2+1 1
15
=52
54k2
5.(3.18)
Der entsprechende Rand Sergibt
S(pk)=8·2k+ 2
k/2
X
i=0 22i+ 7 ·22i
40 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
Abbildung 3.10: Untere Schranke f¨
ur die Partitionierungsqualit¨
at der Hilbert-Kurve
= 8 ·2k+ 12
k/2
X
i=0
22i
= 8 ·2k+ 124k/2+1 1
3
= 24 ·2k4.(3.19)
Damit gilt f¨
ur eine untere Schranke f¨
ur Hilbert-Kurven
PHilbert(pk) = S(pk)
4·pV(pk)
=24 ·2k4
4·q52
54k2
5
>24 ·2k4
4q52
52k
=r5
13 ·31
2k+1 .(3.20)
PHilbert(pk) konvergiert gegen 3 ·q5
13 1.86 f¨
ur große k.ut
3.3.2.3 β-Indizierung
Satz 3.5 F¨
ur die Partitionierungsqualit¨
at der β-Kurve gilt im schlechtesten Fall
PβInd
max 3r3
7.
Beweis: Die Konstruktion einer Partition schlechter Qualit¨
at in der βΩ-Kurve findet
sich in der Verfeinerung der geraden Grundstruktur. Der Verlauf der Partition und
die Lage innerhalb des Schemas sind in Abbildung 3.11 dargestellt. Im Zentrum der
Partition pksteht ein Quadrat der Gr¨
oße 4k+1. An zwei Seiten des Quadrates werden
jeweils 2 kleiner Quadrate der Gr¨
oßen 4k, . . . , 41, 40schneckenf¨
ormig angeh¨
angt. Damit
3.3. PARTITIONIERUNGSQUALIT ¨
AT IM GITTER 41
2k+1
2k
Abbildung 3.11: Untere Schranke f¨
ur die Partitionierungsqualit¨
at der βΩ-Kurve
gilt f¨
ur das Volumen V
V(pk)=4k+1 + 2
k
X
i=0
2·4i
= 4k+1 + 44k+1 1
3
=28
34k4
3(3.21)
und f¨
ur den entsprechenden Rand S
S(pk)=8·2k+ 2
k
X
i=0 2i+ 5 ·2i
= 8 ·2k+ 8
k
X
i=0
2i
= 8 ·2k+ 8 2k+1 1
= 24 ·2k8.(3.22)
Damit ergibt sich eine Partitionsqualit¨
at von
PβInd(pk)S(pk)
4·pV(pk)
=24 ·2k8
4q28
34k4
3
>24 ·2k8
8q7
32k
=r3
738
2k.(3.23)
PβInd(pk) konvergiert gegen 3q3
71.96 f¨
ur große k.ut
Korollar 3.6 Im schlechtesten Fall ist die Partitionierungsqualit¨
at der Lebesgue-Kurve
besser als die der Hilbert- und β-Kurve, d. h.
PLebesgue
max <PHilbert
max und
PLebesgue
max <PβInd
max
42 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
Beweis: Der Beweis ergibt sich direkt aus den unteren Schranken von Hilbert- und βΩ-
Kurve (S¨
atze 3.4 und 3.5) und der oberen Schranke der Lebesgue-Kurve (Satz 3.3). ut
3.3.3 Qualit¨
at der Lebesgue-Kurve im mittleren Fall
Dieser Abschnitt konzentriert sich auf die Untersuchung der Partitionierungsqualit¨
at
im mittleren Fall. Aufgrund ihrer regelm¨
aßigen Struktur l¨
asst sich f¨
ur die Lebesgue-
Kurve eine sehr scharfe Schranke finden. Die Qualit¨
at wird ¨
uber die Wahrscheinlichkeit
bestimmt, dass eine benachbarte Zelle innerhalb der gleichen Partition liegt. Diese ist
von der Gr¨
oße der Partition, der relativen Position innerhalb der Partition und der
Distanz ¨
uber den Pfad der Kurve zur benachbarten Zelle abh¨
angig. Eine Herleitung
f¨
ur die gleiche Schranke ¨
uber die Aufz¨
ahlung aller m¨
oglichen F¨
alle ist in Anhang A
angegeben [80].
Eine M¨
oglichkeit, die Gr¨
oße der Oberfl¨
ache einer Partition zu berechnen, liegt in der
Bestimmung aller Kanten, die zwischen zwei Zellen der Partition liegen (innere Kan-
ten). Jede der VGitterzellen hat 4 Kanten, wobei die inneren Kanten an jeweils zwei
Zellen liegen. Damit ergibt sich die gesuchte Oberfl¨
ache aus der Differenz zwischen 4V
und dem doppelten der Anzahl aller inneren Kanten. Eine Zelle hat eine innere Kante
an der oberen oder rechten Seite, wenn der Index der Zelle oberhalb bzw. rechts klein
genug ist, so dass sie auch noch Teil der gleichen Partition ist. Sei die obere Separa-
tionslinie einer Zelle vom Level qund die rechte vom Level p(vgl. Abb. 3.12). Dann
sind die Indizes der oberen Zelle um Uq=2·4q+1
3und die rechten um Rp=4·4p+2
3gr¨
oßer
(vgl. Lemma 2.1, S. 10).
p
q
Abbildung 3.12: Nachbarschaft ¨
uber Separationslinien beliebigen Levels an einer Zelle
Lemma 3.2 Sei Vdie gew¨
unschte Partitionsgr¨
oße. Im mittleren Fall ergibt sich bei
der Lebesgue-Kurve eine Oberfl¨
ache Svon
S3
2kV+8
32k5
3
1
2kf¨
ur V"2·4k+ 1
3,4·4k+ 2
3"und
S2
2kV+ 4 ·2k1
2kf¨
ur V"4·4k+ 2
3,2·4k+1 + 1
3",mit kIN0.
Beweis:
Die Anzahl der Zellen mit einer Nachbarzelle, die innerhalb der Partition liegt und
durch eine Separationslinie vom Level lgetrennt ist, ist gegeben durch max{VRl,0}
3.3. PARTITIONIERUNGSQUALIT ¨
AT IM GITTER 43
und max{VUl,0}f¨
ur rechte und obere Nachbarn. Diese Anzahl ergibt zusammen mit
der Wahrscheinlichkeit eines Levels leine Oberfl¨
ache von
S4V2
X
i=0
1
2i+1 max{VUi,0}2
X
i=0
1
2i+1 max{VRi,0}.(3.24)
F¨
ur die weitere Auswertung dieses Terms wird der betrachtete Raum in Intervalle der
Klassen
I1="2·4k+ 1
3,4·4k+ 2
3"und
I2="4·4k+ 2
3,2·4k+1 + 1
3"
aufgeteilt. Die Gr¨
oße der Oberfl¨
ache ist f¨
ur alle Partitionen pin Intervallen der Klasse I1
S14V
k
X
i=0
1
2i V2·4i+ 1
3!
k1
X
i=0
1
2i V4·4i+ 2
3!
= 4V
k
X
i=0 1
2iV1
32
3·2i
k1
X
i=0 1
2iV2
34
3·2i
= 4VV1
321
2k+2
32k+1 1
V2
321
2k1+4
32k1
=3
2kV+8
32k5
3
1
2k(3.25)
und in Intervallen der Klasse I2
S24V
k
X
i=0
1
2i V2·4i+ 1
3!
k
X
i=0
1
2i V4·4i+ 2
3!
= 4V
k
X
i=0 1
2iV1
33
2·2i
k
X
i=0 1
2iV2
34
3·2i
= 4VV1
321
2k+2
32k+1 1
V2
321
2k+4
32k+1 1
=2
2kV+ 4 ·2k1
2k.(3.26)
ut
Anmerkung 3.1 An den Intervallgrenzen von I1bzw. I2sind die Werte f¨
ur S1und
S2identisch.
An dieser Stelle ist zu beachten, dass die Wahrscheinlichkeit f¨
ur das Auftreten eines
bestimmten Separators vom Level lnicht genau p(l) = 1
2l+1 ist. F¨
ur l= 0 ist die
44 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
Wahrscheinlichkeit gr¨
oßer als p(0), f¨
ur alle anderen Level ist die Wahrscheinlichkeit
kleiner als p(l). Damit gibt diese Berechnung eine untere Schranke der inneren Kan-
ten einer Partition an und f¨
uhrt damit zu einer oberen Schranke f¨
ur die Gr¨
oße der
Oberfl¨
ache. Die Analyse der exakten Schranke zeigt, dass die hier ermittelten Gr¨
oßen
dem Konvergenzwert großer Gitter entsprechen. Entscheidend ist, dass die Qualit¨
at der
angegebenen Schranken nur von der Gr¨
oße des Gitters, nicht aber von der Gr¨
oße der
Partition abh¨
angig ist.
Satz 3.7 F¨
ur die Partitionierungsqualit¨
at der Lebesgue Kurve gilt im mittleren Fall
die obere Schranke
PLebesgue
avg 5
23.
Beweis: Die schlechteste Partitionierungsqualit¨
at ergibt sich an den R¨
andern der Inter-
valle aus den Klassen I1und I2. F¨
ur die Bestimmung einer oberen Schranke ist damit
eine n¨
ahere Untersuchung dieser Stellen notwendig. Bezeichne adie Intervallgrenzen
2·4k+1
3und bdie Intervallgrenzen 4·4k+2
3. Seien Sa, Sb, Va, Vbdie Oberfl¨
achen und Vo-
lumina an den Stellen aund b. An den Positionen b(linke R¨
ander in der Intervall-
Klasse I2) gilt f¨
ur das Volumen
Vb=4·4k+ 2
3
3Vb2=4k+1
3Vb2
2= 2k, da VbIN.
(3.27)
Eingesetzt in das Resultat f¨
ur S2aus Lemma 3.2 ergibt
Sb2
2kVb+ 4 ·2k1
2k
=4Vb2
3Vb2+ 2p3Vb2 = 10Vb6
3Vb2
10
3pVb,daVbIN (3.28)
F¨
ur die Positionen a(linke R¨
ander der Intervalle in der Klasse I1) gilt entsprechend
Sa72
3·pVa.(3.29)
Die Oberfl¨
ache ist an der zun¨
achst betrachteten Intervallgrenze (b) offensichtlich gr¨
oßer.
Die Partitionierungsqualit¨
at im mittleren Fall ist damit gegeben durch
CLebesgue
avg 10
3·1
4=5
231.44 .(3.30)
ut
3.3. PARTITIONIERUNGSQUALIT ¨
AT IM GITTER 45
Eine Analyse der Hilbert-Kurve ist in ¨
ahnlicher Form nicht m¨
oglich. Die Distanz ¨
uber
den Pfad der Kurve f¨
ur zwei direkt benachbarte Zellen im Gitter ist nicht nur von
dem Level des Separators abh¨
angig. Abschnitt 4.5.3.2 zeigt, wie ¨
uber die Untersu-
chung grobgranularer Strukturen eine obere Schranke f¨
ur die Distanzen gefunden wer-
den kann, wenn die Selbst¨
ahnlichkeit der Kurve einbezogen wird. Dieser Ansatz erlaubt
jedoch auch keine weitere Auswertung nach dem Schema, das f¨
ur die Lebesgue-Kurve
angewendet werden kann. Dieselbe Problematik ergibt sich bei der Untersuchung der
βΩ-Indizierung, die sich mit ihren zwei Ableitungsregeln in der Analyse nochmals kom-
plexer darstellt.
3.3.4 Experimentelle Ergebnisse
Die analytischen Ergebnisse in den vorangegangenen Abschnitten zeigen offensichtli-
che L¨
ucken. Bei der Untersuchung des schlechtesten Falles ist eine scharfe Schranke
f¨
ur die Lebesgue-Kurve beweisbar. Im vorherigen Abschnitt sind untere Schranken f¨
ur
die Partitionierungsqualit¨
at der Hilbert- und der βΩ-Indizierung gezeigt, jedoch kei-
ne entsprechenden oberen. F¨
ur den mittleren Fall konnte eine untere Schranke f¨
ur die
Lebesgue-Kurve angegeben werden, die jedoch schon aufgrund der wenigen Absch¨
atzun-
gen im Verlauf des Beweises als scharf angesehen werden kann.
Um die bekannten Schranken besser einordnen zu k¨
onnen, sind im Folgenden umfas-
sende Simulationsergebnisse dargestellt. Im Gitter der Gr¨
oße 1024 ×1024 werden alle
m¨
oglichen Partitionen von einem gegebenen Volumen Vuntersucht und anschließend
hinsichtlich des schlechtesten und mittleren Falles ausgewertet. An dieser Stelle ist auch
die H-Indizierung in die Betrachtung mit aufgenommen, um deren schlechte Qualit¨
at
im Bereich der Partitionierung von Gittern zu verdeutlichen.
Tabelle 3.1 fasst die experimentell ermittelten Partitionierungsqualit¨
aten zusammen.
Die fett gedruckten Eintr¨
age sind Ergebnisse, die nahe an bewiesenen Schranken liegen.
Diese lassen vermuten, dass die gefunden Schranken recht scharf sind, obgleich der
Beweis f¨
ur die entsprechende obere Schranke fehlt.
Die Simulationsergebnisse sind in Abbildung 3.13 und 3.14 detailliert angegeben. Die
Partitionierungsqualit¨
aten des schlechtesten Falls sind stark oszillierend, so dass sie
schlechtester mittlerer
PFall Fall
Hilbert 1.87 1.39
Lebesgue 1.84 1.45
βΩ-Indizierung 1.96 1.37
H-Indizierung 2.3 1.55
Tabelle 3.1: Experimentell ermittelte Partitionierungsqualit¨
at der vier Indizierungssche-
mata
46 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
sich nicht ¨
ubersichtlich in einem gemeinsamen Diagramm darstellen lassen. Bei allen
Kurven, insbesondere jedoch bei der Lebesgue-Kurve, zeigt sich die Selbst¨
ahnlichkeit
der raumf¨
ullenden Kurven durch den sich regelm¨
aßig wiederholenden Verlauf der Mess-
kurven. Das Fehlen der hochfrequenten Oszillationen bei der Lebesgue-Kurve liegt an
der Tatsache, dass der Rand der Partition der Gr¨
oße eines umfassenden Rechtecks ent-
spricht (vgl. Lemma 3.1). Damit w¨
achst die L¨
ange des Randes streng monoton. Der
schneckenf¨
ormige Verlauf der anderen Kurven f¨
uhrt dagegen zu st¨
andig schwankenden
Partitionsr¨
andern, da nicht jede Partitionsgr¨
oße den gleichen Anteil an schneckenf¨
ormi-
gen Partitionsr¨
andern erm¨
oglicht. Da die schneckenf¨
ormigen Enden der Partitionen mit
wachsendem Partitionsvolumen l¨
anger werden k¨
onnen, steigt bei diesen raumf¨
ullenden
Kurven der normierte Partitionsrand im untersuchten Bereich leicht an.
1.5
1.6
1.7
1.8
1.9
2
2.1
2.2
10 100 1000 10000 100000
Qualität
Partitionsvolumen
Hilbert
1.5
1.6
1.7
1.8
1.9
2
2.1
2.2
10 100 1000 10000 100000
Qualität
Partitionsvolumen
Lebesgue
1.5
1.6
1.7
1.8
1.9
2
2.1
2.2
10 100 1000 10000 100000
Qualität
Partitionsvolumen
βΩ−Indizierung
1.5
1.6
1.7
1.8
1.9
2
2.1
2.2
10 100 1000 10000 100000
Qualität
Partitionsvolumen
H−Indizierung
Abbildung 3.13: Partitionierungsqualit¨
at der vier Indizierungsschemata im schlechtes-
ten Fall
Der Verlauf der Messwerte verdeutlicht auch, dass die Wahl der Definition der Partitio-
nierungsqualit¨
at sinnvoll ist. Im untersuchten Bereich von Partitionsgr¨
oßen zwischen
10 und 100 000 Elementen ergeben sich abgesehen von den Oszillationen nahezu gleich
bleibende Werte.
Der Unterschied in der Partitionierungsqualit¨
at von Lebesgue- und Hilbert-Kurve ist
¨
außerst gering. Die Experimente lassen den Schluss zu, dass die gefundene Schranke
von PHilbert
max <3q5
13 1.86 nahe der tats¨
achlichen Partitionierungsqualit¨
at im schlech-
testen Fall liegt. Die βΩ-Indizierung hat mit etwa 1.96 offensichtlich eine schlechtere
Qualit¨
at. Diese hohen Werte werden jedoch nur an wenigen Stellen angenommen, so
dass die Qualit¨
at der Partitionen bei vielen Volumina in der gleichen Gr¨
oßenordnung
3.3. PARTITIONIERUNGSQUALIT ¨
AT IM GITTER 47
liegt, wie bei der Hilbert- und der Lebesgue-Kurve.
Im Gegensatz zu den anderen Indizierungsschemata steigt bei der H-Indizierung der
normierte Partitionsrand deutlich im untersuchten Raum. Die Grundstruktur einer
besonders schlechten Partition ist ein gleichschenkliges Dreieck, dessen Schenkel an
diagonalen Separatoren verlaufen. Diese Grundstruktur wird durch schneckenf¨
ormige
Strukturen an den Endpunkten der dritten Kante erg¨
anzt. Neben dem Qualit¨
atsver-
lust durch l¨
angere schneckenf¨
ormige Strukturen wie auch bei der Hilbert- und der βΩ-
Kurve, w¨
achst auch der normierte Rand des Dreiecks, der die Grundstruktur bildet.
Daher ist in dem untersuchten Bereich die Konvergenz der Partitionierungsqualit¨
at f¨
ur
beliebig große Partitionen noch nicht deutlich. F¨
ur die Untersuchung bedeutend gr¨
oße-
rer Partitionsvolumina ist die entsprechende Vergr¨
oßerung des Basisgitters notwendig.
Anderenfalls ist die Partition nicht beliebig im Gitter positionierbar und spiegelt damit
nicht die Struktur und damit die Qualit¨
at im schlechtesten Fall wider. Die Wahl der
Gr¨
oße des Basisgitters st¨
oßt jedoch an die Grenze des Speicherraumes auf den Syste-
men, die f¨
ur die Auswertung der Partitionierungseigenschaften der raumf¨
ullenden Kur-
ven zur Verf¨
ugung standen. Bei einer vorsichtigen Sch¨
atzung kann jedoch angenommen
werden, dass die Partitionierungsqualit¨
at 2.3 nicht ¨
ubersteigt.
1.3
1.35
1.4
1.45
1.5
1.55
1.6
10 100 1000 10000 100000
Qualität
Partitionsvolumen
H−Indizierung
Lebesgue
Hilbert
βΩ−Indizierung
Abbildung 3.14: Partitionierungsqualit¨
at im mittleren Fall
In Abbildung 3.14 sind die Ergebnisse zum mittleren Fall dargestellt. Diese sind von
großer Bedeutung, da sie eine Einordnung der einzigen analytischen L¨
osung, die der
Lebesgue-Kurve, erlauben. Aufgrund der Mittelung der Partitionierungsqualit¨
aten bei
festem Volumen ergeben sich keine hochfrequenten Oszillationen im Verlauf der Mess-
kurven. Andere strukturelle Eigenschaften bleiben erhalten: Die schneckenf¨
ormigen
raumf¨
ullenden Kurven zeigen einen Anstieg des normierten Randes, w¨
ahrend die Le-
besgue-Kurve eine gleich bleibende Qualit¨
at aufweist. Zudem konvergieren die Mess-
werte zur H-Indizierung weniger schnell, als die der anderen schneckenf¨
ormigen Kur-
ven. Die Zyklen mit der L¨
ange vier geben die Selbst¨
ahnlichkeit der Kurven und damit
auch die der induzierten Partitionen wieder. Der st¨
uckweise parabelf¨
ormige Verlauf der
Messwerte der Lebesgue-Kurve ergibt sich aus den st¨
uckweise linear wachsenden Parti-
tionsr¨
andern zusammen mit der vorgenommenen Normierung und der logarithmischen
48 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
Skalierung der x-Achse (vgl. Beweis zu Lemma 3.2).
Die Rangfolge bei der mittleren Partitionierungsqualit¨
at zeigt die βΩ-Indizierung vor
Hilbert- und Lebesgue-Kurve. Wie zu erwarten, zeigt die H-Indizierung auch im mittle-
ren Fall die schlechtesten Partitionierungseigenschaften. Damit ergibt sich f¨
ur die drei
rekursiven raumf¨
ullenden Kurven die umgekehrte Ordnung wie bei der Untersuchung
des schlechtesten Falls:
PLebesgue
max <PHilbert
max <PβInd
max <PHInd
max und
PβInd
avg <PHilbert
avg <PLebesgue
avg <PHInd
avg .
3.4 Partitionierungsqualit¨
at in unstrukturierten Netzen
Der vorangegangene Abschnitt hat sich bei der Untersuchung der Qualit¨
at von Parti-
tionen auf Basis raumf¨
ullender Kurven auf die Graphstruktur des Gitters beschr¨
ankt.
Anwendungen im Bereich der FEM basieren jedoch im Allgemeinen auf unstruktu-
rierten Netzen, deren Struktur sich deutlich vom Gitter unterscheiden kann. Die oben
gezeigten guten Eigenschaften der raumf¨
ullenden Kurven bei der Partitionierung von
Gittern ergibt sich in weiten Teilen aus der Tatsache, dass die Kurven ¨
uber die gleiche
Struktur definiert sind. Zudem besteht aufgrund der regelm¨
aßigen Struktur des Gitters
kein großer Unterschied zwischen einer geometrisch oder einer strukturell basierten Par-
titionierungsmethode. Da sich die Ergebnisse nicht ¨
ubertragen lassen, befasst sich dieser
Teil der Arbeit mit der Frage, wie gut sich die Kurven zur Partitionierung allgemeiner
FE-Netze einsetzen lassen. Es zeigt sich, dass die Qualit¨
at der Partitionierungen keines-
falls so gut ist wie im Gitter. Der Verlust gegen¨
uber anderen Partitionierungsverfahren
ist jedoch in den meisten F¨
allen begrenzt. Um eine Vergleichbarkeit mit anderen Par-
titionierungsverfahren zu erm¨
oglichen, wird an dieser Stelle die Knotenpartitionierung
betrachtet.
Im folgenden Abschnitt werden die charakteristischen Eigenschaften der Partitionie-
rung mittels Indizierung an einem Beispiel aufgezeigt. Danach wird die Partitionie-
rungsqualit¨
at an verschiedenen zwei- und dreidimensionalen Netzen untersucht. Die
Ergebnisse werden mit den Resultaten des Partitionierungswerkzeugs Metis verglichen.
Da f¨
ur große irregul¨
are Graphen im Allgemeinen keine optimalen L¨
osungen f¨
ur die
k-Partitionierung existieren, kann ein Vergleich nur mit einer anderen heuristischen
Methode durchgef¨
uhrt werden. Die Qualit¨
at von Metis ist in verschiedenen Publikatio-
nen gezeigt worden, so dass sich Metis als hochwertiger Vergleich eignet [35, 45, 73].
Metis beinhaltet zwei Varianten der Partitionierung: Die direkte k-Partitionierung, die
im Folgenden als kMetis bezeichnet wird und die k-Partitionierung durch rekursive
Bisektion, pMetis.
3.4. PARTITIONIERUNGSQUALIT ¨
AT IN UNSTRUKTURIERTEN NETZEN 49
3.4.1 Beispiel: 5-Partitionierung des Benchmarks biplane
In Abschnitt 3.2.2 sind die prinzipiellen St¨
arken und Schw¨
achen der Partitionierung
mittels raumf¨
ullender Kurven am Beispiel der 5-Partitionierung des 16 ×16-Gitters
diskutiert. Im Folgenden werden die untersuchten Kurven hinsichtlich ihrer Partitio-
nierungsqualit¨
at in einem unstrukturierten Netz verglichen.
Abbildung 3.15 zeigt ein zweidimensionales FE-Netz mit zwei L¨
ochern. Die Gitter-
struktur ist in einigen Bereichen, vornehmlich an den R¨
andern der L¨
ocher, mehrstufig
mittels Viertelung der Gitterzellen verfeinert. Rund 90 Prozent aller Knoten und Kan-
ten des Netzes liegen im Gebiet der h¨
ochsten Verfeinerung, so dass der resultierende
Kantenschnitt vom Verlauf der Partitionsgrenzen in diesem Bereich dominiert wird.
Der rechte Teil von Abbildung 3.15 zeigt die von kMetis berechnete 5-Partitionierung.
Der Kantenschnitt betr¨
agt 299. Die Partitionsr¨
ander liegen im Bereich der L¨
ocher des
Netzes und verlaufen im Netz ¨
uber relativ kurze Wege durch die Gebiete der h¨
ochs-
ten Verfeinerung. Lediglich zwischen der blauen und der t¨
urkisen Partition verl¨
auft die
Grenze im Bereich der h¨
ochsten Verfeinerung. Dort ergibt sich etwa ein Drittel (98) des
gesamten Kantenschnittes.
Abbildung 3.15: Benchmark biplane (links) und 5-Partitionierung durch kMetis (rechts)
Die 5-Partitionierungen, die sich durch die Anwendung der untersuchten raumf¨
ullen-
den Kurven ergeben, sind Abbildung 3.16 angegeben. Diese geometrischen Verfahren
vernachl¨
assigen die Struktur des Graphen, so dass Partitionsgrenzen nicht entlang der
L¨
ocher verlaufen und auch vermehrt im Bereich der h¨
ochsten Netzverfeinerung liegen.
F¨
ur die vier Indizierungsschemata ergeben sich Kantenschnitte von 627 (Hilbert), 611
(Lebesgue), 863 (Sierpi´nski) und 615 (βΩ). Damit liegt der Kantenschnitt um einen
Faktor zwei bis drei ¨
uber dem der Partitionierungsheuristik. Dieser Qualit¨
atsverlust ist
deutlich gr¨
oßer als in regelm¨
aßigen Gittern.
Bei allen vier Partitionierungen ergeben sich aufgrund der L¨
ocher im Netz ein oder
50 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
Hilbert Lebesgue
Sierpi´nski βΩ-Indizierung
Abbildung 3.16: biplane: 5-Partitionierungen ¨
uber raumf¨
ullende Kurven
zwei nicht-zusammenh¨
angende Partitionen. Desweiteren sind einige Partitionen nur
schwach zusammenh¨
angend, d. h. sie zerfallen bei der Entfernung weniger Kanten. Die-
se Struktur impliziert eine relativ große Anzahl externer Kanten. Abgesehen von diesen
offensichtlichen Schw¨
achen f¨
uhren die Indizierungsschemata Hilbert, Lebesgue und βΩ,
die lediglich auf vertikalen und horizontalen Schnitten basieren, zumeist zu st¨
uckweise
geradlinigen, achsenparallelen Partitionsgrenzen mit geringem Kantenschnitt in einem
solchen gitter¨
ahnlichen Netz. Dahingegen f¨
uhren die vornehmlich diagonalen Separati-
onslinien der Sierpi´nski-Kurve zu einem deutlich h¨
oheren Kantenschnitt trotz vergleich-
bar kompakter Partitionen. Die gewundene Struktur der Kurven Hilbert, Sierpi´nski und
β zeigen sich auch in diesem unstrukturierten Netz an den schneckenf¨
ormigen Enden
3.4. PARTITIONIERUNGSQUALIT ¨
AT IN UNSTRUKTURIERTEN NETZEN 51
der Partitionen. Dahingegen ergeben sich bei der Lebesgue-Kurve treppenf¨
ormige Par-
titionsgrenzen, z. B. zwischen der gelben und der gr¨
unen Partition.
Der Kantenschnitt bei der 5-Partitionierung des gegebenen Netzes bei einer zeilen-
weisen Indizierung der Knoten liegt bei 798 und damit im Bereich der Qualit¨
at der
raumf¨
ullenden Kurven. Es ergeben sich lediglich geradlinige Schnitte und die L¨
ocher
bilden Teile der Partitionsgrenzen. Die weiteren Untersuchungen zeigen jedoch, dass
bei einer Partitionierung in mehr Gebiete die Vorteile der kompakten Struktur, die sich
aus den raumf¨
ullenden Kurven ergeben, gr¨
oßer sind, als die Nachteile der schnecken-
oder treppenf¨
ormigen Struktur an deren Gebietsr¨
ander.
3.4.2 Beschreibung der Netze
Die experimentellen Untersuchungen finden auf Basis einer Sammlung von Netzen statt,
die schon in anderen Ver¨
offentlichungen als Benchmarks eingesetzt wurden [7, 21, 27,
37, 45, 68, 79]. Sie umfassen sowohl zwei- als auch dreidimensionale unstrukturierte
Netze. Da f¨
ur den Einsatz der raumf¨
ullenden Kurven Koordinaten der Knoten gegeben
sein m¨
ussen, schr¨
ankt sich die Auswahl m¨
oglicher Benchmark-Netze ein. Abgesehen
von dem regul¨
aren Gitter entstammen alle Netze FE-Anwendungen.
Die wichtigsten charakteristischen Eigenschaften der untersuchten zweidimensionalen
Netze sind in Tabelle 3.2 zusammengefasst. grid ist ein zweidimensionales Gitter der
Gr¨
oße 100 ×100. Es dient dem Vergleich dieser experimentellen Untersuchung mit den
ermittelten theoretischen Ergebnissen zur Partitionierungsqualit¨
at im vorangegangenen
Abschnitt. Alle anderen Netze haben eine irregul¨
are Struktur mit erh¨
ohter Netzdichte
in einzelnen Bereichen. Die Netze airfoil,crack und big sind triangulierte Gebiete mit
einem hohen Knotengrad. Dabei ist crack durch die regul¨
are Verfeinerung eines Gitters
entstanden, so dass alle Kanten entweder achsenparallel oder diagonal verlaufen. Die
anderen drei Netze haben eine gitter¨
ahnliche Struktur mit lediglich achsenparallel ver-
laufenden Kanten. Die Netze airfoil,big und biplane haben L¨
ocher im diskretisierten
Gebiet.
Netz |V| |E|degmin degavg degmax
grid 10 000 19 600 2 3.96 4
airfoil 4 253 12 289 3 5.78 9
crack 10 240 30 380 3 5.93 8
big 15 606 45 878 3 5.88 10
biplane 21 701 42 038 2 3.87 4
stufe 24 010 46 414 2 3.87 4
shock 36 476 71 290 2 3.91 4
Tabelle 3.2: Zweidimensionale Benchmarks
52 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
Netz |V| |E|degmin degavg degmax
pwt 36 519 144 794 1 7.93 15
brack 62 631 366 559 3 11.71 32
rotor 99 617 662 431 5 13.30 125
wave 156 317 1 059 331 3 13.55 44
hermes 320 194 3 722 641 4 23.25 56
Tabelle 3.3: Dreidimensionale Benchmarks
Tabelle 3.3 zeigt die charakteristischen Eigenschaften der dreidimensionalen Bench-
marks. Alle Netze sind durch Tetraeder diskretisierte Objekte oder Gebiete. Das Netz
pwt dient der Simulation in einem kleinen Rohrsystem. Die Oberfl¨
ache ist in Abbil-
dung 3.6 (S. 32) dargestellt. brack ist die Diskretisierung eines mechanischen Bauteils.
Die Beispiele rotor,wave und hermes sind Netze zur Str¨
omungssimulation. Im Gegen-
satz zu den vorhergehenden umfassen sie ein konvexes Gebiet mit einem darin ent-
haltenen Objekt. rotor dient der Simulation an einer Rotorspitze, welche von einem
flachen zylindrischen Simulationsraum umgeben ist. Von der Rotorspitze im Zentrum
des Zylinders verl¨
auft eine kegelf¨
ormiges Gebiet mit einer sehr feinen Diskretisierung
zum Rand des Zylinders. wave und hermes sind quaderf¨
ormige Bereiche die eine Flug-
zeugh¨
alfte bzw. die Spitze eines Raumgleiters beinhalten. Die Netze sind im Bereich
der umstr¨
omten Objekte verfeinert.
3.4.3 Ergebnisse
3.4.3.1 Zweidimensionale Netze
Der Benchmark grid dient zur Bewertung der analytischen Resultate aus Abschnitt 3.3.
Abbildung 3.17 vergleicht den Kantenschnitt der Partitionierung mittels der untersuch-
ten raumf¨
ullenden Kurven mit dem von kMetis. Der Kantenschnitt der Partitionierung
w¨
achst mit der Anzahl der Partitionen f¨
ur alle Heuristiken. Abgesehen von kleineren
Zweierpotenzen liefert kMetis die Partitionierung mit dem kleinsten Kantenschnitt. F¨
ur
die 2-, 4-, 8- und 16-Partitionierung ist eine Zerlegung des 100×100 Gitters in Quadra-
te bzw. Rechtecke m¨
oglich, die von den raumf¨
ullenden Kurven Hilbert, Lebesgue und
β gefunden werden. Die Differenz im Kantenschnitt zwischen den Partitionierungen
auf Basis der raumf¨
ullenden Kurven und der L¨
osung von kMetis w¨
achst mit steigender
Anzahl an Partitionen, w¨
ahrend der relative Qualit¨
atsgewinn f¨
allt.
In Abbildung 3.18 ist der mit den raumf¨
ullenden Kurven erzielte Kantenschnitt in
Relation zu der von kMetis gelieferten L¨
osung dargestellt. An den Partitionierungen,
die einer Zweierpotenz entsprechen, spiegelt sich ein wesentlicher Unterschied bei der
Konstruktion der Kurven am deutlichsten wider. W¨
ahrend Hilbert-, Lebesgue- und βΩ-
Kurve lediglich ¨
uber horizontale und vertikale Separatoren definiert sind, besteht die
3.4. PARTITIONIERUNGSQUALIT ¨
AT IN UNSTRUKTURIERTEN NETZEN 53
0
500
1000
1500
2000
2500
3000
2 4 8 16 32 64 128
Kanten
Partitionen
Hilbert
Lebesgue
Sierpinski
βΩ−Indizierung
kmetis
Abbildung 3.17: Kantenschnitt im Beispiel grid
Konstruktion der Sierpi´nski-Kurve zus¨
atzlich aus diagonalen Separatoren. Erstgenannte
Kurven finden eine Zerlegung in Quadrate bzw. Rechtecke, w¨
ahrend die Partitionen der
Sierpi´nski-Kurve aus Dreiecken bestehen. F¨
ur die 2-, 4-, 8- und 16-Partitionierung sind
die Kantenschnitte der rekursiven raumf¨
ullenden Kurven denen von kMetis um bis zu
17 Prozent ¨
uberlegen. Dagegen sind die Partitionierungen, die auf der Sierpi´nski-Kurve
basieren um etwa 50 bis 80 Prozent schlechter. F¨
ur gr¨
oßere Zweierpotenzen ist keine
triviale Zerlegung in Rechtecke m¨
oglich und die Kurven liefern schlechtere L¨
osungen
als kMetis. Dies gilt auch f¨
ur beliebige andere Anzahlen an Partitionen.
0.8
1
1.2
1.4
1.6
2 4 8 16 32 64 128
relativer Kantenschnitt
Partitionen
Hilbert
Lebesgue
Sierpinski
βΩ−Indizierung
Abbildung 3.18: Partitionierungsqualit¨
at relativ zu kMetis im Benchmark grid
F¨
ur alle untersuchten Partitionierungen zeigt sich, dass die Sierpi´nski-Kurve die schlech-
testen Resultate liefert. Etwas besser verh¨
alt sich die Lebesgue-Kurve, deren Vorsprung
jedoch mit wachsender Partitionsanzahl schrumpft. Am besten verhalten sich Hilbert-
und βΩ-Kurve. Letztere weist ab der 16-Partitionierung einen Qualit¨
atsverlust von
weniger als 30 Prozent gegen¨
uber kMetis auf. Diese Reihenfolge entspricht den Er-
gebnissen aus Abschnitt 3.3.4. Dort wird die mittlere Qualit¨
at bzgl. unterschiedlicher
Partitionsvolumina verglichen, w¨
ahrend hier die Partitionsanzahl skaliert wird. Eine
54 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
direkte Umrechnung von der Partitionsanzahl auf die Partitionsgr¨
oße ist nur einge-
schr¨
ankt m¨
oglich, da die Untersuchungen auf Gittern von deutlich unterschiedlicher
Gr¨
oße basieren. Außerdem sind die Experimente in Abschnitt 3.3.4 als N¨
aherung f¨
ur
unendlich große Gitter eingesetzt. Dort wird der gesamte Rand der Partitionen sum-
miert, d. h. auch der Teil, der am Rand des Gitters liegt. Die Messungen zu dem hier
untersuchten Kantenschnitt liefern jedoch keinen Wert f¨
ur den Rand des Gitters.
In Abbildung 3.19 sind die Kantenschnitte relativ zur Wurzel der Partitionsvolumina
dargestellt.
normierter Kantenschnitt = Kantenschnitt ·2
#Partitionen ·#Knoten je Partition (3.31)
Die Normierung erlaubt die Darstellung der Partitionierungsqualit¨
at f¨
ur die untersuch-
ten raumf¨
ullenden Kurven gemeinsam mit dem Vergleichswert von kMetis. Sie ergibt
sich aus der Erwartung, dass die Oberfl¨
ache und damit auch die Anzahl der Schnitt-
kanten einer Partition im zweidimensionalen Raum proportional zur Wurzel des Volu-
mens w¨
achst und ist an die Definition der Partitionierungsqualit¨
at im Gitter angelehnt
(Def. 3.1, S. 34). Lediglich die Konstante 4 f¨
ur die Oberfl¨
ache eines Quadrates fehlt. Die
Normierung dient dem ¨
ubersichtlicheren qualitativen Vergleich der Partitionierungen
von Netzen unterschiedlicher Gr¨
oße und mit unterschiedlicher Partitionsanzahl. Der
normierte Wert wird f¨
ur eine große Anzahl an Partitionen gegen den mittleren Grad
des Graphen konvergieren. Der Verlauf der Messwerte kann einen Aufschluss ¨
uber die
Qualit¨
at der Partitionierungen geben: Liegt der normierte Kantenschnitt im gesamten
Bereich unter dem mittleren Kantenschnitt, sind die Partitionen von h¨
oherer Qualit¨
at,
im anderen Falle von schlechterer Qualit¨
at. Die Werte zeigen jedoch nicht, ob eine
m¨
ogliche gute Qualit¨
at an der St¨
arke des Partitionierungsverfahrens oder an den guten
Eigenschaften des Netzes liegt.
0
1
2
3
4
5
6
2 4 8 16 32 64 128
normierter Kantenschnitt
Partitionen
Hilbert
Lebesgue
Sierpinski
βΩ−Indizierung
kmetis
Abbildung 3.19: Partitionierungsqualit¨
at am Beispiel grid
Der normierte Kantenschnitt w¨
achst f¨
ur alle Partitionierungsstrategien zun¨
achst mit
der Anzahl an Partitionen. Dieser Effekt ergibt sich aus der Tatsache, dass sich das
3.4. PARTITIONIERUNGSQUALIT ¨
AT IN UNSTRUKTURIERTEN NETZEN 55
Verh¨
altnis vom ¨
außeren Rand zu den inneren R¨
andern zwischen den Partitionen verrin-
gert. Unter Einbeziehung von 400 virtuellen ¨
außeren Kanten ergibt sich ein nahezu ho-
rizontaler Verlauf der Messpunkte, die im Falle von kMetis zumeist im Bereich zwischen
4.5 und 5 liegen. Diese Werte zeigen, dass kMetis f¨
ur dieses Beispiel i. A. Partitionierun-
gen liefert, die h¨
ochstens 20 Prozent schlechter sind als eine optimale Partitionierung.
Unter Einbeziehung virtueller ¨
außerer Kanten wird der normierte Kantenschnitt einer
optimalen Partitionierung vier nicht unterschreiten. Im Falle einer weiteren Erh¨
ohung
der Anzahl der Partitionen tendiert der normierte Kantenschnitt offensichtlich gegen
vier, dem mittleren Knotengrad im zweidimensionalen Gitter. Die Untersuchungen an
verschiedenen Beispiel-Netzen haben gezeigt, dass die leistungsf¨
ahigen Partitionierungs-
heuristiken kMetis und pMetis f¨
ur eine beliebige Anzahl an Partitionen i. A. normierte
Kantenschnitte unter bzw. nur leicht ¨
uber dem mittleren Knotengrad liefern. Der Hoch-
punkt der Messwertkurve liegt h¨
aufig im Bereich zwischen |V|1
2und |V|3
4Partitionen
f¨
ur die hier untersuchten Partitionierungsverfahren.
Die Messwerte zu den Partitionierungseigenschaften der raumf¨
ullenden Kurven im Git-
ter erlauben einen Vergleich mit dem analytischen Ergebnis in Abschnitt 3.3.3 zur
Lebesgue-Kurve und den experimentellen Untersuchungen in Abschnitt 3.3.4 zu der
Partitionierungsqualit¨
at der Kurven im mittleren Fall. F¨
ur diesen Vergleich m¨
ussen
wiederum 400 virtuelle ¨
außere Kanten mit einbezogen werden. Der normierte Kanten-
schnitt der Hilbert- und der βΩ-Kurve erh¨
oht sich auf 5.2 bis 5.6, welcher einer Partitio-
nierungsqualit¨
at von 1.3 bis 1.4 entspricht. F¨
ur die Lebesgue-Kurve ergeben sich Werte
von etwa 5.7 (normierter Kantenschnitt) bzw. 1.425 (Partitionierungsqualit¨
at). Bei der
Addition von 400 virtuellen Kanten hat die Sierpi´nski-Kurve bei geringen Partitionsan-
zahlen den h¨
ochsten normierten Kantenschnitt von 6.4. Sie zeigt das gleiche Verhalten
wie die mit ihr verwandte H-Indizierung, die bei großen Partitionsvolumen die schlech-
teste Partitionierungsqualit¨
at aufweist (vgl. Abb. 3.14). Dagegen haben Sierpi´nski- und
Lebesgue-Kurve bei der 128-Partitionierung einen vergleichbaren normierten Kanten-
schnitt, was der Beobachtung aus Abschnitt 3.3.4 entspricht, dass H-Indizierung und
Lebesgue-Kurve bei einer Partitionsgr¨
oße von etwa 100 eine ¨
ahnlich hohe Partitionie-
rungsqualit¨
at haben.
Abbildung 3.20 zeigt den normierten Kantenschnitt f¨
ur das Beispiel biplane dessen
5-Partitionierung in Abschnitt 3.4.1 analysiert wurde (vgl. Abb. 3.15). Aufgrund seiner
gitter¨
ahnlichen Struktur ergibt sich ein zum Gitter vergleichbarer Verlauf der Mess-
werte. In diesem Beispiel l¨
asst sich kein genereller Qualit¨
atsunterschied zwischen den
rekursiven raumf¨
ullenden Kurven erkennen. Der normierte Kantenschnitt steigt bis
auf 5 bei 128 Partitionen, einem zum Gitter vergleichbaren Wert. Die Messkurve von
kMetis verl¨
auft deutlich flacher und steigt auf lediglich 3.5 f¨
ur die 128-Partitionierung.
Bei ¨
ahnlichem Knotengrad ist es ein Indiz daf¨
ur, dass dieses Beispiel besser zu parti-
tionieren ist. Wenn m¨
oglichst viele Partitionsgrenzen im Bereich der L¨
ocher verlaufen,
ergibt sich ein deutlich geringerer Kantenschnitt als im regelm¨
aßigen Gitter.
Die geometrischen Verfahren liefern einen ¨
ahnlich großen normierten Kantenschnitt wie
im Beispiel grid. Da sie die Struktur des Graphen nicht ber¨
ucksichtigen, ist ein geringe-
rer Kantenschnitt aufgrund der L¨
ocher nur zuf¨
allig m¨
oglich. Die rekursiven Varianten
56 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
0
1
2
3
4
5
6
2 4 8 16 32 64 128
normierter Kantenschnitt
Partitionen
Hilbert
Lebesgue
Sierpinski
βΩ−Indizierung
kmetis
Abbildung 3.20: Partitionierungsqualit¨
at am Beispiel biplane
liefern leicht bessere, die Sierpi´nski-Kurve leicht schlechtere Werte, so dass der relative
Unterschied deutlicher wird. Zudem l¨
asst sich zwischen den Kurven Hilbert, Lebesgue
und β keine eindeutige Ordnung bzgl. ihrer Qualit¨
at erkennen.
Abbildung 3.21 zeigt den normierten Kantenschnitt f¨
ur das Netz big, der zu der Gruppe
der triangulierten Gebiete z¨
ahlt. Aufgrund eines mittleren Knotengrades von 5.88 liegt
der normierte Kantenschnitt f¨
ur alle Verfahren h¨
oher. Bei den Messwerten von kMetis
ergibt sich wiederum ein flacherer Anstieg, welcher mit den vorhandenen L¨
ochern im
Netz zu begr¨
unden ist. Dahingegen liegt der normierte Kantenschnitt der raumf¨
ullen-
den Kurven innerhalb eines schmalen Intervalls, wenn man von den groben Partitionie-
rungen absieht. Dieser Effekt erkl¨
art sich zum einen aus der geometrischen Heuristik,
welche die L¨
ocher im Netz nicht nutzt. Zum anderen ist der Gebietsrand mit 27 Knoten
sehr grob vernetzt, so dass sich an dieser Stelle kaum ein Einfluss auf den normierten
Kantenschnitt ergibt, wie er f¨
ur das Beispiel grid festgestellt wurde.
0
2
4
6
8
10
12
2 4 8 16 32 64 128
normierter Kantenschnitt
Partitionen
Hilbert
Lebesgue
Sierpinski
βΩ−Indizierung
kmetis
Abbildung 3.21: Partitionierungsqualit¨
at am Beispiel big
Die Ordnung der raumf¨
ullenden Kurven hat sich jedoch bzgl. ihrer Partitionierungs-
qualit¨
at ge¨
andert. Die Sierpi´nski-Kurve f¨
uhrt in fast allen F¨
allen zu einer Zerlegung mit
3.4. PARTITIONIERUNGSQUALIT ¨
AT IN UNSTRUKTURIERTEN NETZEN 57
geringerem Kantenschnitt. Da die Kanten nicht achsenorientiert verlaufen, sondern be-
liebige Lagen in der Ebene einnehmen, ist die Orientierung der Separationslinien der
einzelnen Verfahren f¨
ur dieses Beispiel nicht von Bedeutung. Die in Abschnitt 3.2.2
anhand der 5-Partitionierung des 16 ×16-Gitters beobachtete kompakte Struktur mit
nur kurzen schneckenf¨
ormigen Endungen kommt in diesem Beispiel zum tragen. Die
Lebesgue-Kurve liefert f¨
ur dieses Netz die schlechtesten Resultate, wobei der Unter-
schied zu den beiden anderen rekursiven raumf¨
ullenden Kurven ¨
außerst gering ist.
Der relative Qualit¨
atsunterschied der raumf¨
ullenden Kurven gegen¨
uber kMetis ist in
diesem Beispiel deutlich gr¨
oßer als im Gitter und im Netz biplane, insbesondere bei
kleiner Partitionsanzahl. Abbildung 3.22 zeigt die relative Qualit¨
at f¨
ur die unstruk-
turierten zweidimensionalen Benchmarks im ¨
Uberblick. F¨
ur die triangulierten Netze
airfoil,crack und big sind die Messwerte auf Basis der Sierpi´nski-Kurve, bei den an-
deren Netzen die der Lebesgue-Kurve, als Stellvertreter der rekursiven raumf¨
ullenden
Kurven, ausgew¨
ahlt, da diese die jeweils besten Resultate liefern. Es zeigt sich, dass
die Streuung der Messwerte mit wachsender Anzahl an Partitionen abnimmt. F¨
ur die
gitter¨
ahnlichen Netze liegt die relative Verschlechterung in den meisten F¨
allen unter 2,
bei mehr als 16 Partitionen unter 1.5. Bei dem Netz crack ist der Anstieg an Schnitt-
kanten gegen¨
uber kMetis lediglich bei geringer Anzahl an Partitionen h¨
oher. Dieses
Netz ist trianguliert, jedoch aus einer lokal verfeinerten Gitterstruktur entstanden. Sei-
ne Grundstruktur ¨
ahnelt damit der Konstruktion der Indizierungsschemata. Bei den
beiden Netzen ohne jede regelm¨
aßige Struktur f¨
uhren die raumf¨
ullenden Kurven (in
diesem Falle die Sierpi´nski-Kurve) zu sichtbar schlechteren Ergebnissen. Bei dem Net-
zen airfoil liegt der relative Kantenschnitt erst ab 24 Partitionen unter 1.5, bei dem
Netz big ist diese Schranke erst bei ¨
uber 128 Partitionen unterschritten.
0.5
1
1.5
2
2.5
3
3.5
2 4 8 16 32 64 128
relativer Kantenschnitt
Partitionen
airfoil
crack
big
biplane
stufe
shock
Abbildung 3.22: Qualit¨
at der Partitionierung relativ zu kMetis: zweidimensionale Netze
Die Tabellen 3.4 und 3.5 geben eine ¨
Ubersicht ¨
uber den absoluten Kantenschnitt der
16- bzw. 64-Partitionierungen der zweidimensionalen Netze durch Metis und durch
die raumf¨
ullenden Kurven. Das beste Ergebnis, das mit einer der raumf¨
ullenden Kurve
erzielt wird, ist jeweils hervorgehoben. An den Messwerten zeigt sich erneut der Einfluss
der Konstruktionsvorschrift der raumf¨
ullenden Kurven auf den erzielten Kantenschnitt.
58 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
Netz kMetis pMetis Hilbert Lebesgue Sierpi´nski βΩ-Ind.
grid 660 706 600 600 1020 600
airfoil 555 574 1204 1215 1125 1276
crack 1218 1255 2060 2108 2013 2183
big 1099 1056 2345 2540 2267 2526
biplane 800 812 1253 1235 1593 1285
stufe 759 723 1251 1245 1503 1389
shock 1208 1233 1837 1675 2050 1736
Tabelle 3.4: Kantenschnitt der 16-Partitionierungen der zweidimensionalen Benchmarks
Netz kMetis pMetis Hilbert Lebesgue Sierpi´nski βΩ-Ind.
grid 1543 1599 1699 1713 2141 1748
airfoil 1528 1572 2430 2501 2265 2408
crack 2781 2847 4031 4271 3927 4084
big 2843 2953 5025 5198 4854 4919
biplane 1906 2023 2867 2888 3229 2844
stufe 2268 2303 3131 3062 3594 3087
shock 2902 2889 3908 3915 4355 3761
Tabelle 3.5: Kantenschnitt der 64-Partitionierungen der zweidimensionalen Benchmarks
Die rekursiven Verfahren liefern in den meisten F¨
allen Resultate, die in einem schmalen
Intervall liegen, w¨
ahrend das Ergebnis der Sierpi´nski-Kurve deutlich abweicht. Welche
der beiden Gruppen von raumf¨
ullenden Kurven das bessere Ergebnis liefert, ist von der
Struktur des Netzes abh¨
angig. Im Falle des Gitters oder einer gitter¨
ahnlichen Struktur,
wie biplane,stufe und shock, zeigen die rekursiven raumf¨
ullenden Kurven das beste
Ergebnis. Enth¨
alt das Netz viele diagonale Kanten oder solche mit beliebiger Richtung
erzielt die Sierpi´nski-Kurve das beste Ergebnis.
Innerhalb der rekursiven raumf¨
ullenden Kurven l¨
asst sich keine eindeutige Ordnung
¨
uber deren Qualit¨
at finden. Bei den 16-Partitionierungen scheint die Lebesgue-Kurve
die besten Ergebnisse zu erzielen, jedoch ist die Menge der untersuchten Netze und der
Unterschied zu den Resultaten der anderen Kurven zu klein, als dass eine generelle Ten-
denz festgestellt werden k¨
onnte. Die Hilbert-Kurve f¨
uhrt bei den 16-Partitionierungen
f¨
ur die drei triangulierten Netze zu den zweitbesten Ergebnissen hinter der Sierpi´nski-
Kurve. Beide Beobachtungen lassen sich bei der Untersuchung der 64-Partitionierungen
nicht feststellen.
3.4.3.2 Dreidimensionale Netze
Abbildung 3.23 zeigt den Verlauf des normierten Kantenschnitts f¨
ur den dreidimensio-
nalen Benchmark hermes. Im Falle des dreidimensionalen Raumes ist die Normierung
des Kantenschnittes entsprechend der erwarteten Oberfl¨
ache von K¨
orpern im Raum
3.4. PARTITIONIERUNGSQUALIT ¨
AT IN UNSTRUKTURIERTEN NETZEN 59
angepasst:
normierter Kantenschnitt = Kantenschnitt ·2
#Partitionen ·3
q#Knoten je Partition2(3.32)
Aufgrund des hohen mittleren Kantengrades ergibt sich ein hoher normierter Kan-
tenschnitt. Der qualitative Verlauf der Messwerte ist mit dem der zweidimensionalen
vergleichbar. Bei kMetis zeigt sich ein zun¨
achst deutlich flacheren Anstieg als bei bei-
den raumf¨
ullenden Kurven. Mit gr¨
oßer werdender Partitionsanzahl nimmt der relative
Abstand zu kMetis ab.
0
10
20
30
40
50
60
2 4 8 16 32 64 128
normierter Kantenschnitt
Partitionen
Hilbert
Lebesgue
kmetis
Abbildung 3.23: Partitionierungsqualit¨
at am Beispiel hermes
Abbildung 3.24 zeigt die Qualit¨
at der Partitionierungen beim Einsatz der Hilbert-Kurve
f¨
ur die untersuchten dreidimensionalen Benchmarks. Der Kantenschnitt liegt im Einzel-
fall um den Faktor 8.7 ¨
uber dem der von kMetis ermittelten Partitionierung. Abgesehen
vom Netz rotor liegt der relative Kantenschnitt in fast allen F¨
allen unter 3. Bei stei-
gender Anzahl an Partitionen f¨
allt dieser und liegt bei ¨
uber 16 Partitionen unter 2.5,
in den meisten F¨
allen unter 2. Der relative Kantenschnitt liegt deutlich h¨
oher als bei
den untersuchten zweidimensionalen Netzen.
Zum Einen liegt dies an der Struktur der Netze, es sind alle tetraedierte Gebiete. Bei
den zweidimensionalen Benchmarks hat sich gezeigt, dass die rekursiven Kurven sich bei
triangulierten Netzen schlechter verhalten als bei gitter¨
ahnlichen Netzen. Das gleiche
Ph¨
anomen ergibt sich im dreidimensionalen Raum. Es ist bisher jedoch keine dreidi-
mensionale Erweiterung der Sierpi´nski-Kurve bekannt, die diese Netze in geeigneter
Form indizieren kann.
Zum Anderen haben die Strukturen von verfeinerten Gebieten und L¨
ochern einen
st¨
arkeren Einfluss auf die Qualit¨
at der Partitionierung, da sie mehr Varianten bzgl.
ihrer Dimensionalit¨
at erm¨
oglichen. Die Netze selbst, aber auch die speziellen Gebiete,
wie Verfeinerungen oder L¨
ocher, haben oft eine lediglich 1- oder 2-dimensionale Ausdeh-
nung. Diese sind bei der Partitionierung mit minimalem Schnitt von großer Bedeutung,
werden aber bei der Indizierung ¨
uber raumf¨
ullende Kurven nicht beachtet.
60 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
0
1
2
3
4
5
6
7
8
9
2 4 8 16 32 64 128
relativer Kantenschnitt
Partitionen
pwt
brack
rotor
wave
hermes
Abbildung 3.24: Qualit¨
at der Partitionierung relativ zu kMetis: dreidimensionale
Benchmarks
Die Netze hermes und wave sind diskretisierte quaderf¨
ormige Gebiete mit einem ent-
haltenen Objekt, dessen Umstr¨
omung simuliert werden soll. Die Partitionierungseigen-
schaften ¨
ahneln denen eines dreidimensionalen Gitters. Unabh¨
angig von der Anzahl an
Partitionen ergibt sich ein guter relativer Kantenschnitt. Die Benchmarks pwt und brack
sind komplexere geometrische K¨
orper von eher l¨
anglicher Struktur. Damit ergibt sich
ein geringerer normierter Kantenschnitt, der an einem flachen Anstieg der Messwer-
te erkennbar ist. Da die geometrisch orientierte Partitionierung mittels raumf¨
ullender
Kurven diese strukturellen Eigenschaften nicht ber¨
ucksichtigt, ergibt sich ein sichtbar
gr¨
oßerer normierter Kantenschnitt und damit auch ein hoher relativer Kantenschnitt im
Vergleich zu kMetis. Bei wachsender Anzahl an Partitionen sind auch die Schnitte einer
optimalen Partitionierung vermehrt gleichm¨
aßig auf das vernetzte Gebiet verteilt, wo-
mit die Vorteile einer ausgefeilten Partitionierungsstrategie gegen¨
uber den raumf¨
ullen-
den Kurven geringer werden.
Der normierte Kantenschnitt der raumf¨
ullenden Kurven hat im Bereich der |V|1
2- bis
|V|3
4-Partitionierung meist einen sichtbaren Hochpunkt. Dagegen steigt der normierte
Kantenschnitt von kMetis i. A. nur leicht ¨
uber den mittleren Knotengrad, dem nor-
mierten Kantenschnitt der |V|-Partitionierung.
Die Tabellen 3.6 und 3.7 zeigen den Kantenschnitt der 16- und 64-Partitionierungen
durch Metis und durch die raumf¨
ullenden Kurven. Das beste Ergebnis von Hilbert-
und Lebesgue-Kurve ist jeweils hervorgehoben. Wie auch im zweidimensionalen Fall
l¨
asst sich kein großer Unterschied zwischen den Partitionierungsqualit¨
aten der beiden
rekursiven raumf¨
ullenden Kurven erkennen. Der relative Unterschied im erzielten Kan-
tenschnitt liegt immer unter 6 Prozent. Dieser ist unerheblich, da beide Varianten schon
eine Abweichung von mindestens 50 bis 100 Prozent von der optimalen L¨
osung haben.
Abbildung 3.25 zeigt den Einfluss der Wahl der Anfangsgeometrie, ¨
uber welche die
raumf¨
ullende Kurve definiert wird (vgl.. Abschnitt 3.2.3). Alle drei Messreihen zeigen
den relativen Kantenschnitt der Hilbert-Kurve am Beispiel pwt. Die obere Messreihe be-
ginnt mit dem minimalen Quader, der das Netz enth¨
alt. Dieser wird rekursiv gem¨
der
3.4. PARTITIONIERUNGSQUALIT ¨
AT IN UNSTRUKTURIERTEN NETZEN 61
Netz kMetis pMetis Hilbert Lebesgue
pwt 2 992 2 933 7 605 7 616
brack 13 225 12 707 29 932 28 086
rotor 24 477 23 863 97 609 93 526
wave 48 183 48 106 77 166 78 592
hermes 119 219 119 170 256 866 266 479
Tabelle 3.6: Kantenschnitt der 16-Partitionierungen der dreidimensionalen Benchmarks
Netz kMetis pMetis Hilbert Lebesgue
pwt 9 015 9 310 15 341 15 674
brack 29 432 29 353 59 814 61 054
rotor 52 190 53 623 176 574 182 657
wave 94 342 97 010 130 923 138 787
hermes 241 771 249 959 443 450 473 081
Tabelle 3.7: Kantenschnitt der 64-Partitionierungen der dreidimensionalen Benchmarks
Konstruktionsvorschrift in acht Teile zerlegt. Die zweite Messreihe startet mit einem mi-
nimalen W¨
urfel, wobei in diesem Fall der W¨
urfel durch die Erweiterung des minimalen
Quaders in positiver Koordinaten-Richtung gegeben ist. Die dritte Messreihe beginnt
mit dem minimalen umgebenden Quader und zerlegt ihn bzgl. der in Abschnitt 3.2.3
vorgestellten Strategie zun¨
achst im eindimensionalen, dann im zweidimensionalen und
danach im dreidimensionalen Raum (vgl. Abb. 3.6, S. 32).
0
1
2
3
4
5
6
7
2 4 8 16 32 64 128
relativer Kantenschnitt
Partitionen
Quader
Würfel
zerlegter Quader
Abbildung 3.25: Vergleich verschiedener Zerlegungsstrategien am Beispiel pwt
Es zeigt sich, dass die Art, wie die Zerlegung begonnen wird, einen großen Einfluss
auf die Qualit¨
at der Partitionierung hat. Wird die Zerlegung mit einem Quader mit
deutlich unterschiedlichen Kantenl¨
angen begonnen, bleibt dieses Verh¨
altnis w¨
ahrend
der rekursiven Zerlegung bestehen. Es entstehen nicht die gew¨
unschten w¨
urfel¨
ahnli-
chen Teilkomponenten, so dass die Oberfl¨
achen wachsen und damit der Kantenschnitt
groß wird. Die relative Gr¨
oße dieses Nachteils ist von der Granularit¨
at der Partitio-
62 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
nierung weitgehend unabh¨
angig. Startet die Zerlegung mit einem umgebenden W¨
urfel,
entstehen Spr¨
unge in der Kurve, da weite Bereiche des indizierten Gebietes leer sind. Es
ergibt sich ein erh¨
ohter Kantenschnitt, dessen absolute Gr¨
oße von der Anzahl der Par-
titionen unabh¨
angig ist. Da der gesamte Kantenschnitt mit der Anzahl der Partitionen
w¨
achst, f¨
allt gleichzeitig der relative Qualit¨
atsverlust.
Die Untersuchungen an den dreidimensionalen Benchmarks hat gezeigt, dass es Netze
gibt, deren Indizierung mittels raumf¨
ullender Kurven zu Partitionierungen mit zu ho-
hem Kantenschnitt f¨
uhren k¨
onnen. Das Netz rotor hat bei der Bisektion, die sich aus
der Hilbert-Kurve ergibt, einen relativen Kantenschnitt von 9. Da auch kMetis nicht
nachweislich die optimale L¨
osung findet, ist der erzielte Kantenschnitt wahrscheinlich
zehn Mal gr¨
oßer als das Optimum. Wie f¨
ur die anderen Netze auch, f¨
allt der relative
Kantenschnitt mit gr¨
oßer werdender Anzahl an Partitionen, er bleibt jedoch im un-
tersuchten Intervall ¨
uber 3. Dieses auff¨
allig schlechte Verhalten, l¨
asst sich durch die
Struktur des Netzes erkl¨
aren. Es gibt zwei Bereiche im Netz, die eine hohe Verfeine-
rung aufweisen. Beide haben eine im Wesentlichen eindimensionale Ausdehnung, einer
in x-, der andere in y-Orientierung. Teilen die Separatorfl¨
achen vom h¨
ochsten Level
diese Bereiche, ergibt sich an dieser Stelle ein sehr hoher Kantenschnitt.
Bei einer Verschiebung des Separationszentrums im ersten Schritt der Indizierung er-
geben sich deutlich bessere Partitionierungen. Dieses Verhalten ist in Abbildung 3.26
anhand der Lebesgue- und der Hilbert-Kurve dargestellt. F¨
ur beide Kurven ist die
Messreihe mit dem errechneten und mit einem leicht verschobenen Separationszentrum
gegeben. Es ergibt sich eine Verbesserung des relativen Kantenschnitts im gesamten un-
tersuchten Bereich. Dies zeigt die prinzipielle M¨
oglichkeit, die Qualit¨
at der Indizierung
bzgl. der Partitionierung durch vorgeschaltete Heuristiken verbessern zu k¨
onnen.
0
1
2
3
4
5
6
7
8
9
2 4 8 16 32 64 128
relativer Kantenschnitt
Partitionen
Hilbert
Hilbert mit Verschiebung
Lebesgue
Lebesgue mit Verschiebung
Abbildung 3.26: Einfluss der Wahl des Zentrums auf die Partitionierungsqualit¨
at am
Beispiel rotor
3.4. PARTITIONIERUNGSQUALIT ¨
AT IN UNSTRUKTURIERTEN NETZEN 63
3.4.3.3 Ressourcen
Abbildung 3.27 vergleicht das Laufzeitverhalten der Indizierung durch raumf¨
ullende
Kurven mit dem der Partitionierung durch Metis. Die dargestellten Messwerte sind das
Mittel aus jeweils zehn Testl¨
aufen an dem dreidimensionalen Beispielnetz hermes. Die
direkte k-Partitionierung mittels Metis (kMetis) zeigt einen leichten Anstieg der Re-
chenzeit, die rekursive Partitionierung (pMetis) einen deutlichen Anstieg. Bei 128 Par-
titionen ben¨
otigt pMetis ¨
uber 21 Sekunden und damit etwa viermal so lange wie kMetis
(4.3 Sekunden). Dagegen ist die Rechenzeit der vollst¨
andigen Knotenindizierung nach
der Hilbert- bzw. der Lebesgue-Kurve f¨
ur alle Partitionierungen mit 1.1 bzw. 0.9 Se-
kunden konstant.
0.1
1
10
100
2 4 8 16 32 64 128
Laufzeit [s]
Partitionen
pMetis
kMetis
Hilbert
Lebesgue
lazy Lebesgue
Abbildung 3.27: Laufzeitverhalten der Partitionierungsheuristiken am Beispiel hermes
Die Messwerte lazy Lebesgue geben die Laufzeit einer unvollst¨
andigen Indizierung bzgl.
der Lebesgue-Kurve an. Dabei wird ein quadratisches Teilgebiet nur dann weiter zerlegt,
wenn die enthaltenen Knoten verschiedenen Partitionen zuzuordnen sind. Liegt in dem
Teilgebiet ein Intervall an Knoten, das vollst¨
andig Bestandteil einer einzelnen Partition
ist, wird die Rekursion abgebrochen. Die innere Ordnung dieser Knoten ist f¨
ur eine
statische Partitionierung unwichtig und es erspart f¨
ur kleinere Anzahlen an Partitionen
bis zu 70 Prozent Rechenzeit.
Die Untersuchungen zeigen, dass die raumf¨
ullenden Kurven deutlich schneller zu einer
Partitionierung f¨
uhren als Metis. Ist f¨
ur eine FE-Applikation eine statische Partitio-
nierung ausreichend, ist die Partitionierungszeit in der gegebenen Gr¨
oßenordnung ge-
gen¨
uber der Gesamtrechenzeit vernachl¨
assigbar. Dies ¨
andert sich, wenn die charakteris-
tischen Eigenschaften einer Applikation eine regelm¨
aßige Repartitionierung erfordern,
wie in Abschnitt 5.2 beschrieben. In diesem Falle haben die Zeiten der Repartitionie-
rung m¨
oglicherweise einen großen Einfluss auf die Gesamtrechenzeit, sie k¨
onnen diese
mitunter dominieren.
Neben der Laufzeit ergibt sich auch ein Vorteil bei dem Speicherbedarf der untersuchten
Partitionierungsmethoden. W¨
ahrend Metis f¨
ur die Partitionierung des Netzes hermes
etwa 200 MByte Speicher ben¨
otigt liegt der Bedarf der raumf¨
ullenden Kurven mit rund
64 KAPITEL 3. PARTITIONIERUNG VON FINITE-ELEMENTE-NETZEN
5 MByte deutlich niedriger.
3.4.4 Zusammenfassung
Die Qualit¨
at einer Partitionierung ¨
uber raumf¨
ullende Kurven ist stark von der geome-
trischen Struktur des Netzes abh¨
angig. Dabei sind sowohl die Form des diskretisierten
Gebietes als auch die Form von L¨
ochern oder verfeinerten Bereichen von Bedeutung.
Haben diese eine Ausdehnung in niedrigerer Dimension als das Gesamtnetz, ergeben
sich h¨
aufig optimale Partitionierungen mit kleinem normierten Kantenschnitt bei ge-
ringer Partitionsanzahl. Das Partitionierungswerkzeug Metis findet eine gute L¨
osung,
da es die Graphstruktur ber¨
ucksichtigt. Dagegen haben die k-Partitionierungen der
raumf¨
ullenden Kurven einen normierten Kantenschnitt auf einem gleich bleibenden
Niveau. Bei einer gr¨
oßeren Anzahl an Partitionen verringert sich der Einfluss der geo-
metrischen Eigenschaften zunehmend und die Qualit¨
at der L¨
osungen von Metis und
raumf¨
ullenden Kurven erreicht f¨
ur viele Netze eine vergleichbaren Wert. Im Rahmen
der untersuchten Benchmark-Netze liegt der relative Kantenschnitt f¨
ur zweidimensio-
nale Netze zwischen 1.3 und 1.5 und f¨
ur dreidimensionale zwischen 1.3 und 2. Der
geringste Qualit¨
atsverlust gegen¨
uber Metis wird im Gitter erreicht, dessen Struktur
der Konstruktion der rekursiven raumf¨
ullenden Kurven entspricht.
Der Vorteil einer ausgefeilten Partitionierungsheuristik gegen¨
uber den geometrischen
Verfahren, die auf raumf¨
ullenden Kurven basieren, ist insbesondere bei kleiner Par-
titionsanzahl groß. Um eine Indizierung zu finden, die f¨
ur eine beliebige Anzahl an
Partitionen befriedigende relative Kantenschnitte liefert, k¨
onnte eine Kombination bei-
der Varianten sinnvoll sein. Zun¨
achst wird f¨
ur ein geeignetes keine Partitionierung mit
sehr geringem Kantenschnitt gesucht und innerhalb der Partitionen eine Indizierung
¨
uber raumf¨
ullende Kurven durchgef¨
uhrt.
Eine zweite Variante zur Verbesserung k¨
onnte die geeignete Wahl der Lage der Sepa-
ratoren vom h¨
ochsten Level darstellen. Am Beispiel rotor ist der Einfluss der Lage des
Separatorzentrums auf den normierten Kantenschnitt gezeigt worden. Ebenso k¨
onnte
eine geschickt gew¨
ahlte Rotation der raumf¨
ullenden Kurve um das Separatorzentrum
einen ¨
ahnlich positiven Einfluss auf den Kantenschnitt haben, wie zwischen den ein-
fachen geometrischen Verfahren RCB und RIB (vgl. Abschnitt 3.1). Letzteres kann in
vielen Netzen eine bessere Partitionierung erzielen, da sie die freie Lage der Separator-
linie im Raum erlaubt.
Kapitel 4
Effiziente globale Kontaktsuche
Bei der Simulation strukturmechanischer Problemstellungen kommt es zu gegenseitigen
Durchdringungen der sich bewegenden Netze. Aus Randbedingungen und aus inneren
Kr¨
aften an Knoten des Netzes, die aus dem Materialverhalten resultieren, ergeben sich
Verschiebungen der Knoten. Diese f¨
uhren zu ¨
Uberschneidungen von Netzen unterschied-
licher Objekte oder ¨
Uberschneidungen innerhalb eines Netzes. Diese Durchdringungen
stellen nichtphysikalische Situationen dar, die innerhalb der Simulation korrigiert wer-
den m¨
ussen. In Abbildung 4.1 ist die Durchdringung und die danach folgende Korrektur
an einem Beispiel dargestellt. Die Verschiebungsvektoren der Knoten im aktuellen Zeit-
schritt sind blau, die resultierenden Korrekturkr¨
afte rot markiert.
Abbildung 4.1: Nichtphysikalische Durchdringung und Kontaktkorrektur
Dieses Kapitel widmet sich der Phase der h¨
ochsten algorithmischen Komplexit¨
at, der
Bestimmung der Kontaktpaarungen. Zun¨
achst wird die Einordnung dieser Phase in
den allgemeinen Ablauf der Kontaktbehandlung dargestellt und verschiedene Metho-
den der Kontaktkorrektur skizziert. In Abschnitt 4.3 und 4.4 wird eine verbesserte
zellbasierte Methode zur globalen Kontaktsuche auf Basis der Lebesgue-Kurve vorge-
stellt und die Kosten anhand eines Szenarios analysiert. In Abschnitt 4.5 wird ein Maß
¨
uber raumf¨
ullende Kurven definiert, welches dem Vergleich verschiedener raumf¨
ullender
Kurven innerhalb der globalen Kontaktsuche dient.
65
66 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
4.1 Kontaktbehandlung in der expliziten FE-Simulation
Unabh¨
angig von der Art der FE-Simulation und dem Verfahren der Kontaktkorrektur
gliedert sich die Kontaktbehandlung i. A. in die Phasen globale Kontaktsuche,lokale
Kontaktsuche und Kontaktkorrektur. Die letzte Phase ist von der Art der Simulati-
on und dem gew¨
ahlten Korrekturverfahren abh¨
angig. Bei der impliziten FE-Simulation
erfolgt die Korrektur durch eine Erweiterung der Steifigkeitsmatrix. F¨
ur jeden Kontakt-
punkt wird ein Eintrag erstellt, der die Wechselwirkung der betroffenen Oberfl¨
achen-
segmente beschreibt. Damit sind die Kr¨
afte aus dem Inneren des simulierten Materials
und die Kr¨
afte aus den Kontaktsituationen in einem Gleichungsystem beschrieben und
werden gemeinsam bestimmt. Bei der expliziten FE-Simulation werden die Phase der
Kraftberechnung im Inneren des Materials aufgrund der Spannungs- und Dehnungs-
zust¨
ande und die Phase der Kontaktkorrektur nacheinander ausgef¨
uhrt. Innerhalb der
Schleife zur Zeitintegration werden jeweils beide Phasen durchlaufen. Aufgrund der i. A.
sehr geringen Zeitschrittweite ist der Fehler der nachlaufenden Kontaktbehandlung als
gering anzunehmen.
F¨
ur beide Arten der FE-Simulation m¨
ussen vor der Kontaktkorrektur zun¨
achst die
erforderlichen Parameter bestimmt werden. Diese h¨
angen von dem Verfahren der Kon-
taktkorrektur ab. In jedem Fall ben¨
otigt diese Phase Informationen ¨
uber die Kontakt-
paarungen, die Penetrationstiefe und die Korrekturrichtung. Diese werden in der Phase
der lokalen Kontaktsuche (engl.: local search oder post-contact search) bestimmt. Je
nach Anwendungsgebiet und Bedeutung der Kontaktbehandlung f¨
ur die gesamte Si-
mulation ist ein mehr oder weniger komplexer Entscheidungsmechanismus notwendig,
der nach der Feststellung eines Kontaktes von Oberfl¨
achensegmenten des FE-Netzes
die Korrekturrichtung festlegt. Aus dieser ergibt sich die zugeh¨
orige Kontaktpaarung
und die Penetrationstiefe.


Abbildung 4.2: Kontaktkandidaten (rot) zu einem Oberfl¨
achensegment
Die h¨
ochste algorithmische Komplexit¨
at ergibt sich in der globalen Kontaktsuche (engl.:
global search oder pre-contact search). Diese Phase bestimmt die Menge der potentiellen
Kontaktpaarungen innerhalb der n¨
achsten Zeitschritte. Zu jedem Oberfl¨
achensegment
werden die Segmente bestimmt die in einer begrenzten Distanz liegen (vgl. Abb. 4.2).
Wie h¨
aufig diese Phase durchzuf¨
uhren ist, ist von der gew¨
ahlten Distanz und der Bewe-
gungsgeschwindigkeit des Netzes abh¨
angig. Die regelm¨
aßige Durchf¨
uhrung dieser Pha-
4.2. METHODEN DER KONTAKTSUCHE 67
se ist notwendig, wenn die Menge der potentiellen Kontaktpaarungen zu groß ist, um
sie vor der Berechnung vollst¨
andig bestimmen und in der lokalen Kontaktsuche re-
gelm¨
aßig auf Kontakt testen zu k¨
onnen. Es ist offensichtlich, dass ein paarweiser Test
aller Oberfl¨
achensegmente bzgl. ihrer geometrischen Lage zueinander einen zu großen
Rechenaufwand bedeutet.
4.2 Methoden der Kontaktsuche
Alle Methoden zur globalen Kontaktsuche basieren auf der Idee, die gegebenen Objekte
in einer Datenstruktur so zu ordnen, dass innerhalb dieser effiziente Kontaktanfragen
m¨
oglich sind. Dazu wird der gesamte Suchraum in kleine Gebiete zerlegt. Dabei gibt es
zwei unterschiedliche Ans¨
atze zur Strukturierung des Suchraumes, ¨
uber die sich die Ver-
fahren klassifizieren lassen. Entweder findet eine geometrische Ordnung der einzelnen
Punkte (Knoten des Netzes) oder eine Partitionierung der gegebenen Objekte statt.
4.2.1 Geometrische Ordnung
Die meisten Datenstrukturen zur geometrischen Ordnung sind von dem verwandten
Problem des orthogonal range searching abgeleitet. Dabei besteht die Aufgabe darin,
aus einer gegebenen Punktmenge alle die Punkte zu finden, die in einer beliebigen ach-
senparallelen Box liegen. Auch wenn zu dieser Fragestellung viele Ergebnisse existieren,
die im Wesentlichen das Verhalten im schlechtesten Fall analysieren [1, 9, 51], ist wenig
¨
uber deren Effizienz in praktischen Anwendungen bekannt. Die Datenstrukturen und
Algorithmen, die bewiesenen oberen Schranken zu Grunde liegen, sind h¨
aufig zu kom-
plex und die Konstanten zu den asymptotischen Kosten zu groß f¨
ur einen praktischen
Einsatz in Applikationen, insbesondere in R¨
aumen mit Dimension d > 2 [1, 16, 26].
Die meisten der eingesetzten Datenstrukturen basieren auf Varianten von kd-B¨
aumen.
Weitere wichtige Methoden sind Projektion,Zellen und Intervall-B¨
aume (range-trees),
die alle im Folgenden kurz beschrieben werden [17, 26].
kd-B¨
aume Der gesamte Suchraum wird ¨
uber die Struktur eines Baumes aufgeteilt.
Dabei entspricht jeder innere Knoten des Baumes einer Schnittebene, welche orthogonal
zu einer der Achsen verl¨
auft. Jeder Knoten teilt den verbliebenen Suchraum in zwei
Teile. Die Aufteilung wird soweit durchgef¨
uhrt, bis ein Knoten des Baumes nur eine
konstante Anzahl Punkte im Raum repr¨
asentiert.
F¨
ur eine Anfrage wird in jeder Ebene des Baumes getestet, auf welcher Seite der Schnitt-
ebene die Region liegt. Liegt die Region vollst¨
andig auf einer Seite der Schnittebene
f¨
ahrt die Anfrage am entsprechenden Knoten fort. Wird die Region von der Ebene
geschnitten, m¨
ussen beide S¨
ohne des Knotens abgearbeitet werden. An einem Blatt des
Baumes wird jeder enthaltene Punkt gegen die Anfrageregion getestet. Abbildung 4.3
zeigt die Aufteilung einer Punktmenge durch einen kd-Baum. Zu einer Anfrage ist ein
68 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
4
2
5
3
1
4
3
5
2
1
Abbildung 4.3: Strukturierung des Raumes durch einen kd-Baum
Teil der Pfade angegeben, ¨
uber die der Baum durchlaufen wird. Die von den grauen
Teilb¨
aumen repr¨
asentierte Fl¨
ache ist hervorgehoben.
Es ist offensichtlich, dass die Effizienz dieser Struktur von der Wahl der Schnittebenen
abh¨
angig ist. Oftmals wird die Ebene orthogonal zur gr¨
oßten Ausdehnung der verbliebe-
nen Punktmenge gew¨
ahlt, an der Position, die diese Menge halbiert. Urspr¨
unglich war
die Bezeichnung kd-Baum f¨
ur eine Baumstruktur zur Aufteilung des k-dimensionalen
Raumes eingef¨
uhrt worden. Mittlerweile wird der Name jedoch f¨
ur die allgemeine Idee
verwendet, so dass der 2-d-Baum als zweidimensionaler kd-Baum bezeichnet wird.
Projektion Zur Initialisierung dieser Methode wird f¨
ur jede Dimension eine Liste der
Punktmenge erstellt. Jede Liste wird bzgl. der Koordinaten ihrer Dimension geordnet.
F¨
ur die Beantwortung einer Anfrage wird in jeder Liste das Intervall gesucht, das die
Anfrageregion ¨
uberdeckt. Das k¨
urzeste so gefundene Intervall wird genutzt, um die
darin enthaltenen Punkte gegen die verbliebenen d1 Dimensionen der Anfrageregion
zu testen. Die Suche der Intervalle in jeder Dimension ist in Zeit O(log n) m¨
oglich. Bei
einer gleichverteilten Punktmenge kann die Komplexit¨
at der Anfrage um den Faktor
d
nverringert werden. Die Analyse im schlechtesten Fall ergibt jedoch Kosten in H¨
ohe
von O(n) f¨
ur eine rechtwinklige Anfrageregion.
Zellen F¨
ur diese Methode wird der gesamte Suchraum in mgleichgroße Zellen aufge-
teilt. Die Aufteilung wird ¨
ublicherweise relative zur Gr¨
oße nder Punktmenge gew¨
ahlt,
d. h. m=n/c, wobei ceine geeignete positive Konstante ist. F¨
ur jede dieser Zellen
wird eine Liste aller enthaltenen Knoten aufgestellt. Dabei wird ein direkter Zugriff
auf jede einzelne Zelle sichergestellt, z. B. ¨
uber ein mehrdimensionales Feld. F¨
ur eine
Anfrage wird festgestellt, welche der Zellen geschnitten werden. F¨
ur alle Punkte, die
diesen Zellen zugeordnet sind, wird ¨
uberpr¨
uft, ob sie in der gegebenen Region enthalten
sind.
Diese Methode ist insbesondere bei einer gleichm¨
aßigen Verteilung der Punkte geeignet.
Bei einer ungleichm¨
aßigen Verteilung ist es notwendig, die Anzahl der Zellen soweit zu
erh¨
ohen, dass nur eine kleine Anzahl an Punkten in einer Zelle liegt. Wenn es im
4.2. METHODEN DER KONTAKTSUCHE 69
vorhinein bekannt ist, kann auch die kleinste Gr¨
oße einer Anfrageregion ein Maßstab
f¨
ur die Ausdehnung der Zellen sein. Wird dabei mdeutlich gr¨
oßer als nist es nicht
mehr m¨
oglich, eine Struktur mit direktem Zugriff zu w¨
ahlen. Ein effizienter Zugriff
kann dann z. B. durch eine Hash-Tabelle erreicht werden.
Intervall-B¨
aume Intervall-B¨
aume kombinieren die Idee des divide-and-conquer An-
satzes beim kd-Baum mit der Strategie der Sortierung bzgl. der Koordinaten aller Ach-
sen bei der Projektion. Die Anfrage im eindimensionalen kd-Baum resultiert in zwei
Pfaden von der Wurzel zu den Bl¨
attern. Die bis zu 2 log2nTeilb¨
aume zwischen den
beiden Pfaden enthalten die Punkte, die in der Anfrageregion liegen. Der eindimensio-
nale Intervall-Baum entspricht dem eindimensionalen kd-Baum. Er ist gleichzeitig die
Grundlage des mehrdimensionalen Intervall-Baumes. Zu jedem Knoten dieses Haupt-
baumes (first level tree) wird ein eindimensionaler kd-Baum aufgebaut, der die Punkte
bzgl. der zweiten Koordinate ordnet, die im Teilbaum zu diesem Knoten liegen. Diese
assoziierten Nebenb¨
aume (second level tree) werden ¨
uber Zeiger mit dem Hauptbaum
verbunden. F¨
ur jede weitere Dimension werden zus¨
atzliche Nebenb¨
aume erstellt, die zu
Knoten der Nebenb¨
aume des n¨
achsth¨
oheren Levels assoziiert sind. Damit erh¨
oht sich
die Gr¨
oße der Datenstruktur f¨
ur jede Dimension um den Faktor log2n.1
Eine Anfrage erfolgt zun¨
achst ¨
uber den Hauptbaum. Von der Wurzel beginnend wer-
den alle Knoten durchlaufen, deren Teilb¨
aume die Anfrageregion schneiden. Wird ein
Knoten gefunden, dessen Teilbaum bzgl. der ersten Dimension vollst¨
andig in der An-
frageregion liegt, wechselt der Suchpfad in den assoziierten Nebenbaum. Dort wird die
Anfrage bzgl. der zweiten Dimension weitergef¨
uhrt. Alle so gefundenen Blattknoten in
Nebenb¨
aumen vom niedrigsten Level liegen in der Anfrageregion.
In Abbildung 4.4 ist die Ordnung einer Punktmenge im Intervall-Baum skizziert. Der
Hauptbaum ist ein Bin¨
arbaum mit einer Ordnung bzgl. der x-Koordinaten. Der dar-
gestellte Nebenbaum ordnet die Punkte gem¨
ihrer y-Koordinaten, die zwischen den
Separationslinien durch Punkt 1und 2liegen. Die Anfrageregion enth¨
alt dieses Inter-
vall an x-Koordinaten vollst¨
andig, so dass die Anfrage in diesen Nebenbaum verzweigt,
w¨
ahrend der zweite Pfad der Anfrage im Hauptbaum weiterl¨
auft. Die Regionen, die
von den beiden grauen Teilb¨
aumen repr¨
asentiert werden, sind in der linken Darstellung
hervorgehoben.
Die Kosten f¨
ur die Initialisierung (I(n)) und Anfrage (Q(n)) und die Gr¨
oße der Da-
tenstruktur (S(n)) f¨
ur die vier vorgestellten Basismethoden sind in Tabelle 4.1 ange-
geben [17, 26]. Dabei ist ndie Gr¨
oße der Punktmenge im d-dimensionalen Raum und
mdie Anzahl der Punkte in der Anfrageregion. Zwischen den drei Methoden Zellen,
kd-Baum und Intervall-Baum l¨
asst sich ein Tradeoff zwischen der Zeit f¨
ur die Initialisie-
rung und die der Anfrage feststellen. Zudem ist der Speicherbedarf des Intervall-Baumes
gr¨
oßer als bei den anderen Verfahren.
1Jeder Knoten ist indirekter Sohn von log2nKnoten des Hauptbaumes. Damit taucht er auch in
log2nNebenb¨
aumen der zweiten Dimension auf, so dass sich die Gesamtgr¨
oße um den Faktor log2n
erh¨
oht.
70 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
1
2
A
B
1
2A
B
Abbildung 4.4: Strukturierung des Raumes durch einen Intervall-Baum
Methode I(n)S(n)Q(n)
Projektion O(nlog n)O(n)O(n+m)
Zellen O(n)O(n)O(n+m)
kd-Baum O(nlog n)O(n)O(n(d1
d)+m)
Intervall-Baum O(nlogd1n)O(nlogd1n)O(logdn+m)
Tabelle 4.1: Kosten im schlechtesten Fall im d-dimensionalen Raum (d {2,3})
Eine Analyse der vier Methoden im mittleren Fall in einem festgelegten Szenario liefert
ein deutlich anderes Ergebnis [26]. Seien die Punkte im Suchraum gleichm¨
aßig verteilt.
Unter der Annahme, dass eine Anfrage der Gr¨
oße s3eine konstante Anzahl ran Punkten
enth¨
alt ergeben sich die in Tabelle 4.2 angegebenen Kosten. Die Reduktion der Kosten
f¨
ur die Projektion und die Zellen ergibt sich aus der Annahme einer gleichverteilten
Punktmenge. Damit ist die Reduktion der Kandidaten um den Faktor d
nnach dem
Test gegen eine der Dimensionen garantiert. Bei der Zellen-Methode ist die Anzahl der
durchsuchten Zellen und die Anzahl der darin enthaltenen Punkte konstant.
Methode ¯
Q(n)
Projektion O(n(d1
d))
Zellen O(1)
kd-Baum O(log n)
Intervall-Baum O(logdn)
Tabelle 4.2: Kosten im mittleren Fall im d-dimensionalen Raum (d {2,3})
Die Reduktion der Kosten f¨
ur den kd-Baum ergibt sich aus der konstanten Gr¨
oße der
Anfrageregion, die aus den anderen Randbedingungen folgt. F¨
ur den Beweis der oberen
Schranke ist es notwendig, alle durchlaufenen Knoten zu z¨
ahlen, deren zugeh¨
origer
4.2. METHODEN DER KONTAKTSUCHE 71
Bereich des Suchraumes von der Anfrageregion geschnitten wird, aber nicht vollst¨
andig
in ihr enthalten ist. Im schlechtesten Fall werden nicht die Schnitte der Kanten eines
endlichen Rechtecks analysiert, sondern die Schnitte von Linien. Insgesamt resultieren
die deutlich niedrigeren Kosten eher aus dem starren Szenario, als aus dem Schritt vom
schlechtesten Fall zum mittleren Fall.
Diese Ergebnisse werden in einer vergleichenden Evaluation der vier Methoden an
praktischen Eingabeinstanzen grunds¨
atzlich best¨
atigt [26]. Dort wird gezeigt, dass zur
L¨
osung des range searching die Strukturierung der Objekte ¨
uber Zellen und kd-B¨
aume
den anderen beiden Varianten ¨
uberlegen ist. Die Vorteile der Zellen-Methode liegen
in der geringen Zeit f¨
ur den Aufbau der Datenstruktur und die geringe Anzahl an
Tests gegen die Anfrageregion aufgrund der feinen Ordnung der Punkte. Der kd-Baum
hat geringf¨
ugig h¨
ohere Laufzeiten bei der Initialisierung, daf¨
ur ist die Effizienz jedoch
unabh¨
angig von der Verteilung der Punkte im Raum.
F¨
ur die Methoden des kd-Baumes und der Zellbildung gibt es eine Reihe von Erwei-
terungen und Verbesserungen, die sie im praktischen Einsatz effektiver machen. F¨
ur
die Strukturierung im kd-Baum sind verschiedene Optimierungen hinsichtlich der Spei-
cherung der Daten und der Ordnung der Objekte im Baum vorgestellt worden (z. B.
alternating digital tree [11] und augmented spatial digital tree [23]).
Bei Methoden, die im Bereich der konkreten Anwendung entstanden sind, finden sich
Kombinationen oder Abstraktionen aus den Basismethoden des range searching. Die
Kombination von Zellen und B¨
aumen ist z. B. im Octree (bzw. Quadtree) gegeben, in
dem der Suchraum hierarchisch in regelm¨
aßige Bereiche zerlegt wird [32, 34, 70]. An
den Bl¨
attern liegen die Inhalte der Zellen, w¨
ahrend die Anfrage der in einem kd-Baum
gleicht. In diesem Fall ist die Effizienz des Verfahrens wiederum von der gleichm¨
aßi-
gen Verteilung der Punkte im Raum abh¨
angig. Diese Methode findet sich vielfach in
Anwendungen zur Simulation von Festk¨
orpern, wie Robotern oder im CAD-Umfeld.
Im Bereich der FEM ist eine weitere Methode vorgestellt worden, die zur Klasse der
zellbasierten Verfahren geh¨
ort. Der Position-Code-Algorithmus kann als Kombination
aus Zellen- und Projektionsmethode angesehen werden [59]. Auf die sehr große Anzahl
an Zellen wird nicht ¨
uber eine Hashing-Tabelle zugegriffen, sondern sie sind bzgl. der
Koordinaten sortiert, so dass sich eine Verwandtschaft zur Projektion ergibt. Die Ord-
nung verh¨
alt sich aber auch ¨
ahnlich zu einem degenerierten kd-Baum: Die Knoten der
oberen Ebenen repr¨
asentieren nur Schnittebenen orthogonal zu einer der Dimensionen.
In den folgenden Ebenen finden sich Knoten zu Schnittebenen zur zweiten Dimension
usw. Das Verfahren wird in Abschnitt 4.3 n¨
aher beschrieben und dient als Grundlage
f¨
ur die hier vorgestellte Methode einer zellbasierten Datenstruktur.
4.2.2 Objekt-Partitionierung
F¨
ur einen vorl¨
aufigen Kontakttest werden um komplexe K¨
orper einfacherer geometri-
sche Strukturen gelegt. Die K¨
orper k¨
onnen nur dann zueinander in Kontakt getreten
sein, wenn sich die umschließenden Objekte schneiden. Der Test dieser geometrisch
72 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
weniger komplexen Objekte ist einfacher und damit schneller ausf¨
uhrbar. Aus dieser
Beobachtung folgt die Idee der Objekt-Partitionierung, in der urspr¨
unglich eine Auf-
teilung der Objekte ¨
uber vier Ebenen vorgeschlagen wurde [85]: In der ersten Ebene
existiert eine Aufteilung auf die K¨
orper, in der zweiten eine Gruppierung in die ein-
zelnen Oberfl¨
achen eines K¨
orpers, in der dritten und vierten eine Aufteilung in Seg-
mente bzw. Knoten. In jeder Ebene findet ein vorl¨
aufiger Kontakttest statt, indem
umgebende achsenparallele Quader (bzw. Rechtecke) auf einen Schnitt getestet wer-
den. Sind die Regionen disjunkt, ist kein weiterer Test erforderlich. Andernfalls wird
der Test mit allen Teilobjekten der folgenden Ebene paarweise durchgef¨
uhrt. F¨
ur weit
entfernt liegende Objekte endet die Suche schnell, so dass nur tats¨
achliche Kontakt-
situationen zu einem h¨
oheren Aufwand f¨
uhren. Eine Verallgemeinerung der Hierarchie
auf Bin¨
arb¨
aume f¨
uhrt zu den BV-B¨
aumen (bounding volumes) [8]. BV-B¨
aume, deren
umschließende Geometrien lediglich aus Ebenen orthogonal zu den Achsen verlaufen,
werden als AABB-B¨
aume (axis aligned bounding boxes) bezeichnet.
Die Wahl der geometrischen Objekte, die f¨
ur den vorl¨
aufigen Kontakttest eingesetzt
werden, haben einen großen Einfluss auf die Laufzeit des Verfahrens. Wichtige Kriterien
sind (a) ein schneller Test auf Schnitt, (b) gute Approximation der (Teil-)Objekte, um
viele Kombinationen ohne Kontakt schon auf oberen Ebenen des Baumes herausfiltern
zu k¨
onnen und (c) eine schnelle Neuberechnung der Geometrie, wenn sich das enthaltene
Objekt bewegt hat.
AABB OBB 8-DOP
Abbildung 4.5: Exemplarischer Vergleich unterschiedlicher umschließender Volumen
Abbildung 4.5 stellt die AABB und zwei weitere Arten von umschließenden Volumen
im zweidimensionalen Raum dar. In OBB-B¨
aumen (oriented bounding boxes) werden
auch rechtwinklige Objekte f¨
ur den Kontakttest eingesetzt, ihre Orientierung ist je-
doch nicht von den Achsen, sondern von der Form des Objektes abh¨
angig. Damit ist
eine deutlich geringere Abstraktion von der Form der Objekte m¨
oglich, und das um-
schlossene Volumen verringert sich. Eine vergleichende Analyse von AABB und OBB
zeigt, dass letztere Variante in vielen Bereichen der Computer-Graphik ¨
uberlegen ist.
Die bessere N¨
aherung der gegebenen Geometrien reduziert die Anzahl der notwendigen
Schnitttests st¨
arker als die Kosten f¨
ur einen einzelnen Test steigen [29].
Eine weitere Verallgemeinerung stellt die N¨
aherung der Objekte durch Polytope aus
kEbenen dar, die als k-DOP (discrete oriented polytope) bezeichnet werden. Im Ge-
gensatz zu den OBB’s sind diese kEbenen nicht von der Ausrichtung des einzelnen Ob-
4.2. METHODEN DER KONTAKTSUCHE 73
jektes abh¨
angig, sondern f¨
ur alle Objekte identisch. Untersuchungen haben gezeigt, dass
die bessere Ann¨
aherung ¨
uber komplexere Objekte nicht zu der gew¨
unschten deutlichen
Reduktion der Anzahl von Tests zum Schnitt zweier Objekte f¨
uhrt [48]. BV-B¨
aume
sind in verschiedenen Softwarepaketen zur Kontakterkennung implementiert. Zu den
bekanntesten geh¨
oren H-COLLIDE (OBB-basiert) [30], SOLID (AABB-basiert) [77]
und SiLVIA (BV w¨
ahlbar) [49].
Die Objekt-Partitionierung wird haupts¨
achlich im Bereich der Virtual Reality (VR)
eingesetzt. Die zumeist wenigen Objekte lassen sich oftmals durch wenige geometrische
Grundformen zusammensetzen (wie Straßen, H¨
auser oder M¨
obel). Zudem ergeben sich
in diesen Umgebungen relativ wenige Kontaktsituationen, so dass vielfach ein erfolgrei-
cher Ausschluss von potentiellen Kontaktpaarungen bereits in den oberen Ebenen des
Baumes m¨
oglich ist. Bei FE-Simulationen im Bereich der Strukturmechanik ergeben
sich h¨
aufig viele Gebiete, in denen Oberfl¨
achen sehr nahe beieinander liegen. Damit
f¨
uhren viele Kontaktanfragen zu den Bl¨
attern des BV-Baumes, so dass im schlechtes-
ten Fall ein quadratischer Aufwand bzgl. der Netzgr¨
oße erreicht wird. Zudem m¨
ussen
f¨
ur eine Simulation physikalischer Vorg¨
ange alle Kontaktsituationen erkannt werden,
w¨
ahrend in anderen Bereichen wie der VR teilweise nur die Existenz eines Kontaktes
von Bedeutung ist. In [50] und [20] wird gezeigt, dass die hierarchische Partitionierung
und Ordnung der Objekte f¨
ur einige Anwendungen der FE-Simulation nicht geeignet
ist. In diesen treten h¨
aufig Situationen auf, die f¨
ur diese Methode den schlechtesten Fall
ergeben (vgl. [74, 86]).
4.2.3 Parallele Kontaktsuche
In Simulationen zur Strukturmechanik beansprucht die Kontaktbehandlung h¨
aufig ei-
nen großen Anteil der gesamten Rechenzeit. Damit ist f¨
ur eine gute Skalierung einer
FE-Applikation eine Parallelisierung der Kontaktbehandlung erforderlich. Die Berech-
nungskosten der Material- und Kontaktmodellierung sind nicht gleich im Netz verteilt.
So ist die Kontaktbehandlung nur f¨
ur Oberfl¨
achen erforderlich, w¨
ahrend die Material-
berechnung in allen Elementen stattfindet. Zudem hat die Verteilung der Oberfl¨
achen
je nach eingesetztem Verfahren zur Kontaktsuche einen Einfluss auf deren Kosten, wie
die obige Diskussion gezeigt hat. Damit ist f¨
ur die Kontaktbehandlung im Allgemeinen
eine Partitionierung erforderlich, die sich g¨
anzlich von einer guten Graphpartitionie-
rung unterscheidet, die mit den in Kapitel 3 vorgestellten Methoden bestimmt werden
kann.
In [65, 12] wird f¨
ur die FE-Berechnung eine statische Aufteilung mittels Chaco [37], ei-
nem allgemeinen Werkzeug zur Graphpartitionierung, vorgeschlagen. Davon unabh¨
an-
gig werden die Oberfl¨
achen ¨
uber die Recursive Coordinate Bisection (RCB) aufgeteilt
(vgl. Abschnitt 3.1). F¨
ur das geometrische Problem der Kontaktsuche ist die Aufteilung
¨
uber ein geometrisches Verfahren naheliegend. Die Anzahl der erforderlichen Informa-
tionen von anderen Recheneinheiten w¨
ahrend der Kontaktsuche ist gering, so dass f¨
ur
mehrere Benchmarkinstanzen ein gutes Skalierungsverhalten erzielt wird.
74 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
Durch die Entkopplung in zwei Partitionierungsaufgaben entsteht eine neue Problema-
tik. Die Informationen zu den Oberfl¨
achensegmenten m¨
ussen vielfach auf zwei unter-
schiedlichen Rechenknoten gespeichert sein: auf dem, welcher f¨
ur die FE-Berechnung
des angrenzenden Elementes verantwortlich ist und auf dem, welcher die Kontaktbe-
handlung f¨
ur das Segment ausf¨
uhrt. Damit ist zwischen den Phasen der Berechnung
innerer Kr¨
afte und der Kontaktbehandlung ein Austausch von Informationen erforder-
lich. Dieser f¨
uhrt im schlechtesten Fall zu einer All-to-all-Kommunikation.
Dieser zus¨
atzliche Kommunikationsaufwand wird vermieden, wenn eine Partitionierung
bestimmt wird, welche die Rechenlast f¨
ur beide Phasen der FE-Simulation gleichm¨
aßig
aufteilt (multi-constraint graph partitioning) [44]. Dazu ist eine komplexe Beschreibung
des Optimierungsproblems erforderlich. Zum einen m¨
ussen die Gewichte der beiden
Phasen ber¨
ucksichtigt werden, die es gleichm¨
aßig zu verteilen gilt. Zum anderen soll der
Kommunikationsaufwand minimiert werden, der sich aus dem Kantenschnitt des Gra-
phen (Kommunikation w¨
ahrend der FE-Phase) und dem Schnitt der virtuellen Kanten
zwischen den Oberfl¨
achenknoten (Kommunikation w¨
ahrend der Kontaktphase) ergibt.
Um die globale Kontaktsuche ¨
uber die Partitionsgrenzen hinweg effizient ausf¨
uhren zu
k¨
onnen, wird ein Suchbaum (decision tree) aufgebaut. In diesem ist der Raum in recht-
winklige Bereiche geteilt, die jeweils nur Knoten einer Partition enthalten. Die Struktur
des Baumes ist mit der eines kd-Baumes vergleichbar, wobei in diesem Fall die Tiefe
stark von dem Verlauf der Partitionsr¨
ander abh¨
angig ist. Verlaufen die Partitionsgren-
zen diagonal, ist eine sehr feine Aufteilung in rechtwinklige Bereiche erforderlich, die zu
einem tiefen Suchbaum f¨
uhren. Um die Tiefe des Suchbaumes zu verringern, wird auf
Basis der gefundenen Partitionierung zun¨
achst ein vorl¨
aufiger Suchbaum aufgebaut,
dessen Bl¨
atter auch solche Regionen enthalten k¨
onnen, die Knoten unterschiedlicher
Partitionen enthalten. Mittels lokaler Austauschheuristiken werden die Knoten des Gra-
phen solange ausgetauscht, bis der Suchbaum den geforderten Kriterien entspricht.
4.3 Algorithmus zur globalen Kontaktsuche
In diesem Abschnitt wird f¨
ur die Aufgabe der globalen Kontaktsuche eine verbesserte
Version des Position-Code-Algorithmus vorgestellt [19]. Es handelt sich um eine zell-
basierte Methode mit sehr feiner Aufteilung und z¨
ahlt zu der Klasse der Verfahren mit
geometrischer Ordnung. F¨
ur den Algorithmus wird angenommen, dass die gr¨
oßte Ver-
schiebung eines Oberfl¨
achenknotens im Netz beschr¨
ankt und bekannt ist. In Abh¨
angig-
keit von dieser Verschiebung (∆max
s) und der Schrittweite twird ein Bereich um jedes
Oberfl¨
achensegment definiert, der Halo. Alle Knoten die in dem Halo eines Segmentes
liegen, sind Kontaktkandidaten bzgl. dieses Segmentes f¨
ur die kommenden Zeitschritte
(vgl. Abb. 4.2, S. 66).
4.3. ALGORITHMUS ZUR GLOBALEN KONTAKTSUCHE 75
4.3.1 Linearer Position-Code
F¨
ur die Bestimmung der Knoten innerhalb eines Halos wird eine k¨
unstliche Ordnung
¨
uber alle Oberfl¨
achenknoten eingef¨
uhrt. Dazu wird das Berechnungsgebiet in kleine
Zellen unterteilt, die jeweils eine eindeutige Nummer erhalten. Jedem Knoten wird die
Nummer der Zelle zugewiesen, in der er liegt. Ist die Menge der Knoten bzgl. dieser
Nummerierung sortiert, k¨
onnen zu zwei gegebenen Knoten eines Segmentes effizient
alle Knoten in seinem Halo bestimmt werden.
Dieses Prinzip wurde von Oldenburg und Nilsson eingef¨
uhrt [59].2Sie haben eine zei-
lenweise Ordnung vorgeschlagen, mit der h¨
ochsten Priorit¨
at auf der z-Koordinate und
der niedrigsten Priorit¨
at auf der x-Koordinate. In Abbildung 4.6 ist die Nummerierung
der Zellen und die Anfrage der Kontaktkandidaten zu einem Oberfl¨
achensegment im
zweidimensionalen Raum skizziert. Die Separationslinien der Zellen sind schwarz. Die
Reihenfolge der Knoten des FE-Netzes ist durch die blaue Linie skizziert. Alle Knoten
die gegen den Halo getestet werden m¨
ussen, liegen in dem rot markierten Bereich, der
das achsenparallele Rechteck um das Segment, den Kontaktbereich,¨
uberdeckt. Diese
¨
Uberdeckung wird mit vier Intervallen der gesamten Knotenmenge erreicht. Die Re-
duktion der mehrdimensionalen Knotenkoordinaten auf eine eindimensionale Ordnung
erlaubt den Einsatz effizienter Sortier- und Suchalgorithmen.
636261...
012...
Abbildung 4.6: Suche der Kontaktkandidaten im Position-Code-Algorithmus
Die regelm¨
aßig auszuf¨
uhrenden Phasen des Position-Code-Algorithmus sind:
2Im Folgenden wird die urspr¨
ungliche Variante nach Oldenburg und Nilsson als linearer Position-
Code-Algorithmus bezeichnet.
76 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
Aktualisieren Neuberechnung des Codes zu einem Knoten des Netzes
Sortieren Sortieren der Knoten bzgl. ihrer Codes
Suchen Suchen der Intervalle innerhalb der Knotenliste, die den Kon-
taktbereich eines Segmentes ¨
uberdecken
Testen Testen aller Knoten innerhalb der gefundenen Intervalle, ob
sie im Halo des Segmentes liegen
Es zeigt sich, dass die Wahl der Zellengr¨
oße kritisch f¨
ur die Laufzeit des Algorithmus
ist: Erstreckt sich ein Segment ¨
uber viele Zellen in vertikaler Richtung sind mehrere
Suchoperationen zwischen den Knotenintervallen notwendig. Liegen sehr viele Kno-
ten innerhalb jeder Zelle, ergibt sich innerhalb der Zellen wiederum ein quadratischer
Aufwand, da in diesem Gebiet jeder Knoten zu jedem Segment getestet werden muss.
Insbesondere in Netzen mit sehr unterschiedlichem Diskretisierungsgrad muss ein Kom-
promiss gefunden werden, der versucht, beide Extreme zu vermeiden.
4.3.2 Position-Codes auf Basis der Lebesgue-Kurve
Die oben geschilderte Problematik zur Wahl der Zellengr¨
oße h¨
angt im Wesentlichen
mit der zeilenweisen Nummerierung und der damit implizierten Priorisierung der Ach-
sen bei der Sortierung zusammen. Um sich von dieser Priorisierung zu l¨
osen, kann die
Nummerierung ¨
uber eine raumf¨
ullende Kurve durchgef¨
uhrt werden. Im Gegensatz zu
der Partitionierung mittels raumf¨
ullender Kurven ist in diesem Falle nicht die Indizie-
rung (streng monotone Ordnung) bzgl. der Kurve sondern eine Codierung gefordert.
0000112
2
0
0
0
0
1
1
0102010
0
1
0
2
0
1
0
b
a
00
0110
11
00
0110
11
10
1101
00 00 10
01 11 01 11
1000 00 10
1101
11
1000
01
11
1000
01
11
10
01
10
1101
00
00
01
c
10
11
00
0111
1000
0111
1000
01
11
1000
01
11
1000
01 01
00 10
11 01 11
1000 00
10
1101
00
00 10
1101
10
11
10
01
00
11
Abbildung 4.7: Lebesgue-Kurve in 8 ×8 Zellen und abgeleitete Codierung der Zellen
In Abbildung 4.7 sind die Lebesgue-Kurve f¨
ur die Aufteilung in 8×8 Zellen (links) und
die zugeh¨
orige Codierung in Bin¨
ardarstellung (rechts) angegeben. Die roten Codes sind
die h¨
ochstwertigen der Separationslinien vom Level zwei, die blauen sind die nieder-
wertigsten der Level null Separation. Tabelle 4.3 zeigt die Codes der in der Abbildung
4.3. ALGORITHMUS ZUR GLOBALEN KONTAKTSUCHE 77
dargestellten Knoten a,bund c, dezimal und bin¨
ar. Zudem sind in der Tabelle die
zugeh¨
origen Werte sepxund sepyangegeben, die f¨
ur die effiziente Aktualisierung der
Codes notwendig sind. sepxist die Anzahl der Separationslinien, die links des Knotens
liegen, sepydie Anzahl derer, die unterhalb des Knotens liegen.
Knoten code sepxsepy
a16 010000 0 000000 4 000100
b14 001110 3 000011 2 000010
c54 110110 5 000101 6 000110
Tabelle 4.3: Knoten im Suchraum mit zugeh¨
origen Werten
F¨
ur die Algorithmen zum Initialisieren und Aktualisieren der Position-Codes und zum
Testen der Halo-Kandidaten werden die folgenden Daten angenommen: Der Suchraum
ist in nbox ×nbox Zellen der Gr¨
oße boxsize ×boxsize aufgeteilt. Dabei gilt nbox =
2lmax+1, d. h. es gibt Separationslinien vom Level 0 bis Level lmax. Die Nummerierung
der Zellen erfolgt von 0 bis nbox21. Die Koordinaten eines Knotens asind gegeben
als axund ay.originxund originygeben die Koordinaten der linken unteren Ecke
des Suchraumes an. Dies erm¨
oglicht eine virtuelle Verschiebung des Ursprungs, so dass
die Werte axoriginxund ayoriginyimmer im positiven Bereich liegen. Es ergibt
sich eine Bin¨
ardarstellung der L¨
ange 2 ·(lmax + 1). Die eingesetzten Operatoren sind
entsprechend Tabelle 4.4 definiert.
Operator Erl¨
auterung
Konkatenation zweier Bitstrings
Bitstring nach links shiften
Und-Verkn¨
upfung zweier Bitstrings
Oder-Verkn¨
upfung zweier Bitstrings
exklusive Oder-Verkn¨
upfung zweier Bitstrings
Tabelle 4.4: Bin¨
are Operatoren
4.3.2.1 Initialisieren der Codes
Die Rekursionstiefe der raumf¨
ullenden Kurve ist vorab durch die gew¨
unschte Zellen-
gr¨
oße festgelegt, w¨
ahrend bei der Partitionierung die Rekursion fortgef¨
uhrt wird, bis alle
Knoten separiert sind. Insbesondere muss w¨
ahrend der rekursiven Aufteilung des Ge-
bietes in Zellen der geforderte Code bestimmt werden. Ein Algorithmus zur Berechnung
des Codes eines Knotens und der zugeh¨
origen Separatoren-Z¨
ahler ist in Abbildung 4.8
angegeben.
Die Berechnung des Codes erfolgt ¨
uber die Bin¨
ardarstellung (vgl. Abb. 4.7). F¨
ur jeden
Level ieines Separators wird getestet, ob der betrachtete Knoten rechts oder links bzw.
¨
uber oder unter dem jeweiligen Separator liegt. Je nach Lage wird die letzte Stelle mit
eins oder null belegt und der Separatorz¨
ahler um die entsprechende Anzahl an Zellen
78 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
code(a) = 0
sepx(a) = 0
sepy(a) = 0
for i=lmax to 0 do
code(a)= 1
if (axoriginx)>2i·boxsize then
code(a) += 1
sepx(a) += 2i
ax= 2i·boxsize
end if
code(a)= 1
if (ayoriginy)>2i·boxsize then
code(a) += 1
sepy(a) += 2i
ay= 2i·boxsize
end if
end for
Abbildung 4.8: Initialisieren von code,sepxund sepyzu Knoten a
erh¨
oht. Die Position wird ggf. verringert, so dass der verbleibende Suchraum immer
genau zwei Separatoren (vertikaler und horizontaler) vom Level ienth¨
alt. In jedem
Fall wird die Ziffernfolge um eine Stelle nach links verschoben, so dass am Ende die
beiden Bits die h¨
ochstwertigen Stellen belegen, die den Separatoren des Levels lmax
entsprechen.
4.3.2.2 Aktualisieren der Codes
Die regelm¨
aßige Struktur der Lebesgue-Kurve erlaubt eine inkrementelle Aktualisierung
des Codes f¨
ur einen Knoten der in eine andere Zelle gewandert ist. Damit entf¨
allt eine
h¨
aufige Neuberechnung des Codes mit Aufwand O(lmax) je Knoten. In der Analyse zur
mittleren Partitionierungsqualit¨
at in Abschnitt 3.3.3 ist schon die Tatsache genutzt,
dass der Abstand zweier benachbarter Zellen lediglich von dem Level des trennenden
Separators abh¨
angig ist. Mit Uq=2·4q+1
3und Rp=4·4p+2
3f¨
ur einen horizontalen Level q
bzw. vertikalen Level pSeparator k¨
onnen diese Abst¨
ande direkt angegeben werden. Da
die Codierung in Bin¨
ardarstellung in dieser Anwendung intuitiver ist, baut der folgende
Algorithmus auf logischen Operationen ¨
uber Bitstrings auf.
Abbildung 4.9 zeigt den Algorithmus f¨
ur das Aktualisieren des Position-Codes eines
Knotens. Die ersten beiden Schleifen testen hinsichtlich einer horizontalen Verschie-
bung, die anderen beiden hinsichtlich einer vertikalen. Da die Anzahl der links des
Knotens gelegenen Separatoren bekannt ist, kann mit Hilfe der aktuellen Koordinate
¨
uberpr¨
uft werden, ob eine Bewegung nach links oder rechts ¨
uber eine oder mehrere
Zellengrenzen stattgefunden hat.
F¨
ur das Aktualisieren des Codes ist es notwendig, den Level des ¨
uberschrittenen Se-
4.3. ALGORITHMUS ZUR GLOBALEN KONTAKTSUCHE 79
i
i
while (axoriginx)sepx(a)·boxsize do
k= min{j|sepx(a)2j6= 0}
code(a)= (10)k+1
sepx(a)
end while
while (axoriginx)>(sepx(a) + 1) ·boxsize do
k= min{j|(sepx(a) + 1) 2j6= 0}
code(a)= (10)k+1
sepx(a)++
end while
while (ayoriginy)sepy(a)·boxsize do
k= min{j|sepy(a)2j6= 0}
code(a)= (01)k+1
sepy(a)
end while
while (ayoriginy)>(sepy(a) + 1) ·boxsize do
k= min{j|(sepy(a) + 1) 2j6= 0}
code(a)= (01)k+1
sepy(a)++
end while
Abbildung 4.9: Aktualisieren von code,sepxund sepyzu Knoten a
parators zu kennen. Auch daf¨
ur ist der Wert von sepxhilfreich, da die Position des
niederwertigsten auf eins gesetzten Wertes genau den gesuchten Level angibt3. Ist ein
Separator vom Level k¨
uberschritten worden, m¨
ussen k+ 1 der hinteren Bits umge-
schaltet werden, welche die Position in x-Richtung angeben. (10)k+1 entspricht dem
Wert Rp, der Differenz zwischen den Codes der Zellen rechts und links des Separators.
Die Aktualisierung nach einer Verschiebung in y-Richtung wird analog durchgef¨
uhrt.
Das Umschalten der Bits erfolgt ¨
uber die Bitfolge (01)k+1 bei der ¨
Uberschreitung eines
Separators vom Level k.
Um in der Liste der Knoten schnell die Halo-Kandidaten finden zu k¨
onnen, muss die
Sortierung bzgl. der Codes st¨
andig erhalten bleiben. Der Grad der Vorsortierung ist
im Allgemeinen sehr hoch, da die Verschiebung der Knoten gering und die r¨
aumliche
Lokalit¨
at in der Kurve hoch ist. Um die gew¨
unschte Effizienz der Kontaktsuche zu
erzielen, ist ein entsprechender Sortieralgorithmus zu w¨
ahlen, der eine Vorsortierung der
Liste ber¨
ucksichtigt. An dieser Stelle wird die Liste in einem balancierten Bin¨
arbaum
gehalten. Die Kosten einer Verschiebeoperation eines Blattes sind im Mittel durch den
Logarithmus des Abstands zwischen L¨
osch- und Einf¨
ugeposition gegeben [52].
3Die Z¨
ahlung der Positionen im Bitstring beginnt mit null.
80 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
4.3.2.3 Testen der Halo-Kandidaten
Wie bei der linearen Variante des Position-Code-Algorithmus m¨
ussen alle Knoten gegen
den Halo des betrachteten Segmentes getestet werden, deren Codes einer bestimmten
Zellenmenge angeh¨
oren. W¨
ahrend dieses Gebiet bei ersterem aus mehreren Zeilen be-
steht, setzt es sich im Falle der Lebesgue-Kurve aus quadratischen Gebieten zusammen.
Abbildung 4.10 zeigt ein Segment innerhalb der Lebesgue-Kurve der Tiefe drei. Die
0000112
2
0
0
0
0
1
1
Abbildung 4.10: Suche der Kontaktkandidaten in der Lebesgue-Kurve
Besonderheit bei einer rekursiven raumf¨
ullenden Kurve ist die Tatsache, dass maximal
vier Gebiete zu untersuchen sind, und diese den Zellen der entsprechend grobgranu-
lareren Kurve entsprechen. Damit ist die Anzahl der Code-Intervalle, die innerhalb
der Gesamtliste aller Knoten gesucht werden m¨
ussen unabh¨
angig von der gew¨
ahlten
Zellengr¨
oße.
Zun¨
achst wird der Kontaktbereich konstruiert, welcher den Halo des Segmentes enth¨
alt.
Die Codes zu den Eckpunkten e1und e2, die den Endknoten des Segmentes am n¨
achsten
liegen, k¨
onnen wie im Algorithmus in Abbildung 4.9 aus den Codes zu den Knoten
gewonnen werden. Die beiden anderen Eckpunkte e3und e4des Rechtecks ergeben sich
durch folgende Bitoperationen:
code(e3) = code(e1) (code(e1) code(e2)) (10)lmax+1
code(e4) = code(e2) (code(e1) code(e2)) (10)lmax+1
Durch die ¨
außere exklusive Oder-Verkn¨
upfung werden alle Bits umgeschaltet, durch die
sich die Codes der beiden Eckpunkte e1und e2in ihrer vertikalen Lage unterscheiden.
Im n¨
achsten Schritt werden die bis zu vier Code-Intervalle bestimmt, in denen die Halo-
Kandidaten liegen. Dazu muss der Level bestimmt werden, dessen Zelle die Gr¨
oße des
Rechtecks um das Segment ¨
ubersteigt. Sei size die gr¨
oßte Kantenl¨
ange, dann ist der
gesuchte Level kgegeben als
4.3. ALGORITHMUS ZUR GLOBALEN KONTAKTSUCHE 81
k= min nj|size < 2j·boxsizeo.
Anfang und Ende der Code-Intervalle k¨
onnen aus den Codes der Eckpunkte ejgefunden
werden, indem die letzten 2iBits auf 0 bzw. auf 1 gesetzt werden. Dies generiert die
Nummern der ersten und letzten Zelle in dem jeweiligen Intervall:
startcode(ej) = code(ej)(11)lmax+1i(00)kund
stopcode(ej) = code(ej)(00)lmax+1i(11)kf¨
ur j {1, . . . , 4}.
Jedes der Code-Intervalle [startcode(ej), stopcode(ej)] beschreibt ein quadratisches Ge-
biet der Gr¨
oße 2k·boxsize×2k·boxsize um einen der Eckpunkte des Rechtecks, welches
das untersuchte Oberfl¨
achensegment umschließt. Der Level kist dabei so gew¨
ahlt, dass
das Rechteck von h¨
ochstens einem vertikalen und h¨
ochstens einem horizontalen Sepa-
rator vom Level ligeschnitten wird. Damit bilden die bis zu vier quadratischen
Teilgebiete ein zusammenh¨
angendes Gebiet, welches das Rechteck vollst¨
andig beinhal-
tet (vgl. Abb. 4.10). Wird das Rechteck von weniger Separatoren von h¨
oherem Level
geschnitten, sind entweder jeweils zwei oder alle vier Code-Intervalle identisch.
Das Finden der Halo-Kandidaten erfolgt ¨
uber geeignete Suchoperationen innerhalb der
Liste aller Knoten, die gem¨
ihrer Position-Codes sortiert ist. Startpunkt der Suche
ist jeweils einer der Endknoten des untersuchten Segmentes, da deren Lage innerhalb
der Liste bekannt ist und die Code-Intervalle aufgrund der gew¨
ahlten Codierung ¨
uber
die Lebesgue-Kurve in den meisten F¨
allen eine r¨
aumliche N¨
ahe aufweisen.
Um die gew¨
unschten Effizienzeigenschaften zu erzielen, wird der Suchalgorithmus von
der relativen Lage des gesuchten Intervalls zu den beiden bekannten Knoten abh¨
angig
gew¨
ahlt. Ist keiner der beiden Endknoten im gesuchten Intervall enthalten, wird eine
exponentielle Suche gestartet, die bei dem Knoten beginnt, dessen Abstand (Differenz
der Codes) zum gesuchten Intervall geringer ist. Liegt das Intervall um einen der beiden
Endknoten, kann auch eine sequentielle Suche zum Startpunkt des Intervalls ausgef¨
uhrt
werden. Da innerhalb der anschließenden Testphase jeder Knoten im durchlaufenen
Bereich untersucht werden muss, wird dabei die gleiche algorithmische Komplexit¨
at
erreicht.
4.3.3 Erweiterung f¨
ur die parallele Kontaktsuche
In Kapitel 3 wurde gezeigt, dass sich raumf¨
ullende Kurven f¨
ur die Partitionierung von
FE-Netzen gut eigenen. Daher bietet es sich an, die Nummerierung der Knoten bzgl.
ihrer geometrischen Position gleichzeitig auch f¨
ur die Partitionierung in einer parallelen
Kontaktsuchphase einzusetzen. Abgesehen von den Enden eines Intervalls ergeben sich
aus raumf¨
ullenden Kurven meist Partitionen die aus gr¨
oßeren rechtwinkligen Gebie-
ten zusammengesetzt sind. Im Gegensatz zu der Methode des multi-constraint graph
82 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
partitioning (vgl. Abschnitt 4.2.3) kann diese Partitionierung nicht f¨
ur die allgemeine
FE-Berechnung genutzt werden. Vorteilhaft ist jedoch die Tatsache, dass ein homogener
Algorithmus eingesetzt wird, dessen Kontaktanfragen im sequentiellen und parallelen
vergleichbar ablaufen. Zudem sind die Kosten f¨
ur die globale Kontaktsuche innerhalb
der Partitionen schwer absch¨
atzbar. Eine Partitionierung aufgrund von gewichteten
Knoten wird nicht zwingend zu einer gleichm¨
aßigen Verteilung der Rechenlast f¨
uhren.
Die Flexibilit¨
at der Partitionierung ¨
uber eine sortierte Knotenfolge ben¨
otigt dahinge-
gen keine vorherige Absch¨
atzung von Rechenlasten, sondern erlaubt die dynamische
Ann¨
aherung an eine ausgeglichene Lastsituation im Verlauf der Simulation.
F¨
ur eine Kontaktanfrage werden wiederum die Code-Intervalle bestimmt, die einen
Kontaktbereich eines Segmentes ¨
uberdecken. F¨
ur Anfragen, die ¨
uber Partitionsgren-
zen hinweg verlaufen, da die Intervalle (teilweise) in fremden Partitionen liegen, gibt
es zwei M¨
oglichkeiten zur Verarbeitung: Entweder wird die Anfrage vollst¨
andig von
der Prozesseinheit abgearbeitet, welche die Quelle der Anfrage ist, oder die Anfrage
wird in Teilen an die angrenzenden Prozesseinheiten verteilt. Erstere Variante eignet
sich insbesondere in parallelen Systemen mit gemeinsamem Speicher. Da nur lesende
Operationen in der globalen Position-Code-Liste durchzuf¨
uhren sind, entstehen keine
Zugriffskonflikte. Die zweite Variante ist in Systemen mit verteiltem Speicher sinnvoll,
da der Kommunikationsaufwand verringert wird. Es muss nur der Halo des anfragen-
den Segmentes und das zu untersuchende Teilintervall versandt werden. In der Antwort
m¨
ussen lediglich die Knoten ¨
ubermittelt werden, die im Halo liegen. Deren Anzahl wird
i. A. deutlich geringer sein, als die der Knoten in den Intervallen, die den Kontaktbereich
abdecken.
4.4 Aufwandsanalyse
In diesem Abschnitt werden die Laufzeiten f¨
ur beide Varianten des Position-Code-
Algorithmus analysiert und verglichen. F¨
ur die lineare Variante sind von Oldenburg
und Nilsson konstante Kosten je Knoten und Segment publiziert [59]. In der Arbeit
ist jedoch kein konkretes Analyse-Szenario angegeben, auf dem dieses Ergebnis basiert.
Das hier gew¨
ahlte Szenario zeigt die Schw¨
achen der zeilenweisen Nummerierung, die
insbesondere bei einer hohen Varianz im Grad der Diskretisierung auftreten.
Die Analyse bezieht sich auf die Effizienz im mittleren Fall. F¨
ur beide Varianten k¨
onnen
F¨
alle konstruiert werden, die zu einer sehr hohen Komplexit¨
at f¨
uhren (vgl. Tab 4.1,
S. 70). F¨
ur die Lebesgue-Kurve beinhaltet der schlechteste Fall eine Bewegung ¨
uber
den Separator vom h¨
ochsten Level oder eine Suchoperation zwischen zwei Gebieten,
die vom Separator des h¨
ochsten Levels getrennt sind. In beiden F¨
allen ergibt sich ein
Aufwand der vom Grad des h¨
ochsten Levels und damit von der Gr¨
oße des Suchgebietes
abh¨
angig ist.
F¨
ur die Absch¨
atzung der Laufzeit werden die Vergleichsoperationen zur Durchf¨
uhrung
der einzelnen Phasen gez¨
ahlt. Ihre Anzahl beeinflusst maßgeblich die Laufzeit der Ver-
fahren. Zudem ist das Maß weniger von der tats¨
achlichen Umsetzung des Algorithmus
4.4. AUFWANDSANALYSE 83
in einer Programmiersprache abh¨
angig, als die Anzahl aller Operationen. Die asympto-
tischen Komplexit¨
aten sind jedoch in beiden F¨
allen identisch.
4.4.1 Szenario
Um den algorithmischen Aufwand der vorgestellten Variante des Position-Code-Algo-
rithmus abzusch¨
atzen und mit dem linearen zu vergleichen wird zun¨
achst ein Analyse-
Szenario definiert (vgl. Abb. 4.11). Es ist eine starke Abstraktion eines tats¨
achlichen
FE-Netzes und erlaubt eine Untersuchung der Algorithmen mit moderatem Aufwand.
Dennoch zeigen die Messungen an synthetischen Benchmark-Netzen, dass die hier be-
stimmten Werte auch auf andere Eingaben ¨
ubertragbar sind.
n b
n b
b
b
Abbildung 4.11: Analyse-Szenario
Das Gebiet ist in n×nZellen der Gr¨
oße b×baufgeteilt. F¨
ur die Konstruktion der
Lebesgue-Kurve ergibt sich eine Rekursion der Tiefe log n, d. h. die mittleren Sepa-
ratoren sind vom Level lmax = log n1 und n= 2lmax+1.4Jede Zelle enth¨
alt einen
Knoten an der Oberfl¨
ache des Netzes5. F¨
ur die Anfrage bzgl. eines Segmentes wird eine
beliebige L¨
ange S=s·bund eine beliebige Lage im Raum (Position und Steigung)
angenommen.
Die st¨
arksten Abstraktionen ergeben sich in der Verteilung und der Anzahl der Knoten
des FE-Netzes. Bei einem gegebenen unstrukturierten FE-Netz ist die Anzahl der Zellen
deutlich gr¨
oßer als die der Oberfl¨
achenknoten. Zudem ist die Verteilung von der Varianz
in der Diskretisierung und dem Verlauf der Oberfl¨
achen abh¨
angig. Diese Vereinfachung
erlaubt jedoch eine detaillierte Analyse und entbindet von der Frage der optimalen
Zellengr¨
oße in stark unterschiedlich diskretisierten Netzen. Das Szenario ¨
ahnelt dem
in Abschnitt 4.2.1 (S. 70) skizzierten. Ein deutlicher Unterschied liegt in der Gr¨
oße
4In diesem Abschnitt wird ausschließlich der Logarithmus zur Basis 2 verwendet. Aus Gr¨
unden der
¨
Ubersichtlichkeit wird auf die explizite Angabe der Basis verzichtet.
5Alle inneren Knoten des Netzes sind f¨
ur die Kontaktbehandlung nicht von Belang und m¨
ussen
daher in der Analyse nicht ber¨
ucksichtigt werden.
84 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
der Anfrageregion. Das hier vorgestellte Szenario enth¨
alt eine variable Gr¨
oße, w¨
ahrend
das vorherige eine konstante Gr¨
oße annimmt, welche aus den anderen dort gegebenen
Randbedingungen implizit gegeben ist.
Die Kosten der initialen Bestimmung der Codes aller Oberfl¨
achenknoten hat einen sehr
geringen Einfluss auf die gesamte Laufzeit der Simulation. Die anderen Phasen der
Kontaktbehandlung werden regelm¨
aßig wiederholt und in der expliziten FE-Simulation
werden i. A. deutlich mehr Zeitschritte ausgef¨
uhrt, als Knoten im Netz vorhanden sind.
In der linearen Variante k¨
onnen die Codes direkt berechnet werden. Bei der Lebesgue-
Kurve sind je Rekursionsschritt drei Vergleichsoperationen durchzuf¨
uhren: Zwei f¨
ur die
Tests gegen horizontalen und vertikalen Separator vom aktuellen Level und einer f¨
ur
die Schleife ¨
uber die Rekursionstiefe der Kurve (vgl. Algorithmus in Abb. 4.8). Damit
ergeben sich 3 log nVergleichsoperationen je Knoten.
Da f¨
ur die Liste der Knoten keine Vorsortierung bzgl. ihres Position-Codes angenommen
werden kann, liegen die notwendigen Kosten f¨
ur die initiale Sortierung bei O(log n) je
Knoten und sind damit von der gew¨
ahlten Variante unabh¨
angig.
4.4.2 Aktualisieren der Position-Codes
F¨
ur die Analyse der Code-Aktualisierung sind zwei Kennzahlen zu bestimmen: Der Auf-
wand f¨
ur die Berechnung des Codes und f¨
ur die Neusortierung der Knotenliste bzgl.
ihrer Codes. Im Falle des linearen Position-Codes k¨
onnen die Codes direkt aus den Ko-
ordinaten bestimmt werden. Damit ergeben sich Kosten in H¨
ohe einer Vergleichsopera-
tion je Knoten, die f¨
ur die Abbruchbedingung der Schleife ¨
uber alle Knoten erforderlich
ist.
Bei der Verwendung der Lebesgue-Kurve ergibt sich die inkrementelle Aktualisierung
des Codes mit Hilfe des Algorithmus in Abbildung 4.9 (S. 79). F¨
ur den Test, ob
ein Knoten seit der letzten globalen Kontaktsuche innerhalb der selben Zelle ver-
blieben ist, sind 4 Vergleichsoperationen notwendig (einmaliger Test der Abbruch-
bedingung f¨
ur jede while-Schleife). Zusammen mit dem Vergleich in der Schleife ¨
uber
alle Oberfl¨
achenknoten ergibt sich ein minimaler Aufwand von 5 Vergleichen je Knoten.
Hat ein Knoten einen Separator ¨
uberschritten, muss dessen Level ibestimmt werden
(k= min{j|sepx(a)2j6= 0}). Dabei werden t(k) = k+ 1 Vergleiche ausgef¨
uhrt.
Gemittelt ¨
uber die H¨
aufigkeitsverteilung der Level ergibt sich ein Aufwand von
¯
t=
lmax
X
k=0
p(k)·t(k)
X
k=0
p(k)·t(k) =
X
k=0
k+ 1
2k+1 =
X
k=1
k
2k= 2
Vergleichen je ¨
uberschrittenem Separator. Sei mdie Anzahl der ¨
uberschrittenen Sepa-
ratoren. Der Aufwand f¨
ur die Aktualisierung des Codes eines Knotens ergibt sich dann
zu
TLebesgue
Aktualisieren = 5 + 2m . (4.1)
Ist die Verschiebung der Knoten beschr¨
ankt und wird nur ein Separator je Orientierung
¨
uberschritten, ist der Aufwand durch 9 Vergleichsoperationen beschr¨
ankt.
4.4. AUFWANDSANALYSE 85
F¨
ur die Speicherung der Knotenliste wird ein balancierter Bin¨
arbaum eingesetzt. F¨
ur
die Kosten einer Verschiebe-Operation6mit Abstand dkann mit mittleren Kosten tv(d)
in H¨
ohe von
tv(d) = 8 (log d+ 2) (4.2)
durchgef¨
uhrt werden [52]. Um den Aufwand f¨
ur die Sortierung der Position-Code-Liste
zu bestimmen, muss f¨
ur beide Varianten ¨
uber die erwarteten Distanzen dbei den Ver-
schiebeoperationen und den entsprechenden Kosten tv(d) gemittelt werden.
F¨
ur den linearen Position-Code ergeben sich offensichtlich Abst¨
ande, die von der Ver-
schiebungsrichtung der betroffenen Knoten abh¨
angig sind. Im gegebenen Szenario f¨
uhrt
der ¨
Ubergang ¨
uber einen vertikalen Separator zu einer Verschiebung um eine Position
mit Kosten tv(1). Ein ¨
Ubergang ¨
uber einen horizontalen Separator resultiert in einer
Distanz von nStellen und damit Kosten in H¨
ohe von tv(n). Zwei Operationen sind
notwendig, um zu pr¨
ufen, ob der Knoten an der korrekten Position der Liste steht. Die
gesamten Kosten f¨
ur m1vertikale und m2horizontale ¨
Uberg¨
ange ergeben sich zu
Tlinear
Sortieren = 2 + m1·tv(1) + m2·tv(n)
= 2 + m1·8 (1 + 2) + m2·8 (log n+ 2)
= 2 + m1·24 + m2·(8 log n+ 16) .(4.3)
Bei einer beschr¨
ankten Verschiebung der Knoten um maximal eine Zelle ergeben sich
Kosten von weniger als 42 + 8 ·log nVergleichsoperationen.
Innerhalb der Lebesgue-Kurve sind die Distanzen nicht nur von der Bewegungsrich-
tung, sondern vielmehr von dem Level des ¨
uberschrittenen Separators abh¨
angig. Die
Abst¨
ande sind Uq=2·4q+1
3f¨
ur einen horizontalen Separator vom Level qund Rp=
4·4p+2
3f¨
ur einen vertikalen Separator vom Level p(vgl. Lemma 2.1, S. 10). Gemittelt
¨
uber die Wahrscheinlichkeiten der verschiedenen Level ergeben sich die Kosten als
TLebesgue
Sortieren = 2 + m1
lmax
X
k=0
p(k)·tv(Rk) + m2
lmax
X
k=0
p(k)·tv(Uk)
= 2 + m1
lmax
X
k=0
1
2k+1 ·8·"log 4·4k+ 2
3!+ 2#
+m2
lmax
X
k=0
1
2k+1 ·8·"log 2·4k+ 1
3!+ 2#
2+8m1
lmax
X
k=0
1
2k+1 ·[2k+ 4]
+8m2
lmax
X
k=0
1
2k+1 ·[2k+ 2]
= 2 + 8m1
lmax
X
k=0
k
2k+2
2k
6Entfernen eines Schl¨
ussels und anschließendes Einf¨
ugen an einer Stelle mit Abstand dzur alten
Position.
86 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
+8m2
lmax
X
k=0
k
2k+1
2k
2 + 48m1+ 32m2.(4.4)
Gilt m1, m21 sind im Mittel h¨
ochstens 82 Vergleiche notwendig, um einen Knoten
innerhalb der Liste der Oberfl¨
achenknoten bzgl. seines ver¨
anderten Position-Codes zu
verschieben.
4.4.3 Testen der Halo-Kandidaten
Im Szenario in Abbildung 4.11 ist die Halo-Anfrage eines Segmentes mit beliebiger
Lage und L¨
ange vorgesehen. F¨
ur die Analyse der beiden Varianten des Position-Code-
Algorithmus werden die H¨
ohe, die Breite, die Fl¨
ache und die maximale Ausdehnung
des resultierenden Kontaktbereiches im mittleren Fall ben¨
otigt. Sei die L¨
ange des Ober-
sx
sy
α
s
Abbildung 4.12: Kontaktsegment im Suchraum
fl¨
achensegmentes s=l·bals Vielfaches der Gr¨
oße einer Zelle gegeben. Sei αder Winkel,
der die Steigung festlegt (vgl. Abb. 4.12). Aus Gr¨
unden der Symmetrie ist es ausrei-
chend, αals gleichverteilt in dem Intervall [0, π/2] anzunehmen. Die mittlere Breite ¯sx
und die mittlere H¨
ohe ¯sybetragen
¯sx=1
π/2
π/2
Z
0
s·cos α =1
π/2hs·sin αiπ/2
0=2s
πund
¯sy=1
π/2
π/2
Z
0
s·sin α =1
π/2hs·cos αiπ/2
0=2s
π.
Im mittleren Fall betr¨
agt das Maximum ¯smax aus Breite sxund H¨
ohe sy
¯smax =1
π/2
π/2
Z
0
max(s·cos α, s ·sin α)
=1
π/2
π/4
Z
0
max(s·cos α, s ·sin α) +
π/2
Z
π/4
max(s·cos α, s ·sin α)
4.4. AUFWANDSANALYSE 87
=1
π/2
π/4
Z
0
s·cos α +
π/2
Z
π/4
s·sin α
=1
π/2 2
2s+2
2s!
=22
πs .
Die mittlere Fl¨
ache ¯sfeines Rechtecks sy×sxbetr¨
agt
¯sf=1
π/2
π/2
Z
0
s·cos α·s·sin α
=1
π/21
2s2·sin2απ/2
0
=s2
π.
F¨
ur den Test gegen den Halo m¨
ussen zun¨
achst die entsprechenden Intervalle gesucht
werden, die den Kontaktbereich ¨
uberdecken. F¨
ur diese Phase der Kontaktsuche sind
die innerhalb des Bin¨
arbaumes sortierten Listen in Felder mit direktem Zugriff kopiert.
Dieses verringert zwar nicht die Komplexit¨
at der Suchoperationen, die in beiden F¨
allen
O(log n) betr¨
agt. Die Konstanten sind jedoch geringer und die Algorithmen sind ein-
facher umzusetzen. F¨
ur die bin¨
are Suche zwischen zwei Positionen n1und n2,n1< n2
ist die Anzahl der Vergleiche auf 2 log(n2n1) +2 beschr¨
ankt. Die exponentielle Suche
mit Startpunkt n1und gesuchter Position n2erfordert mit 4 log(n2n1) + 4 doppelt
so viele Operationen.
Bei der linearen Variante des Position-Code-Algorithmus erstreckt sich der Anfragebe-
reich im Mittel ¨
uber d¯sye+ 1 Zeilen des gesamten Suchraumes. Jede dieser Zeilen ist
d¯sxe+ 1 Zellen lang (vgl. Abb. 4.6, S. 75). Um den ersten Halo-Kandidaten innerhalb
einer Zeile zu finden, wird jeweils eine exponentielle Suche durchgef¨
uhrt. Die erste wird
von einem der beiden Endknoten des betrachteten Segmentes gestartet, alle weiteren
vom letzten betrachteten Halo-Kandidaten. Damit ergeben sich d¯sye+ 1 Suchanfragen
mit Aufwand 4 log(n) + 4 und einem weiteren Vergleich f¨
ur die Abbruchbedingung der
Schleife ¨
uber alle Suchintervalle. Die Gesamtkosten ergeben
Tlinear
Suchen = (d¯sye+ 1) ·(4 log n+ 5)
2s
π+ 2·(4 log n+ 5)
= 10 + 10s
π+ 8 s
π+ 1·log n . (4.5)
Damit existiert neben einer Konstanten ein Term, der von der L¨
ange des Segmentes
abh¨
angig ist und ein weiterer, der zus¨
atzlich von der Gr¨
oße des gesamten Suchraumes
abh¨
angig ist.
88 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
F¨
ur jeden der Knoten im Kontaktbereich des Segmentes muss getestet werden, ob er
im Halo liegt. Dieser Test ben¨
otigt drei Vergleiche plus einen weiteren f¨
ur die Schleife
¨
uber die Knoten. Die Anzahl der Knoten im Kontaktbereich ist durch die Anzahl der
¨
uberdeckten Zellen gegeben. Sie kann durch die mittlere Fl¨
ache (¯sf) plus zwei weitere
Zeilen und zwei weitere Spalten mittlerer L¨
ange (¯sx,¯sy) abgesch¨
atzt werden. Der Test
der Halo-Kandidaten erfordert damit einen Aufwand von
Tlinear
Testen = (3 + 1) [¯sf+ 2 (d¯sye+d¯sxe+ 2)]
4s(s+ 8)
π+ 8
= 32 + 4s2+ 32s
π(4.6)
Vergleichen.
Die Analyse f¨
ur die Suchkosten beim Position-Code auf Basis der Lebesgue-Kurve er-
folgt anhand des Algorithmus in Abschnitt 4.3.2.3 (S. 80). Die Bestimmung des Levels
k, dessen Gr¨
oße den Kontaktbereich ¨
ubersteigt, erfordert k+ 1 Vergleiche und ist von
der Gr¨
oße des Segmentes abh¨
angig. Damit gilt
k=dlog (d¯smaxe)e=&log &22
πs'!'log 22
πs!+ 1 <log s+ 1 .(4.7)
F¨
ur die Berechnung und die Sortierung der Codes aller Eckpunkte werden weitere
sieben Vergleiche ausgef¨
uhrt. Um die bis zu vier Intervalle des Kontaktbereichs zu
suchen, finden vier Suchvorg¨
ange statt: Mindestens einer dieser Suchvorg¨
ange findet
innerhalb eines Intervalls statt und ist damit lediglich von der Fl¨
ache des Ziellevels
(4k) abh¨
angig, so dass
tlokal(k)4 log(4k) + 4 = 8k+ 4 .(4.8)
Das Finden der (bis zu) drei anderen Intervalle des Kontaktbereichs h¨
angt von dem
Level der Separatoren ab, die den Kontaktbereich schneiden (vgl. Abb. 4.10, S. 80). Sei
jder Level des Separators, der das zu suchende Intervall vom aktuellen trennt. Beginnt
die Suche bei dem letzten Knoten des aktuellen Intervalls, so ist die Distanz, ¨
uber
welche die Suche ausgef¨
uhrt wird, durch Uj=2·4j+1
3(horizontaler Separator) und Rj=
4·4j+2
3(vertikaler Separator) begrenzt (vgl. Lemma 2.1, S. 10). F¨
ur einen horizontalen
Separator ergibt sich ¨
uber die Wahrscheinlichkeitsverteilung der Level j > k ein
Aufwand von
th
global(k)
lmax
X
j=k
p(j)·t(j)
=
lmax
X
j=k
1
2jk+1 ·4 log (Uj)+4
lmax
X
j=k
1
2jk+1 ·4 (2j)+4
4.4. AUFWANDSANALYSE 89
=
lmaxk
X
j=0
1
2j+1 ·4 (2(j+k) + 1)
X
j=0
2
2j·(2(j+k) + 1)
=
X
j=0
4j
2j+
X
j=0
4k
2j+
X
j=0
1
2j
= 8 + 8k+ 2
= 8k+ 10 (4.9)
Vergleichen. An einem vertikalen Separator ergibt sich nach analoger ¨
Uberlegung ein
Aufwand von
tv
global(k)
lmax
X
j=k
p(j)·t(j)
=
lmax
X
j=k
1
2jk+1 ·4 log (Rj)+4
lmax
X
j=k
1
2jk+1 ·4 (2j+1)+4
8k+ 12 (4.10)
Vergleichen.
Werden zwei der entfernten Suchoperationen ¨
uber den horizontalen Separator und ei-
ne ¨
uber den vertikalen Separator ausgef¨
uhrt, ergeben sich aus (4.8), (4.9) und (4.10)
Gesamtkosten von
TLebesgue
Suchen k+1+7+tlokal(k)+2th
global(k) + tv
global(k)
k+8+8k+ 4 + 2 (8k+ 10) + 8k+ 12
= 44 + 33k
(4.7) <44 + 33 (log s+ 1)
= 77 + 33 log s(4.11)
Vergleichsoperationen. Diese verringern sich um bis zu 56 + 24 log sOperationen, falls
der Kontaktbereich durch weniger als vier Intervalle vom Level kabgedeckt wird oder
sich die beiden Endknoten in unterschiedlichen Intervallen befinden. In beiden F¨
allen
verringert sich die Anzahl der Suchoperationen außerhalb des Bereiches der Gr¨
oße 4k.
Wichtig ist, dass die Anzahl der ausgef¨
uhrten Vergleichsoperationen im Mittel von der
Gr¨
oße des gesamten Suchraums unabh¨
angig ist. Dies ergibt sich aus der Tatsache, dass
die Anzahl der Intervalle auf h¨
ochstens vier beschr¨
ankt ist und die lokalit¨
atserhaltenden
Eigenschaften der raumf¨
ullenden Kurve im Mittel eine begrenzte Distanz zwischen
diesen Intervallen garantieren.
Die Suchphase kann optimiert werden, in dem die Folge der Suchoperationen und die
jeweilige Startposition geschickt gew¨
ahlt wird. Daf¨
ur ist zu gew¨
ahrleisten, dass zwei
90 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
der entfernten Suchen ¨
uber den Separator (horizontal oder vertikal) verlaufen, der von
kleinerem Level ist und h¨
ochstens eine ¨
uber den von h¨
oherem Level. Damit ergibt
sich eine Abh¨
angigkeit bei der Wahrscheinlichkeitsverteilung, deren Ber¨
ucksichtigung
in den Berechnungen (4.9) und (4.10) zu einer Verringerung der Gesamtkosten f¨
uhrt. Die
Komplexit¨
at mit der Abh¨
angigkeit von der Segmentl¨
ange (log s) bleibt jedoch erhalten.
Wie beim linearen Position-Code muss f¨
ur jeden Knoten innerhalb des Kontaktberei-
ches getestet werden, ob er im Halo des Oberfl¨
achensegmentes liegt. Jedes der bis zu
vier Intervalle umfasst 4kZellen und damit im gegebenen Szenario 4kKnoten. F¨
ur
jeden Knoten sind bis zu drei Vergleiche notwendig, um festzustellen, ob er innerhalb
oder außerhalb des Halos liegt. Ein weiterer ist f¨
ur die Abbruchbedingung der Schleife
¨
uber alle Knoten erforderlich. Daraus folgt ein Gesamtaufwand von bis zu
TLebesgue
Testen (3 + 1) ·4·4k
(4.7) <16 ·4log s+1
= 64s2(4.12)
Vergleichen.
4.4.4 Zusammenfassung
Die Ergebnisse des vorherigen Abschnitts sind in Tabelle 4.5 zusammengefasst. F¨
ur
die Phasen Aktualisieren und Sortieren sind die minimalen Kosten hervorgehoben.
Die anderen Vergleichsoperationen fallen nur dann an, wenn sich ein Knoten in ei-
ne andere benachbarte Zelle des virtuellen Position-Code-Gitters bewegt hat. In den
Termen der Spalte zur Lebesgue-Kurve sind die Konstanten gr¨
oßer als bei der linea-
ren Position-Code-Variante. Diese Tatsache wird in Abschnitt 5.3 durch Messungen
an Benchmark-Netzen best¨
atigt, die innerhalb einer Applikation durchgef¨
uhrt werden.
Allerdings ergeben sich in den Phasen Sortieren und Suchen bei der linearen Variante
Abh¨
angigkeiten von der Anzahl aller Zellen, die sich aus der Gr¨
oße der Eingabeinstanz
ergibt. Desweiteren ist die Suchphase im Falle der Lebesgue-Kurve lediglich vom Loga-
rithmus der Segmentl¨
ange abh¨
angig. Dieser Unterschied zeigt sich insbesondere dann,
wenn es eine große Varianz im Diskretisierungsgrad des Netzes gibt. Hier zeigt sich,
dass der Einfluss der Zellengr¨
oße auf die Effizienz des Position-Code-Algorithmus beim
Einsatz der Lebesgue-Kurve deutlich geringer ist.
Programmphase linear Lebesgue
Aktualisieren 1 5 + 2
Sortieren 2+ 40 + 8 log n2+ 80
Suchen 10 + 10s
π+ 8 s
π+ 1log n77 + 33 log s
Testen 32 + 4s2+32s
π64s2
Tabelle 4.5: Gegen¨
uberstellung der Vergleichsoperationen beider Varianten des Posi-
tion-Code-Algorithmus
4.5. LOGARITHMISCHE INDEX-DISTANZ 91
Das Quadrat der Segmentl¨
ange ist maßgebend f¨
ur die Laufzeit beim Test der Halo-
Kandidaten, sowohl f¨
ur die lineare Nummerierung, als auch f¨
ur die Lebesgue-Kurve.
Diese Terme zeigen die Problematik der notwendigen Abstraktionen, die in dem gege-
benen Szenario gemacht wurden. Die Dichte der Oberfl¨
achenknoten ist von der L¨
ange
des untersuchten Oberfl¨
achensegmentes unabh¨
angig gew¨
ahlt, so dass die Anzahl der
Knoten im Kontaktbereich eines Segmentes quadratisch zu dessen L¨
ange w¨
achst. Um
die numerische Stabilit¨
at und damit eine befriedigende Abbildung der physikalischen
Vorg¨
ange zu erreichen, muss die Diskretisierung in Bereichen von Kontaktsituationen
jedoch auf beiden Seiten von vergleichbarem Grad sein. Daher wird die Anzahl der
Knoten im Allgemeinen im Kontaktbereich eines Segmentes konstant sein.
4.5 Logarithmische Index-Distanz
Der vorherige Abschnitt hat gezeigt, welchen Einfluss die Wahl der Nummerierung
auf die Laufzeit des Position-Code-Algorithmus hat. F¨
ur eine Codierung gem¨
der
Lebesgue-Kurve ergeben sich asymptotisch geringere Kosten als bei der zeilenweisen
Nummerierung, die urspr¨
unglich vorgeschlagen wurde. Aus diesem Ergebnis ergibt sich
die Frage: Sind andere raumf¨
ullenden Kurven f¨
ur diese Aufgabe besser geeignet?
Bei der Betrachtung der Phasen Aktualisieren und Testen ergeben sich offensichtliche
Antworten: Das Testen der Halo-Kandidaten ist f¨
ur alle rekursiven raumf¨
ullenden Kur-
ven identisch, da lediglich die Form der Aufteilung und nicht die Nummerierung selbst
in die Analyse einfließt. F¨
ur das Aktualisieren der Codes hat die Lebesgue-Kurve den
Vorteil der regelm¨
aßigen Struktur. F¨
ur andere Kurven, wie Hilbert- und βΩ-Kurve,
ist die Kenntnis ¨
uber den Level eines ¨
uberschrittenen Separators nicht ausreichend.
Vielmehr muss die Position innerhalb der Basisstruktur bekannt sein, in die der ¨
uber-
schrittene Separator eingef¨
ugt wurde. F¨
ur jeden Knoten m¨
ussen bei der initialen Code-
Berechnung die lmax Basisstrukturen gespeichert werden, in denen er liegt. Bei einer
Bewegung in eine benachbarte Gitterzelle ¨
uber einen Level jkann die Neuberechnung
bei der (lmax j)-ten Basisstruktur neu aufgesetzt werden. Im Mittel ergeben sich auch
in diesem Fall konstante Kosten.
Ein Vergleich der Analysen f¨
ur die Phasen Sortieren und Suchen zeigt, dass in beiden
F¨
allen nur der mittlere Abstand (¨
uber die Codierung) zu einer geometrisch benach-
barten Zelle von der Art der gew¨
ahlten Kurve abh¨
angig ist (vgl. (4.4) bzw. (4.9) und
(4.10)). An diesen Stellen ergeben sich jeweils Terme der Form7
lmax
X
k=0
p(k)·log(Rk) oder
lmax
X
k=0
p(k)·log(Uk),
wobei Rkund Ukdie Index-Distanzen zwischen zwei, durch einen Separator vom Level k
getrennte Zellen sind. Die Definition der logarithmischen Index-Distanz ist eine Ver-
allgemeinerung dieser Terme f¨
ur beliebige rekursive raumf¨
ullende Kurven. ¨
Uber dieses
7In diesem Abschnitt wird ausschließlich der Logarithmus zur Basis 2 verwendet. Aus Gr¨
unden der
¨
Ubersichtlichkeit wird auf die explizite Angabe der Basis verzichtet.
92 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
Maß werden die Hilbert-, die Lebesgue- und die βΩ-Kurve hinsichtlich ihrer Eignung
f¨
ur die globale Kontaktsuche im Position-Code-Algorithmus verglichen.
4.5.1 Definition des Qualit¨
atsmaßes
Definition 4.1 (Logarithmische Index-Distanz)
Sei curven:{1, . . . , n2}→{1, . . . , n}2eine diskrete raumf¨
ullende Kurve (zweidimen-
sionales Indizierungsschema). (k, l) = curven(i)ist die Position der Zelle iim n×n
Gitter. Die Index-Distanzen zu den vier direkten Nachbarn von isind gegeben als:
dcurven
1(i) = |icurve1
n(k1, l)|+ 1
dcurven
2(i) = |icurve1
n(k, l 1)|+ 1
dcurven
3(i) = |icurve1
n(k+ 1, l)|+ 1
dcurven
4(i) = |icurve1
n(k, l + 1)|+ 1 ,
wobei rjundefiniert ist, falls der entsprechende Nachbar im n×nGitter nicht existiert,
d. h. die entsprechende Zelle liegt am Rand des n×nGitters.
Die Index-Distanz f¨
ur eine Kurve curvenim schlechtesten Fall ergibt sich als:
Dcurven
max = max{dcurven
j(i)|iIN und j {1, . . . , 4}} .
Im mittleren Fall gilt:
Dcurven
avg = avg{log(dcurven
j(i))|iIN und j {1, . . . , 4}} ,
wobei avg das arithmetische Mittel ¨
uber alle definierten Distanzen ist.
Die Verallgemeinerung zu den Index-Distanzen eines Indizierungsschemas curve sind
Dcurve
max = max{Dcurven
max |nIN}und
Dcurve
avg = max{Dcurven
avg |nIN}.(4.13)
Anmerkung 4.1 Die Definition des mittleren Falls ergibt sich durch die Aufwands-
analyse f¨
ur die globale Kontaktsuche mittels raumf¨
ullender Kurven in Abschnitt 4.4. In
zwei der vier Algorithmen-Phasen sind die Kosten der Kernoperation durch den Loga-
rithmus aus der Index-Distanz zum direkten Nachbarn gegeben. Die Mittelwertanalyse
erfolgt ¨
uber das arithmetische Mittel aller m¨
oglichen Positionen im Gitter. Daher be-
schreibt das arithmetische Mittel ¨
uber alle logarithmischen Index-Distanzen im Gitter
den Aufwand dieser Kernoperation im mittleren Fall und erlaubt eine Bewertung ver-
schiedener Indizierungsschemata f¨
ur den Einsatz in der globalen Kontaktsuche.
4.5.2 Qualit¨
at im schlechtesten Fall
In Tabelle 4.6 sind die Index-Distanzen f¨
ur die untersuchten Indizierungsschemata an-
gegeben. Zum Vergleich ist zus¨
atzlich der Wert bei einer zeilenweisen Nummerierung
4.5. LOGARITHMISCHE INDEX-DISTANZ 93
Indizierungs- Index-Distanz
schema (max)
Hilbert 5N2
6+ 2
Lebesgue N+2
3
H-Indizierung N
βΩ-Indizierung N
zeilenweise N
Tabelle 4.6: Index-Distanz im schlechtesten Fall (N=n2)
der Zellen eines Gitters angegeben. Die Problemstellung entspricht der Bandbreitenop-
timierung innerhalb einer d¨
unnbesetzten Matrix. Ergibt sich deren Struktur aus einem
Gitter, ist die zeilenweise Ordnung die optimale L¨
osung.
H- und βΩ-Indizierung sind zirkul¨
ar. Damit sind die erste und die letzte Zelle der Kurve
benachbart, welche eine Index-Distanz von Nhaben.
F¨
ur die Lebesgue-Kurve k¨
onnen alle Werte exakt bestimmt werden. Die Index-Distan-
zen an einem vertikalen Separator vom Level ibetragen Rl=4·4l+2
3und an einem
horizontalen Separator Ul=2·4l+1
3(vgl. Lemma 2.1, S. 10). Damit ergibt sich die
maximale Distanz bei dem vertikalen Separator vom h¨
ochsten Level, lmax = log4(N)1,
von
DLebesguen
max =N+ 2
3.
Die maximale Index-Distanz der Hilbert-Kurve ergibt sich am unteren Ende des mitt-
leren vertikalen Separators.8Die Distanz umfasst N/2 Zellen in der oberen H¨
alfte des
Gitters. W¨
ahrend der Verfeinerung der Kurve, sind die Viertel, die die unteren mittle-
ren Zellen enthalten jeweils von dem gleichen Typ: =rechts und <links des Separators
(vgl. Abb. 2.3, S. 9). Aufgrund dieser Selbst¨
ahnlichkeit f¨
allt in jeder Verfeinerungsstufe
die H¨
alfte des jeweiligen Quadranten in die Index-Distanz. Dies ergibt
log n
X
l=1
1
2·1
4lN=N1
6
Zellen f¨
ur die unteren beiden Quadranten. Zusammen mit den beiden mittleren unteren
Zellen folgt die gesamte Index-Distanz
DHilbert
max =N
2+ 2N1
6+ 2 = 5N2
6+ 2 ,
welche f¨
ur große Gitter gegen 5
6Nkonvergiert.
8Unten bzgl. der in dieser Arbeit gew¨
ahlten Darstellung (vgl. Abb. 2.3, S. 9).
94 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
4.5.3 Qualit¨
at im mittleren Fall
Das Verhalten der logarithmischen Index-Distanz im mittleren Fall ist in Abbildung 4.13
dargestellt. In einer Simulationsumgebung sind die mittleren logarithmischen Distanzen
f¨
ur die untersuchten Indizierungsschemata auf Gittern verschiedener Gr¨
oße bestimmt
worden. Die gemessenen Werte deuten an, dass die gesuchten Distanzen in einem engen
Intervall zwischen 2.5 und 2.7 liegen.
2.2
2.3
2.4
2.5
2.6
2.7
2.8
16264225621024240962
log. Index−Distanz
Gittergröße
Lebesgue
Hilbert
H−Indizierung
βΩ−Indizierung
Abbildung 4.13: Logarithmischen Index-Distanz im mittleren Fall
Der Verlauf der Messkurven zeigt, dass die Werte f¨
ur gr¨
oßere Gitter monoton steigen.
Dieses Verhalten kann f¨
ur die rekursiven Indizierungsschemata auch bewiesen werden
(s. u.). Damit sind alle experimentell ermittelten Werte gleichzeitig untere Schranken
f¨
ur die gesuchte mittlere logarithmische Index-Distanz.
Im Folgenden bezeichnet Dcurve
avg (k) die mittleren logarithmischen Index-
Distanzen an den (vertikalen und horizontalen) Separatoren des k-ten Levels
und Dcurve
avg (0, . . . , k 1) = Dcurve2k
avg die mittlere logarithmische Index-Distanz im
2k×2k-Gitter, d. h. die mittleren Kosten an den Separatoren 0 bis k1.
Lemma 4.1 Sei curve eine rekursive raumf¨
ullende Kurve und kIN. F¨
ur die mittlere
logarithmisch Index-Distanz gilt
Dcurve
avg (0, . . . , k)>Dcurve
avg (0, . . . , k 1) .
Beweis: Aufgrund der rekursiven Aufteilung in vier Quadrate sind die Index-Distanzen
an den Separatoren vom Level kfast viermal so groß wie an denen vom Level k+ 1
(vgl. Index-Distanzen in den Abbildungen 4.14 und 4.15). Sei d(k, ξ) die Index-Distanz
am Separator vom Level kan der relativen Position ξ. Dann gilt f¨
ur innerhalb einer
rekursiven raumf¨
ullenden Kurve aufgrund der Selbst¨
ahnlichkeit, dass d(k+ 1, ξ)
4d(k, ξ)3. Daraus folgt f¨
ur die mittlere Distanz an den Separatoren eines Levels:
Dcurve
avg (k+ 1) >Dcurve
avg (k)
4.5. LOGARITHMISCHE INDEX-DISTANZ 95
Innerhalb eines Gitters der Gr¨
oße 2k+1 ×2k+1 gibt es zwei Separatoren vom Level k,
einen horizontalen und einen vertikalen. 2·(2k+1 2) Separatoren sind von einem Level
j < k. Daher gilt
Dcurve
avg (0, . . . , k) = Dcurve
avg (0, . . . , k 1) ·(2k+1 2) + Dcurve
avg (k)
2k+1 1
und damit folgt
Dcurve
avg (k)>Dcurve
avg (k1)
Dcurve
avg (0, . . . , k)>Dcurve
avg (0, . . . , k 1) .
ut
Die folgenden Untersuchungen beziehen sich auf die logarithmische Index-Distanz in
sehr großen Gittern.
4.5.3.1 Lebesgue-Kurve
Aufgrund ihrer regul¨
aren Struktur ohne Spiegelungen oder Drehungen bei der rekursi-
ven Konstruktion ist auch f¨
ur dieses Qualit¨
atsmaß die Lebesgue-Kurve gut zu analy-
sieren.
Satz 4.1 F¨
ur die logarithmische Index-Distanz der Lebesgue-Kurve gilt
2.745 <DLebesgue
avg <2.746 .
Beweis: F¨
ur jeden Separator ist die Index-Distanz angrenzender Zellen lediglich von der
Ausrichtung und dem Level des Separators abh¨
angig. F¨
ur einen vertikalen Separator
vom Level list die Distanz Rl=4·4l+2
3und f¨
ur einen horizontalen Separator Ul=
2·4l+1
3(vgl. Lemma 2.1, S. 10). An Separatoren vom Level lergibt sich eine mittlere
logarithmische Distanz von
DLebesgue
avg (l) = 1
2(log (Ul+ 1) + log (Rl+ 1)) .
In Kombination mit der Wahrscheinlichkeit p(l) f¨
ur den Level eines Separators gilt
DLebesgue
avg =
X
l=0 DLebesgue
avg (l)·p(l) (4.14)
f¨
ur unendlich große Gitter.
Es existiert kein geschlossener Term f¨
ur (4.14). Um geeignete Schranken f¨
ur den Term
zu erhalten, k¨
onnen die ersten kEintr¨
age der Summe bestimmt werden. Zus¨
atzlich ist
ein Fehlerterm f¨
ur die fehlenden Summanden zu berechnen. F¨
ur Level l3 gilt
DLebesgue
avg (l) = 1
2"log 2·4l+ 1
3+ 1!+ log 4·4l+ 2
3+ 1!#
<1
2log 42l= 2l .
96 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
F¨
ur die Summe ¨
uber die fehlenden Summanden erh¨
alt man
X
l=k+1 DLebesgue
avg (l)·1
2l+1 <
X
l=k+1
2l
2l+1 = 2k+ 2
2k.(4.15)
Die Auswertung der Summanden 0 bis 17 ergibt 2.74583. . . . Die Auswertung von (4.15)
ergibt einen Fehler kleiner als 0.16 ·103nach dem 17. Summanden. ut
4.5.3.2 Hilbert-Kurve
In der Hilbert-Kurve gelten nicht die gleichen Symmetrieeigenschaften wie in der Le-
besgue-Kurve, da w¨
ahrend der Verfeinerung Rotationen und Spiegelungen der Basiss-
truktur durchgef¨
uhrt werden. Insbesondere ist die Index-Distanz nicht nur von dem
Level eines Separators sondern vielmehr auch von der Zellen-Position an diesem Sepa-
rator abh¨
angig. Damit ist die oben genutzte Beweisidee in diesem Fall nicht anwendbar.
Hier erfolgt der Beweis f¨
ur eine obere Schranke ¨
uber die Selbst¨
ahnlichkeit der Kurve.
Satz 4.2 F¨
ur die mittlere logarithmische Index-Distanz in der Hilbert-Kurve gilt
DHilbert
avg <3.25 .
Beweis: Aufgrund der Selbst¨
ahnlichkeit der Hilbert-Kurve ist es m¨
oglich, in einer
gr¨
oberen Struktur Schranken der Index-Distanzen f¨
ur die feinere originale Kurve zu
finden. Der Beweis basiert auf der Struktur die in Abbildung 4.14 (links) dargestellt ist
und folgt dem Ansatz in [28] zur Absch¨
atzung des euklidischen Abstands in der Hilbert-
Kurve. Innerhalb eines quadratischen Bereiches der Gr¨
oße 4 ·4lergibt sich immer die
2l
2l
4
2
2
2
l
2l
2l
6
4
6 22 12
14
2
l
Abbildung 4.14: Gr¨
oßte Index-Distanzen in einer Hilbert-Kurve am Separator vom
Level lin Bl¨
ocken der Gr¨
oße 2l×2l(links) bzw. 2l1×2l1(rechts)
gleiche ’U’-Struktur mit den mittleren Separatoren vom Level l. F¨
ur die Zellen, die an
den vier Teilseparatoren (Grenzen zwischen zwei Vierteln) angrenzen, kann die Index-
Distanz abgesch¨
atzt werden. An drei Teilseparatoren ist die Index-Distanz durch 2 ·4l
beschr¨
ankt. Am vierten Teilseparator ist die Index-Distanz lediglich durch die Anzahl
4.5. LOGARITHMISCHE INDEX-DISTANZ 97
aller Zellen, 4 ·4lbeschr¨
ankt. Zusammen mit der Wahrscheinlichkeit f¨
ur das Auftreten
eines Separators vom Level lerh¨
alt man
DHilbert
avg <
X
l=0 1
4h3·log(2 ·4l)+1·log(4 ·4l)i·1
2l+1
=1
4(3 ·3 + 4) = 31
4.
ut
Der obige Beweisansatz kann auf feinere Gitter erweitert werden. Die zu untersuchen-
de Struktur des n¨
achstfeineren Gitters ist in Abbildung 4.14 (rechts) angegeben. Der
quadratische Bereich der Gr¨
oße 4·4lZellen ist in 4×4 Bl¨
ocke aufgeteilt. Eine vergleich-
bare Auswertung vernachl¨
assigt alle Index-Distanzen an Separatoren des Levels 0, die
gesondert betrachtet werden m¨
ussen.
Aus den Distanzen in Abbildung 4.14 (links) ergibt sich eine mittlere Index-Distanz an
Separatoren vom Level 0 von
DHilbert
avg (0) = 5
4.
Damit kann die mittlere Index-Distanz aller Separatoren bestimmt werden als
DHilbert
avg <
X
l=1 1
8h3·log(2 ·4l1)+1·log(4 ·4l1)+2·log(6 ·4l1)
+1 ·log(12 ·4l1)+1·log(14 ·4l1)i·1
2l+1 +1
2DHilbert
avg (0)
= 2.0976 . . . +5
8<2.7226 .
Mit Hilfe der gleichen Strategie kann die obere Schranke weiter verbessert werden:
2×2 Bl¨
ocke DHilbert
avg <3.25
4×4 Bl¨
ocke DHilbert
avg <2.723
8×8 Bl¨
ocke DHilbert
avg <2.580
16 ×16 Bl¨
ocke DHilbert
avg <2.542
Eine computergest¨
utzte Berechnung der mittleren logarithmischen Index-Distanz ergibt
f¨
ur das 4096 ×4096 Gitter einen Wert von 2.524. . . (vgl. Abb. 4.13). Zusammen mit
dem Ergebnis aus Lemma 4.1 und den oben aufgef¨
uhrten sch¨
arferen oberen Schranken
folgt:
Satz 4.3 Die mittlere logarithmische Index-Distanz der Hilbert-Kurve liegt in dem Be-
reich
2.524 <DHilbert
avg <2.542 .
98 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
4.5.3.3 β-Indizierung
F¨
ur die βΩ-Indizierung gelten ¨
ahnliche Bedingungen wie f¨
ur die Hilbert-Kurve. Durch
Rotationen und Spiegelungen w¨
ahrend der rekursiven Konstruktion der Kurve ist es
nicht m¨
oglich, die mittlere logarithmische Index-Distanz exakt anzugeben. Der Ansatz
zur Analyse der Index-Distanz ist jedoch der gleiche. Da die Grundstrukturen der Kur-
ven f¨
ur eine einzelne rekursive Verfeinerung identisch sind (U-Form), ergibt sich f¨
ur die
Analyse von 2 ×2 Bl¨
ocken das gleiche Resultat von
DβInd
avg <3.25 .
Bei der Betrachtung feingranularer Kurven muss zus¨
atzlich beachtet werden, dass es
zwei verschiedene Ableitungsregeln gibt. Die entsprechenden Index-Distanzen im Gitter
mit 4 ×4 Bl¨
ocken sind in Abbildung 4.15 dargestellt. Die mittlere Index-Distanz an
Separatoren vom Level 0 sind f¨
ur Hilbert-Kurve und βΩ-Indizierung identisch, mit
DβInd
avg (0) = DHilbert
avg (0) = 5
4.
l
2
l
2
2 2
2
46 10
14
8
l
2l
2l
2 2
2
610
86
12
l
Abbildung 4.15: Gr¨
oßte Index-Distanzen am Separator vom Level lin Bl¨
ocken der
Gr¨
oße 2l1×2l1f¨
ur beide Verfeinerungsregeln der βΩ-Indizierung
Das Verh¨
altnis in dem die beiden Substrukturen vorkommen konvergiert gegen 4 : 1 in
großen Gittern (vgl. Lemma 2.3, S. 18). Damit kann die mittlere Index-Distanz aller
Separatoren bestimmt werden als
DβInd
avg <4
5
X
l=1 1
8h3·log(2 ·4l1) + log(4 ·4l1) + log(6 ·4l1)
+ log(8 ·4l1) + log(10 ·4l1) + log(12 ·4l1)i1
2l+1 (4.16)
+1
5
X
l=1 1
8h3·log(2 ·4l1)+2·log(6 ·4l1) + log(8 ·4l1)
+ log(10 ·4l1) + log(12 ·4l1)i1
2l+1 (4.17)
+1
2DβInd
avg (0)
= 2.112 . . . +5
8<2.737 .(4.18)
4.5. LOGARITHMISCHE INDEX-DISTANZ 99
Dabei bezieht sich der Term (4.16) auf die gebogene und der Term (4.17) auf die gerade
Substruktur.
Wiederum kann diese Analyse f¨
ur feinere Strukturen durchgef¨
uhrt werden. Je nach
Granularit¨
at der gew¨
ahlten Struktur ergeben sich folgende obere Schranken:
2×2 Bl¨
ocke DβInd
avg <3.25
4×4 Bl¨
ocke DβInd
avg <2.723
8×8 Bl¨
ocke DβInd
avg <2.580
16 ×16 Bl¨
ocke DβInd
avg <2.542
32 ×32 Bl¨
ocke DβInd
avg <2.513
Satz 4.4 Die mittlere logarithmische Index-Distanz der β-Indizierung liegt in dem
Bereich
2.503 <DβInd
avg <2.513 .
4.5.3.4 Zusammenfassung
Die Ergebnisse zur mittleren logarithmischen Index-Distanz sind in Tabelle 4.7 zusam-
mengefasst [82]. F¨
ur die H-Indizierung sind bisher keine Schranken bekannt. Um die
Qualit¨
at dieser Kurve dennoch einsch¨
atzen zu k¨
onnen, ist ein Wert angegeben, der sich
aus den experimentellen Ergebnissen in Abbildung 4.13 ableiten l¨
asst. Zudem muss
beachtet werden, dass das Maß in diesem Fall keine so große Aussagekraft f¨
ur die Qua-
lit¨
at in der globalen Kontaktsuche hat, da es sich nicht um eine rekursive raumf¨
ullende
Kurve handelt.
Indizierungs- mittlerer Fall
schema untere S. obere S.
Hilbert 2.524 2.542
Lebesgue 2.745 2.746
H-Indizierung 2.58
βΩ-Indizierung 2.503 2.513
Tabelle 4.7: Logarithmische Index-Distanz im mittleren Fall
¨
Ahnliches gilt f¨
ur eine zeilenweise Nummerierung. Die Komplexit¨
at der logarithmi-
schen Index-Distanz liegt in O(log n), da die H¨
alfte der benachbarten Zellen eine Index-
Distanz von nhaben. Die Analyse in Abschnitt 4.4 zeigt jedoch, dass die Algorithmen
in diesem Fall eine g¨
anzlich andere Komplexit¨
at aufweisen, die nicht nur mit der Index-
Distanz, sondern auch mit anderen Eigenschaften dieser Codierung zusammenh¨
angen.
F¨
ur die untersuchten rekursiven raumf¨
ullenden Kurven l¨
asst sich aus den bewiesenen
Schranken eine Ordnung bzgl. der logarithmischen Index-Distanz angeben:
100 KAPITEL 4. EFFIZIENTE GLOBALE KONTAKTSUCHE
Korollar 4.5 F¨
ur die mittlere logarithmische Index-Distanz in raumf¨
ullenden Kurven
gilt die Ordnung
DβInd
avg <DHilbert
avg <DLebesgue
avg .
Beweis: Die Ordnung ergibt sich direkt aus den S¨
atzen 4.1, 4.3 und 4.4. ut
Aus der Ordnung der Kurven gem¨
ihrer logarithmischen Index-Distanz folgt, dass
die Hilbert- und die βΩ-Kurve f¨
ur die globale Kontaktsuche besser geeignet sind als die
Lebesgue-Kurve. Der Einfluss der Differenzen in diesen theoretischen Ergebnissen, die
wiederum von einem abstrahierten Szenario ausgehen, wird jedoch in realen Anwendun-
gen kaum messbar sein. Zudem ist die Struktur der Lebesgue-Kurve deutlich einfacher,
so dass die Algorithmen ¨
uberschaubarer implementiert werden k¨
onnen. Insbesondere
das Aktualisieren der Codes nach einer Verschiebung von Knoten erfordert bei komple-
xeren raumf¨
ullenden Kurven ein deutlich tieferes Verst¨
andnis f¨
ur deren Konstruktion.
Kapitel 5
Lastverteilung und
Kontaktbehandlung in einer
industriellen Applikation
Die Ergebnisse der Kapitel 3 und 4 sind in Teilen in ein Projekt mit der Hilti AG einge-
flossen. Zielsetzung des Projektes war zum einen die Parallelisierung einer vorhandenen
Applikation zur expliziten FE-Simulation in der Strukturmechanik. Zum anderen sind
algorithmische Erweiterungen implementiert worden, die den Einsatzbereich der Simu-
lationsumgebung vergr¨
oßern. Um diese Ziele zu erreichen, sind u. a. die vorgestellten
Verfahren zur Partitionierung und Kontaktsuche ¨
uber die Struktur raumf¨
ullender Kur-
ven umgesetzt worden.
F¨
ur Applikationen im industriellen Umfeld stehen neben der kurzen Laufzeit f¨
ur die
Simulation einer gegebenen Problemstellung auch die Stabilit¨
at und Korrektheit der
Implementation effizienter Algorithmen im Vordergrund. F¨
ur die Problemanalyse und
Fehlersuche innerhalb komplexer Anwendungen ist es hilfreich, einfachere Methoden
umzusetzen, deren Umsetzung in ¨
ubersichtlichen Strukturen m¨
oglich ist. Daher bieten
sich die vorgestellten Verfahren auf Basis der raumf¨
ullenden Kurven an.
Die Parallelisierung f¨
ur Shared-Memory-Systeme mit der dynamischen Lastverteilung
¨
uber die implizite Partitionierung f¨
uhrt zu guten Skalierungseigenschaften auch bei
kleinen Eingaben. Die integrierte allgemeine Kontaktbehandlung erlaubt die Simula-
tion von adaptiven Netzoberfl¨
achen, die bei der Rissbildung (Fragmentierung) oder
der adaptiven Neuvernetzung auftreten. Aufgrund der hohen Effizienz der entwickelten
Methode zur globalen Kontaktsuche, verringert die sequentielle Kontaktbehandlung die
Skalierbarkeit der Anwendung nur leicht.
5.1 Eigenschaften
Die zugrunde liegende Applikation wird zur zweidimensionalen Simulation struktur-
mechanischer Prozesse in den Bereichen Abbauen, Befestigen und Schneiden einge-
101
102 KAPITEL 5. INDUSTRIELLE APPLIKATION
setzt. Dabei ist insbesondere das Materialverhalten an den Oberfl¨
achen der simulier-
ten Objekte von großem Interesse. Dadurch ergeben sich besondere Anforderungen an
die Qualit¨
at der Kontaktbehandlung und die Netzdichte an den Gebietsr¨
andern. Um
die Wellenausbreitung im Material exakt nachbilden zu k¨
onnen, sind oftmals mehrere
100 000 Zeitschritte der expliziten Zeitintegration erforderlich. Die Kombination aus
der Anzahl an Elementen und Zeitschritten f¨
uhrt zu einer sequentiellen Rechenzeit von
einigen Tagen bei relevanten Eingabeinstanzen. Ziel des Projektes war die Reduktion
der Rechenzeit auf vier bis acht Stunden.
Neben der Berechnung der inneren Materialeigenschaften beinhaltet die Applikation
auch Routinen zur adaptiven Neuvernetzung, zur Kontaktbehandlung und zur Ber¨
uck-
sichtigung von vorgegebenen Randbedingungen. Die adaptive Neuvernetzung erlaubt
die Neugenerierung des Netzes eines simulierten K¨
orpers, falls die geometrische Qualit¨
at
die numerische Stabilit¨
at einschr¨
ankt. Anhand der Spannungs- und Dehnungszust¨
ande
wird ein neues Netz generiert, dessen Dichte an den Gradienten der Integrationspunkt-
informationen ausgerichtet ist.
F¨
ur die Integration der Fragmentierung im Material, die im Abbauprozess von großer
Bedeutung ist, ist eine Kontaktbehandlung erforderlich, die alle Kontakte physikalisch
korrekt l¨
ost. Die notwendige robuste Kontaktkorrektur wird durch eine vollst¨
andige
geometrische Analyse aller Kontaktsituationen innerhalb der lokalen Kontaktsuche er-
reicht. Um die guten Skalierungseigenschaften der parallelen Applikation zu erhalten,
ist zudem eine effiziente globale Kontaktsuche unumg¨
anglich.
Die Applikation erlaubt die Ber¨
ucksichtigung einer Vielzahl von Eigenschaften, die
auf die Knoten oder Kanten an der Oberfl¨
ache der diskretisierten K¨
orper einwirken.
Diese werden als Randbedingungen bezeichnet. Neben der Lagerung der Knoten in
achsenorientierter Richtung (eine oder beide) ist es m¨
oglich, variable Geschwindigkeiten
an Knoten vorzugeben. Zudem kann an Randgebieten ein variabler Druck definiert
werden.
5.2 Dynamische Lastverteilung
F¨
ur eine dynamische Lastverteilung ist die Bestimmung der Elemente notwendig, die
zwischen den Partitionen ausgetauscht werden. F¨
ur die Entscheidung, welche Elemente
auszutauschen sind, werden Heuristiken eingesetzt, deren Ziel es ist, den Kantenschnitt
gering zu halten. Bei diesen Heuristiken existiert ein Tradeoff zwischen der erreichbaren
Qualit¨
at und der Laufzeit zur Erzeugung der Partitionierung. Sind sehr strenge Anfor-
derungen an die Laufzeit gestellt, da wie im vorgestellten Fall eine h¨
aufige Lastvertei-
lung notwendig ist, wird die Qualit¨
at der Partitionierung im Verlauf der Berechnung
deutlich abnehmen. Bei der impliziten Partitionierung ergeben sich die auszutauschen-
den Elemente direkt, sobald die Menge der auszutauschenden Last bestimmt ist. Zudem
bleibt die erwartete Qualit¨
at im gesamten Verlauf der Berechnung konstant.
Die Art der Modellierung der Materialeigenschaften und die daraus resultierenden Re-
chenaufw¨
ande machen diese Applikation zu einem geeigneten Anwendungsgebiet f¨
ur
5.2. DYNAMISCHE LASTVERTEILUNG 103
eine implizite Partitionierung. Insbesondere die spr¨
oden Materialien, die teilweise auch
die Simulation von Fragmentierung erlauben, sind nichtlinear modelliert. Damit er-
geben sich schwankende Rechenlasten je Element, die vom momentanen Zustand des
Elementes abh¨
angen. Diese Schwankungen k¨
onnen oszillierend oder auch in Bereichen
monoton verlaufen. Sie sind in jedem Fall nicht vorhersagbar und fallen teilweise sehr
stark aus. Daher ist der Einsatz einer statischen Lastverteilung in dieser Art von Appli-
kation nicht sinnvoll.
5.2.1 Parallelisierung
Abbildung 5.1 skizziert die Datenabh¨
angigkeiten auf den grundlegenden Datenstruk-
turen. Die zu simulierenden K¨
orper sind ¨
uber ein FE-Netz aus Knoten und Elementen
diskretisiert. Daten, die die aktuelle Materialeigenschaften abbilden (z. B. Dehnungen
und Spannungen) werden an Integrationspunkten gespeichert, die an festen relativen
Positionen im Innern der Elemente liegen. Die geometrischen Eigenschaften (z. B. Ver-
schiebung oder Geschwindigkeit) sind den Knoten zugeordnet.
Knoten
Element
Integrationspunkt
explizite Zeitintegration
Knotenphase
Elementphase












Datenabhängigkeit
Abbildung 5.1: Struktur der expliziten FE-Applikation
Jeder Schritt der expliziten Zeitintegration teilt sich in die Phasen der Aktualisie-
rung von Element- und Knotenzust¨
anden. Bei der Elementaktualisierung werden die
aktuellen Dehnungen anhand der anliegenden Knotenpositionen bestimmt. Aus den
Dehnungen ergeben sich ¨
uber die Materialgesetze die entsprechenden Spannungen im
Element. Daraus resultieren wiederum innere Kr¨
afte auf die angrenzenden Knoten.
Die Berechnung der Knoteneigenschaften wird in der Phase der Knotenaktualisierung
durchgef¨
uhrt. Dazu werden zu den inneren Kr¨
aften die entsprechenden Beschleuni-
gungen berechnet aus denen die Geschwindigkeit und Verschiebung mittels expliziter
Zeitintegration resultieren.
Die gegebene Applikation ist ¨
uber Threads parallelisiert, die ¨
uber Daten im gemein-
samen Adressraum kommunizieren. Die Synchronisation der Bearbeitung erfolgt ¨
uber
Barrier. Wesentliche Gr¨
unde f¨
ur die Wahl dieser Art der Parallelisierung bestehen in der
einfacheren Umsetzung dieses Ansatzes und der M¨
oglichkeit der schrittweisen Erweiter-
barkeit. Sequentielle und parallele Phasen k¨
onnen nacheinander abgearbeitet werden,
ohne das explizit die notwendigen Daten eingesammelt und im nachhinein wieder ver-
teilt werden m¨
ussen. Somit k¨
onnen algorithmisch komplexe aber wenig rechenintensive
104 KAPITEL 5. INDUSTRIELLE APPLIKATION
Barrier
Synchronisierung
Threads
starten Element−
phase Knoten−
phase
Rissbildung
Kontakt, I/O
beenden
Threads
Neuvernetzung
adaptive
verteilung
Last−
Abbildung 5.2: Programmfluss der parallelen Version
Phasen sequentiell belassen werden. Neue Algorithmen, die den Funktionsumfang der
Applikation erweitern, k¨
onnen zun¨
achst in einer sequentiellen Form implementiert wer-
den. Erst wenn das Verhalten des Algorithmus verifiziert ist und sich zeigt, dass die
Skalierbarkeit der Gesamtapplikation durch diesen deutlich eingeschr¨
ankt wird, ist eine
anschließende Parallelisierung sinnvoll.
An dieser Stelle werden lediglich die f¨
ur die Interpretation der Ergebnisse notwendigen
Details beschrieben. Weitergehende Informationen zur Parallelisierung der Applikation
finden sich in [46]. Der Programmverlauf der parallelen Applikation ist in Abbildung 5.2
angegeben. Die parallelen Linien geben den Kontrollfluss der nebenl¨
aufigen Threads
wieder. Die Threads werden zu Beginn der Berechnung gestartet und bleiben w¨
ahrend
der gesamten Rechnung aktiv. Einige Phasen werden von allen, andere nur von einem
einzelnen Thread bearbeitet.
Die berechnungsintensiven Phasen von Element- und Knotenaktualisierung werden pa-
rallel verarbeitet. Beim Aktualisieren der Integrationspunkte der Elemente sind die
schreibenden Zugriffe lokal und lediglich lesende Zugriffe auf knotenassoziierte Da-
ten notwendig. Daher bietet sich in dieser Phase eine Partitionierung der Elemente
an. In der anderen Phase sind die Schreibzugriffe knotenlokal, so dass eine Partitio-
nierung der Knoten erforderlich ist. Zwischen diesen beiden Phasen ist eine Barrier-
Synchronisation notwendig, da die Lesezugriffe auf elementbezogenen Daten w¨
ahrend
der Knotenaktualisierung erst durchgef¨
uhrt werden, wenn sichergestellt ist, dass die
Schreiboperationen auf diesen abgeschlossen sind. F¨
ur Elemente und Knoten ergibt
sich eine i. A. unabh¨
angige Partitionierung. F¨
ur beide wird initial eine Ordnung bzgl.
der Hilbert-Kurve bestimmt, die f¨
ur die implizite Partitionierung eingesetzt wird. Da
der Berechnungsaufwand in der Phase zur Aktualisierung der Knotenzust¨
ande konstant
ist, bleibt die Partitionierung fest, solange keine neuen Knoten durch die adaptive Netz-
anpassung auftreten. Damit ist die dynamische Lastbalancierung auf die Elemente des
Netzes beschr¨
ankt.
Die Lastbalancierung zwischen den Partitionen erfolgt gem¨
der jeweiligen Rechenlast,
die durch eine Zeitmessung bestimmt wird. Dabei werden f¨
ur jedes Element innerhalb
einer Partition die gleichen Berechnungskosten angenommen.1In Abbildung 5.3 ist der
Ablauf der Lastbalancierung an einem Beispiel skizziert. Die aktuelle Last der einzelnen
Elemente ist in Form eines Histogrammes gegeben und liegt im Bereich von eins bis
f¨
unf. Abweichend von dieser aktuellen Last, wird nur eine gemittelte Last je Element
1Experimentelle Untersuchungen haben gezeigt, dass die Zeitmessung f¨
ur einzelne Elemente einen zu
großen Overhead verursacht. Zudem ist es nicht sinnvoll, bei einer so stark schwankenden Lastsituation,
mit derart feingranularen Werten zu arbeiten.
5.2. DYNAMISCHE LASTVERTEILUNG 105
initiale Verteilung
aktuelle Last
gemittelte Last
balancierte Verteilung
1 11 11 1 1 1 1 1 1 1 1 1 1 1
1111222244441111
1111222 4411112 44
1
2
3
4
5
Abbildung 5.3: Anpassung der Lastintervalle bei der Lastbalancierung
f¨
ur jede Partition bestimmt. Auf Basis dieser N¨
aherung wird durch die Verschiebung
der Indexgrenzen innerhalb der geordneten Elementfolge eine neue Partitionierung fest-
gelegt. In dem gegebenen Beispiel wird eine gleichm¨
aßige Last von acht Einheiten je
Partition erreicht. Unter Ber¨
ucksichtigung der tats¨
achlichen Lastsituation haben die
Partitionen jedoch Lasten zwischen sieben und neun. Es hat sich jedoch gezeigt, dass
die Lastdifferenzen innerhalb der Applikation nicht signifikant sind und zudem in den
folgenden Iterationen weiter ausgeglichen werden.
Die Kombination aus einer Parallelisierung basierend auf Threads und der schnellen
dynamischen Lastverteilung mittels impliziter Partitionierung erlaubt die Erweiterung
des parallelen FE-Codes zu einer malleablen Applikation. W¨
ahrend der Laufzeit kann
der Grad der Parallelit¨
at ver¨
andert werden, indem weitere Threads gestartet oder aber
terminiert werden. In diesem Fall ist die Steuerung der Anzahl der Threads entwe-
der ¨
uber Prozess-Signale oder einen zentralen Scheduler m¨
oglich, der die vorhandenen
Ressourcen gem¨
verschiedener Strategien verteilt, um das System effizient zu nut-
zen [40].
5.2.2 Ergebnisse
Die Art der Parallelisierung in Kombination mit der flexiblen Partitionierung basierend
auf der Hilbert-Kurve f¨
uhrt zu einer hohen Effizienz bis zu einer moderaten Anzahl von
Prozessoren. Die Applikation wird auf zwei HP 9000/800 Systemen mit jeweils 16 CPUs
vom Typ PA 8600 mit 450 MHz eingesetzt. Auf Vorg¨
angermodellen vom Typ HP X-
Class skalierte eine ¨
altere Version der Applikation auf bis zu 48 parallelen Threads mit
hoher Effizienz. Die folgende Analyse beschr¨
ankt sich jedoch auf Messwerte die auf den
aktuell eingesetzten Systemen erzielt werden.
Abbildung 5.4 zeigt die f¨
ur diese Analyse ausgew¨
ahlten Benchmarks. Die Benchmarks
tragen im Folgenden die Bezeichnungen Meißel (oben links), Zylinder (oben rechts)
und Bolzen (unten). Bei den Simulationen Meißel und Zylinder wird ein Werkzeug aus
Stahl mit einer vorgegebenen Anfangsgeschwindigkeit auf einen Untergrund aus Beton
bewegt. Die Modellierung des Betons erlaubt Fragmentierung, so dass im Verlauf der
Berechnung neue Oberfl¨
achen entstehen. Der rechenintensive Anteil liegt im Bereich
106 KAPITEL 5. INDUSTRIELLE APPLIKATION
Abbildung 5.4: Benchmarks: Meißel, Zylinder und Bolzen
des Betons, der durch ein nichtlineares Materialgesetz beschrieben ist. Der Benchmark
Bolzen besteht aus drei Geometrien: einem Kolben, der mit einer vorgegebenen An-
fangsgeschwindigkeit den Bolzen in den Untergrund eintreibt. Kolben und Bolzen sind
elastisch, der Untergrund thermoplastisch modelliert. Zudem wird der Untergrund ad-
aptiv neu vernetzt, wenn die Verformungen der finiten Elemente die numerische Ge-
nauigkeit beeintr¨
achtigen.
In Tabelle 5.1 sind die wesentlichen charakteristischen Eigenschaften der Benchmarks
angegeben. Aufgrund der Neuvernetzung im Beispiel Bolzen schwankt die Netzgr¨
oße im
Verlauf der Rechnung. Die Intervalle geben jeweils die minimale und maximale Gr¨
oße
an.
Netz Knoten Elemente Integrationspunkte
Meißel 1 136 1 099 4 291
Zylinder 3 981 3 839 15 356
Bolzen 4 719 5 376 4 448 5 098 17 792 19 812
Tabelle 5.1: Eigenschaften der Benchmarks
Abbildung 5.5 zeigt den Verlauf der Partitionsgr¨
oße f¨
ur einen Teil der Simulation des
Benchmarks Meißel. Dabei sind die Integrationspunkte der Partitionen akkumuliert
dargestellt, so dass der Abstand zwischen zwei Kurven die Gr¨
oße der jeweiligen Par-
tition angibt. Die Ver¨
anderungen der Partitionsgr¨
oße beinhalten Schwankungen unter-
schiedlicher Breite, die sich gegenseitig ¨
uberlagern. Zum einen gibt es Schwankungen
innerhalb einzelner Zeitschritte, zum anderen welche ¨
uber mehrere tausend Zeitschritte.
In jedem Fall ist keine einheitliche Tendenz zu erkennen, welche die M¨
oglichkeit einer
Vorhersage der Rechenlast ¨
uber mehrere Zeitschritte erahnen l¨
asst. Diese Ergebnisse
zeigen, dass durch die nichtlineare Modellierung von Materialien sich schnell und nicht
5.2. DYNAMISCHE LASTVERTEILUNG 107
0
1000
2000
3000
4000
80000 90000 100000 110000 120000
Integrationspunkte
Zeitschritt
Thread 1
Thread 2
Thread 3
Thread 4
Abbildung 5.5: Variierende Partitionsgr¨
oße beim Benchmark Meißel
vorhersehbar ¨
andernde Rechenlasten ergeben. Diese erfordern eine h¨
aufige Anpassung
der Partitionierung auf der Basis schneller Algorithmen.
Innerhalb des untersuchten Intervalls reduziert die dynamische Lastverteilung die Par-
tition von Thread 3 auf etwa die H¨
alfte. Die Elementphase erfordert f¨
ur diese Elemente
einen hohen Aufwand. Ohne die regelm¨
aßige Lastverteilung ergibt sich ein erh¨
ohter
Rechenaufwand, der die gesamte parallele Applikation verlangsamt. Dieser Effekt ist
in Abbildung 5.6 dargestellt. Bis zum Zeitschritt 80 000 ist die adaptive Lastverteilung
aktiv, danach ist sie zur Demonstration deaktiviert, so dass die Partitionsgr¨
oßen f¨
ur den
weiteren Verlauf der Rechnung konstant bleiben. Die Laufzeiten der vier nebenl¨
aufigen
Threads sind farbig dargestellt.
0
5
10
15
20
25
60000 70000 80000 90000 100000 110000 120000
Laufzeit [ms]
Zeitschritt
Thread 1
Thread 2
Thread 3
Thread 4
Abbildung 5.6: Laufzeiten der Threads bei statischer Lastverteilung ab Schritt 80 000
W¨
ahrend der dynamischen Lastverteilung bis zum Zeitschritt 80 000, haben alle vier
Threads nahezu identische Laufzeiten f¨
ur jeden einzelnen Schritt der Zeitintegration.
Ab dem 90 000sten Zeitschritt erh¨
oht sich die Last von Thread 3 deutlich. Aufgrund der
Synchronisation zwischen den Threads erh¨
oht sich damit auch die Laufzeit der gesamten
Applikation. Die Laufzeit der Threads bei weiterhin dynamischer Lastverteilung ist in
grau dargestellt. Sie liegt im gezeigten Intervall immer unter 15 Millisekunden. Damit
108 KAPITEL 5. INDUSTRIELLE APPLIKATION
2
4
6
8
10
12
14
16
18
2 4 6 8 10 12 14 16
# Prozessoren
Speedup
Meißel
Zylinder
Bolzen
0
0.2
0.4
0.6
0.8
1
1.2
1.4
2 4 6 8 10 12 14 16
# Prozessoren
Effizienz
Meißel
Zylinder
Bolzen
Abbildung 5.7: Speedup (links) und Effizienz (rechts) der parallelen Applikation
liegt die Rechenzeit f¨
ur einen Schritt der Zeitintegration um bis zu 40 Prozent h¨
oher,
wenn keine regelm¨
aßige Neuverteilung der Rechenlast durchgef¨
uhrt wird.
Die Gradienten der Rechenzeit zeigen, dass die Lastverteilung nach einigen hundert
Zeitschritten zwingend notwendig ist. Bei dem gegebenen Beispiel folgt daraus ein
Lastausgleich bereits nach wenigen Sekunden. Die beschriebene Problematik w¨
achst
mit der Anzahl der Rechenknoten: Die Auswirkungen der schwankenden Rechenlasten
vergr¨
oßert sich, w¨
ahrend die Rechenzeiten k¨
urzer werden.
Abbildung 5.7 zeigt die Skalierbarkeit der parallelen Applikation. Die drei gew¨
ahlten
Benchmarks, welche unterschiedliche Charakteristika bzgl. Netzgr¨
oße und modellier-
tem Material aufweisen, skalieren bis zu 16 Prozessoren. Der Benchmark Bolzen er-
reicht einen Speedup von 13 und damit eine Effizienz von 80 Prozent. Die Berech-
nung des elastischen und plastischen Materials ist weniger aufwendig, wodurch sich
ein hohes Verh¨
altnis von Kommunikationsaufkommen zu Rechenaufwand ergibt. Die
Qualit¨
at der Partitionierung ist jedoch ausreichend, um diese Effizienz zu erreichen.
Die Simulation der spr¨
oden Materialien in den Benchmarks Meißel und Zylinder mit
ihrer nicht-linearen Modellierung erlauben Speedups von 17.3 bzw. 17.9. Insbesondere
durch die M¨
oglichkeit einer schnellen regelm¨
aßigen Lastbalancierung, die eine st¨
andige
Gleichverteilung der Last erlaubt, ergibt sich diese hohe Effizienz (108 % bzw. 112 %)
bei verh¨
altnism¨
aßig kleinen Netzen.
Der superlineare Speedup ergibt sich aus Vorteilen bei der Nutzung der Daten-Caches.
Die Nutzung mehrerer Prozessoren erh¨
oht den der Applikation zur Verf¨
ugung stehen-
den schnellen Cache-Speicher. Mit wachsender Anzahl an Prozessoren kann ein immer
gr¨
oßerer Anteil der notwendigen Daten im Cache gehalten werden, w¨
ahrend nur die von
mehreren Prozessoren gemeinsam genutzten Daten regelm¨
aßig im zentralen Hauptspei-
cher abgelegt werden (Kommunikation). Der Speicherbedarf des Benchmarks Zylinder
ist in etwa viermal so groß wie der des Benchmarks Meißel. Letzterer profitiert schon ab
einer Anzahl von vier Threads vom gr¨
oßeren akkumulierten Cache-Speicher, w¨
ahrend
sich beim anderen Benchmark erst bei einer gr¨
oßeren Prozessoranzahl ein superlinearer
Speedup ergibt.
5.3. KONTAKTBEHANDLUNG 109
5.3 Kontaktbehandlung
Dieser Abschnitt beschreibt die Kontaktbehandlung innerhalb der industriellen Appli-
kation. Im Mittelpunkt steht dabei die Effizienz der vorgestellten Variante des Position-
Code-Algorithmus f¨
ur die Phase der globalen Kontaktsuche. Zudem werden die physika-
lischen Grundlagen der Kontaktkorrektur und dabei auch die Modellierung gegl¨
atteter
Oberfl¨
achen vorgestellt. Ein weiterer wesentlicher Bestandteil ist die lokale Suche, in
der die Entscheidung ¨
uber die Korrekturrichtung getroffen wird. Die Korrektheit dieser
Phase ist f¨
ur die Robustheit der gesamten Kontaktbehandlung von großer Bedeutung.
Die wesentlichen Ideen f¨
ur eine systematische Erfassung aller Kontaktsituationen wer-
den hier ebenfalls skizziert.
Teile der globalen Kontaktsuche sind im Rahmen einer Diplomarbeit in die Applikation
integriert worden [50]. An dieser Stelle werden nur einige Details der Umsetzung in der
Applikation gegeben, die f¨
ur die Erl¨
auterung der Benchmark-Ergebnisse von Bedeutung
sind. Genaue Beschreibungen der Datenstrukturen und Routinen sind in vertraulichen
technischen Berichten zu finden.
5.3.1 Kontaktformulierung
Die hier untersuchte FE-Applikation dient der Simulation zweidimensionaler struktur-
mechanischer Prozesse. Die Zeitintegration erfolgt ¨
uber die Berechnung innerer Kr¨
afte
die auf Knoten wirken.2In dieser Phase werden m¨
ogliche Durchdringungen zugelas-
sen, die in der nachfolgenden Phase der Kontaktkorrektur gel¨
ost werden (vgl. Ab-
schnitt 5.2.1). Diese besteht aus der Kontaktsuche, der Berechnung der Kontaktkr¨
afte
auf die betroffenen Knoten und der Korrektur der Zeitintegration bzgl. der Kontakt-
knoten [19].
Die Kontaktformulierung basiert auf den Beschreibungen in [5, 14, 75]. Der Algorith-
mus arbeitet innerhalb eines Zeitschritts rein geometrisch und ist damit f¨
ur beliebi-
ge Materialien einsetzbar. Es ergibt sich ein sehr harter Kontakt, d. h. große Kr¨
afte
bei initialem Kontakt. Die Zeitintegration und die Zeitschrittweite m¨
ussen so gew¨
ahlt
werden, dass sie Oszillationen der Spannungen vermeiden und die Wellenausbreitung
korrekt abgebildet wird. Die Anforderungen an den Kontaktalgorithmus beinhalten die
Behandlung
beliebiger Geometrien, auch mit L¨
ochern,
von Rissbildung mit neu auftretenden Oberfl¨
achen und scharfen Ecken,
aller Kombinationen von eckigen und gegl¨
atteten Oberfl¨
achen,
der Selbstdurchdringung von Oberfl¨
achen und
der Lagerung von Oberfl¨
achenknoten.
2Innerhalb der Simulation wird angenommen, dass die Massen der Elemente anteilig an ihren Knoten
konzentriert sind.
110 KAPITEL 5. INDUSTRIELLE APPLIKATION
ξ=0ξ=1
3
2
1
HP HP
QPQP
(geglättet)
Slave
Master
(geradlinig)
virtueller Slaveknoten
Penetration p
Abbildung 5.8: Beschreibung gegl¨
atteter
Oberfl¨
achen
Abbildung 5.9: Penetration eines virtuel-
len Slaveknotens in ein geradliniges Mas-
tersegment
Die Definition eckiger (st¨
uckweise linearer) und gegl¨
atteter Oberfl¨
achen sind so gew¨
ahlt,
dass sie die obigen Anforderungen erf¨
ullen. Die Geometrien sind ¨
uber polynomielle
Form-Funktionen hiund Knotenvektoren xidefiniert:
x=hi(ξ)·xi,0ξ < 1 (5.1)
Die linearen Form-Funktionen hL
1= 1 ξund hL
2=ξwerden f¨
ur die Beschreibung
st¨
uckweise linearer Oberfl¨
achen mit Ecken eingesetzt. Die Formulierung f¨
ur gegl¨
attete
Oberfl¨
achen folgt den Vorschl¨
agen von Wriggers, Taylor und Krstulovi´c [76, 83]. Ein
Oberfl¨
achensegment ist ¨
uber drei adjazente Knoten des FE-Netzes durch B´ezier-Splines
definiert (vgl. Abb. 5.8):
hB
1=1
4(2 3ξ+ξ3), hB
2=1
4(2 + 3ξ3ξ2), hB
3=1
4(3 ξ)ξ2(5.2)
Ein gegl¨
attetes Oberfl¨
achensegment beginnt an dem Mittelpunkt der ersten Netzkante
(ξ= 0) und endet am Mittelpunkt der zweiten (ξ= 1). Die Oberfl¨
ache ist c1-stetig
und an den Mittelpunkten der Netzkanten tangential zur Netzoberfl¨
ache. Die so be-
schriebende Oberfl¨
ache verl¨
auft zwischen den Verbindungslinien zwischen den Mittel-
punkten (HP) bzw. zwischen den Viertelpunkten (QP) der Netzkanten. Die Vernetzung
muss so fein gew¨
ahlt werden, dass die Differenz zwischen dem Netz und der gegl¨
atteten
Oberfl¨
ache klein ist. Damit ist es m¨
oglich, die Gl¨
attung bei der Berechnung der inne-
ren Kr¨
afte zu vernachl¨
assigen. Penetrationen werden nur an den Kantenmittelpunkten
¨
uberpr¨
uft, an denen die Positionen der Netzkanten und der gegl¨
atteten Oberfl¨
achen
¨
ubereinstimmen. Dabei wird die Lage der Punkte gegen¨
uber m¨
oglichen Kontaktseg-
menten getestet (Master-Slave-Konzept). Das Mastersegment kann sowohl eine eckige
als auch eine gegl¨
attete Oberfl¨
ache sein. An st¨
uckweise geradlinigen Oberfl¨
achen liegen
die Slaves an den Knoten des FE-Netzes. An gegl¨
atteten Bereichen der Oberfl¨
ache wer-
den virtuelle Slaveknoten an den Mittelpunkten der Netzkanten angenommen, wie in
Abbildung 5.9 dargestellt.
Im Falle der Selbstdurchdringung oder der Penetration an scharfen Ecken sind spezielle
Algorithmen zur Bestimmung des Penetrationsvektors pnotwendig. In den anderen
F¨
allen ergibt sich der Penetrationsvektor ¨
uber den k¨
urzesten Abstand des Slaveknotens
zum Mastersegment. In manchen Situationen erfordert die vollst¨
andige Erf¨
ullung der
5.3. KONTAKTBEHANDLUNG 111
Nichtpenetrationsbedingung, dass in einer weiteren Phase die Zuordnung von Master
und Slave getauscht wird. Dazu werden nacheinander alle Oberfl¨
achensegmente als
Master angesehen und die jeweiligen potentiellen Kontaktpartner als Slaves.
ξ
S
2
3 1
M
p
M
M M
Abbildung 5.10: Bezeichner zur Kontaktkorrektur
Die Normalkraft wirkt in Richtung des Penetrationsvektors p. Sei ξMdie relative Po-
sition des Schnittpunktes von pmit dem Mastersegment und ξSdie relative Position
eines virtuellen Slaveknotens auf einer gegl¨
atteten Oberfl¨
ache (vgl. Abb. 5.10). Die
linearisierte Nichtpenetrationsbedingung
||p||uS·ep+uM(ξM)·ep= 0 (5.3)
mit den Verschiebungen von Master (uM) und Slave (uS) kann eingesetzt werden, da
bei der expliziten Zeitintegration i. A. sehr kleine Zeitschritte durchgef¨
uhrt werden. Die
Verschiebung auf Masterseite an der Penetrationsstelle ergibt sich aus
uM(ξM) = hi(ξM)·uMi.(5.4)
Die Knotenverschiebungen ergeben sich aus der Bewegungsgleichung
uS=1
2
t2
mS
FS,uMi=1
2
t2
mMiX
j
FMi,(5.5)
wobei jdie Anzahl der beteiligten Slaveknoten ist. Im Bereich eckiger Oberfl¨
achen ent-
spricht die Verschiebung der FE-Knoten denen der Slaveknoten. Im Falle gegl¨
atteter
Oberfl¨
achen erfolgt die Berechnung der Knotenverschiebung analog zur Masterober-
fl¨
ache:
uS=uS(ξS) = hi(ξS)·uSi.(5.6)
Die entsprechenden Gegenkr¨
afte an den Masterknoten ergeben sich als
FMi=hi(ξM)·FS.(5.7)
Es ergibt sich ein lineares Gleichungssystem, dessen Gr¨
oße von der Anzahl der akti-
ven Slaveknoten abh¨
angt, die in benachbarte Mastersegmente eindringen. Diese Mas-
tersegmente bilden gemeinsam mit den aktiven Slaveknoten eine Kontaktgruppe. Bei
der Simulation zweier Objekte mit gegl¨
atteter Oberfl¨
achen ergibt sich m¨
oglicherweise
nur eine Kontaktgruppe. Dagegen f¨
uhrt die Simulation diskreter Risse h¨
aufig zu einer
großen Anzahl an kleinen Kontaktgruppen.
112 KAPITEL 5. INDUSTRIELLE APPLIKATION
5.3.2 Datenstrukturen
F¨
ur die effiziente Simulation großer FE-Netze mit ver¨
anderlichen Oberfl¨
achen (Rissbil-
dung, adaptives Vernetzen) ist die Integration einer flexiblen Datenstruktur unumg¨
ang-
lich. Die gemeinsame Simulation mehrere Objekte kombiniert mit der erforderten ho-
hen Genauigkeit f¨
uhrt leicht zu Netzen mit mehreren Tausend Elementen und Knoten.
Daher bilden alle Strukturen einen Kompromiss zwischen den Anforderungen an die
Dynamik und dem schnellen direkten Zugriff auf die Daten. An dieser Stelle ist nur
die Beschreibung der Oberfl¨
achen und Kontaktstrukturen erl¨
autert, soweit es f¨
ur die
Beurteilung der Benchmark-Ergebnisse notwendig ist.
5.3.2.1 Oberfl¨
achen
Die zentrale Struktur zur Abbildung der Oberfl¨
ache des FE-Netzes ist eine doppelt
verkettete Liste. Jeder Eintrag der Liste ist ein Repr¨
asentant f¨
ur einen Oberfl¨
achenk-
noten des Netzes. Die Ordnung der Verkettung ist so gew¨
ahlt, dass bei einem Lauf
¨
uber die Knoten der Liste in positiver Richtung das Material immer auf der linken Sei-
te liegt. D.h. bei einer ¨
außeren Oberfl¨
ache ergibt sich ein Umlauf in CCW-Orientierung
(counterclockwise). Jede einzelne Oberfl¨
ache eines Objektes ist zyklisch. Ein Eintrag der
Oberfl¨
achenliste ist mit dem entsprechenden Eintrag der Knoten-Datenstruktur ¨
uber
Zeiger in beiden Richtungen gekoppelt.
Parallel zu der verketteten Liste existiert eine zweite Datenstruktur. W¨
ahrend erste-
re dem Verlauf des FE-Netzes folgt, repr¨
asentiert die zweite die Oberfl¨
achenstruktur,
¨
uber welche die Kontaktbehandlung erfolgt (virtuelle Oberfl¨
ache). Zwischen diesen Da-
tenstrukturen findet die Unterscheidung von eckigen und gegl¨
atteten Bereichen der
Oberfl¨
ache statt. Die virtuelle Oberfl¨
ache enth¨
alt Eintr¨
age f¨
ur die charakteristischen
Stellen der Oberfl¨
ache, ¨
uber welche die Penetration getestet wird, d. h. die als Slave in
einer Kontaktgruppe auftreten k¨
onnen. F¨
ur eckige Oberfl¨
achen stimmen diese mit den
Knoten des Netzes ¨
uberein, f¨
ur gegl¨
attete Bereiche liegen sie auf den Mittelpunkten
der Netzkanten, wie in Abbildung 5.11 dargestellt. Diese St¨
utzstellen der Kontaktbe-
handlung sind mit den Eintr¨
agen der Oberfl¨
achenstruktur ¨
uber Zeiger verbunden.
Ein Eintrag der virtuellen Oberfl¨
ache repr¨
asentiert zwei Objekte: Einen Punkt auf
der Oberfl¨
ache, der auf Penetration getestet wird (Slaveknoten) und ein Segment der
Oberfl¨
ache (Mastersegment), welches gerade oder gebogen sein kann. Die Form des
Segmentes ergibt sich aus der Art des Eintrags und seine Orientierung aus der Verket-
tungsrichtung der Oberfl¨
achen-Datenstruktur.
5.3.2.2 Kontaktgruppen
Die potentiellen Kontaktpaarungen werden an den Mastersegmenten gespeichert. Je-
des Oberfl¨
achensegment hat eine Kandidatenliste aus Slaveknoten, die in den folgen-
den kSchritten der Zeitintegration Kontakt haben k¨
onnen, und eine Aktivenliste der
Slaveknoten, die im aktuellen Schritt eingedrungen sind. Mastersegmente werden zu
5.3. KONTAKTBEHANDLUNG 113
Oberfläche
virtuelle
Oberfläche
Knoten
QP
HP
Abbildung 5.11: Verbindung des FE-
Netzes mit der (virtuellen) Oberfl¨
achen-
Datenstruktur (gr¨
un: gegl¨
attetes Ober-
fl¨
achensegment)
Abbildung 5.12: Form der Halos an gera-
den und gegl¨
atteten Oberfl¨
achensegmen-
ten
Kontaktgruppen zusammengefasst, wenn ¨
uber deren (potentiellen) Kontaktpartner ei-
ne Kopplung ¨
uber die Korrekturgleichungen besteht (Kandidatengruppe bzw. Aktiven-
gruppe). Die Kandidatenlisten werden im Laufe der globalen Suche aufgestellt und zu
Gruppen zusammengefasst. Aus den Kandidaten werden die aktiven Slaveknoten in der
lokalen Suche ausgew¨
ahlt, und die Gruppen entsprechend verkleinert.
5.3.3 Globale Suche
In dieser Phase der Kontaktbehandlung werden die Kandidatenlisten f¨
ur alle Ober-
fl¨
achensegmente und die zugeh¨
origen Kandidatengruppen bestimmt. Dazu wird um
jedes Segment ein Bereich (Halo) definiert, dessen enthaltene Knoten nah genug am
Segment liegen, dass sie innerhalb weniger Zeitschritte eindringen k¨
onnen. Die Gr¨
oße
des Halos ist von der Art des Oberfl¨
achensegmentes abh¨
angig. Im Falle eines geraden
Segmentes wird eine ε-Umgebung um dieses gelegt. Im Falle eines gebogenen Segmen-
tes wird eine ε-Umgebung um die Verbindungslinien der Mittelpunkte und der Viertel-
punkte gelegt (vgl. Abb. 5.12). Der Wert von εist von der Diskretisierung des Netzes
abh¨
angig. Um eine ¨
Uberlappung dreier benachbarter Halos zu vermeiden, ist εkleiner
als die H¨
alfte des k¨
urzesten Oberfl¨
achensegmentes im gesamten FE-Netz. Ist umax die
gr¨
oßte Verschiebung eines Knotens je Zeitschritt, muss die folgende globale Suche nach
k=ε
2·umax Schritten durchgef¨
uhrt werden.
Um die Inhalte der Halos zu finden, wird der in Abschnitt 4.3 beschriebene Algorith-
mus umgesetzt. Jedem virtuellen Slave wird ein Position-Code zugeordnet, ¨
uber den die
Positionssuche erfolgt. Die Codes werden in einem Feld gehalten, das bei wachsender
Anzahl an Oberfl¨
achenknoten entsprechend vergr¨
oßert wird. Ein Feld erf¨
ullt nicht die
in der Analyse in Abschnitt 4.4 geforderte Effizienz bei der Sortierung der aktualisier-
ten Codes. Die Anforderungen typischer Beispieleingaben haben jedoch gezeigt, dass
der Grad der Vorsortierung hoch genug und diese pragmatischere L¨
osung ausreichend
schnell ist. F¨
ur die Sortierung ist der Insertion Sort-Algorithmus gew¨
ahlt, da dieser
bei gen¨
ugend guter Vorsortierung die wenigsten Vergleichs- und Vertauschoperationen
114 KAPITEL 5. INDUSTRIELLE APPLIKATION
ben¨
otigt.
Zwischen den virtuellen Slaves und dem Feld der Position-Codes existiert eine bidirek-
tionale Verbindung ¨
uber Zeiger. Die Verbindung von den Slaves zu den entsprechen-
den Eintr¨
agen in dem Feld der Position-Codes wird nach der vollst¨
andigen Sortierung
aktualisiert. Innerhalb der Applikation orientiert sich die Zellengr¨
oße an dem k¨
urzes-
ten Oberfl¨
achensegment im gesamten Netz. Die Anzahl der Zellen einer Dimension ist
die kleinste Zweierpotenz, die f¨
ur die ¨
Uberdeckung des gesamten Berechnungsgebietes
ausreichend ist.
5.3.4 Lokale Suche
Das wichtigste Ziel bei der Implementation der lokalen Kontaktsuche ist die Robust-
heit. F¨
ur jede denkbare Kontaktsituation soll die Kontaktbehandlung die Nichtpenetra-
tionsbedingung erf¨
ullen. Eine besondere Schwierigkeit ergibt sich aus numerischen Un-
genauigkeiten, die bei der Berechnung der relativen Lage eines Slave zu einem Segment
auftreten k¨
onnen. Die Lage (auf dem Segment oder links oder rechts des Segmentes)
wird mittels des Skalarprodukts aus Segmentvektor und dem Verbindungsvektor vom
Startpunkt des Segmentes zum Slave bestimmt. Aufgrund der endlichen Darstellung
von Fließkommazahlen in Rechnern entspricht das Ergebnis des Vektorprodukts nicht
unbedingt der tats¨
achlichen Lage.
Um die Problematik der numerischen Ungenauigkeit zu umgehen, ist das Outside-
Flag implementiert. Es gibt an, ob ein Slave-Kandidat im letzten Zeitschritt auf der
Materialseite oder auf der Nichtmaterialseite eines Oberfl¨
achensegmentes gelegen hat.
Zum einen wird das Flag f¨
ur ein notwendiges Kontaktkriterium ben¨
otigt, ¨
uber das eine
schnelle vorl¨
aufige Kontaktbestimmung m¨
oglich ist (vgl. folgenden Abschnitt). Zum
anderen erm¨
oglicht es auch dann eine sinnvolle Korrektur einer Penetration, wenn
die geometrische Situation keine eindeutige Korrekturrichtung vorgibt. Ein Beispiel
zum Outside-Flag ist in Abbildung 5.13 gegeben. An den Positionen Bund Cist das
Flag falsch, lediglich an Position Aist das Flag f¨
ur den Slave-Kandidaten bzgl. des
dargestellten Segmentes wahr.
B
A
C
Nichtmaterialseite
Materialseite
Abbildung 5.13: Outside-Flag: wahr f¨
ur A, falsch f¨
ur Bund C
5.3. KONTAKTBEHANDLUNG 115
5.3.4.1 Vorl¨
aufiger Kontakttest
Die effiziente lokale Kontaktsuche l¨
auft ihrerseits in zwei Phasen ab. In einer ersten
Phase wird ¨
uber ein notwendiges Kriterium entschieden, ob Kontakt zwischen einem
Segment und seinem Kandidaten stattgefunden hat. Die zweite Phase f¨
uhrt f¨
ur alle
potentiellen Kontaktpaarungen einen exakten Kontakttest durch und bestimmt ggf.
die Korrekturparameter.
In der ersten Phase der lokalen Kontaktsuche wird ¨
uber einen einfachen Test fest-
gestellt, ob an einem Slave-Kandidaten ein Kontakt stattgefunden haben kann. Aus
diesen potentiellen Kontakten des aktuellen Zeitschritts werden die Aktivenlisten ge-
bildet. Dazu wird das Außerhalb-innerhalb-Kriterium ¨
uberpr¨
uft: Es kann nur dann ein
initialer Kontakt stattfinden, wenn ein Kontaktkandidat die Gerade, die sich aus dem
Oberfl¨
achensegment definiert, von Nichtmaterial- auf Materialseite ¨
uberschritten hat.
Dieser Test ist einfach durchzuf¨
uhren und erlaubt damit eine schnelle und effektive
Eingrenzung der potentiellen Kontaktpaare.
In der Abbildung 5.13 k¨
onnen die Knoten Kontakt zu dem Segment haben, die z. B.
von Position Azu den Positionen Boder Cgewechselt sind. Verbleibt ein Knoten im
Bereich seiner Position, ist kein Eintrag in die Aktivenliste notwendig. Im Falle der Po-
sition Akann kein Kontakt stattgefunden haben. Knoten, die im Bereich der Position
Bliegen, k¨
onnen nur dann in das Material eindringen, wenn sie Kontakt zum Nach-
barsegment haben. Ein Knoten an Position Chatte schon im letzten Schritt Kontakt
und verbleibt f¨
ur die folgenden Schritte in der Aktivenliste, bis bei der Bestimmung
der Korrekturparameter die Beendigung der Kontaktsituation festgestellt wird.
W¨
ahrend der ersten Phase der Penetrationsbestimmung werden die Aktivengruppen
gebildet. Der Algorithmus bearbeitet die Oberfl¨
achensegmente und deren Kandidaten-
listen auf Basis der Kandidatengruppen, dem Ergebnis der globalen Kontaktsuche. Da
die Knoten in den Aktivenlisten der Segmente immer eine Teilmenge der Knoten in
den Kandidatenlisten darstellen, k¨
onnen die Gruppen lediglich kleiner werden oder in
mehrere zerfallen, nicht jedoch verschmelzen.
5.3.4.2 Bestimmen der Korrekturparameter
In dieser Phase werden die Korrekturparameter (Richtung und L¨
ange des Penetrati-
onsvektors) bestimmt, auf deren Basis die Gleichungssysteme zur Kontaktkorrektur
aufgestellt werden, je Kontaktgruppe ein System. Dazu ist zu gew¨
ahrleisten, dass jeder
Slave-Knoten innerhalb eines Gleichungssystems lediglich einfach auftritt, d. h. ein Sla-
ve darf innerhalb einer Kontaktgruppe nur einen Korrekturvektor haben und damit auf
ein Oberfl¨
achensegment korrigiert werden. Die oben beschriebenen Phasen der Kontakt-
behandlung ignorieren m¨
ogliche Konflikte. Ein Slave-Knoten kann sowohl in den Kan-
didatenlisten, als auch in den vorl¨
aufigen Aktivenlisten von benachbarten Oberfl¨
achen-
segmenten enthalten sein. In der gegebenen FE-Applikation ist die Halo-Gr¨
oße jedoch
so gew¨
ahlt, dass sich Halos dreier benachbarter Oberfl¨
achensegmente nicht schneiden
k¨
onnen. Ein Oberfl¨
achenknoten kann damit nur Kontaktkandidat von h¨
ochstens zwei
116 KAPITEL 5. INDUSTRIELLE APPLIKATION
adjazenten Segmenten sein. Daraus ergibt sich der Vorteil, dass innerhalb der lokalen
Kontaktsuche die Entscheidungsfindung zur Kontaktkorrektur auf jeweils zwei Segmen-
te beschr¨
ankt ist.
In den meisten F¨
allen ist die Korrekturrichtung offensichtlich, in anderen F¨
allen hilft
das Outside-Flag die geeignete zu finden. Insbesondere ist die Information des Outside-
Flags behilflich, nichtphysikalische Beschleunigungen bei der Kontaktbehandlung zu
vermeiden. Die Aufgabe des Outside-Flag bei der Korrekturphase ist in Abbildung 5.14
skizziert. Sie zeigt eine konvexe Masteroberfl¨
ache, in die ein Slave (roter Punkt) einge-
drungen ist. Lag der Knoten im vorherigen Zeitschritt an Position A, f¨
uhrt die ortho-
gonale Korrektur zum n¨
achstliegenden Oberfl¨
achensegment zu einer Beschleunigung in
Bewegungsrichtung, welche offensichtlich nichtphysikalisch ist. Unter der Einbeziehung
des Outside-Flags kann ein Knoten jedoch nur in der Aktivenliste eines Segmentes lie-
gen, wenn er im laufenden Zeitschritt von seiner Nichtmaterial- auf seine Materialseite
gewechselt ist. Damit ist ein Slave, der aus dem Bereich um Position Akommt, immer
nur in der Aktivenliste des linken Oberfl¨
achensegmentes. Damit ist die Korrekturrich-
tung von der vorherigen relativen Position zu den Oberfl¨
achensegmenten abh¨
angig.
Slave
Master
B’,C’
B
A’
A
C
Abbildung 5.14: Korrekturvektoren (A’,B’,C’) in Abh¨
angigkeit von der Position im vor-
hergehenden Schritt der Zeitintegration (A,B,C)
Entscheidend f¨
ur den Algorithmus zur Bestimmung der Korrekturrichtungen ist, dass
die Entscheidung ¨
uber eine Penetration lediglich ¨
uber die vorl¨
aufigen Aktivenlisten
der Oberfl¨
achensegmente getroffen wird. Zun¨
achst wird ¨
uberpr¨
uft, ob tats¨
achlich ein
Kontakt stattgefunden hat. Dies ist der Fall, wenn der Slave-Knoten auch auf der
Materialseite des Nachbarsegmentes liegt, das n¨
aher am untersuchten Slave-Knoten
liegt. Ist der Slave auf die Nichtmaterialseite gewandert, aber nicht in das Material
eingedrungen werden lediglich die Outside-Flags angepasst und der Knoten aus der
Aktivenliste gel¨
oscht.
Ist eine Kontaktsituation festgestellt, wird der eingedrungene Knoten wenn m¨
oglich
orthogonal zur Oberfl¨
ache korrigiert. Ist der Slave nur zu einem Segment aktiv, ist die
Korrekturrichtung eindeutig. Ergibt sich zu zwei benachbarten Segmenten die M¨
oglich-
5.3. KONTAKTBEHANDLUNG 117
keit der orthogonalen Korrektur, wird das Segment mit der geringsten Eindringtiefe
gew¨
ahlt (vgl. Position Cund Korrekturrichtung C’ in Abb. 5.14). Im Falle konkaver
Strukturen ist h¨
aufig keine orthogonale Korrektur m¨
oglich. Es wird eine Korrektur auf
den mittleren Oberfl¨
achenknoten durchgef¨
uhrt.
Ist ein eingedrungener Knoten zu einem Oberfl¨
achensegment aktiv, jedoch keine or-
thogonale Korrektur m¨
oglich und die n¨
achstliegende Ecke an der Oberfl¨
ache konvex,
bezeichnen wir ihn als durchtauchenden Knoten. Ein Knoten dringt nahe einer kon-
vexen Ecke ein und bewegt sich gleichzeitig aus dem orthogonalen Korrekturbereich
des Segmentes, in das er eingedrungen ist, heraus. In diesem Falle findet die Korrektur
orthogonal zu dem Oberfl¨
achensegment statt, zu dem der Slave aktiv ist. Die L¨
ange des
Korrekturvektors ist so gew¨
ahlt, dass der Knoten nur bis auf das benachbarte Ober-
fl¨
achensegment korrigiert wird. Die Situation ist in Abbildung 5.15 veranschaulicht. Ein
Slave-Knoten, der im letzten Zeitschritt an Position Alag, ist in das obere Segment
eingedrungen und liegt im aktuellen Zeitschritt an Position B. Die Korrektur findet
orthogonal zum oberen Segment, jedoch nur bis auf das rechte Segment statt (roter
Vektor). Eine Zerlegung in mehrere kleine Zeitschritte zeigt, dass diese Korrektur in et-
wa der Summe der Teilkorrekturen einer feingranulareren Simulation entspricht. Auch
wenn in manchen Situationen dieser L¨
osungsansatz von der physikalischen Verhaltens-
weise abweicht, ist das Resultat die bestm¨
ogliche L¨
osung, falls die vorherige Position
des Slaveknotens nicht bekannt ist.
A
B
Abbildung 5.15: Korrektur im Falle eines durchtauchenden Knotens
Mit der Bestimmung des Penetrationsvektors ist gleichzeitig die zuk¨
unftige relative
Lage von Master- und Slaveknoten zueinander bekannt. Diese Information wird ge-
nutzt, um die Outside-Flags auf beiden Seiten der Korrekturzone anzupassen und in
den nachfolgenden Zeitschritten weiterhin eine vollst¨
andige und physikalische Korrektur
zu gew¨
ahrleisten. Damit werden Fehlentscheidungen aufgrund m¨
oglicher numerischer
Ungenauigkeiten vermieden, die bei einer rein geometrischen Bestimmung der Outside-
Flags getroffen werden k¨
onnen. Die vorliegenden Informationen erlauben die Aktuali-
sierung von vier Segment-Knoten-Paarungen, im Umfeld des festgestellten Kontaktes:
Der Slaveknoten mit dem aktuellen Mastersegment und dem n¨
aherliegenden Nachbar-
segment und der n¨
aherliegende Masterknoten mit den am Slave angrenzenden Ober-
118 KAPITEL 5. INDUSTRIELLE APPLIKATION
fl¨
achensegmenten. Ist eine der beiden Oberfl¨
achenst¨
ucke konkav, sind die Outside-Flags
des gegen¨
uberliegenden Knotens wahr. Ist die Oberfl¨
ache konvex, wird entsprechend der
relativen Lage des Kontaktkandidaten das Flag f¨
ur die eine Paarung auf wahr, f¨
ur die
andere auf falsch gesetzt.
Ein Beispiel, bei dem beide Seiten konvex sind, ist in Abbildung 5.16 gegeben. An den
Knoten Aund Bgrenzen die Segmente cund dbzw. eund fan. Der Slaveknoten Bist
auf das Mastersegment dkorrigiert worden. Die Outside-Flags der Paarungen (A,e) und
(B,d) werden auf wahr, die der Paarungen (A,f) und (B,c) auf falsch gesetzt. Knoten
Akann nur in das Segment feindringen, wenn er zuvor auf die Nichtmaterialseite von
Segment egewechselt ist, ohne mit diesem in Kontakt zu treten. Vorher werden alle
Kontakte des Knoten Aauf das Segment ekorrigiert. Das gleiche gilt f¨
ur Knoten Bund
die beiden Segmente der anderen Komponente. Bei einer Korrektur im Bereich zweier
konvexer Ecken findet immer diese Wertzuordnung an die Outside-Flags statt. Sie ist
nur von dem Kontaktpaar (in diesem Fall (B,d)) abh¨
angig. Die Winkel der Ecken und
die Orientierung der Segmente ist dabei unerheblich.
A
dc
B
f
e
Abbildung 5.16: Aktualisierung des Outside-Flag: wahr f¨
ur (A,e) und (B,d); falsch f¨
ur
(A,f) und (B,c)
Ein Sonderfall stellt die Korrektur eines Slaves auf einen Masterknoten dar. In diesem
Fall werden alle vier betroffenen Outside-Flags auf wahr gesetzt. Beide Knoten k¨
onnen
mit den beiden angrenzenden Segmenten der gegen¨
uberliegenden Seite in Kontakt tre-
ten. Eine Korrektur findet dann auf das Segment statt, welches den geringsten Abstand
zum eingedrungenen Knoten hat.
5.3.4.3 Gegl¨
attete Oberfl¨
achen
Mastersegmente an gegl¨
atteten Oberfl¨
achen ben¨
otigen keine Information bzgl. der rela-
tiven Lage ihrer Kontaktkandidaten. Aufgrund der Stetigkeit der Splines m¨
ussen keine
speziellen F¨
alle betrachtet werden. Da die Gl¨
attung nur f¨
ur den Bereich flacher Winkel
der Netzoberfl¨
ache vorgesehen und die Halo-Gr¨
oße klein genug gew¨
ahlt ist, ist die ortho-
gonale Korrektur immer m¨
oglich und auch eindeutig. Dennoch wird auch auf Master-
segmenten gegl¨
atteter Oberfl¨
achen zun¨
achst ein vorl¨
aufiger Kontakttest durchgef¨
uhrt,
um vorl¨
aufige Aktivenlisten und zugeh¨
orige Aktivegruppen zu bilden. Dazu werden
5.3. KONTAKTBEHANDLUNG 119
die Oberfl¨
achen durch Linien approximiert, deren ¨
Uberschreiten ein notwendiges Kon-
taktkriterium darstellen. Vor einem Kontakt mit einem konkaven Kurvensegment muss
zun¨
achst die Verbindungslinie der beiden Segmentmittelpunkte ¨
ubertreten werden. Im
Falle konvexer Kurven ist gegen die Verbindungslinie der Viertelpunkte zu testen (vgl.
Abb. 5.17). Die beiden Linien stellen ein notwendiges Kriterium dar, da die Kurven-
segmente immer innerhalb des Bereiches liegen, der von den beiden Verbindungslinien
aufgespannt wird.
HP QP QP
HP
Abbildung 5.17: Vorl¨
aufiger Kontakttest an gegl¨
atteten Oberfl¨
achen
Die Analyse der Penetrationen arbeitet f¨
ur alle Kombinationen aus eckigen und gegl¨
at-
teten Oberfl¨
achen. Der Algorithmus ist jeweils von der Art der Masteroberfl¨
ache abh¨
an-
gig. Auf der Slaveoberfl¨
ache werden nur Punkte betrachtet, welche entweder an den
Oberfl¨
achenknoten des Netzes liegen (eckig) oder auf den Segmentmittelpunkten (ge-
gl¨
attet). Zudem kann sich eine Aktivengruppen ¨
uber beide Arten der Oberfl¨
achen-
struktur erstrecken und somit alle Kombinationen innerhalb eines Gleichungsystems
auftreten.
5.3.5 Benchmarks
Die FE-Netze zur Berechnung der gegebenen Problemstellungen eignen sich nur sehr
eingeschr¨
ankt zur Untersuchung des Skalierungsverhaltens der beiden Position-Code-
Algorithmen. In Netzen aus dem Bereich der Befestigungsproblematik ist die Anzahl der
Oberfl¨
achensegmente gering gegen¨
uber der Anzahl der Elemente. Damit f¨
uhren große
Oberfl¨
achen zu Testinstanzen mit einem sehr großen Speicheraufwand. Die Eingaben
zur Risssimulation lassen sich nur schwer ¨
uber eine feinere Diskretisierung skalieren, da
sich das Verhalten bei der Simulation deutlich ver¨
andern kann. Zudem ist die Anzahl
der Oberfl¨
achensegmente bei einer dynamischen Erweiterung nicht steuerbar. Daher
werden in diesem Abschnitt synthetische Benchmark-Netze vorgestellt, deren Elemente
und Oberfl¨
achensegmente gut skalierbar sind und deren Verhalten bei unterschiedlicher
Elementanzahl in der Simulation vergleichbar bleibt.
Der Benchmark Quadrate simuliert ein System aus n×nQuadraten in einem umrande-
ten Gebiet. Die Gr¨
oße der einelementigen Quadrate entspricht dem Abstand zwischen
ihnen. Ein Viertel der elastischen Elemente im Innern werden mit Anfangsgeschwindig-
keit 1 m/s in zuf¨
alliger Richtung gestartet. Es wird ein Zeitraum von 0.05 Sekunden
mit Schrittweite 2 ·106Sekunden simuliert. Die Simulation erfolgt in allen Beispielen
ohne Einbeziehung der Gravitation. Abbildung 5.18 zeigt die Instanz der Gr¨
oße 16×16.
Links ist die Startsituation, rechts die Positionen zum Ende der Simulation angegeben.
120 KAPITEL 5. INDUSTRIELLE APPLIKATION
post1.ps Ł· nodes 1296, elements 392, steps 0
post1.ps h‹ nodes 1296, elements 392, steps 25000
Abbildung 5.18: Benchmark Quadrate (16 ×16)
Die Farben sind gem¨
der Elementnummer in der Eingabe gew¨
ahlt und zeigen die
Vermischung der Elemente w¨
ahrend der Simulation.
Die Verhaltensweise des Benchmarks Quadrate liegt sehr nahe an dem Szenario, dass in
der Analyse der algorithmischen Komplexit¨
at in Abschnitt 4.4 gew¨
ahlt ist. Im gesamten
Verlauf der Simulation sind die Knoten gleichm¨
aßig verteilt und die Segmente nehmen
beliebige Lagen im Raum an. Die Segmentl¨
ange ist in dem Benchmark jedoch konstant.
In dem Benchmark St¨
abe wird eine frei w¨
ahlbare Anzahl an St¨
aben von einem Block zu-
sammengedr¨
uckt. Die St¨
abe sind 100 Elemente lang und ein Element breit. Der Raum
zwischen den St¨
aben entspricht dem Doppelten ihrer Breite. Ein Block, der eine An-
fangsgeschwindigkeit von 1 m/s hat, besitzt eine hohe Dichte, so dass das elastische
Material der St¨
abe weit zusammengedr¨
uckt wird. Das gesamte System ist wiederum
durch eine Umrandung begrenzt. Die Instanz der Gr¨
oße 8 ist in Abbildung 5.19 an-
gegeben. Die untere Darstellung zeigt die Situation zum Ende der Simulation zum
Zeitpunkt 0.06 Sekunden. Die Zeitschrittweite betr¨
agt 2 ·106Sekunden.
post1.ps Ł· nodes 2357, elements 1288, steps 0
post31.ps h‹ nodes 2357, elements 1288, steps 30000
Abbildung 5.19: Benchmark St¨
abe (8)
5.3. KONTAKTBEHANDLUNG 121
In dem Benchmark St¨
abe ergeben sich deutlich gr¨
oßere Kontaktzonen. Die Anzahl der
gefundenen Kontaktkandidaten steigt im Verlauf der Berechnung von 0.1 auf 1 je Ober-
fl¨
achensegment im Mittel. Beim Benchmark Quadrate liegt dieser Wert w¨
ahrend des
gesamten Verlaufs der Simulation bei 0.5. Der Benchmark spiegelt die Anforderun-
gen bei der Simulation von Befestigungsvorg¨
angen wider, bei dem große Kontaktzonen
zwischen Nagel und Untergrund und zwischen zu befestigenden Blechen und dem Un-
tergrund auftreten k¨
onnen.
Der Benchmark Ringe beinhaltet eine frei w¨
ahlbare Anzahl an Ringen, wobei im Fol-
genden der gelagerte ¨
außere Ring nicht in die Bestimmung der Gr¨
oße einfließt. Der
innere Ring hat einen Innenradius von 1 mm und besteht aus 36 Elementen. Nach au-
ßen w¨
achst die Anzahl jeden zweiten Ring um ein Element. Der Abstand zwischen den
Ringen beginnt bei 0.1 mm und steigt um jeweils sechs Prozent. Die Breite der Ringe
orientiert sich an der resultierenden L¨
ange der inneren Oberfl¨
achensegmente, was etwa
0.175 mm im ersten Ring bedeutet. Alle inneren Ringe erhalten eine Anfangsgeschwin-
digkeit von 1 m/s. Der erste wird in y-Richtung gestartet, die weiteren in jeweils 135
gedrehter Richtung. Die Simulation erfolgt ¨
uber 0.01 Sekunden mit einer Schrittweite
von 106Sekunden.
post1.ps Ł· nodes 680, elements 340, steps 0
post10.ps h‹ nodes 680, elements 340, steps 9000
Abbildung 5.20: Benchmark Ringe (8)
Die große Anzahl an Segmenten mit kleinem Abstand zueinander ergibt sich vielfach
bei der Simulation von Rissbildungen in spr¨
odem Material (vgl. Abb. 5.4 (Zylinder),
S. 106). Im Gegensatz zu den anderen synthetischen Szenarien ist das Netz in diesem
Falle lokal verfeinert. Die Segmente des 44sten Ringes sind z. B. um den Faktor acht
gr¨
oßer als die des ersten. Insbesondere bei der Simulation der Abbauvorg¨
ange ergeben
sich diese enormen Unterschiede, da die Gr¨
oße des Untergrundes im Allgemeinen keine
gleichm¨
aßig feine Diskretisierung erlaubt. Diese Problematik ergibt sich auch in vielen
anderen Anwendungsgebieten der FE-Simulation.
5.3.6 Ergebnisse
Das Verhalten der beiden Varianten des Position-Code-Algorithmus (vgl. Abschnitt 4.3)
innerhalb der globalen Kontaktsuche wird anhand der durchgef¨
uhrten Vergleichsopera-
122 KAPITEL 5. INDUSTRIELLE APPLIKATION
tionen untersucht. Dazu sind die Programmteile ¨
uber Z¨
ahlvariablen instrumentiert, die
jeden Vergleich im Quellcode des Programms aufsummieren. Diese Metrik erm¨
oglicht
eine Konzentration auf die algorithmischen Eigenschaften der Verfahren. Ein Vergleich
der Laufzeiten der Kontaktsuche ergibt eine komplexe Abh¨
angigkeit mit der tats¨
achli-
chen Umsetzung der Algorithmen, dem Verhalten des Compilers und der Zielmaschine.
Zudem steht an dieser Stelle die Untersuchung des Skalierungsverhalten der beiden Ver-
fahren im Vordergrund, nicht die tats¨
achliche Leistung im Einzelfall. Die algorithmische
Analyse hat gezeigt, dass die Konstanten bei der Variante ¨
uber raumf¨
ullende Kurven
deutlich h¨
oher liegen. Damit ist offensichtlich, dass die einfachere Variante ¨
uber die
linearen Position-Codes bei kleinen Eingabeinstanzen zu schnelleren Laufzeiten f¨
uhrt.
In Abbildung 5.21 sind die Ergebnisse zum Benchmark Quadrate dargestellt. W¨
ahrend
der 25 000 Schritte dauernden Simulation wird die globale Kontaktsuche 359-mal bis
696-mal durchgef¨
uhrt. Die Varianz in der H¨
aufigkeit liegt an den unterschiedlichen Ge-
schwindigkeiten die w¨
ahrend der Simulation auftreten k¨
onnen. Je mehr Quadrate sich
beliebig im Raum bewegen, desto gr¨
oßer ist die Wahrscheinlichkeit, dass ein Knoten
eine hohe Geschwindigkeit erreicht. In den Abbildungen sind die ausgef¨
uhrten Ver-
gleichsoperationen je Oberfl¨
achensegment und je Kontaktsuche dargestellt.
0
20
40
60
80
100
120
140
160
42122202282362442522602
Vergleiche
Quadrate
linear
Lebesgue
Abbildung 5.21: Mittlere Kosten der globalen Kontaktsuche f¨
ur den Benchmark Qua-
drate
Abgesehen von den kleineren Instanzen liegt die gesamte Anzahl an Vergleichen f¨
ur die
Variante des Position-Code-Algorithmus basierend auf der Lebesgue-Kurve konstant
bei etwa 145 Vergleichen. Der Verlauf der Messpunkte f¨
ur die lineare Variante steigt im
gesamten untersuchten Bereich. Der Overhead f¨
ur die raumf¨
ullende Kurve sinkt daher
von 52 auf 37 Vergleiche.
Wie sich die Aufw¨
ande auf die einzelnen Phasen des Algorithmus verteilen ist in Abbil-
dung 5.22 und 5.23 dargestellt. Die Diagramme zeigen die normierten Vergleiche f¨
ur die
Phasen Aktualisieren,Sortieren,Suchen und Testen. Die einzelnen Phasen lassen sich
f¨
ur das Beispiel Quadrate gut mit den analytisch ermittelten Werten aus Abschnitt 4.4
vergleichen (vgl. Tab. 4.5, S. 90).
Die Anzahl der Vergleiche f¨
ur das Aktualisieren der Position-Codes entspricht dem in
5.3. KONTAKTBEHANDLUNG 123
der Analyse ermittelten minimalen Aufwand. W¨
ahrend er bei der linearen Variante
offensichtlich konstant ist, f¨
allt der ermittelte variable Anteil von f¨
unf Vergleichen je
verschobenem Knoten im Mittel in diesem Beispiel nicht ins Gewicht. Bei jeder globalen
Kontaktsuche sind nur sehr wenige Knoten in eine benachbarte Zelle gewandert.
0
1
2
3
4
5
6
42122202282362442522602
Vergleiche
Quadrate
Aktualisieren
linear
Lebesgue
0
0.5
1
1.5
2
2.5
42122202282362442522602
Vergleiche
Quadrate
Sortieren
linear
Lebesgue
Abbildung 5.22: Mittlere Kosten der Phasen Aktualisieren und Sortieren f¨
ur den Bench-
mark Quadrate
¨
Ahnliches gilt f¨
ur die Sortierphase in beiden Varianten. Der variable Anteil von 8 log2n+
40 (linear) bzw. 80 (Lebesgue-Kurve) Vergleichen im Mittel gilt nur f¨
ur Knoten, deren
Position sich in der sortierten Liste ver¨
andert hat. Es l¨
asst sich ein leichter Anstieg f¨
ur
die lineare Variante erkennen, der von dem logarithmischen Term hervorgerufen wird.
Dagegen bleibt die Anzahl der Vergleiche bei der Lebesgue-Kurve weitgehend konstant.
Ein deutlicherer Unterschied zeigt sich f¨
ur das Finden der Suchintervalle innerhalb
der Liste in Abbildung 5.23 links. Die Messwerte der Lebesgue-Variante konvergieren
gegen einen Wert von etwa 70 Vergleichen, welcher dem Ergebnis der Analyse des Ver-
fahrens entspricht. Der logarithmische Anteil (8s+8
πlog2n) des linearen Position-Code-
Algorithmus hat in diesem Fall einen deutlich gr¨
oßeren Einfluss auf die Gesamtkosten,
da er von der Bewegung der Knoten unabh¨
angig ist. Die Analyse hat ergeben, dass
11 Vergleiche unabh¨
angig von der Gr¨
oße der Eingabeinstanz sind. Der gr¨
oßenabh¨
angi-
ge Anteil betr¨
agt in diesem Fall 25 bis 55 Vergleiche.
0
10
20
30
40
50
60
70
42122202282362442522602
Vergleiche
Quadrate
Suchen
linear
Lebesgue
0
10
20
30
40
50
60
70
42122202282362442522602
Vergleiche
Quadrate
Testen
linear
Lebesgue
Abbildung 5.23: Mittlere Kosten der Phasen Suchen und Testen f¨
ur den Benchmark
Quadrate
124 KAPITEL 5. INDUSTRIELLE APPLIKATION
Das Testen der Knoten in den Suchintervallen gegen den Halo ist in Abbildung 5.23
rechts dargestellt. Die Messwerte konvergieren gegen 35 (linear) und 70 (Lebesgue)
Vergleiche.
Der Anstieg der Vergleiche in den Phasen Suchen und Testen wird durch den geringer
werdenden Anteil des Randes am gesamten FE-Netz hervorgerufen. An der Außenseite
des Randes werden keine Kontaktkandidaten im Halo liegen und auch nur wenige in
den Suchintervallen. Zudem sind die Kosten f¨
ur das Finden dieser Intervalle am oberen
und unteren Rand deutlich geringer als im Mittel.
Der logarithmische Anteil in den Phasen Sortieren und Suchen bei der linearen Varian-
te des Position-Code-Algorithmus ist so gering, dass er durch die allgemein geringeren
Konstanten in allen Phasen mehr als kompensiert wird. Bei dem untersuchten Szenario
ist eine sehr große Instanz notwendig, f¨
ur die die absoluten Kosten (Anzahl der Ver-
gleiche) der Lebesgue-Kurve geringer sind, als bei der linearen Sortierung. Rechnerisch
liegt die Gr¨
oße der Instanz bei etwa 800 ×800 Quadraten.
Abbildung 5.24 zeigt die Ergebnisse zum Benchmark St¨
abe. Die Messpunkte linear x
und Lebesgue x zeigen die durchgef¨
uhrten Vergleiche in den untersuchten Instanzen zu
dem in Abbildung 5.19 beschriebenen Szenario. Es ergibt sich eine Differenz von etwa
27 Vergleichen ¨
uber alle Eingabegr¨
oßen. Die in der Analyse aufgezeigten logarithmi-
schen Terme bei der linearen Algorithmus-Variante ergeben sich aus der erwarteten
H¨
ohe der Segmente bzw. die H¨
ohe der sich aus diesen Segmenten ergebenden Halos. Da
in dem Benchmark-Netz die Oberfl¨
achensegmente w¨
ahrend der Simulation zu einem
großen Teil horizontal orientiert sind, ergibt die Analyse eines solchen Szenarios kon-
stante Kosten f¨
ur beide Varianten des Position-Code-Algorithmus. Der leicht fallende
Verlauf der Messkurven erkl¨
art sich durch die leicht unterschiedlichen Verhaltensweisen
der Simulationen f¨
ur verschiedene Instanzen. Aufgrund von Schwingungen im Material
ergeben sich sehr kurze Abst¨
ande zwischen zwei globalen Kontaktsuchphasen, die im
Mittel von 7.3 bei der kleinsten Instanz auf 4.8 in der gr¨
oßten sinken.
Die Aufteilung der Kosten auf die einzelnen Phasen ist mit dem obigen Benchmark
0
20
40
60
80
100
120
140
160
180
4 12 20 28 36 44
Vergleiche
Stäbe
linear x
linear y
Lebesgue x
Lebesgue y
Abbildung 5.24: Mittlere Kosten der globalen Kontaktsuche f¨
ur den Benchmark St¨
abe
5.3. KONTAKTBEHANDLUNG 125
vergleichbar. Die Kosten der Sortierphase liegen bei konstant einem bzw. f¨
unf Verglei-
chen je Knoten und globaler Kontaktsuche. F¨
ur das Sortieren werden etwas mehr als
zwei Vergleiche im Mittel ben¨
otigt. F¨
ur das Suchen der zu testenden Knotenintervalle
innerhalb der Position-Code-Liste werden 60 bis 70 (linear) bzw. 70 bis 80 (Lebes-
gue) Vergleiche ben¨
otigt. Die Vergleiche in der Testphase liegen mit 70 bis 80 f¨
ur die
Lebesgue-Variante etwa doppelt so hoch wie die des linearen Ansatzes.
Der Einfluss der Lage der Oberfl¨
achensegmente im Raum auf die Komplexit¨
at der bei-
den Verfahren zeigt sich bei einer Drehung des Netzes um 90 Grad. Die Ergebnisse
zu dem modifizierten Benchmark sind in Abbildung 5.24 als linear y und Lebesgue y
angegeben. Es zeigt sich, dass die Lebesgue-Variante unabh¨
angig von der Lage der
Segmente ist. In beiden F¨
allen ergeben sich nahezu identische Anzahlen an Vergleichs-
operationen. Dagegen zeigt sich bei der linearen Variante ein deutlicher Anstieg der
Kosten bei wachsenden Instanzen, wenn ein Großteil der Segmente vertikal angeordnet
ist. Der Overhead durch die h¨
oheren Konstanten bei der Lebesgue-Variante sinkt in
dem untersuchten Bereich von 62 auf 36 Vergleiche je Segment und Kontaktsuchphase.
Unter Ber¨
ucksichtigung des analytisch ermittelten asymptotischen Verhaltens wird der
Schnitt der beiden Messkurven bei etwa 150 St¨
aben erfolgen. Damit ist wie im obigen
Benchmark eine sehr große Eingabeinstanz von fast 25 000 Elementen erforderlich.
Der Benchmark Ringe zeigt die Abh¨
angigkeit der algorithmischen Komplexit¨
at von
der L¨
ange der Segmente, zu denen die Kontaktkandidaten gefunden werden m¨
ussen.
W¨
ahrend der 10 000 Schritte dauernden Simulation werden 767 (4 Ringe) bis 1156
(44 Ringe) globale Kontaktsuchen durchgef¨
uhrt. Abbildung 5.25 zeigt die normier-
te Anzahl der Vergleiche f¨
ur die beiden untersuchten Varianten des Position-Code-
Algorithmus.
100
1000
4 12 20 28 36 44
Vergleiche
Ringe
linear
Lebesgue
Abbildung 5.25: Mittlere Kosten der globalen Kontaktsuche f¨
ur den Benchmark Ringe
(logarithmische Darstellung)
F¨
ur die Lebesgue-Kurve als Basis der Position-Codes ergibt sich ein leicht fallender
Verlauf der Messwerte von 144 auf 132 Vergleiche im Mittel. Die Kosten der einzelnen
Phasen sind mit Ausnahme des Halo-Tests mit der analytisch ermittelten Komplexit¨
at
vergleichbar. F¨
ur das Aktualisieren der Codes sind im Mittel f¨
unf, f¨
ur das Sortieren
126 KAPITEL 5. INDUSTRIELLE APPLIKATION
knapp ¨
uber zwei Vergleiche erforderlich, da die Bewegung zwischen zwei globalen Kon-
taktsuchen auch in diesem Beispiel recht gering ist.
Die Kosten f¨
ur das Suchen der relevanten Knotenintervalle erfordert etwa 70 Verglei-
che und liegt damit in der gleichen Gr¨
oßenordnung wie bei den anderen Benchmarks.
Ab 16 Ringen ergibt sich ein leichter Anstieg, der die Auswirkung des logarithmischen
Terms des Analyseergebnisses (33 log2s) widerspiegelt. Die l¨
angeren Segmente machen
jedoch nur einen kleineren Teil der Gesamtoberfl¨
ache aus. Zudem gilt die Annahme
einer gleichm¨
aßigen Verteilung der Knoten im Berechnungsgebiet nicht mehr, so dass
die Abst¨
ande zwischen den Knotenintervallen mitunter deutlich geringer sind, als bei
dem zur Analyse gew¨
ahlten Szenario. Die resultierenden zus¨
atzlichen Kosten sind im
Gesamtmittel gering und ohne nennenswerten Einfluss auf die gesamte globale Kon-
taktsuchphase.
Beim Testen der gefunden Knoten gegen die Halos der einzelnen Segmente ergibt sich
ein deutlicherer Unterschied zu den analytisch ermittelten Kosten. Die Verteilung der
Knoten ist im Gegensatz zu dem analytisch untersuchten Szenario nicht gleichm¨
aßig
sondern von geringerer Dichte im Bereich l¨
angerer Segmente. Daher bleibt die Zahl
der Knoten in Gebieten, die gegen den Halo getestet werden m¨
ussen, konstant, an
Stelle des angenommenen quadratischen Wachstums gegen¨
uber der Segmentl¨
ange. Der
Aufwand f¨
allt von 67 auf 56 Vergleiche bei wachsender Instanz. Insgesamt zeigt sich,
dass der Position-Code-Algorithmus basierend auf der Lebesgue-Kurve auch f¨
ur adaptiv
diskretisierte Netze einen im Mittel nahezu konstanten Aufwand f¨
ur unterschiedliche
Netzgr¨
oßen hat.
Die Messwerte des linearen Position-Code-Algorithmus zeigen einen exponentiellen An-
stieg f¨
ur die Kosten der globalen Kontaktsuche. Dieser Anstieg ergibt sich aus der In-
effizienz der Suchphase. Die Analyse des Verfahrens in Abschnitt 4.4 hat gezeigt, dass
die Suchphase von der L¨
ange des Oberfl¨
achensegmentes abh¨
angig ist. In dem gew¨
ahl-
ten Szenario liegt diese Abh¨
angigkeit bei 8s+8
πlog2n. Das Aktualisieren und Sortieren
der Knoten verh¨
alt sich vergleichbar zu den vorherigen Benchmarks und damit auch
zu den Ergebnissen der Kostenanalyse im vorgestellten Szenario. F¨
ur das Testen der
Knoten gegen den Halos der einzelnen Oberfl¨
achensegmente ergibt sich, wie bei der
Lebesgue-Variante, durch die nach außen d¨
unnere Verteilung von den Segmentel¨
angen
unabh¨
angige Kosten von 22 bis 26 Vergleichen im Mittel.
Kapitel 6
Zusammenfassung
In dieser Arbeit wurden diskrete raumf¨
ullende Kurven in zwei Anwendungsgebieten,
der Graphpartitionierung und der Kontaktsuche, untersucht. Die Graphpartitionierung
ist eine zentrale Aufgabe bei der Parallelisierung von Simulationen nach der Finite-
Elemente-Methode. Die Rechenlasten m¨
ussen gleichm¨
aßig auf die Recheneinheiten ver-
teilt und der Kommunikationsaufwand minimiert werden. Die Kontaktsuche ist eine
bedeutende Phase bei der Simulation strukturmechanischer Prozesse. In vielen Appli-
kationen beansprucht sie einen wesentlichen Anteil an der Gesamtrechenzeit. F¨
ur beide
Bereiche sind analytische und experimentelle Ergebnisse f¨
ur die Bewertung der Verfah-
ren auf Basis raumf¨
ullender Kurven erarbeitet worden.
Die Partitionierung ¨
uber raumf¨
ullende Kurven, die zur Klasse der geometrischen Ver-
fahren z¨
ahlt, ist schon in mehreren parallelen Anwendungen eingesetzt worden. In dieser
Arbeit ist die Qualit¨
at der erzielten Partitionierungen erstmalig detailliert analysiert
und mit den L¨
osungen eines hochwertigen mehrstufigen Verfahrens verglichen worden.
F¨
ur Gitter oder gitter¨
ahnliche Netze ergibt sich ein moderater Anstieg im Kanten-
schnitt. Dahingegen ergibt sich bei unstrukturierten Netzen ein st¨
arkerer Qualit¨
atsver-
lust, insbesondere bei der Partitionierung in wenige Teile. Die Analyse ¨
uber die vorge-
schlagene Normierung des Kantenschnitts zeigt, dass die untersuchten unstrukturierten
Netze eine Partitionierung h¨
oherer Qualit¨
at erlauben, die von dem mehrstufigen Ver-
fahren gefunden werden. Dahingegen ist die von raumf¨
ullenden Kurven erzielte Qualit¨
at
i. A. unabh¨
angig von der Struktur der Netze.
Die besonderen Vorteile der Indizierung der Knoten des Graphen ¨
uber die Struktur
einer raumf¨
ullenden Kurve ergeben sich in der M¨
oglichkeit der impliziten Partitionie-
rung. F¨
ur jede gew¨
unschte Anzahl an Partitionen und jede gegebene Gewichtung der
Knoten folgen direkt die gesuchten Partitionen in Form von Intervallen innerhalb der
geordneten Knotenfolge. Damit stehen dem erh¨
ohten Aufwand f¨
ur die Kommunikation
aufgrund des h¨
oheren Kantenschnitts erheblich reduzierte Kosten f¨
ur die Bestimmung
der Repartitionierung gegen¨
uber. Die implizite Partitionierung wird dann vorteilhafter
sein, wenn die Applikation eine h¨
aufige Lastbalancierung erfordert.
F¨
ur die globale Kontaktsuche wurde eine neue Variante einer zellbasierten Methode
127
128 KAPITEL 6. ZUSAMMENFASSUNG
vorgeschlagen, die der Ordnung ¨
uber raumf¨
ullende Kurven folgt. Die Analyse des algo-
rithmsichen Aufwands zeigt, dass diese Variante asymptotisch geringe Kosten erfordert.
Bei Netzen moderater Gr¨
oße ergibt sich immer dann ein Vorteil gegen¨
uber der urspr¨
ung-
lichen Methode, wenn es eine deutliche Varianz in der Diskretisierung des gegebenen
Netzes gibt.
F¨
ur beide Anwendungsfelder sind verschiedene Kurven analytisch untersucht und ver-
glichen worden. Neben einem bestehenden Qualit¨
atsmaß f¨
ur die Partitionierungsei-
genschaften wurde ein neues Maß f¨
ur die Eignung innerhalb der globalen Kontakt-
suche definiert. In beiden F¨
allen konnten Schranken zum Verhalten der Kurven im
zweidimensionalen Gitter bestimmt werden. Die wichtigsten Ergebnisse zur Partitio-
nierungsqualit¨
at sind die genauen Schranken f¨
ur die Lebesgue-Kurve im mittleren Fall
und die Tatsache, dass die Lebesgue-Kurve die beste Qualit¨
at aller untersuchten Kurven
im schlechtesten Fall erzielt. Desweiteren hat eine umfassende experimentelle Analyse
gezeigt, dass die neu vorgestellte βΩ-Kurve im mittleren Fall die besten Partitionierun-
gen liefert. F¨
ur die logarithmische Index-Distanz, dem Qualit¨
atsmaß f¨
ur die Eignung
zur globalen Kontaktsuche, konnte gezeigt werden, dass im mittleren Fall die βΩ-Kurve
die beste Lokalit¨
at erzielt, gefolgt von der Hilbert- und der Lebesgue-Kurve.
Die vorgestellten Ans¨
atze zur Partitionierung und Kontaktsuche sind in einer industriel-
len Applikation integriert worden. In diesem Umfeld konnte die Eignung raumf¨
ullender
Kurven f¨
ur die entsprechenden Aufgabenstellungen gezeigt werden.
Teile der in dieser Arbeit gezeigten Ergebnisse wurden bereits auf internationalen Kon-
ferenzen pr¨
asentiert. Vorl¨
aufige Ergebnisse zur Partitionierungsqualit¨
at raumf¨
ullender
Kurven sind auf der International Conference on Computational Science 2002 vor-
gestellt worden [39]. Die Untersuchungen zur Eignung raumf¨
ullender Kurven f¨
ur die
Partitionierung irregul¨
arer Graphen sind gemeinsam mit Stefan Schamberger auf der
Parallel Computing Technologies 2003 Konferenz ver¨
offentlicht [72]. Zusammen mit
Hans-Peter G¨
anser und Jan Hungersh¨
ofer sind die Ergebnisse zur impliziten Partitio-
nierung innerhalb der industriellen Applikation auf der International Conference on
Compuational Science and its Applications 2003 pr¨
asentiert worden [40].
Die analytischen Ergebnisse zu den Eigenschaften der raumf¨
ullenden Kurven in der
globalen Kontaktsuche sind auf der Canadian Conference on Computational Geome-
try 2002 vorgestellt worden [82]. Der Algorithmus zur Kontaktsuche ¨
uber raumf¨
ullende
Kurven und die Ergebnisse innerhalb der industriellen Applikation sind gemeinsam mit
Ralf Diekmann, Jan Hungersh¨
ofer, Michael Lux und Lars Taenzer auf dem European
Congress on Computational Medhods in Applied Sciences and Engineering 2000 und
dem IMACS World Congress 2000 on Scientific Computation, Applied Mathematics
and Simulation pr¨
asentiert worden [19, 20].
Anhang A
Partitionierungsqualit¨
at der
Lebesgue-Kurve
In Abschnitt 3.3.3 ist ein Beweis f¨
ur die obere Schranke der mittleren Partitionierungs-
qualit¨
at der Lebesgue-Kurve,
PLebesgue
avg 5
23,
angegeben. Die Beweisidee basiert auf der bekannten Wahrscheinlichkeit, mit der eine
benachbarte Zelle im Gitter zu der gleichen Partition geh¨
ort. Hier ist ein weiterer
Beweisansatz angegeben. Es werden alle m¨
oglichen F¨
alle aufgez¨
ahlt, in denen eine direkt
benachbarte Zelle zur selben Partition geh¨
ort. Damit ergibt sich auch ein Term, der
den mittleren Rand einer Partition im endlichen Gitter exakt beschreibt.
Lemma A.1 F¨
ur die Oberfl¨
ache Seiner Partition der Gr¨
oße V, die durch die Lebesgue-
Kurve definiert ist, gilt im mittleren Fall
S3
2kV+8
32k5
3
1
2kf¨
ur V"2·4k+ 1
3,4·4k+ 2
3"und
S2
2kV+ 4 ·2k1
2kf¨
ur V"4·4k+ 2
3,2·4k+1 + 1
3",mit kIN0.
Beweis: Sei N=n×ndie Gr¨
oße des gegebenen Gitters und L= log2ndie Anzahl
der Level der Lebesgue-Kurve. Betrachte eine Partition der Gr¨
oße Vund ein vertikalen
Separator vom Level l. F¨
ur die Bestimmung der Anzahl aller inneren Kanten wird eine
Region der Gr¨
oße 22(l+1) untersucht.
Beispiel A.1 Abbildung A.1 zeigt die entsprechende Region f¨
ur l= 1 und die Ordnung
der Lebesgue-Kurve innerhalb des Bereiches. Die Tabelle gibt die Abh¨
angigkeit an,
die zwischen der Partitionsgr¨
oße, der Position der ersten Zelle der Partition und der
Anzahl innerer Kanten am vertikalen Separator vom ersten Level (rote Linie im linken
Bild) existieren. Die linke Spalte gibt die erste Zelle der Partition an und zwar als
relative Position bzgl. des vertikalen Separators vom Level 1 (vgl. linke Darstellung).
129
130 ANHANG A. PARTITIONIERUNGSQUALIT ¨
AT DER LEBESGUE-KURVE
In Abh¨
angigkeit von dieser Position ist das minimale Volumen angegeben, das ben¨
otigt
wird, um eine, zwei, drei oder vier innere Kanten vom Level 1 innerhalb der Partition
zu haben. Ist vier die erste Zelle der Partition, dann muss die Partition aus mindestens
21 Zellen bestehen, damit drei innere vertikale Kanten vom ersten Level enthalten sind.
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
ij1. 2. 3. 4.
0 9 10 13 14
1 8 9 12 13
2 7 8 11 12
3 7 10 11 22
49 10 21 22
5 8 9 20 21
6 7 8 19 20
7 7 18 19 22
8 17 18 21 22
9 16 17 20 21
10 15 16 19 20
11 14 15 18 19
12 13 14 17 18
13 12 13 16 17
14 11 12 15 16
15 10 11 14 15
Abbildung A.1: Innere vertikale Kanten am Separator vom Level 1
Im Folgenden sind die Werte der Tabelle definiert als δ(i, j), mit Zeilennummer i(erste
Zelle) und Spalte j(Anzahl innerer Kanten an diesem Level)
F¨
ur die Zellen, die links neben dem betrachten Separator liegen (gr¨
un markiert) gilt
δ(i, 1) = 7 (= Rl+ 1 = 4·4l+2
3+ 1, genau eine Zelle mehr als die L¨
ange des Pfades
der Lebesgue-Kurve zwischen den beiden Zellen). Desweiteren gilt f¨
ur diese Zellen auch
δ(i, j) = δ((i+ 1) mod 16, j 1) + 1. Die minimale Partitionsgr¨
oße f¨
ur die j-te innere
Kante ist um eins gr¨
oßer, als die minimale Partitionsgr¨
oße der (j1)-ten inneren Kante
der folgenden Zelle. F¨
ur alle anderen Zellen gilt δ(i, j) = δ((i+ 1) mod 16, j) + 1. Die
minimale Partitionsgr¨
oße ist direkt vom Wert der folgenden Zelle abh¨
angig.
Die Formulierung von δist nur f¨
ur beschr¨
ankte Partitionsgr¨
oßen definiert. Eine Erwei-
terung f¨
ur beliebige Partitionsgr¨
oßen ist
γ(V, l, i, j) = $V+ 4(l+1) δ(i, j)
4(l+1) %.
γbezeichnet die Anzahl an Bl¨
ocken, in denen wir jinnere Kanten erwarten k¨
onnen,
wiederum in Abh¨
angigkeit der relativen Position ider ersten Zelle.
131
Die H¨
aufigkeit, mit der eine relative Position idie erste Zelle einer Partition ist, ist
gegeben durch
ϕ(L, V, l, i) = $4LV+ 4(l+1) i
4(l+1) %.
Sie h¨
angt vom Volumen der Partition und der Gr¨
oße des gegebenen Gitters ab, definiert
durch die Rekursionstiefe Lder Lebesgue-Kurve.
Aus diesem folgt f¨
ur die mittlere Anzahl Eder inneren Kanten am vertikalen Separator
vom Level l,
Ev(l) =
22(l+1)
X
i=0
ϕ(L, V, l, i)·
2l+1
X
j=1
γ(V, l, i, j)
22(l+1)
X
i=0
ϕ(L, V, l, i)
.
In δfehlt noch die Definition der speziellen Zellen, die direkt am Separator vom Level l
liegen (vgl. gr¨
une Markierung in Abb. A.1). Diese Positionen werden im Folgenden als
i1,i2, . . . bezeichnet. Zun¨
achst betrachten wird den Abstand zwischen diesen Zellen:
k=ik+1 ik. Wegen der regelm¨
aßigen Struktur der Lebesgue-Kurve, l¨
asst er sich
leicht generieren:
k= (1,3,1,11,1,3,1,43,1,3,1,11, . . .)
=2·4i+ 1
3,f¨
ur k= 2i+j·2i+1 mit i, j IN0.
Das heißt, der Wert 2·4i+1
3steht innerhalb der Folge zum ersten Mal an Position 2iund
wiederholt sich an jeder 2i+1-ten Position.
Die relative Position der ersten Zelle (i1), welche von dem untersuchten Level labh¨
angt,
ist
0=2·4l2
3.
Die Definition von δzeigt, dass die Werte von ihrer Distanz zur j-ten speziellen Zelle
abh¨
angen. Diese Distanzen sind ebenfalls in der Folge kzu finden. F¨
ur die weitere
Berechnung ist es notwendig, die Aufz¨
ahlung aller F¨
alle in die Intervalle aufzuteilen,
die sich aus den speziellen Zellen ergeben. Seien iI=
I1
X
k=0
kdie relativen Positionen
der speziellen Zellen. Es ergeben sich drei Teilsummen f¨
ur die Intervallgruppen ii1,
iI< i iI+1 mit I[1,2l+1[ und i2l+1 < i. Zur Vereinfachung gelte im Folgenden
Φ(L, V, l) =
22(l+1)
X
i=0
ϕ(L, V, l, i). Es gilt
Ev(l) =
i1
X
i=0
ϕ(L, V, l, i)
Φ(L, V, l)·
2l+1
X
j=1
γ(V, l, i, j)
+
2(l+1)1
X
I=1
i(I+1)
X
i=iI+1
ϕ(L, V, l, i)
Φ(L, V, l)·
2l+1
X
j=1
γ(V, l, i, j)
132 ANHANG A. PARTITIONIERUNGSQUALIT ¨
AT DER LEBESGUE-KURVE
+
22(l+1)
X
i=i2(l+1) +1
ϕ(L, V, l, i)
Φ(L, V, l)·
2l+1
X
j=1
γ(V, l, i, j)
=
i1
X
i=0
ϕ(L, V, l, i)
Φ(L, V, l)·
2l+1
X
j=1
γ1(V, l, I, i, j)
+
2(l+1)1
X
I=1
i(I+1)
X
i=iI+1
ϕ(L, V, l, i)
Φ(L, V, l)·
2l+1
X
j=1
γ2(V, l, I, i, j)
+
22(l+1)
X
i=i2(l+1) +1
ϕ(L, V, l, i)
Φ(L, V, l)·
2l+1
X
j=1
γ3(V, l, I, i, j)
mit
γ1(V, l, I, i, j) = $V+ 4(l+1) (Rl+iji)
4(l+1) %
γ2(V, l, I, i, j) =
V+ 4(l+1) Rl+ (i(j+I) mod 2l+1 i) mod 4(l+1)
4(l+1)
=
V+ 4(l+1) Rl+i(j+I)i
4(l+1)
γ3(V, l, I, i, j) =
V+ 4(l+1) Rl+ij+ 4(l+1) i
4(l+1)
und
Rl=4·4l+ 2
3.
Dabei ist Rldie Distanz ¨
uber den Pfad der Kurve zum direkten Nachbarn an einem
vertikalen Separator vom Level l.
Die exakte Formulierung von Ev(l) erlaubt keine direkte Vereinfachung. F¨
ur sehr große
Gitter gilt jedoch, dass ϕ(L, V, l, i) gegen ϕ(L, V, l, 0) konvergiert. Das bedeutet, dass
ϕvon der relativen Position der ersten Zelle unabh¨
angig wird. Damit gilt
lim
L→∞
ϕ(L, V, l, i)
22(l+1)
X
i=0
ϕ(L, V, l, i)
=1
22(l+1) .
Eine Analyse der Definition von δzeigt, dass jeder Wert des Intervalls
"4·4l+ 2
3+ 1,4·4l+1 + 2
3#= [Rl+ 1, Rl+1]
2l+1 Mal vorkommt. Aus (A) folgt die Absch¨
atzung
133
˜
Ev(l) = 1
22(l+1) ·
22(l+1)
X
i=0
2l+1
X
j=1
γ(V, l, i, j)
=1
22(l+1) ·2l+1 ·
Rl+1
X
i=Rl+1 $V+ 22(l+1) i
22(l+1) %
=2l+1
22(l+1) ·(VRl)
=1
2l+1 ·(VRl).
Eine vergleichbare Analyse f¨
ur horizontale Separatoren vom Level hf¨
uhrt zu
˜
Eh(l) = 1
2l+1 ·(VUl),
wobei Uldie Distanz ¨
uber den Pfad der Kurve zum direkten Nachbarn an einem hori-
zontalen Separator vom Level lbezeichnet (vgl. Lemma 2.1, S. 10).
Jetzt sind wir in der Lage, alle inneren Kanten zweifach von der Anzahl der Kanten
aller Zellen zu subtrahieren. Die Oberfl¨
ache Sergibt sich zu
S= 4V2
X
i=0
max{˜
Ev(l),0}2
X
i=0
max{˜
Eh(l),0}.
Um auf die Maximum-Funktion verzichten zu k¨
onnen, wird f¨
ur die weitere Auswertung
dieses Terms IN in Intervalle der Klassen
I1="2·4k+ 1
3,4·4k+ 2
3"und
I2="4·4k+ 2
3,2·4k+1 + 1
3"
aufgeteilt. Die Gr¨
oße der Oberfl¨
ache ist f¨
ur alle Partitionen pin Intervallen der Klasse I1
S14V
k
X
i=0
1
2i V2·4i+ 1
3!
k1
X
i=0
1
2i V4·4i+ 2
3!
= 4V
k
X
i=0 1
2iV1
32
3·2i
k1
X
i=0 1
2iV2
34
3·2i
= 4VV1
321
2k+2
32k+1 1
V2
321
2k1+4
32k1
=3
2kV+8
32k5
3
1
2k
134 ANHANG A. PARTITIONIERUNGSQUALIT ¨
AT DER LEBESGUE-KURVE
und in Intervallen der Klasse I2
S24V
k
X
i=0
1
2i V2·4i+ 1
3!
k
X
i=0
1
2i V4·4i+ 2
3!
= 4V
k
X
i=0 1
2iV1
33
2·2i
k
X
i=0 1
2iV2
34
3·2i
= 4VV1
321
2k+2
32k+1 1
V2
321
2k+4
32k+1 1
=2
2kV+ 4 ·2k1
2k.
ut
Die Ergebnisse des Lemma A.1 stimmen mit denen aus Lemma 3.2 (S. 42) ¨
uberein.
Damit ist es m¨
oglich, ¨
uber beide Wege den Beweis in Satz 3.7 (S. 44) zu f¨
uhren.
Literaturverzeichnis
[1] Agarwal, P. K. und J. Erickson:Geometric Range Searching and Its Rela-
tives. In: Advances in Discrete and Computational Geometry, Bd. 223 d. Reihe
Contemporary Mathematics, S. 1–56. American Mathematical Society, 1999.
[2] Alber, J.:Lokalit¨
atseigenschaften diskreter raumf¨
ullender Kurven: Informatik-
relevante Ergebnisse. Studienarbeit, Universit¨
at T¨
ubingen, Juli 1997.
[3] Alber, J. und R. Niedermeier:On Multidimensional Curves with Hilbert Pro-
perty. Theory of Computing Systems, 33(4):295–312, 2000.
[4] Aluru, S. und F. E. Sevilgen:Parallel Domain Decomposition and Load
Balancing Using Space-Filling Curves. In: International Conference on High-
Performance Computing, S. 230–235, 1997.
[5] Anderheggen, E.,D. Ekchian,K. Heiduschke und P. Bartelt:A Contact
Algorithm for Explicit Dynamic FEM-Analysis. In: Contact Mechanics, Compu-
tational Techniques, Proc. 1st Intl. Conf., S. 271–283, 1993.
[6] Asano, T.,D. Ranjan,T. Roos,E. Welzl und P. Widmayer:Space-Filling
Curves and Their Use in the Design of Geometric Data Structures. Theoretical
Computer Science, 181(1):3–15, 1997.
[7] Battiti, R.,A. Bertossi und A. Cappelletti:Multilevel Reactive Tabu Search
for Graph Partitioning. Techn. Ber. UTM 554, Univ. Trento, Italy, 1999.
[8] Beckmann, N.,H.-P. Kriegel,R. Schneider und B. Seeger:The R*-Tree:
An Efficient and Robust Access Method for Points and Rectangles. In: Proc. ACM
SIGMOD Intl. Conf. on Management of Data, S. 322–331, 1990.
[9] Bentley, J. L. und J. H. Friedman:Data Structures for Range Searching.
ACM Computing Surveys, 11(4):397–409, 1979.
[10] Berger, M. und S. Bokhari:Partitioning Strategy for Nonuniform Problems
on Multiprocessors. IEEE Transactions on Computers, 37(12):570–580, 1987.
[11] Bonet, J. und J. Peraire:An Alternating Digital Tree (ADT) Algorithm for
3D Geometric Searching and Intersection Problems. Intl. Journal for Numerical
Methods in Engineering, 31:1–17, 1991.
135
136 LITERATURVERZEICHNIS
[12] Brown, K.,S. Attaway,S. Plimpton und B. Hendrickson:Parallel Strate-
gies for Crash and Impact Simulations. Computer Methods in Applied Mechanics
and Engineering, 184:375–390, 2000.
[13] Bui, T. und C. Jones:Finding Good Approximate Vertex and Edge Partitions is
NP-Hard. Information Processing Letters, 42(3):153–159, 1992.
[14] Camacho, G. und M. Ortiz:Adaptive Lagrangian Modelling of Ballistic Pene-
tration of Metallic Targets. Computer Methods in Applied Mechanics and Engi-
neering, 147:269–301, 1997.
[15] Chochia, g.,M. Cole und T. Heywood:Implementing the Hierarchical PRAM
on the 2D Mesh: Analyses and Experiments. In: 7th IEEE Symposium on Parallel
and Distributed Processing, S. 587–595. IEEE Computer Science Press, Okt. 1995.
[16] Cohen, J. D.,M. C. Lin,D. Manocha und M. K. Ponamgi:I-COLLIDE:
An Interactive and Exact Collision Detection System for Large-Scale En-
vironments. In: Proc. ACM Intl. 3D Graphics Conf., S. 189–196, 1995.
http://www.cs.unc.edu/dm.
[17] de Berg, M.,M. van Kreveld,M. Overmars und O. Schwarzkopf:Com-
putation Geometry: Algorithms and Applications, Kap. 5: Orthogonal Range Sear-
ching. Springer, 2. Aufl., 2000.
[18] Diekmann, R.:Load Balancing Strategies for Data Parallel Applications. Dok-
torarbeit, Universit¨
at Paderborn, 1998.
[19] Diekmann, R.,J. Hungersh¨
ofer,M. Lux,L. Taenzer und J.-M. Wierum:
Efficient Contact Search for Finite Element Analysis. In: Proc. European Congress
on Computational Methods in Applied Sciences and Engineering, 2000. CD-ROM.
[20] Diekmann, R.,J. Hungersh¨
ofer,M. Lux,L. Taenzer und J.-M. Wierum:
Using Space Filling Curves for Efficient Contact Searching. In: Proc. of IMACS
World Congress on Scientific Computation, Applied Mathematics and Simulation,
Lausanne, 2000. CD-ROM.
[21] Diekmann, R.,D. Meyer und B. Monien:Parallel Decomposition of Unstruc-
tured FEM-Meshes. Concurrency: Practice and Experience, 10(1):53–72, Jan 1998.
[22] Diekmann, R.,B. Monien und R. Preis:Using Helpful Sets to Improve Graph
Bisections. In: Interconnection Networks and Mapping and Scheduling Parallel
Computations, Bd. 21 d. Reihe DIMACS Series in Discrete Mathematics and
Theoretical Computer Science, S. 57–73. American Society Press, 1995.
[23] Feng, Y. T. und D. R. J. Owen:An Augmented Spatial Digital Tree Algorithm
for Contact Detection in Computational Mechanics. Intl. Journal for Numerical
Methods in Engineering, 55:159–176, 2002.
LITERATURVERZEICHNIS 137
[24] Fiduccia, C. M. und R. M. Mattheyses:A Linear Time Heuristic for Impro-
ving Network Partitions. In: Proc. IEEE Design Automation Conf., S. 175–181,
1982.
[25] Fj¨
allstr¨
om, P.:Algorithms for Graph Partitioning: A Survey. Linkoping Elec-
tronic Articles in Computer and Information Science, 3(10), 1998.
[26] Fj¨
allstr¨
om, P.,J. Petersson,L. Nilsson und Z.-H. Zhong:Evaluation of
Range Searching Methods for Contact Searching in Mechanical Engineering. Intl.
Journal of Computational Geometry & Applications, 8(1):67–83, 1998.
[27] Gilbert, J. R.,G. L. Miller und S.-H. Teng:Geometric Mesh Partitio-
ning: Implementation and Experiments. SIAM Journal on Scientific Computing,
19(6):2091–2110, 1998.
[28] Gotsman, C. und M. Lindenbaum:On the Metric Properties of Discrete Space-
Filling Curves. IEEE Transactions on Image Processing, 5(5):794–797, Mai 1996.
[29] Gottschalk, S.,M. C. Lin und D. Manocha:OBBTree: A Hierarchical Struc-
ture for Rapid Interference Detection. In: Proc. ACM SIGGRAPH , S. 171–180,
1996.
[30] Gregory, A.,M. Lin,S. Gottschalk und R. Taylor:H-Collide: A Frame-
work for Fast and Accurate Collision Detection for Haptic Interaction. In: Proc.
of IEEE Virtual Reality Conference, S. 38–45, 1999.
[31] Griebel, M. und G. Zumbusch:Parallel Multigrid in an Adaptive PDE Solver
Based on Hashing and Space-Filling Curves. Parallel Computing, 25:827–843,
1999.
[32] Hamada, K. und Y. Hori:Octree-Based Approach to Real-Time Collision-Free
Path Planning for Robot Manipulator. In: IEEE Intl. Workshop on Advanced
Motion Control, S. 705–710, 1996.
[33] Hansch, T.:Paralleles Quicksort f¨
ur große Datenmengen auf Gittern. Diplom-
arbeit, Universit¨
at Karlsruhe, Juni 1996.
[34] Hayward, V.:Fast Collision Detection Scheme by Recursive Decomposition of a
Manipulator Workspace. In: Proc. IEEE Intl. Conf. on Robotics and Automation,
S. 1044–1049, 1986.
[35] Hendrickson, B. und K. Devine:Dynamic Load Balancing in Computational
Mechanics. Computer Methods in Applied Mechanics and Engineering, 184:485–
500, 2000.
[36] Hendrickson, B. und T. G. Kolda:Graph Partitioning Models for Parallel
Computing. Parallel Computing, 26(12):1519–1534, 2000.
[37] Hendrickson, B. und R. Leland:The Chaco User’s Guide Version 2.0,
1995. http://www.cs.sandia.gov/bahendr/chaco.html.
138 LITERATURVERZEICHNIS
[38] Hilbert, D.:¨
Uber die stetige Abbildung einer Linie auf ein Fl¨
achenst¨
uck. Ma-
thematische Annalen, 38:459–460, 1891.
[39] Hungersh¨
ofer, J. und J.-M. Wierum:On the Quality of Partitions based on
Space-Filling Curves. In: International Conference on Computational Science
(ICCS), LNCS 2331, S. 36–45. Springer, 2002.
[40] Hungersh¨
ofer, J.,J.-M. Wierum und H.-P. G¨
anser:Resource Management
for Finite Element Codes on Shared Memory Systems. In: Proc. of Intl. Conf. on
Computational Science and its Applications (ICCSA), LNCS 2667. Springer, 2003.
[41] Jagadish, H.:Linear Clustering of Objects with Multiple Attributes. In: Procee-
dings of the ACM SIGMOD Conference, S. 332–342, 1990.
[42] Jagadish, H.:Analysis of the Hilbert Curve for Representing Two-Dimensional
Space. Information Processing Letters, 62:17–22, 1997.
[43] Kaklamanis, C. und G. Persiano:Branch-and-Bound and Backtrack Search on
Mesh-Connected Arrays of Processors. Mathematical Systems Theory, 27(5):471–
489, 1994.
[44] Karypis, G.:Multi-Constraint Mesh Partitioning for Contact/Impact Compu-
tations. Techn. Ber. 03-022, University of Minnesota - Computer Science and
Engineering, 2003.
[45] Karypis, G. und V. Kumar:A Fast and High Quality Multilevel Scheme for
Partitioning Irregular Graphs. SIAM Journal on Scientific Computing, 20(1):359–
392, 1998.
[46] Kellermeier, T.:Lastausgleich und Ressourcenverteilung f¨
ur parallele Applika-
tionen auf Shared-Memory-Systemen. Diplomarbeit, Universit¨
at Paderborn, Juli
2000.
[47] Kernighan, B. und S. Lin:An Efficient Heuristic Procedure for Partitioning
Graphs. The Bell System Technical Journal, 49(2):291–307, 1970.
[48] Klosowski, J. T.,M. Held,J. S. B. Mitchell,H. Sowizral und K. Zi-
kan:Efficient Collision Detection Using Bounding Volume Hierarchies of k-DOPs.
IEEE Transactions on Visualization and Computer Graphics, 4(1):21–36, 1998.
[49] Lennerz, C.,E. Sch¨
omer und T. Warken:A Framework for Collision De-
tection and Response. In: 11th European Simulation Symposium and Exhibition,
S. 309–314. SCS Publishing, 1999.
[50] Lux, M.:Effiziente Algorithmen zur Kontaktbehandlung in Finite-Elemente-
Simulationen. Diplomarbeit, Universit¨
at Paderborn, Juli 1999.
[51] Matou˘
sek, J.:Geometric Range Search. ACM Computing Surveys, 26(4):421–
461, Dez. 1994.
LITERATURVERZEICHNIS 139
[52] Mehlhorn, K.:Data Structures and Algorithms, Vol. 1: Sorting and Searching.
Springer, 1984.
[53] Moon, B.,H. V. Jagadish,C. Faloutsos und J. H. Saltz:Analysis of the
Clustering Properties of the Hilbert Space-Filling Curve. IEEE Transaction on
Knowledge and Data Engineering, 13(1):124–141, 2001.
[54] Netto, E.:Beitrag zur Mannigfaltigkeitslehre. Crelle’s Journal, 86:263–268, 1879.
[55] Niedermeier, R.,K. Reinhardt und P. Sanders:Towards Optimal Locality in
Mesh-Indexings. In: Fundamentals of Computation Theory, LNCS 1279, S. 364–
375. Springer, 1997.
[56] Niedermeier, R.,K. Reinhardt und P. Sanders:Towards Optimal Locality
in Mesh-Indexings. Techn. Ber., Universit¨
at Karlsruhe, Fakult¨
at f¨
ur Informatik,
Sep. 1997.
[57] Nour-Omid, B.,A. Raefsky und G. Lyzenga:Solving Finite Element Equati-
ons on Concurrent Computers. In: Proc. of the Symp. on Parallel Computations
and their Impact on Mechanics, S. 209–227. The American Society of Mechanical
Engineering, 1986.
[58] Oden, J. T. und A. Patra:Problem Decomposition for Adaptive hp Finite Ele-
ment Method. Computing Systems in Engineering, 6(2):97–109, 1995.
[59] Oldenburg, M. und L. Nilsson:The Position Code Algorithm for Contact Sear-
ching. Intl. Journal for Numerical Methods in Engineering, 37:359–386, 1994.
[60] Orenstein, J.:Spatial Query Processing in an Object-Oriented Database System.
In: Proceedings of the ACM SIGMOD Conference, S. 326–336, 1986.
[61] Ou, C.-W.,S. Ranka und G. Fox:Fast and Parallel Mapping Algorithms for
Irregular Problems. Journal of Supercomputing, 10:119–140, 1996.
[62] Pascucci, V. und R. J. Frank:Global Static Indexing for Real-time Exploration
of Very Large Regular Grids. In: Supercomputing, 2001. CD-ROM.
[63] Peano, G.:Sur une courbe qui remplit toute une aire plane. Mathematische
Annalen, 36:157–160, 1890.
[64] Pilkington, J. R. und S. B. Baden:Dynamic Partitioning of Non-Uniform
Structured Workloads with Spacefilling Curve. IEEE Transaction on Parallel and
Distributed Systems, 7(3):288–300, March 1996.
[65] Plimpton, S.,S. Attaway,B. Hendrickson,J. Swegle,C. Vaughan und
D. Gardner:Transient Dynamics Simulations: Parallel Algorithms for Contact
Detection and Smoothed Particle Hydrodynamics. Journal of Parallel and Distri-
buted Computing, 50:104–102, 1998.
140 LITERATURVERZEICHNIS
[66] Preis, R.:The PARTY Graphpartitioning-Library, User Manual - Version 1.99.
http://www.upb.de/fachbereich/AG/monien/RESEARCH/PART/party.html.
[67] Preis, R.:Analyses and Design of Efficient Graph Partitioning Methods. Dok-
torarbeit, Universit¨
at Paderborn, 2000.
[68] Preis, R. und R. Diekmann:PARTY - A Software Library for Graph Parti-
tioning. In: Advances in Computational Mechanics with Parallel and Distributed
Processing, S. 63–71. Civil-Comp Press, 1997.
[69] Sagan, H.:Space-Filling Curves. Springer, 1994.
[70] Samet, H.:Spatial Data Structures: Quadtree, Octrees, and Other Hierarchical
Methods. Addison-Wesley, 1989.
[71] Sanders, P. und T. Hansch:On the Efficient Implementation of Massively Par-
allel Quicksort. In: 4th International Symposium on Solving Irregularly Structured
Problems in Parallel, S. 13–24. Springer, 1997.
[72] Schamberger, S. und J.-M. Wierum:Graph Partitioning in Scientific Simula-
tions: Multilevel Schemes versus Space-Filling Curves. In: Proc. of Parallel Com-
puting Technologies (PaCT), LNCS 2763, S. 165–179. Springer, 2003.
[73] Schloegel, K.,G. Karypis und V. Kumar:Graph Partitioning for High Per-
formance Scientific Simulations. In: The Sourcebook of Parallel Computing. Mor-
gan Kaufmann, 2002.
[74] Suri, S.,P. M. Hubbard und J. F. Hughes:Analyzing Bounding Boxes for
Object Intersection. ACM Transactions on Graphics, 18(3):257–277, 1999.
[75] Taylor, L. und D. Flanagan:PRONTO 2D: A Two-Dimensional Transient
Solid Dynamics Program. Techn. Ber. SAND86-0594, Sandia Natl. Labs, 1987.
[76] Taylor, R. und P. Wriggers:Smooth Discretization for Large Deformation
Frictionless Contact. SEMM-report, UC Berkeley, 1998.
[77] van den Bergen, G.:Efficient Collision Detection of Complex Deformable Mo-
dels using AABB Trees. Journal of Graphics Tools, 2(4):1–13, 1997.
[78] Vanderstraeten, D.,R. Neunings und C. Farhat:Beyond Conventional
Mesh Partitioning Algorithms. In: SIAM Conference on Parallel Processing for
Scientific Computing, S. 611–614, 1995.
[79] Walshaw, C. und M. Cross:Mesh Partitioning: A Multilevel Balancing and
Refinement Algorithm. SIAM Journal on Scientific and Statistical Computing, 22,
2000.
[80] Wierum, J.-M.:Average Case Quality of Partitions Induced by the Lebesgue
Indexing. Techn. Ber. TR-002-01, Paderborn Center for Parallel Computing,
http://www.upb.de/pc2/, 2001.
LITERATURVERZEICHNIS 141
[81] Wierum, J.-M.:Definition of a New Circular Space-Filling Curve β-In-
dexing. Techn. Ber. TR-001-02, Paderborn Center for Parallel Computing,
http://www.upb.de/pc2/, 2002.
[82] Wierum, J.-M.:Logarithmic Path-Length in Space-Filling Curves. In: Proceedings
of the 14th Canadian Conference on Computational Geometry (CCCG), S. 22–26,
2002. http://www.cccg.ca/.
[83] Wriggers, P.,L. Krstulovi´
cund J. Korelc:Development of 2D Smooth
Polynomial Frictional Contact Elements based on a Symbolic Approach. In: Proc.
European Conference on Computational Mechanics, M¨
unchen, 1999. CD-ROM.
[84] Zachmann, G.:Virtual Reality in Assembly Simulation Collision Detection, Si-
mulation Algorithms, and Interaction Techniques. Doktorarbeit, Technische Uni-
versit¨
at Darmstadt, Fachbereich Informatik, 2000.
[85] Zhong, Z. und L. Nilsson:A Contact Searching Algorithm for General Contact
Problems. Computers and Structures, 33(1):197–209, 1989.
[86] Zhou, Y. und S. Suri:Analysis of a Bounding Box Heuristic for Object Intersec-
tion. In: Proc. of 10th Symposium on Discrete Algorithms (SODA). ACM, 1999.
[87] Zumbusch, G.:Load Balancing for Adaptively Refined Grids. Techn. Ber. 722,
SFB 256, University Bonn, 2001.
[88] Zumbusch, G.:On the Quality of Space-Filling Curve Induced Partitions. Zeit-
schrift f¨
ur Angewandte Mathematik und Mechanik, 81, SUPP/1:25–28, 2001.