Das Mehrkörperproblem in der Astronomie/ Hierarchische Algorithmen/ Zeitliche Hierarchie

Aus testwiki
Zur Navigation springen Zur Suche springen

Konstruktion

Wie soeben angedeutet, lassen sich die dynamischen Zeitskalen der Massenpunkte eines Mehrkörpersystems in eine hierarchische Struktur einordnen, indem man einen kleinsten elementaren Zeitschritt ΔtE definiert und diesen sukzessive verdoppelt.


Prinzip der Simulation eines N-Körper-Systems mit hierarchischen Zeitschritten pro Massenpunkt. Jedem Körper ist je nach seiner individuellen Schrittweite eine hierarchische Schrittweite Δt=2nΔtE auf einer Zeitebene n zugeordnet, wobei ΔtE die kleinste im Ensemble vorkommende Schrittweite bedeutet


Um ΔtE zu Beginn der Simulation festzulegen, muss man sich an der kleinsten anfänglich vorliegenden dynamischen Zeitskala Δtmin orientieren. ΔtE repräsentiert die Ebene 0, die niedrigste der Hierarchie. Durch Verdoppelung 2ΔtE legt man die nächsthöhere Ebene 1 an, durch weitere Verdoppelung 4ΔtE die Ebene 2 usw.

Fällt im Laufe der Modellierung die dynamische Zeitskala eines Körpers unter den Wert, welcher seine Zeitebene definiert, so muss er um eine Ebene nach unten geschoben werden. Tritt z.B. für ein Objekt auf Ebene 1 ein Δt<2ΔtE auf, so wechselt dieses zur Ebene 0. Wird sogar ein Δt<ΔtE gefunden, so ist die bisherige elementare Schrittweite nicht länger gültig. An ihrer Stelle muss ein neuer Elementarschritt ΔtE/2 definiert werden, welcher fortan die Ebene 0 vertritt. Dementsprechend werden alle anderen Ebenen um 1 Niveau höher eingestuft. Aus der bisherigen Ebene 0 wird die Ebene 1, die bisherige Ebene 1 ist nun die Ebene 2 usw. Um zu vermeiden, dass diese Situation schon kurz nach dem Start der Simulation eintritt, empfiehlt es sich, zu Anfang ΔtE so festzulegen, dass Δtmin mit einem Betrag von 3/2ΔtE genau zwischen ΔtE und 2ΔtE liegt.

Nimmt umgekehrt die dynamische Zeitskala so stark zu, dass sie den Wert der nächsthöheren Ebene überschreitet, gelangt der betroffene Massenpunkt um eine Stufe nach oben. Hat etwa ein Körper auf Ebene 1 ein Δt>4ΔtE, so steigt er zur Ebene 2 auf. Ein solches Höhersteigen ist nur zu solchen Zeitpunkten möglich, welche einem Vielfachen des auf der Zielebene gültigen Zeitschritts entsprechen, ein Wechsel z.B. von Ebene 1 zu Ebene 2 nur zu Zeitpunkten 0, 4ΔtE, 8ΔtE usw., nicht aber zu Zeitpunkten 2ΔtE, 6ΔtE usw. Ein aufsteigender Massenpunkt soll ja gleichzeitig mit den auf der Zielebene schon vorhandenen Objekten bewegt werden.

Ist auf der Ebene 0 kein Körper mehr vorhanden, so wird an Stelle von ΔtE die auf der Ebene 1 gültige Schrittweite 2ΔtE als neue elementare Schrittweite angesetzt. Sämtliche Ebenen werden dadurch um eine Stufe niedriger eingeordnet. Aus der bisherigen Ebene 1 wird eine Ebene 0, aus der Ebene 2 eine Ebene 1 usw.

Die höchste erforderliche Ebene richtet sich nach der größten im Ensemble auftretenden dynamischen Zeitskala Δtmax. ΔtE muss solange verdoppelt werden, bis die so erzeugte Zeitskala größer als die Hälfte von Δtmax ist.

Wie die niedrigste ist auch die höchste Ebene dynamisch. Überschreitet für einen Massenpunkt Δt das Doppelte der aktuell größten Zeitskala, so muss für diesen eine neue oberste Ebene angelegt werden. Wird die höchste Ebene nicht mehr benötigt, weil die dynamischen Zeitskalen aller Objekte unter der entsprechenden Schrittweite liegen, kann diese einfach entfernt werden.

Lösungsschema

Die Steigerung der Effizienz des Prädiktor-Korrektor-Algorithmus beruht darauf, nicht mehr die individuellen Zeitschritte Δti der einzelnen Massenpunkte zu verwenden, sondern diejenigen ΔtE, 2ΔtE, 4ΔtE usw. der Zeitebenen, auf welchen sich diese befinden. Da diese Schrittweiten nur einige wenige unterschiedliche Werte annehmen können, welche untereinander durch Verdoppelung hervorgehen, ist quasi automatisch sichergestellt, dass zumeist mehrere Körper den gleichen niedrigsten Wert t+Δt aufweisen. Die sowieso immer erforderliche Extrapolation aller Positionen (und eventuell auch der Geschwindigkeiten) hin zu diesem Zeitpunkt kann so fast immer genutzt werden, um gleichzeitig mehrere Objekte zu bewegen. Das Lösungsschema sieht nun folgendermaßen aus:

Prinzip der Simulation eines N-Körper-Systems mit hierarchischen Zeitschritten pro Massenpunkt. Das Schema ähnelt demjenigen für individuelle Zeitschritte pro Körper, doch können nun, da die Schrittweite nur noch wenige diskrete Werte Δt=2nΔtE annehmen kann, fast immer mehrere Massenpunkte mit einem gemeinsamen kleinsten t+Δt gleichzeitig bearbeitet werden


