In jeder Stunde nähert sich unsere Galaxie, die Milchstraße, dem Andromedanebel um 400.000 km. Laut der US-Raumfahrtbehörde Nasa werden die Galaxien in ca. 4 Milliarden Jahren kollidieren. Nach weiteren 2 Milliarden Jahren sollen sie sich dann zu einer neuen, elliptischen Galaxie vereinigt haben. Solche Vorgänge sind in der Entwicklung des Universums bis heute keine Besonderheit und haben eine große Bedeutung in der Strukturbildung der Materie. Trotzdem sind sie äußerst komplex und schwer vorstellbar.
Mit solchen Problem haben wir uns in der vorliegenden Arbeit beschäftigt und eine Simulationssoftware entwickelt mit der es möglich ist, Konstellationen beliebig vieler Körper zu berechnen und darzustellen, wie beispielsweise Galaxien.
Zur Beschreibung solcher gravitativer Szenarien haben wir eine Scriptsprache entwickelt, mit welcher es schnell und unkompliziert möglich ist, große und komplexe Szenen zu erstellen.
Die somit erstellten Konstellationen können mittels der von uns entwickelten Software eingelesen, dargestellt und simuliert werden.
Durch die Verwendung des Barnes-Hut-Algorithmus und der Auslagerung der Berechnung auf die Grafikkarte ist unsere Software sehr leistungsstark und kann selbst auf haushaltsüblichen Rechnern hohe Anzahlen an zu berechnenden Körpern simulieren.
Inhaltsverzeichnis
Einleitung
1 Konzeption von Gravius 2.0
2 Ansätze zur näherungsweisen Lösung von Mehrkörperproblemen
2.1 Theoretische Vorüberlegungen
2.2 Das Eulerverfahren
2.3 Das Runge-Kutta-Verfahren
2.4 Der Barnes-Hut-Algorithmus
3 Umsetzung des Barnes-Hut-Algorithmus
3.1 Finden der Root-Zelle
3.2 Aufbau des Octree
3.3 Zuweisung der Schwerpunkte
3.4 Berechnung der Kräfte
3.5 Integration der Bewegungen
4 Die Scriptsprache GSC zur Beschreibung einer Szene
4.1 Einführung in die Funktionen
4.2 Die statische Objektdefinition
4.3 Dynamische Eigenschaften und Objektgruppen
4.4 Hierarchie im Universum
4.5 Zusammenführen einer Szene
4.6 Details zu eingebettetem Java-Code
5 Visualisierung der Simulationen
6 Kollision zweier Galaxien in Gravius 2.0
7 Realitätsanspruch am Beispiel einer Galaxie
Zusammenfassung
Zielsetzung & Themen
Ziel der Arbeit ist die Entwicklung einer leistungsstarken, modular aufgebauten Simulationssoftware für Gravitationsvorgänge bei Mehrkörperproblemen, ergänzt durch eine spezialisierte Scriptsprache zur effizienten Szenendefinition.
- Implementierung eines effizienten Barnes-Hut-Algorithmus zur Berechnung komplexer Gravitationsszenarien.
- Entwicklung der Scriptsprache "GSC" zur intuitiven und hierarchischen Beschreibung astronomischer Objekte.
- Modularisierung der Software in Simulation, Scriptengine und Visualisierung.
- Visualisierung der Simulationsergebnisse mittels OpenGL und eines Raytracers.
- Validierung der Software durch die Simulation der Kollision zweier Galaxien.
Auszug aus dem Buch
2.4 Der Barnes-Hut-Algorithmus
Im klassischen N-Körperproblem steht jeder Körper mit jedem anderen in Wechselwirkung, weshalb sich eine Gesamtzahl von N ·(N − 1) zu berechnenden Kräften oder Beschleunigungen für jeden Körper ergibt. Daraus folgt die große, dennoch polynomiale Zeitkomplexität von O(N^2). Da der quadratische Rechenaufwand die Simulation für größere Körperanzahlen sehr ineffektiv macht und die Parallelisierung dieses Problems die Effizienzgrenze lediglich verschiebt, haben wir den Barnes-Hut-Algorithmus in unserem Programm implementiert, um die Effizienz tatsächlich zu steigern.
Dieser Algorithmus ist ein Näherungsverfahren zur Berechnung von Kräften in N-Körperproblemen, welches 1986 von Josh Barnes und Piet Hut veröffentlicht wurde.
Die Anzahl der zu berechnenden Kräfte wird durch das Zusammenfassen von Teilchengruppen zu einem neuen Pseudoteilchen, welches ausschließlich für die Berechnung relevant ist, verringert (siehe Abbildung 1).
Der Grundgedanke des Barnes-Hut-Algorithmus ist es, die Summe der Kräfte anzunähern, welche die einzelnen Körper (Teilchen) einer Gruppe auf einen anderen, der Gruppe nicht zugehörigen Körper, ausüben. Dazu wird die einzelne Kraft vom betrachteten Teilchen zum Massenschwerpunkt der Gruppe verwendet.
Damit der Fehler, der durch die Vereinfachung auftritt minimal bleibt, gibt es das Multipol-Akzeptanz-Kriterium. Dieses muss erfüllt sein, um die Summe der Einzelkräfte statt der Kraft zum ermittelten Pseudoteilchen zu berechnen. Als Multipol-Akzeptanz-Kriterium bezeichnet man das Verhältnis vom Durchmesser d zum Abstand r der Gruppe d/r. Wenn dieses einen bestimmten, vorher festgelegten Schwellwert θ überschreitet, sollte die Näherung nicht verwendet werden, um größere Fehler zu vermeiden. Je kleiner θ ist, desto genauer ist die Simulation, was im Grenzfall θ = 0 wieder die Aufsummierung aller Einzelkräfte bedeutet. Für die Effektivität dieser Näherungsvariante ist eine geschickte Wahl von θ erforderlich.
Zusammenfassung der Kapitel
Konzeption von Gravius 2.0: Erläuterung der modularen Programmstruktur in Simulation, Scriptengine und Visualisierung zur Effizienzsteigerung.
Ansätze zur näherungsweisen Lösung von Mehrkörperproblemen: Theoretische Grundlagen der Bewegungsgleichungen und Vorstellung der numerischen Verfahren Euler, Runge-Kutta sowie Barnes-Hut.
Umsetzung des Barnes-Hut-Algorithmus: Detaillierte Beschreibung der softwaretechnischen Implementierung mittels Octree-Struktur und optimierter Array-Verwaltung in Java.
Die Scriptsprache GSC zur Beschreibung einer Szene: Vorstellung der eigens entwickelten Sprache zur hierarchischen Objektdefinition inklusive dynamischer Eigenschaften und Einbindung von Java-Code.
Visualisierung der Simulationen: Erläuterung der 3D-Darstellung mittels OpenGL und der Erzeugung von Momentaufnahmen durch einen eigenen Raytracer.
Kollision zweier Galaxien in Gravius 2.0: Anwendung der Software auf ein komplexes astrophysikalisches Fallbeispiel zur Überprüfung der Leistungsfähigkeit.
Realitätsanspruch am Beispiel einer Galaxie: Analyse der Rotationskurven der simulierten Galaxie im Vergleich zu physikalischen Modellen und Diskussion auftretender Abweichungen.
Schlüsselwörter
Gravitationssimulation, Mehrkörperproblem, Barnes-Hut-Algorithmus, Octree, Scriptsprache, GSC, Gravius 2.0, OpenGL, Raytracer, Galaxienkollision, Numerische Integration, Runge-Kutta-Verfahren, Objektorientierung, Simulation, Astronomie.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit grundsätzlich?
Die Arbeit befasst sich mit der Entwicklung einer performanten Simulationssoftware (Gravius 2.0) zur Berechnung von Gravitationskräften zwischen einer Vielzahl von Körpern.
Was sind die zentralen Themenfelder?
Die Arbeit verknüpft physikalische Grundlagen der Himmelsmechanik mit informatischer Umsetzung, insbesondere durch Algorithmenentwicklung und das Design einer eigenen Scriptsprache.
Was ist das primäre Ziel der Arbeit?
Das Hauptziel war die Schaffung einer umfassenden Simulationsumgebung, die gegenüber dem Vorgängerprogramm Gravius 1.0 durch höhere Effizienz und bessere Bedienbarkeit besticht.
Welche wissenschaftlichen Methoden werden verwendet?
Es werden numerische Integrationsverfahren wie das Euler- und Runge-Kutta-Verfahren sowie der effiziente Barnes-Hut-Algorithmus (O(N log N) Komplexität) angewandt.
Was wird im Hauptteil behandelt?
Der Hauptteil umfasst die algorithmische Konzeption, die technische Umsetzung der Octree-Struktur, die Syntax der GSC-Scriptsprache sowie die Validierung der Software anhand einer Galaxienkollision.
Welche Schlüsselwörter charakterisieren die Arbeit?
Wesentliche Begriffe sind Gravitationssimulation, Barnes-Hut-Algorithmus, GSC-Scriptsprache, Mehrkörperprobleme und wissenschaftliche Modellierung.
Welche Rolle spielt die "Scriptsprache GSC" konkret?
GSC dient der benutzerfreundlichen Beschreibung komplexer Szenarien, indem Objekte gruppiert und hierarchisch angeordnet werden können, ohne jeden Körper manuell konfigurieren zu müssen.
Warum weichen die simulierten Rotationskurven von der Realität ab?
Die Abweichung liegt primär im Fehlen der "Dunklen Materie" in der Simulation begründet, deren Masse real einen entscheidenden Einfluss auf die beobachteten Rotationsgeschwindigkeiten hat.
Ist die Software für andere physikalische Probleme erweiterbar?
Ja, laut den Autoren ist der universelle Algorithmus bei minimalen Anpassungen auch auf andere Wechselwirkungen, etwa bei geladenen Teilchen, übertragbar.
- Quote paper
- Till Wicher (Author), Sufjan Al-Arami (Author), Christoph Freitag (Author), 2013, Galaxien auf Kollisionskurs. Graviationssimulation von Mehrkörperproblemen und Entwicklung einer Scriptsprache zum Beschreiben gravitativer Konstellationen, Munich, GRIN Verlag, https://www.hausarbeiten.de/document/313879