Bild vom Institut
home uni uni suche suche sitemap sitemap kontakt kontakt
unilogo Universität Stuttgart
Institut für Technische und Numerische Mechanik

Objektorientierte Partikel-Fluidsimulation

englishicon
 

Beschreibung

(Animation starten)

Zur Simulation granularer Medien, d.h. von Vielpartikelsystemen sind kontinuumsmechanische Ansätze wie die Finite Element Methode oder die Finite Volumen Methode aufgrund der fehlenden Kontinuität des simulierten Mediums ungeeignet. Aus diesem Grund werden gitterfreie Methoden verwendet, bei denen die auftretenden Datenstrukturen keine festgelegten Nachbarschaftsbeziehungen aufweisen. Ein Vertreter dieser Methoden, die sog. Diskrete Element Methode wird im Rahmen dieser Arbeit verwendet. Ziel der Arbeit ist, die Simulation eines Vielpartikelsystems mit der Simulation eines das Partikelsystem umgebenden Fluids zu koppeln, um die Simulation von Dispersionen zu ermöglichen. Als Dispersion wird eine Mischung aus Festkörperpartikeln und einem Fluid (Gas oder Flüssigkeit) bezeichnet.

Da numerische Strömungssimulation bei größeren Systemen sehr rechenaufwändig und damit zeitaufwändig ist, wird sie meist als parallele Berechnung auf einem Großrechner oder Cluster ausgeführt. Bei einer solchen Simulation wird das Simulationsgebiet in Teilgebiete aufgeteilt, die von einzelnen Prozessoren parallel bearbeitet werden. Deshalb liegt es nahe, auch die Partikelsimulation in ähnlicher Weise zu strukturieren. Zu Beginn liegt der Schwerpunkt der Arbeit deshalb in der Entwicklung und Implementierung eines effizienten parallelen Partikelsimulationsprogramms. Da sich die Position der Partikel und damit ihre Verteilung im System während der Simulation ändern kann, ist eine adaptive Unterteilung des Simulationsgebiets nötig, die einer Änderung der Systemstruktur folgt. Dies ermöglicht eine optimale und gleichmäßige Auslastung der einzelnen Prozessoren. Ein flexibler Ansatz besteht dabei in einer rekursiven Gebietsunterteilung.

Obwohl eine Parallelisierung die Rechenzeit verkürzt, ist ihr Einfluß auf die Performance des Simulationsprogramms geringer zu bewerten als eine Optimierung der verwendeten Algorithmen. Ein ungünstig implementiertes Programm kann durch eine Aufteilung auf zwei Rechner maximal doppelt so schnell laufen. Durch eine Optimierung der Datenstrukturen und der darauf operierenden Algorithmen kann unter Umständen eine Laufzeitverkürzung auf weniger als ein Zehntel der ursprünglichen Laufzeit erreicht werden. Zur Bewertung der Wirkung dieser Optimierungsstrategien werden Profiling-Programme verwendet, die Aufschluss über das Laufzeitverhalten des Programms, wie dessen Verwendung des Cache-Speichers geben. Ein weiterer Aspekt bei der Rechenzeiteinsparung ist die Verwendung einer Zeitschrittweitensteuerung, welche die Verwendung flexibler, d.h. dem Systemzustand angepasster Schrittweiten erlaubt.

Die Forderung nach Flexibilität und Erweiterbarkeit des Simulationsprogramms legt eine Implementierung in der Sprache C++ nahe. Diese ermöglicht eine Verwendung von objektorientierten Datenstrukturen. Durch die Verwendung von Expression-Template Funktionen für die numerischen Berechnungen wird eine Recheneffizienz ermöglicht, die mit der Leistung der bisher numerische Anwendung dominierenden Sprache Fortran 77 durchaus konkurenzfähig ist. Dies jedoch bei gleichzeitig wesentlich erhöhter Lesbarkeit des Programmcodes.

Links

Informationen zur Partikelsimulationssoftware Pasimodo, die im Rahmen dieses Projects entwickelt wird.

Ansprechpartner