Das Modell, die Integratoren, die Testteilchen und die Fehlermaße — mit allen Gleichungen. Am Anfang steht ein Teil ohne Vorkenntnisse.
Wer mit Formeln wenig anfangen kann, braucht trotzdem nicht weit zu lesen: Das ganze Programm besteht aus drei Gedanken, und alles Weitere auf dieser Seite ist nur die Frage, wie man sie sauber aufschreibt.
Newtons Gravitationsgesetz von 1687. Zwei Körper mit den Massen m₁ und m₂ im Abstand r ziehen einander mit der Kraft
an. Mehr Masse, mehr Anziehung — und der Abstand geht quadratisch ein: Doppelter Abstand heißt ein Viertel der Kraft, zehnfacher Abstand ein Hundertstel. G ist eine Naturkonstante, die nur dafür sorgt, dass am Ende die richtigen Einheiten herauskommen.
Was uns eigentlich interessiert, ist aber nicht die Kraft, sondern die Beschleunigung — wie stark ein Körper seine Bewegung ändert. Die folgt aus F = m·a, und hier passiert etwas Bemerkenswertes:
Die eigene Masse kürzt sich weg. Wie stark ein Körper angezogen wird, hängt nur davon ab, wer ihn anzieht — nicht davon, wie schwer er selbst ist. Deshalb fallen Feder und Hammer auf dem Mond gleich schnell, und deshalb kann diese Simulation Staubkörnern die Masse null geben und sie trotzdem richtig fliegen lassen (Abschnitt 4).
Ein Beispiel zum Mitrechnen: Die Sonne hat 1,989·1030 kg, die Erde ist 1,496·1011 m entfernt. Damit fällt die Erde mit a ≈ 0,006 m/s² auf die Sonne zu — sechs Millimeter pro Sekunde schneller, jede Sekunde. Dass sie trotzdem nicht ankommt, liegt daran, dass sie sich gleichzeitig mit 30 km/s zur Seite bewegt. Genau dieses Nebeneinander von „fällt“ und „fliegt seitlich vorbei“ ist eine Umlaufbahn.
Im Sonnensystem gibt es nicht zwei Körper, sondern zehn. Jeder zieht an jedem. Die Beschleunigung eines Körpers ist dann einfach die Summe über alle anderen — Kräfte addieren sich wie Pfeile: Länge und Richtung zählen, zwei entgegengesetzte Anziehungen heben sich teilweise auf.
Das ist der Grund, warum r in den späteren Formeln fett gedruckt ist: Es steht nicht für eine Zahl, sondern für die drei Zahlen x, y und z, also für einen Pfeil im Raum. Und es erklärt, warum dort r³ im Nenner steht, wo eben noch r² stand: Der Zähler enthält den Verbindungspfeil, und der ist selbst schon r lang. Einmal r geht also dafür drauf, aus dem Pfeil eine reine Richtung zu machen.
Genau hier endet übrigens die Schulmathematik. Für zwei Körper lässt sich die Bahn hinschreiben — das sind Keplers Ellipsen. Ab drei Körpern gibt es keine solche Formel mehr, und zwar nicht, weil sie noch niemand gefunden hätte, sondern weil es sie nicht gibt. Übrig bleibt: ausrechnen, Schritt für Schritt.
Beschleunigung ist die Änderung der Geschwindigkeit, Geschwindigkeit die Änderung des Ortes. Wer die Beschleunigung kennt, kommt also in zwei Schritten zur Bahn — indem er sie zweimal aufsummiert. Für ein kleines Zeitstückchen Δt heißt das schlicht:
Damit ist die Simulation vollständig. Sie ist eine Schleife über diese drei Schritte, und in Pseudocode passt sie in acht Zeilen:
wiederhole sehr oft:
für jeden Körper i: ← Schritt 1 und 2
a[i] = 0
für jeden anderen Körper j:
a[i] += G · m[j] · (r[j] − r[i]) / |r[j] − r[i]|³
für jeden Körper i: ← Schritt 3
v[i] += a[i] · Δt
r[i] += v[i] · Δt
Im Sonnensystem ist Δt = 3,5 Stunden. Die Erde rückt in einem solchen Schritt um rund 375 000 km weiter, etwa ein Zweitausendfünfhundertstel ihrer Bahn; für einen Umlauf sind es 2500 Schleifendurchläufe, und Ihr Browser rechnet einige hundert davon pro Sekunde.
Und der ganze Rest dieser Seite? Jeder Schritt macht einen kleinen Fehler — die Beschleunigung ändert sich ja während der 3,5 Stunden, gerechnet wird aber mit dem Wert vom Anfang. Ob sich diese Fehler aufsummieren oder gegenseitig wegheben, hängt an einer Kleinigkeit, die man den acht Zeilen nicht ansieht: der Reihenfolge der letzten beiden.
Rechnet man zuerst den neuen Ort aus der alten Geschwindigkeit und danach die neue Geschwindigkeit — das naheliegende Euler-Verfahren —, dann gewinnt die Erde bei jedem Umlauf ein wenig Energie hinzu und entfernt sich in einer Spirale von der Sonne. Nach ein paar hundert simulierten Jahren ist das Sonnensystem sichtbar falsch. In der oben gezeigten Reihenfolge, erst die Geschwindigkeit und dann mit der neuen der Ort, passiert das nicht: Der Fehler schwankt dann um null herum, statt zu wachsen.
Diese beiden Zeilen sind schon fast das Verfahren, mit dem hier tatsächlich gerechnet wird. Warum die Reihenfolge so viel ausmacht, und wie man aus dem Kniff ein Verfahren vierter Ordnung macht, steht in Abschnitt 3. Der Rest der Seite sagt, was das Modell ehrlicherweise nicht kann und wie nachgeprüft wird, dass die Rechnung stimmt.
Simuliert wird das newtonsche N-Körper-Problem im Raum: N Punktmassen, die einander mit dem Gravitationsgesetz anziehen, und sonst nichts. Für jeden Körper i gilt
Das ist ein Hamiltonsches System. Mit den Impulsen pi = mi ṙi lautet die Energie
Dass sich H sauber in einen nur von den Impulsen und einen nur von den Orten abhängigen Teil zerlegen lässt, ist keine Formalie — genau darauf beruht das ganze Integrationsverfahren in Abschnitt 3.
Drei Szenarien rechnen in der Ebene. Die Figur-Acht, das pythagoräische Problem und das Lagrange-Dreieck sind in der Ebene gestellt, und keine Kraft in (1) führt aus ihr heraus: Eine ebene Aufstellung bleibt eben, exakt und nicht nur beinahe. Diese drei Welten haben deshalb gar keine dritte Achse — z gibt es dort nicht, die Kraftschleifen lassen die Spalte aus, und die Ansicht steht fest auf der Ebene. Gerechnet wird dabei Zeichen für Zeichen dasselbe wie im Raum: Die Bahnen sind bis aufs letzte Bit dieselben, die Rechnung ist nur um ein Zehntel bis ein Drittel schneller. Der eigentliche Gewinn ist, dass diese Lösungen nicht aus Versehen schief werden können.
Glättung. Ein einziges Szenario, der Sternhaufen, rechnet mit einer Glättungslänge ε = 1,5 AE: im Nenner von (1) steht dann (‖Δr‖² + ε²)3/2. Das dämpft die Singularität bei sehr nahen Begegnungen, die dort ständig vorkommen — 42 zufällig gezogene Sterne treffen sich sonst irgendwann mit einem Abstand, den keine Schrittweite mehr auflöst. Alle anderen Szenarien rechnen mit ε = 0, also exakt nach (1). Wichtig: die Energie (2) wird mit demselben geglätteten Potential berechnet, sonst würde das Fehlermaß etwas anderes messen als das, was tatsächlich integriert wird.
Jedes Szenario rechnet in seinem eigenen Satz aus Länge L, Masse M und Zeit T, nicht in SI. Umgerechnet werden dabei nicht die Zahlen, sondern die Konstanten:
In AE, Sonnenmassen und Jahren wird daraus G = 4π² ≈ 39,478 — das dritte Keplersche Gesetz in Reinform. Der Prüflauf rechnet genau das nach.
Der Grund ist die Fließkommaarithmetik. Ein double hat 53 Bit
Mantisse, also eine relative Auflösung von rund 10−16;
der absolute Rundungsfehler wächst mit der Größe der Zahl. In SI wäre eine
Bahnhalbachse 1011, ihre dritte Potenz 1033, das
Produkt Gm 1020 — mit Absolutfehlern in derselben
Größenordnung mal 10−16. Bleiben alle Zahlen dagegen in der Nähe
von 1, bleiben es auch die Fehler. Die Idee stammt aus der Java-Fassung von
2016 und ist der billigste Genauigkeitsgewinn im ganzen Programm.
| Szenario | Länge | Masse | Zeit | h₀ | n | Körper | Staub |
|---|---|---|---|---|---|---|---|
| Sonnensystem, simpel | AE | M☉ | Jahr | 4·10⁻⁴ a | 14 | 10 | 1400 |
| Sonnensystem, detailliert | AE | M☉ | Jahr | 1,5·10⁻⁵ a | 40 | 44 | 2848 |
| Schwarze Löcher | 1000 km | M☉ | s | 6,4·10⁻⁵ s | 26 | 2 | 2000 |
| Sgr A* | AE | M☉ | Jahr | 2·10⁻³ a | 12 | 41 | — |
| Sternhaufen | AE | M☉ | Jahr | 2·10⁻² a | 12 | 42 | — |
| Drei Sonnen | AE | M☉ | Jahr | 7,9·10⁻⁴ a | 14 | 4 | — |
| Figur-Acht | dimensionslos, G = 1 | 8·10⁻⁴ | 10 | 3 | — | ||
| Pythagoräisch | dimensionslos, G = 1 | 1,5·10⁻³ | 24 | 3 | — | ||
| Lagrange-Dreieck | dimensionslos, G = 1 | 6·10⁻⁴ | 12 | 3 | 900 | ||
Ein N-Körper-System ist ein Hamiltonsches System, und sein Fluss hat Eigenschaften, die ein beliebiges Integrationsverfahren zerstört: Er erhält das Phasenraumvolumen, er ist zeitumkehrbar, und er erhält die Energie. Ein Runge-Kutta-Verfahren vierter Ordnung ist pro Schritt genauer als das hier benutzte, verliert aber genau diese Struktur — sein Energiefehler wächst säkular, also stetig in eine Richtung. Nach einer Million Schritten ist der Planet dann nicht mehr auf seiner Bahn, sondern in einer Spirale.
Symplektische Verfahren machen den umgekehrten Handel. Sie lösen die gestellte Aufgabe nicht exakt, aber sie lösen exakt eine benachbarte: Zu einem symplektischen Verfahren der Ordnung p existiert ein modifiziertes Hamiltonsches System
dessen Bahnen die berechneten Punkte über sehr lange Zeiten treffen. Die wahre Energie H weicht davon um 𝒪(hp) ab — aber sie schwankt um diesen Betrag, statt wegzulaufen. Genau das sieht man im Ausleser „Energiefehler“: eine Zahl, die auf und ab geht und nicht wächst. Das ist der einzige Grund, warum eine Simulation im Browser über Millionen von Schritten überhaupt etwas Sinnvolles zeigen kann.
Der Grundbaustein ist der Verlet-Schritt in seiner Kick-Drift-Kick-Form. Weil H = T(p) + U(r) separabel ist, sind beide Teilflüsse einzeln exakt lösbar: unter T allein fliegen alle Körper geradeaus („Drift“), unter U allein ändern sich nur die Geschwindigkeiten („Kick“). Ihre symmetrische Verkettung ist
Das ist zweiter Ordnung, zeitumkehrbar und kostet eine Kraftauswertung je Schritt — die Beschleunigung am Ende ist die vom Anfang des nächsten. Entscheidend für die Erhaltungssätze: jede Paarkraft wirkt im selben Kick auf beide Partner, mit umgekehrtem Vorzeichen. Der Gesamtimpuls bleibt dadurch bis auf Rundung exakt erhalten, unabhängig von der Schrittweite.
Aus drei Verlet-Schritten mit passend gewählten, teils negativen Zeitanteilen entsteht ein Verfahren vierter Ordnung (Yoshida 1990). Mit ΦVh für den Verlet-Schritt (5) ist
Zahlenwerte: w₁ ≈ 1,351207, w₀ ≈ −1,702414, und 2w₁ + w₀ = 1, wie es sein muss. Der mittlere Schritt läuft also in der Zeit rückwärts — die Fehler dritter Ordnung der beiden äußeren Schritte heben sich damit gegen ihn weg. Der Preis sind drei Kraftauswertungen statt einer; er lohnt sich, weil die Schrittweite dafür deutlich größer sein darf. Beide Verfahren stehen in der Oberfläche zur Wahl, und der Unterschied im Energiefehler ist leicht zu sehen.
Pro Bild soll die Simulation immer gleich weit kommen, nämlich h₀·n₀·Tempo. Wie viele Teilschritte dafür gerechnet werden, hängt davon ab, wie schnell das Gerät ist:
λ ∈ [0,15, 1] ist die Drosselung: Braucht ein Bild länger als 11 ms, sinkt sie, unter 6,5 ms steigt sie wieder.
Die Simulation wird also nicht langsamer, wenn der Rechner nicht mitkommt, sondern ungenauer — sichtbar am Energiefehler und an der Anzeige „Schritte“ neben der Bildrate. Das ist eine bewusste Entscheidung: eine ruckelnde Bahn sieht kaputt aus, eine leicht ungenaue nicht.
In fünf Szenarien kommt eine Kopplung an die Physik dazu. Für jedes Paar lässt sich eine dynamische Zeitskala angeben, die bei nahen Begegnungen klein wird:
η = 0,002 beim Pythagoräischen Problem, 0,01 bei den drei Sonnen, 0,012 bei Sgr A*, 0,015 im Sternhaufen, 0,02 im ausführlichen Sonnensystem.
Im Sonnensystem ist (8) nicht wegen einer Begegnung da, sondern wegen der Monde. Das Minimum bilden dort nie zwei Planeten, sondern dauerhaft ein Paar: Io und Jupiter, 422.000 km auseinander, 1,77 Tage für einen Umlauf. Daraus folgt eine dynamische Zeit von 6,8 Stunden und mit η = 0,02 eine Schrittweite von 8,1 Minuten — für die ganze Rechnung, auch für Neptun, der damit gut zehn Millionen Schritte je Umlauf bekommt statt der nötigen paar hundert. Ein Verfahren mit eigener Schrittweite je Körper würde das auflösen; hier ist es der Preis dafür, dass alle Körper in einem Takt laufen. Deshalb hat die einfache Fassung des Sonnensystems keine Monde, und deshalb fehlen auch der ausführlichen die schnellsten — Phobos umkreist Mars in acht Stunden und würde die Schrittweite noch einmal fünfteln.
Ohne (8) läuft Burraus Aufgabe schlicht falsch aus: Bei zu grober Schrittweite bleiben alle drei Körper beieinander, statt dass die Masse 3 hinausgeworfen wird. Die Aufgabe war deshalb bis in die 1960er Jahre ein Prüfstein für Integratoren.
Ehrlichkeitshalber: Eine veränderliche Schrittweite bricht die Symplektizität. Die Aussage aus 3.1 — Energie schwankt, driftet nicht — gilt streng nur für konstantes h, denn zu jedem h gehört ein anderes modifiziertes H̃. Da sowohl die Drosselung (7) als auch die Kopplung (8) h laufend ändern, ist der schöne Effekt in den betroffenen Szenarien abgeschwächt. Sauber wäre eine Kopplung über eine Zeittransformation im Hamiltonian; das ist hier nicht gemacht.
Asteroidengürtel, Akkretionsscheibe und Staubring bestehen aus Teilchen mit Masse null. Sie spüren die Schwerkraft, üben aber selbst keine aus:
Die Kopplung geht nur in eine Richtung. Deshalb wächst der Aufwand für M Teilchen nur wie N·M statt wie (N+M)², und deshalb stört der Asteroidengürtel die Planeten nicht. Die Kirkwood-Lücken bei 2,50 und 2,83 AE entstehen hier folglich nicht von selbst — in der einfachen Fassung des Sonnensystems sind sie beim Ziehen der Startwerte ausgespart, echt ist nur ihre Lage. In der ausführlichen Fassung sind die Teilchen keine Ziehung, sondern 2848 wirkliche Asteroiden mit ihren gemessenen Bahnen; die Lücken stehen dort von vornherein in den Daten. Herausgerechnet werden sie auch dann nicht: Ein masseloses Teilchen spürt zwar die Resonanz mit Jupiter, aber die Millionen Jahre, die das Ausräumen gebraucht hat, laufen hier nicht ab.
Der Aufwand liegt trotzdem fast vollständig beim Staub. Im Sonnensystem stehen 45 Körperpaaren 14 000 Teilchen-Körper-Paare gegenüber, also 99,7 % der Rechenarbeit. Wer diese Simulation schneller machen will, muss genau hier ansetzen.
Bis vor Kurzem liefen die Teilchen im Takt der Körper mit: Sie wurden in jedem der drei Verlet-Teilschritte von (6) mitgezogen, bekamen also drei Kraftauswertungen je vollem Schritt. Beides ist unnötig.
Unnötig ist erstens die vierte Ordnung. Kein Ergebnis hängt von den Teilchen ab; sie sind Anschauung, nicht Messgröße. Ein gewöhnlicher Verlet-Schritt genügt. Unnötig ist zweitens die kleine Schrittweite: Die Körper zwingen sich ihre Schrittweite gegenseitig auf (das schnellste Paar bestimmt sie für alle), der Staub steht außerhalb dieser Kopplung. Im Sonnensystem ist h₀ = 4·10⁻⁴ Jahre genau die Zahl, die Merkur verlangt — der Asteroidengürtel bei 2,7 AE verträgt das Siebzehnfache.
Der Staub läuft deshalb mit der eigenen Schrittweite H = k·h, wobei k ganzzahlig ist. Damit fallen Anfang und Ende jedes Staubschritts immer auf eine Position der Körper, und es muss nichts interpoliert werden. Gerechnet wird Verlet, aber vollständig am Ende des Intervalls:
Dass die ersten beiden Zeilen erst am Ende des Intervalls ausgewertet werden, ändert am Ergebnis nichts — in ihnen stehen nur gespeicherte Größen und die verstrichene Zeit. Der Gewinn ist praktischer Natur: H muss nicht vorhergesagt werden. Ändert die Bildschleife ihre Schrittweite mittendrin, etwa weil die Drosselung λ anspringt, wird H einfach als tatsächlich verstrichene Zeit abgelesen. Es gibt keinen Fall, in dem Körper- und Staubuhr auseinanderlaufen.
Maßgeblich ist dieselbe dynamische Zeitskala wie in (8), diesmal über alle Paare aus Teilchen und Körper:
η = 1/100 bedeutet rund 2π/η ≈ 630 Schritte je Umlauf am innersten Rand der Verteilung — für masselose Deko-Teilchen reichlich. Das Minimum wird ohne zusätzliche Kosten gebildet: Es fällt in derselben Schleife an, die ohnehin jedes Paar durchläuft, und kostet dort drei Multiplikationen.
Die beiden Schranken sind wichtiger als die Formel dazwischen. Nach unten: Gerät ein Teilchen einem Körper nahe, sinkt k von selbst, notfalls bis auf 1 — die Ablenkung wird dann so fein gerechnet wie die Körper selbst. Nach oben ist k ≤ n, die Zahl der Teilschritte je Bild: Der Staub soll nie länger als ein Bild lang auf der Stelle stehen, sonst ruckelt er sichtbar, statt bloß gröber gerechnet zu werden.
Verglichen werden 300 Bilder eines Szenarios bei Tempo 1× — vorher gegen nachher, gleiche Startwerte, gleiche simulierte Zeit. Die Zahl der Kraftauswertungen hängt nur vom Verfahren ab, nicht vom Gerät:
| Szenario | Kraftauswertungen vorher | nachher | Rechenzeit |
|---|---|---|---|
| Sonnensystem | 12 600 | 467 | 12,5× schneller |
| Schwarze Löcher | 23 400 | 644 | 19,3× schneller |
| Lagrange-Dreieck | 10 800 | 1 480 | 5,7× schneller |
Das Lagrange-Dreieck zeigt den ungünstigen Fall: Sein Staubring liegt eng um drei Sterne, (11) drückt k dort immer wieder auf 1 herunter. Selbst dann bleiben 5,7× übrig — der Faktor 3 aus dem Verzicht auf die Yoshida-Verkettung trägt auch bei k = 1.
Bezahlt wird mit Genauigkeit, die niemand braucht. Im ruhenden Zentralfeld, wo die Lösung bekannt ist, hält ein Teilchen auf einer Kreisbahn seinen Radius über 14 Jahre:
| Kraftauswertungen | größte Radiusabweichung | |
|---|---|---|
| im Takt der Körper (vorher) | 105 000 | 1,1·10⁻¹² |
| eigener Schritt (jetzt) | 3 889 | 4,0·10⁻⁵ |
4·10⁻⁵ relativ sind bei einer Bahn von 3 AE und einem Bildausschnitt von 26 AE Breite etwa ein Hundertstel Pixel. Die vorherigen 10⁻¹² waren Genauigkeit, die niemand je zu sehen bekam.
Berühren sich zwei Körper — d ≤ R₁ + R₂ — werden sie zu einem. Der Stoß ist vollkommen unelastisch, Masse und Impuls bleiben erhalten:
Der neue Radius hängt davon ab, was verschmilzt. Bei Schwarzen Löchern ist der Schwarzschildradius rs = 2GM/c² proportional zur Masse, die Radien addieren sich also. Alles andere behält sein Volumen:
Beim Stoß geht die Relativbewegung verloren, die Energie springt. Über einen solchen Sprung lässt sich keine Fehlerbilanz fortführen, deshalb beginnt sie danach neu: Der Sollwert wird auf die Energie unmittelbar nach der Verschmelzung gesetzt, und der Ausleser sagt ab dann „Energiefehler seit der letzten Verschmelzung“. Der verlorene Betrag wird als Ereignis mitgeschrieben und nicht stillschweigend unterschlagen.
Ein enges Doppelsystem verliert Energie an Gravitationswellen. Die Quadrupolformel für eine Kreisbahn (Peters & Mathews 1963) gibt die abgestrahlte Leistung
Eingebaut wird sie nicht als post-newtonscher Term, sondern als Reibungskraft entlang der Relativgeschwindigkeit v = v₂ − v₁ des schwersten Paares:
Die zweite Gleichung ist der Punkt: Die Konstruktion entzieht dem System exakt die Leistung (14), und weil die beiden Kräfte entgegengesetzt gleich sind, bleibt der Gesamtimpuls erhalten. Das genügt, um die richtige Einspiralzeit zu bekommen. Für eine Kreisbahn gibt Peters (1964)
Für 36 + 29 M☉ bei 2000 km Anfangsabstand sind das 4,771 s. Die Simulation verschmilzt nach 4,774 s — 0,06 % daneben, und das ist der einzige Zweck der Übung.
Was das nicht ist. (14) gilt für eine Kreisbahn; für exzentrische Bahnen fehlt der Verstärkungsfaktor f(e) von Peters und Mathews, hier steht stattdessen der Momentanabstand r. Die Rückwirkung trifft nur das schwerste Paar, nicht jedes. Kurz vor der Berührung divergiert (14) wie r−5, und dort ist die newtonsche Näherung ohnehin am Ende — die letzten Millisekunden von GW150914 waren voll relativistisch. Und schließlich: P hängt von der Geschwindigkeit ab, nicht nur vom Ort. Der Term ist damit der einzige im ganzen Modell, der nicht aus einem Hamiltonian kommt und die Symplektizität bricht.
Der Schalter „Relativistische Korrektur“ schlägt auf die newtonsche Beschleunigung (1) einen Zusatzterm erster post-newtonscher Ordnung auf — 1PN, das erste Glied einer Entwicklung nach (v/c)². Er ist der Grund, aus dem Merkurs Perihel wandert und die Bahn von S2 um das Schwarze Loch im Galaktischen Zentrum keine geschlossene Ellipse ist. Für einen Körper am Ort r mit der Geschwindigkeit v, beides relativ zur schwersten Masse M des Systems, lautet er
r = ‖r‖, v = ‖v‖. Für c → ∞ verschwindet der Zusatz, und es bleibt genau (1) stehen.
Das ist die Schwarzschild-Näherung: Jeder Körper außer dem schwersten läuft als Testteilchen im Feld dieser einen Masse. Die vollständigen post-newtonschen Bewegungsgleichungen — nach Einstein, Infeld und Hoffmann — sind das ausdrücklich nicht. Sie wären eine Dreifachsumme über alle Körper und ließen sich gegen keinen bekannten Wert mehr sauber nachrechnen; (17) lässt sich prüfen, und deshalb steht (17) hier.
Aus derselben Näherung folgt etwas, das wie ein Versehen aussieht und keines ist: Die Zentralmasse bekommt keine Gegenkraft. Ein Testteilchen übt keine aus. Der Gesamtimpuls, den die Bauart des Verlet-Kicks (5) sonst bis auf Rundung exakt erhält, ist unter dem Zusatzterm damit nicht mehr streng erhalten. Eine Gegenkraft nachzutragen würde daran nichts verbessern: Wo sie ins Gewicht fiele, wäre bereits (17) die falsche Formel.
Der Term liefert die Drehung des Perizentrums — des Punktes, an dem der Körper der Zentralmasse am nächsten kommt — genau in der Größe, die die Allgemeine Relativitätstheorie vorhersagt:
je Umlauf, mit der großen Halbachse a und der Exzentrizität e. Im Nenner steht der Halbparameter a(1 − e²); eng und exzentrisch heißt also viel Drehung.
Merkur bekommt daraus 42,98″ je Jahrhundert; integriert man Sonne und Merkur allein über hundert Jahre, kommen 42,92″ heraus. Gemessen sind es 43″. Bei S2 um Sgr A* liefert die Integration 11,999′ je Umlauf — die GRAVITY Collaboration hat den Vorschub an dieser Bahn 2020 nachgewiesen und dabei 1,10 ± 0,19 mal den vorhergesagten Wert von 12,1′ gefunden.
In genau diesen beiden Szenarien — Sonnensystem und Sgr A* — ist der Term deshalb von Anfang an eingeschaltet. Beide geben gemessene Bahnen wieder, und beide sind die Aufstellung, für die (17) gemacht ist: eine schwere Masse, um die herum alles andere leicht ist. Ohne den Term liefe die Rechnung um einen Betrag daneben, der seit 1859 bekannt ist. Abschalten lässt er sich, und die Wahl bleibt stehen.
Anderswo steht er dagegen gar nicht zur Wahl. „Beherrschend“ ist eine Masse, wenn die schwerste neben ihr höchstens ein Hundertstel von ihr wiegt: Genau dieses Verhältnis ist der Fehler, den (18) mit M statt M + m macht, und ein Hundertstel hält ihn unter einem Prozent. Sonne gegen Jupiter sind 1:1047, Sgr A* gegen die masselos mitlaufenden S-Sterne unendlich. Die beiden Schwarzen Löcher mit 36 gegen 29 Sonnenmassen sind es nicht, die drei Sonnen und der Sternhaufen erst recht nicht — und ein im Editor ins Sonnensystem geworfenes Loch von zehn Sonnenmassen nimmt der Sonne die Vorherrschaft ebenfalls. Dort gäbe (17) nur noch die Größenordnung der Korrektur her; eine Zahl, die wie Physik aussieht und keine ist, ist schlechter als gar keine, und deshalb verschwindet mit dem Bezugskörper auch das Kästchen.
In der Anzeige steht dafür die Zeile „Perizentrum“. Sie rechnet diese Zahl, sie misst sie nicht, und das ist die ehrlichere Angabe: Merkurs Perihel dreht sich um 574″ je Jahrhundert, und nur 43″ davon stammen aus (17). Am Bild abgelesen wäre die Drehung deshalb überwiegend die newtonsche Störung der übrigen Planeten — und man müsste für sie ein Jahrhundert simulieren. (18) ist dagegen genau die Aussage des eingeschalteten Terms, ausgewertet an den Bahnelementen des Augenblicks. Angezeigt wird der Körper, bei dem sie am größten ausfällt, dazu die seit dem Start aufgelaufene Summe. Ungebundene Bahnen bleiben dabei außen vor — S111 im Galaktischen Zentrum etwa: Ein Perizentrum, das nicht wiederkommt, dreht sich nicht „je Umlauf“.
(17) hängt von v ab, nicht nur von r. Damit ist der Schluss-Kick des Verlet-Schritts (5) implizit — die Geschwindigkeit, die herauskommen soll, steht schon auf der rechten Seite:
aN ist die newtonsche Beschleunigung aus (1), a1PN der Zusatz aus (17).
Gelöst wird das als Fixpunkt: rechte Seite auswerten, das Ergebnis wieder einsetzen, fertig. Die Iteration konvergiert mit demselben Faktor, um den der Zusatz kleiner ist als das newtonsche Feld, also mit (v/c)² — 10−8 im Sonnensystem, 10−4 bei S2. Zwei Durchläufe liegen damit überall unter der Rundung des Zahlenformats; ein Abbruchkriterium wäre teurer als der Durchlauf, den es einspart.
Der eigentliche Kunstgriff ist, was dabei nicht mititeriert. aN ist die Paarschleife aus (1) — der teure Teil, der mit dem Quadrat der Körperzahl wächst —, und sie hängt allein von den Orten ab. Nach dem Drift steht sie fest. Sie wird einmal ausgewertet und gemerkt; die Schleife darüber fasst nur den Zusatzterm an, und der ist eine Rechnung je Körper gegen die Zentralmasse, wächst also bloß linear. Die Zahl der teuren Kraftauswertungen je Schritt bleibt damit genau dieselbe wie ohne den Schalter — die Iteration kostet fast nichts. Yoshida (6) erbt die ganze Konstruktion umsonst, weil ein Yoshida-Schritt aus drei Verlet-Schritten besteht.
Runge-Kutta vierter Ordnung wäre der naheliegende Ausweg — ein explizites Verfahren, dem geschwindigkeitsabhängige Kräfte nichts ausmachen — und wurde verworfen. Es ist nicht symplektisch: Die Energie driftet säkular, statt um einen festen Wert zu schwanken (3.1). Das würde ausgerechnet die Kennzahl ruinieren, an der diese Seite ihre Qualität misst, und zwar in jedem Szenario — um eines Terms willen, der in den meisten davon in der achten Stelle steht.
Umsonst ist die Iteration trotzdem nicht zu haben. Ein Kick, dessen Beschleunigung von der Geschwindigkeit abhängt, kommt nicht mehr aus einem Hamiltonian, und der Schritt ist damit nicht mehr streng symplektisch — dieselbe Einschränkung, die schon für den Reibungsterm (15) gilt. Im ausführlichen Sonnensystem kostet das knapp eine Größenordnung Energiefehler: 6,3·10−14 mit ausgeschaltetem Schalter, 6,6·10−13 mit eingeschaltetem. Das bleibt gut neun Zehnerpotenzen unter dem Wert, ab dem sich die Anzeige färbt.
Wer einen Term zur Beschleunigung addiert, muss auch die Erhaltungsgröße nachziehen — sonst zeigte der Energiefehler (Abschnitt 8) einen systematischen Versatz an, obwohl nichts kaputt ist. Je Körper und Einheitsmasse ist die erhaltene Größe
wieder mit r und v relativ zur Zentralmasse. Die ersten beiden Summanden sind die newtonsche Energie, die in (2) ohnehin steht; die eckige Klammer ist der Zusatz.
Dass er zählt, sieht man am besten daran, was ohne ihn dastünde: im Sonnensystem 3,6·10−10 statt 1,3·10−11 (Fassung „simpel“) und 2,0·10−10 statt 6,6·10−13 („detailliert“), also das 28- beziehungsweise 302-fache. Nicht die Kleinheit des Terms hält die Zahl klein, sondern dass er in der Bilanz steht. Wer den Schalter im Lauf umlegt, sieht das Gütemaß deshalb auch nicht springen: Der Sollwert zieht um genau den Betrag mit, um den sich der Energieausdruck ändert. Der bis dahin aufgelaufene Verfahrensfehler bleibt stehen — verschwiege man ihn, wäre die Anzeige wertlos.
(20) gilt für ein Testteilchen, und das ist keine Nachlässigkeit, sondern dieselbe Näherung wie in (17). Die allgemeine 1PN-Energie zweier Körper hat einen vierten Summanden ½(GM/r)ṙ², davor aber das Massenverhältnis ν = m₁m₂/(m₁ + m₂)² — und das ist null, solange der Begleiter als Testteilchen läuft. Der Summand fällt hier also weg.
Nachprüfen lässt sich das nicht an einem einzelnen Zahlenwert, sondern nur an der Ordnung des Restes. Mit (20) schrumpft die Schwankung der Gesamtenergie auf einer Bahn mit e = 0,4 wie 1/c⁴ und auf der Kreisbahn wie 1/c⁶ — genau um die Ordnung, die als nächste fehlt (2PN). Nimmt man den vierten Summanden dazu, bleibt stattdessen ein Rest von 1/c²-Ordnung stehen, so groß wie der Korrekturterm selbst. Der Unterschied ist ein Faktor 16 gegen 4 bei jeder Verdopplung von c, und er ist der Unterschied zwischen einer Näherung und einem Rechenfehler.
Überall dort, wo das Szenario mit einer endlichen Lichtgeschwindigkeit rechnet: im Sonnensystem in beiden Fassungen, bei Sgr A* und den S-Sternen, bei den Schwarzen Löchern und auf der leeren Bühne in ihren beiden maßstäblichen Fassungen. Bei „Drei Sonnen“ und im Sternhaufen gibt es ihn nicht — dort ist keine Masse dominierend, und (17) wäre eine Zahl ohne Aussage. Die dimensionslosen Modellfälle (Figur-Acht, pythagoräisches Problem, Lagrange-Dreieck) haben ohnehin kein c; für sie ist die Frage gar nicht gestellt. Der Staub bekommt den Term überall dort mit, wo die Körper ihn bekommen — ein Staubkorn ist der Fall, für den die Näherung eigentlich gemacht ist —, allerdings ohne die Iteration aus (19): Er läuft mit seiner eigenen, gröberen Schrittweite (Abschnitt 4), und nichts hängt von ihm ab.
Was das nicht ist. (17) ist die Näherung um eine beherrschende Masse, nicht die vollständige post-newtonsche Bewegungsgleichung: keine EIH-Gleichungen, keine post-newtonsche Wechselwirkung der Begleiter untereinander, keine Gegenkraft auf die Zentralmasse. Die Reihe bricht nach dem ersten Glied ab — die zweite Ordnung fehlt. Es gibt keine Lichtlaufzeiten: Die Anziehung wirkt augenblicklich wie im newtonschen Modell. Es gibt keine Lichtablenkung und keine Zeitdilatation; gezeichnet wird, wo die Körper stehen, nicht was ein entfernter Beobachter sähe. Und bei den Schwarzen Löchern, 36 gegen 29 M☉, gäbe der Term nur noch die Größenordnung der Korrektur her und nicht die Korrektur: Das ist kein Testteilchen im Feld einer Zentralmasse, sondern ein Doppelsystem aus zwei vergleichbar schweren Körpern. Dort steht er deshalb nicht zur Wahl.
Der Ausleser „Energiefehler“ ist das Gütemaß der laufenden Rechnung. Er vergleicht die aktuelle Gesamtenergie (2) nicht mit ihrem Startwert, sondern mit dem Wert, den sie haben sollte:
Abgestrahlte Energie wird also herausgerechnet, und nach einer Verschmelzung wird die Bilanz neu aufgesetzt. Übrig bleibt der reine Verfahrensfehler. Größenordnungen im laufenden Betrieb: 10−14 beim Sonnensystem und beim Lagrange-Dreieck, 10−6 beim Einspiral der Schwarzen Löcher — dort ist die Reibung (15) selbst die Fehlerquelle. Ab 10−3 färbt sich die Anzeige.
Drei Dinge stehen ausdrücklich nicht in dieser Bilanz: die masselosen Testteilchen (sie tragen keine Energie), der Impuls (er ist durch die Bauart von (5) ohnehin erhalten) und der Drehimpuls L = Σ mi (xivy,i − yivx,i), der zwar berechnet werden kann, aber nirgends angezeigt wird.
Die gemessenen Szenarien bekommen ihre Startwerte als Bahnelemente und müssen daraus Orte und Geschwindigkeiten machen. Mit dem Bahnparameter p = a(1 − e²) und der wahren Anomalie ν ist im Perizentrumssystem
Anschließend wird um die Länge des Perizentrums ϖ gedreht. Wo ein Körper auf seiner Bahn steht, folgt aus der Zeit: Die mittlere Anomalie M = n(t − tperi) wächst gleichförmig, die wahre Anomalie nicht. Dazwischen steht die Keplergleichung, die nur numerisch aufzulösen ist — hier mit dem Newton-Verfahren, Abbruch bei 10−14:
Der ungebundene Fall ist nicht der Vollständigkeit halber da: S111 im Galaktischen Zentrum hat nach Gillessen et al. die Exzentrizität 1,09 und verlässt das Zentrum tatsächlich. Bei sehr langgestreckten Bahnen — die S-Sterne gehen bis e = 0,98 — startet die Iteration bei π statt bei M, sonst springt sie weg.
Nach (22) liegt die Bahn noch in ihrer eigenen Ebene. Wie diese Ebene im Raum steht, sagen drei weitere Winkel, und sie werden als drei Drehungen angebracht:
Ω Knotenlänge, i Neigung, ω Argument des Perizentrums.
Ein rückläufiger Umlauf braucht dabei keine Sonderbehandlung: Er folgt aus einer Neigung über 90° von selbst. Halley steht mit seinen 162° also tatsächlich auf dem Kopf, zieht seine Bahn gegen die Planeten und taucht dabei fast zehn AE unter deren Ebene. Die 40 S-Sterne stehen zufällig im Raum, 22 von ihnen rückläufig — was in einer ebenen Rechnung ein Durcheinander gewesen wäre, ist im Raum genau das, was gemessen wurde.
Nachgeprüft wird das auf einem anderen Weg als dem, auf dem es entstanden ist: Aus dem fertigen Zustandsvektor werden über den Drehimpuls h = r × v, den Knotenvektor und den Exzentrizitätsvektor alle sechs Elemente zurückgerechnet. Sie stimmen auf 2·10⁻¹⁴.
Die knapp dreitausend Asteroiden der ausführlichen Fassung des Sonnensystems kommen aus einer anderen Quelle als die Planeten, und deren Elemente gelten zu einer anderen Epoche — gut fünf Monate später. Ihre Orte dürfen deshalb nicht einfach übernommen werden. Zusammengeführt wird über die mittlere Anomalie, die als einzige der sechs Größen gleichförmig wächst:
Das ist eine rein keplersche Fortschreibung: Sie tut so, als zöge in diesen fünf Monaten nur die Sonne. Für den Anfangszustand eines Gürtelasteroiden reicht das — danach rechnet die Simulation ohnehin mit allen Kräften, und ein einzelner Asteroid ist als masseloses Testteilchen kein Messobjekt, sondern einer von dreitausend Punkten, die zusammen die Form des Gürtels ergeben. Der Unterschied zwischen den Zeitskalen UTC und TDB, gut siebzig Sekunden, bleibt unberücksichtigt; er verschöbe die mittlere Anomalie um zwei Zehntausendstel Grad.
Die Monde bringen eine zweite Art von Zusammenführung mit: Ihre Elemente beziehen sich nicht auf die Sonne, sondern auf den Mittelpunkt ihres Planeten. In (22) gehört dann die Summe aus Planeten- und Mondmasse in den Zähler, und der fertige Zustandsvektor wird auf den des Planeten addiert. Dass dabei wirklich der Planet steht und nicht die Sonne, wird gegen die von der Quelle mitgelieferte Umlaufzeit geprüft — mit der Sonnenmasse käme für den Erdmond ein Jahr statt eines Monats heraus.
Eine Umrechnung noch, weil sie hübsch ist: Gillessen et al. geben die großen Halbachsen in Bogensekunden am Himmel an. In der Entfernung d (in Parsec) entspricht eine Bogensekunde gerade d Astronomischen Einheiten — bei 8,32 kpc also 8320 AE.
Startwerte müssen nicht aus einer Quelle kommen: Der Editor erlaubt es, Körper einzusetzen, zu entfernen und zu verändern — ein Schwarzes Loch quer durch das Sonnensystem etwa. Für das Verfahren ändert sich dadurch nichts, für seine Voraussetzungen aber zweierlei.
Die Schrittweite ist nicht mehr die gewählte. Jede Aufstellung dieser Seite hat eine Schrittweite, die zu ihr passt (Abschnitt 3.4). Ein eingeworfener Körper kann einem anderen beliebig nahe kommen, und bei einem Vorbeiflug auf ein Hundertstel AE hilft es nicht, die Schrittweite um den Faktor vier zu verkleinern: Die dynamische Zeit der Begegnung liegt dann Größenordnungen unter dem Schritt, und der Fehler ist nicht mehr eine Frage der Ordnung des Verfahrens, sondern der Auflösung. Eine bearbeitete Aufstellung koppelt ihre Schrittweite deshalb immer an die kürzeste dynamische Zeit, auch wo die unbearbeitete das nicht tut. Beim genannten Vorbeiflug macht das den Unterschied zwischen einem Energiefehler von 2·10⁻³ und einem von 5·10⁻⁸.
Der Schwerpunkt ruht nicht mehr. Alle Szenarien werden nach dem Aufbau so verschoben, dass der Schwerpunkt im Ursprung liegt und der Gesamtimpuls null ist — sonst wandert das ganze System aus dem Bild. Eine bearbeitete Aufstellung wird nicht zentriert: Sonst verschöbe jede Eingabe alle anderen Körper, und der eingetippte Ort wäre nicht der, der danach im Feld steht. Der Schwerpunkt trägt dann im Allgemeinen einen Impuls und wandert; weil die Kamera ihm folgt, fällt es nicht auf. Die Erhaltungsgrößen gelten unverändert, sie haben nur nicht mehr die bequemen Werte null.
Am Energiefehler in der Anzeige ändert das nichts: Er misst weiter, was Abschnitt 8 beschreibt. Er ist gerade bei selbst gebauten Aufstellungen die wichtigste Zahl auf dem Bildschirm — wer zwei Körper aus der Ruhe übereinander setzt, sieht dort sofort, dass das Ergebnis nichts bedeutet.
Jede Aussage dieser Seite lässt sich gegen etwas Bekanntes prüfen — gegen eine analytische Formel, ein Ergebnis aus der Literatur oder einen Messwert. Genau das passiert bei jeder Änderung, und was die Prüfung nicht besteht, wird nicht veröffentlicht.
| Prüfung | Ergebnis |
|---|---|
| G in AE³/(M☉·a²) | 39,478 gegen 4π² = 39,478 |
| Erde nach einem Jahr | 0,0008° neben dem Perihel, Energiefehler 2·10⁻¹⁵ |
| Verschmelzung der Schwarzen Löcher | 4,774 s gegen 4,771 s aus (16) |
| Merkurs Periheldrehung, integriert | 42,92″ je Jahrhundert gegen gemessene 43″ |
| dieselbe Drehung aus (18) | 42,98″ je Jahrhundert |
| Perizentrumsdrehung von S2 um Sgr A* | 11,999′ je Umlauf gegen 12,1′ (GRAVITY 2020) |
| Figur-Acht nach einer Periode | 2·10⁻⁸ Längeneinheiten Abweichung |
| Pythagoräisches Problem | wirft die Masse 3 aus (Szebehely & Peters 1967) |
| Staubschritt fasst zusammen | 1400 Kraftauswertungen auf 12 600 Körperschritte |
| Kreisbahnen im Staub | 2,4·10⁻⁵ Radiusabweichung nach 5 Jahren |
| Umlaufzeiten aus den Horizons-Halbachsen | Merkur 0,241 a, Jupiter 11,863 a, Neptun 165,2 a |
| Umlaufzeiten der 16 Monde aus Halbachse und Planeten-GM | größte Abweichung 0,20 % |
| Kirkwood-Lücken im gemessenen Gürtel | bei 2,50 AE 4 Asteroiden gegen 75 im Nachbarband, bei 3,27 AE 2 gegen 248 |
| Trojaner | 247 stehen 60° vor Jupiter, 160 hinter ihm, 3 sonstwo |
| S2 aus den Gillessen-Elementen | a = 1044 AE, e = 0,8839, Umlaufzeit 16,3 a gegen 16,0 a |
| Vollständige Anwendung | 400 Bilder gegen einen DOM-Ersatz, jedes Szenario, alle Bedienelemente |
Die Umlaufzeiten der S-Sterne, die sich aus Halbachse und Zentralmasse ergeben, liegen ein bis zwei Prozent neben den in derselben Arbeit angegebenen. Das ist kein Rechenfehler: Die Größen stammen aus einer gemeinsamen Anpassung mit zusammenhängenden Unsicherheiten, und die Entfernung allein ist nur auf zwei Prozent genau. Wo ein Stern steht, folgt deshalb aus seiner gemessenen Umlaufzeit, nicht aus der Halbachse.