In verschiedenen Bereichen des Preprocessings, wie zum Beispiel bei der Visualisierung potentieller Flansche[1] oder der Selektiven Beseitigung Initialer Penetrationen[2] spielt die Berechnung und die anschließende Visualisierung der minimalen Knoten-Element-Abstände zwischen benachbarten Bauteilen eine große Rolle. Um eine interaktive Berechnung der minimalen Knoten-Element-Abstände mit vertretbaren Antwortzeiten zu ermöglichen, wird jedes Bauteilnetz in der internen Datenstruktur unter Verwendung eines Bounding Volume Tree unterteilt.
Bei der Berechnung des minimalen Knoten-Element-Abstandes für einen bestimmten Knoten eines Bauteilnetzes A zu den Elementen eines anderen Bauteilnetzes B wird jeweils zunächst der Abstand zwischen dem Knoten und dem Hüllvolumen H0 berechnet. Nur wenn dieser geringer als der derzeit an dem Knoten gespeicherte Minimalabstand ist, wird der nächste Layer im Bounding Volume Tree betrachtet. Hier findet sich entweder eine Unterteilung des Hüllvolumens H0 in zwei kleinere Hüllvolumina H1 und H2, die jeweils disjunkte Elementteilmengen von H0 enthalten, oder aber einige Elemente, für die der minimale Abstand dann sukzessiv ermittelt wird.
Im crashViewer wurden verschiedene Hüllvolumen-Typen
implementiert und getestet. Dabei haben sich Hauptachsen-parallele
Boxen gegenüber Kugeln oder objektorientierten Boxen als
effizienter erwiesen.
Das nachfolgende Bild zeigt die Hauptachsen-parallelen
Bounding-Boxen eines Bauteilnetzes in den ersten acht Stufen der
Unterteilung.
Durch diese Vorgehensweise kann für jeden Knoten sofort ein
Großteil aller Elemente ausgeschlossen und damit die Berechnung
enorm beschleunigt werden, da die Abstandsberechnung von einem
Knoten zu einem Hüllvolumen schneller durchgeführt werden
kann als die zu einem Finiten Element. Zudem kann durch ein weiter
entferntes Hüllvolumen gleich eine Vielzahl von Elementen
für die Abstandsberechnung ausgeschlossen werden.
Durch die Initialisierung des aktuellen Minimalabstandes an jedem
Knoten mit einem zuvor festgelegten Wert, der den interessanten
Bereich von vornherein beschränkt, kann der Berechnungsvorgang
nochmals beschleunigt werden.
|
Universität Stuttgart, Institut für Informatik, Abteilung Visualisierung und Interaktive Systeme http://www.vis.uni-stuttgart.de/ger/research/proj/autobench/distmap/index.html |