1) Jeder Körper hat zum gegenwärtigen Zeitpunkt t einen Zeitschritt 2nΔtE. Die Ebene n muss so gewählt werden, dass der individuelle Zeitschritt Δti zwischen 2nΔtE und 2n+1ΔtE liegt. Man greife diejenigen Massenpunkte heraus, welche gemeinsam für t+2nΔtE den niedrigsten Wert aufweisen (mittlere rote Kreise). Findet sich ausnahmsweise nur ein Objekt mit diesem Minimalwert, so wird wie bisher nur dieses als Einziges betrachtet.

Die aktuell zu bearbeitenden Massenpunkte lassen sich sehr einfach identifizieren, indem man die Simulation mit der zeitlichen Schrittweite ΔtE ablaufen lässt. Objekte auf der Zeitebene 0 werden bei jedem Schritt bewegt, solche auf der Ebene 1 jeden 2. Schritt, solche auf der Ebene 2 jeden 4. Schritt usw.

2) Man wende unverändert den Prädiktor auf die Positionen xn aller Massenpunkte an, um die zum Zeitpunkt t+2nΔtE gültigen Positionen xn+1 zu ermitteln (türkise Kreise). Mit den Hermite-Polynomen als grundlegendes Verfahren bestimme man entsprechend auch die Geschwindigkeiten vn+1.

3) Aus den Positionen xn+1 gewinne man wie üblich die dazugehörigen Beschleunigungen an+1 für die ausgewählten Körper, im Falle der Hermite-Polynome als fundamentale Lösungsformel aus den xn+1 und vn+1 auch die Rucks jn+1.

4) Wie gehabt verbessere man die Positionen xn+1 der gerade untersuchten Massenpunkte mit Hilfe des Korrektors und anschließend deren Geschwindigkeiten vn+1. Zuletzt aktualisiere man die Zeitebenen, auf welchen diese sich befinden. Falls erforderlich, führe man neue Ebenen ein oder entferne nicht mehr benötigte.

5) Abermals werden nur die in Schritt 1 ausgewählten Körper versetzt, alle anderen verbleiben auf ihren Positionen xn zum Zeitpunkt t. Wieder kehre man zu Schritt 1 zurück.

Wie individuelle Zeitskalen pro Massenpunkt können auch hierarchische Schrittweiten auf jedes Prädiktor-Korrektor-Verfahren angewandt werden. Beispiele hierzu finden sich z.B. bei Makino (1991) [1] sowie Dehnen und Read (2011) [2]. Im Folgenden werden nur die auf die Hermite-Polynome sowie die Leapfrog-Methode beruhenden Lösungsschemata diskutiert. Das wiederum extrem unhandliche Mehrschritt-Verfahren ist zwar erneut etwas genauer, liefert aber keine grundlegend neuen Erkenntnisse über den Algorithmus.

Prädiktor-Korrektor-Verfahren mit hierarchischen Zeitschritten

Beispiel

Eine Simulation mit hierarchischen Zeitschritten ist von gleicher Güte wie eine solche mit individuellen, wobei die Hermite-Polynome erwartungsgemäß erneut besser abschneiden als die Leapfrog-Methode. Betrachtet man abermals das schon mehrfach vorgeführte Drei-Körper-System, so befinden sich die jeweils nahestehenden Objekte zumeist beide auf der Zeitebene 0 und das dritte Mitglied auf einer höheren Ebene. Kommen sich zwei Massenpunkte sehr nahe, so wird der elementare Zeitschritt immer kleiner, was den dritten Körper (dessen dynamische Zeitskala absolut betrachtet nahezu unverändert bleibt) auf eine immer höhere Zeitebene gelangen lässt. Entfernen sich die Stoßpartner wieder voneinander, wird ΔtE erneut größer, wodurch der dritte Massenpunkt auf niedrigere Ebenen zurückkehrt. Da ΔtE falls erforderlich stets um den gleichbleibenden Faktor 2 geändert wird, erscheinen diese Anpassungen in logarithmischer Darstellung als Schritte konstanter Größe.


Simulation eines Drei-Körper-Systems mit dem Hermite-Polynome-Verfahren über einen Zeitraum von 100 Jahren mit hierarchischen Zeitschritten pro Massenpunkt. Die Einstufung in die jeweilige Zeitebene beruht auf dem Kriterium, dass die entsprechende Schrittweite 0.5% des Verhältnisses Beschleunigung / Ruck nicht übersteigen soll.. Für jeden Massenpunkt ist die Variation der Zeitebene im Verlauf der Simulation dargestellt. Das Auftreten hoher Ebenen korreliert mit dem Erscheinen sehr kleiner minimaler Schrittweiten infolge sehr enger Begegnungen von jeweils zwei Körpern


Simulation eines Drei-Körper-Systems mit dem Hermite-Polynome-Verfahren über einen Zeitraum von 100 Jahren mit hierarchischen Zeitschritten pro Massenpunkt. Die Einstufung in die jeweilige Zeitebene beruht auf dem Kriterium, dass die entsprechende Schrittweite 0.5% des Verhältnisses Beschleunigung / Ruck nicht übersteigen soll. Dargestellt ist die Variation des kleinsten im Ensemble auftretenden Zeitschritts ΔtE im Verlauf der Simulation, welcher die niedrigste Zeitebene definiert


Vorlage:Kasten


Vorlage:Kasten


Einzelnachweise

  1. Makino J., A modified Aarseth code for GRAPE and vector processors, in: Publications of the Astronomical Society of Japan Band 43, S.859 ff, 1991
  2. Dehnen W., Read J.I., N-body simulations of gravitational dynamics, in: the European Physical Journal Plus, Band 126, 2011