Simulation der Umlaufbahnen

Wie genau bewegen sich die Planeten? Wie sehen ihre Umlaufbahnen aus? Wann werden sie sich wo befinden? Die besten Köpfe der Wissenschaft haben sich früher mit diesen Fragen beschäftigt und dabei bahnbrechende Entdeckungen gemacht. Heute kann sich jeder mit einigen Kenntnissen der Programmiersprache Python und der Numerischen Methoden eine eigene Simulation des Sonnensystems programmieren. Ich habe genau dies getan. Dabei ist das folgende Video entstanden:

Die Zeit läuft im Video etwa 400’000’000 mal schneller als in Wirklichkeit. Die Distanzen sind in Astronomischen Einheiten AU (mittlere Distanz der Erde zur Sonne) angegeben. Die terrestrischen Planeten (Merkur bis Mars) habe ich weggelassen, da sie bei massstabsgetreuer Darstellung der Umlaufbahnen nur noch als Durcheinander im Zentrum erkennbar wären.

Vergleich mit offiziellen Modellen

Vergleicht man meine Simulation mit offiziellen Modellen der NASA, so scheinen die Umlaufbahnen ziemlich genau zu stimmen (den Zwergplaneten Eris habe ich weggelassen). Meine Bahnen fallen etwas elliptischer aus, was an den ungleichen Skalierungen der Achsen liegt.

Umlaufbahnen

Simulation

In der Folge gebe ich einen kurzen Überblick, wie die Simulation aufgebaut ist. Im Kern befinden sich zwei Differentialgleichungen, die sogenannten Hamiltonschen Bewegungsgleichungen. Diese sehen folgendermassen aus:

wobei die Hamilton-Funktion (Gesamtenergie des Systems) in diesem Fall definiert ist als:

Mit q wird hier der Ort der Planeten bezeichnet, p steht für den Impuls und m für die Masse. Zweifellos sehen diese Funktion und umso mehr die Differentialgleichungen ziemlich grimmig aus, dafür erhalten sie alle Informationen, die man für die Simulation eines beliebigen Planetensystems braucht. Kann man die Differentialgleichungen lösen und sind die Anfangsbedingungen bekannt (Ort und Geschwindigkeit der Planeten zum jetzigen Zeitpunkt), so kann man die Bewegungen und Aufenthaltsorte der Planeten unter gegenseitigem Einfluss (!) für alle Zeiten bestimmen. In der Praxis approximiert man solche Differentialgleichungen mit einem Computer unter Verwendung von numerischen Verfahren. Ich habe das sogenannte Velocity-Verlet-Verfahren angewendet. Dabei wird die Zeit vom Anfangs- bis zum Endzeitpunkt in ein feines Zeitgitter aufgeteilt. Der Computer berechnet dann nacheinander den Ort und die Geschwindigkeit der Planeten für die Zeiten in diesem Gitter, immer basierend auf den zuletzt berechneten Werten. Diese Annäherung wird beliebig genau für ein beliebig feines Zeitgitter (der Fehler ist proportional zur Länge der Zeitschritte im Gitter – zum Quadrat). Die berechneten Werte habe ich in etwa 200 Diagrammen geplottet und anschliessend in einer Videosoftware zum oben gezeigten Video verarbeitet.

Das Schöne an der Simulation ist, dass sie nur die Anfangswerte der Planeten benötigt, alles andere wird aus den Hamilton-Gleichungen berechnet. Somit könnte man ihr ohne Mühe die Anfangswerte für extraterrestrische Planeten füttern und so auch ein beliebig anderes Planetensystem modellieren.

Quellen

  • Vorlesung Numerische Methoden, ETH Zürich
  • Bild Planetenumlaufbahnen: NASA
  • Beitragsbild: scilogs.de