Das Mehrkörperproblem in der Astronomie/ Druckversion
Michael Oestreicher
Das Mehrkörperproblem
in
der Astronomie
https://de.wikibooks.org/wiki/Das_Mehrkörperproblem_in_der_Astronomie/
– Das Mehrkörperproblem in der Astronomie
Mehrkörpersysteme in der Astronomie
BearbeitenDie kosmische Hierarchie
BearbeitenWie bereits seit langem bekannt, sind die Himmelskörper nicht regellos im Universum verteilt, sondern innerhalb von Systemen höchst unterschiedlicher Größe und Struktur angeordnet. Monde umkreisen Planeten, diese wiederum bewegen sich um Zentralgestirne. Die Sterne selbst sind ebenfalls keine Einzelgänger. Sehr häufig umkreisen sich zwei Sterne gegenseitig, bilden also ein sogenanntes Doppelsternsystem. Ein Beispiel hierfür ist Sirius, der hellste Stern am Nachthimmel, welcher einen sehr lichtschwachen Begleiter in Gestalt eines weißen Zwerges besitzt. Doch auch Mehrfachsysteme kommen vor. So besteht Castor, das hellste Objekt im Sternbild Zwillinge, in Wahrheit aus 6 Sternen: drei äußerst enge Paare, die um einen gemeinsamen Schwerpunkt laufen, wie Struve (1952) [1] erkannte.
Selbst solche Objekte stehen in der Hierarchie der Sternsysteme freilich noch fast ganz unten. Mehr als 1000 sogenannte offene Sternhaufen sind bekannt, ziemlich dichte Ansammlungen von typischerweise mehreren 100 Sternen. Ein typischer Vertreter sind die Plejaden, das Siebengestirn, für welches Jones (1970) [2] 340 zugehörige Objekte bis zur 15.Größenklasse (entsprechend Hauptreihensternen des Spektraltyps K) auflistet. Aktuelle Beobachtungen von Bouy und anderen (2015) [3], welche auch sehr lichtschwache Rote und Braune Zwerge berücksichtigen, lassen sogar 2100 Mitglieder erkennen. Besonders spektakulär erscheinen dem Beobachter die Kugelhaufen, wo hunderttausende von Sternen auf so engem Raum angeordnet sind, dass diese selbst mit leistungsstarken Instrumenten häufig nur am Randbereich des Systems noch als Individuen erkannt werden können. 47 Tucanae im Sternbild Tukan ist eines der schönsten Beispiele.
Einzel-, Doppel- und Mehrfachsterne sowie Kugel- und offene Sternhaufen finden sich wiederum zu Galaxien unterschiedlicher und oft sehr komplexer Gestalt zusammen. Spiralgalaxien wie die Andromedagalaxie bestehen aus drei Komponenten: einer im Vergleich zu ihrem Durchmesser sehr dünnen Scheibe (welche die Spiralarme und offenen Sternhaufen enthält), einer linsenförmigen Verdickung im Zentrum (auch in der deutschen Literatur oft mit dem englischen Begriff Bulge bezeichnet) sowie einem annähernd kugelsymmetrischen Halo (wo sich die Kugelhaufen befinden). Balkenspiralgalaxien ähneln den einfachen Spiralgalaxien, doch unterscheiden sie sich von diesen dadurch, dass die Spiralarme an einer balkenförmigen Struktur ansetzen. Unsere eigene Milchstraße, lange Zeit als gewöhnliche Spiralgalaxie betrachtet, könnte laut Benjamin (2008) [4] ebenfalls ein Balkensystem darstellen. Sowohl gewöhnliche als auch Balkenspiralen können mehrere hundert Milliarden Sterne enthalten. Darüber hinaus enthalten sie große Mengen an interstellarer Materie in Form von Gas und Staub. Den Löwenanteil an ihrer Masse aber scheint dunkle Materie zu stellen, die sich allein durch ihre Gravitationswirkung verrät.
Zum Ensemble der großen Sternsysteme gehören auch elliptische Galaxien. Wie der Name bereits andeutet, weisen sie die Gestalt eines Ellipsoids auf, ohne dabei wie Spiralgalaxien auffällige Strukturen zu zeigen. Elliptische Systeme sind oft noch massereicher als Spiralgalaxien, wobei wiederum dunkle Materie zu dominieren scheint. Der Anteil interstellarer Materie ist oft sehr gering.
Mit der Verfügbarkeit immer größerer und damit lichtempfindlicherer Teleskope sind in den letzten Jahrzehnten neben den großen verstärkt die Zwerggalaxien ins Blickfeld der Forschung gerückt, wobei als bekannteste Vertreter die Magellanschen Wolken zu nennen sind. Hinsichtlich ihrer Größe und Sternanzahl stehen sie zwischen den Kugelhaufen und den großen Galaxien. Meist sind sie von elliptischer oder unregelmäßiger Gestalt, wohingegen Zwergspiralen selten sind. Zwergsysteme weisen im Vergleich zu großen Galaxien meist einen geringeren Anteil interstellarer Materie auf, werden dafür aber um so mehr von dunkler Materie beherrscht.
Trotz ihrer gewaltigen Dimensionen stellen selbst die Galaxien noch nicht das Ende der Stufenleiter dar, sie ordnen sich vielmehr in eine noch höhere Hierarchie ein. Große Galaxien wie die Milchstraße halten sich einen Hofstaat von mehreren Zwerggalaxien (so sind die eben erwähnten Magellanschen Wolken gravitativ an die Milchstraße gebunden). Mehrere solche von kleinen Satelliten umgebene sowie einzelne Galaxien schließen sich weiter zu Galaxienhaufen zusammen, zum Beispiel bilden die von der Milchstraße und der Andromedagalaxie definierten Satellitenysteme zusammen mit einigen weiteren Galaxien die Lokale Gruppe. Galaxienhaufen können bis zu einige 1000 Galaxien enthalten.
Die Galaxienhaufen schließlich bilden die größten bekannten Systeme des Universums, die sogenannten Superhaufen. Der uns am nächsten stehende ist der Virgo-Superhaufen, zu welchem auch die Lokale Gruppe gerechnet wird. Selbst auf dieser höchsten Ebene liegt keine irreguläre Verteilung der Materie vor. Haufen und Superhaufen scheinen vielmehr sich entlang von Filamenten anzuordnen, zwischen denen sich riesige, kaum Galaxien enthaltende Leerräume befinden.
Um die Entstehung und Dynamik all dieser Strukturen zu verstehen, hat sich die Simulation von Mehrkörpersystemen als sehr nützliches Werkzeug erwiesen. Im Prinzip stellt man hierbei das zu untersuchende System als ein Ensemble von Massepunkten dar und berechnet mit bestmöglicher Genauigkeit, wie sich diese infolge ihrer wechselseitigen Anziehungskraft bewegen. Welches reale Objekt dabei einem Massepunkt entspricht, hängt von der betrachteten Hierarchieebene ab. Interessiert man sich für die Vorgänge innerhalb eines Sternhaufens, so repräsentiert jeder Massepunkt einen Stern. Gegebenenfalls um einen Stern laufende Planeten sind dagegen aufgrund ihrer im Vergleich zum Zentralgestirn geringen Masse in der Regel irrelevant. Zudem ist die Ausdehnung ihrer Bahnen viel kleiner als der typische Abstand selbst zum nächsten Stern. Von der Ebene eines Sternhaufens betrachtet, darf ein Stern mitsamt seines Planetensystems somit als ein einziger Körper behandelt werden. Will man großräumige Strukturen des Kosmos untersuchen, so entspricht einem Massepunkt eine Galaxie, wenn nicht gar ein ganzer Galaxienhaufen. Die exakte Verteilung der Sterne innerhalb der Galaxien ist für die relative Bewegung der Galaxien und erst recht der Galaxienhaufen untereinander zumeist bedeutungslos.
Oft reicht es zur Erklärung bestimmter Strukturen jedoch nicht aus, lediglich mit einem Ensemble von Massepunkten als Modell zu arbeiten, die unter wechselseitigem Einfluss der Schwerkraft stehen. Auch anderer Phänomene, wie etwa hydrodynamische Vorgänge oder Strahlung, spielen häufig eine wichtige Rolle. Man nimmt beispielsweise an, dass ein offener Sternhaufen aus einem durch Masseanziehung bedingten Kollaps einer großen, kalten Wolke aus molekularem Wasserstoff hervorgeht. Im Verlauf eines solchen Zusammenbruchs zerfällt die Wolke zu kleineren Klumpen, aus denen schließlich einzelne, z.T. sehr massereiche Sterne entstehen. Solche geben jedoch eine intensive ultraviolette Strahlung ab und ionisieren dadurch ihre Umgebung. Zusätzlich verdrängen sie, durch Strahlungsdruck und Sternwind, das sie umgebende Gas. Nach wenigen Millionen Jahren zerplatzen die ersten sehr massereichen Sterne durch Supernova-Explosionen. Durch die dabei entstehenden Schockwellen wird viel Gas aus dem noch jungen Sternhaufen herausgeschleudert. Die anfänglich sehr aktive Sternentstehung kommt durch diese Verluste an Rohmaterial mehr und mehr zum Erliegen.
Die Simulation von Mehrkörpersystemen wird auch, aber nicht nur, durch den Einfluss solch zusätzlicher Effekte häufig sehr komplex. In bestimmten Fällen ist die Ersetzung realer Himmelskörper durch Massepunkte auch schlicht nicht zulässig. Ein frappantes Beispiel ist der Sternhaufen R136 im Tarantelnebel, welcher die Zentralregion der Großen Magellanschen Wolke darstellt. Dieser Haufen enthält Sterne so hoher Leuchtkraft, dass man von Einzelmassen von bis zu 300 Sonnenmassen ausgehen muss, was nach der aktuellen Theorie der Sternentstehung eigentlich unmöglich ist. Jedoch ist die Sterndichte in diesem Haufen so hoch, dass gemäß Fuji und Portegies Zwart (2013) [5] tatsächlich einzelne Mitglieder miteinander kollidieren und so zu Objekten weit höherer Masse verschmelzen können.
Die Simulation unterschiedlicher Typen von Mehrkörpersystemen im Kosmos soll in diesem Buch detailliert behandelt werden. Dabei wird ausschließlich das Modell unter der Schwerkraft sich bewegender Massepunkte zum Einsatz kommen, da es trotz aller hier skizzierten Vereinfachungen viele Beobachtungen korrekt wiedergeben kann. Zunächst werden die dafür unentbehrlichen physikalischen Grundlagen erläutert, anschließend allgemeine Verfahren für das Lösen von Bewegungsgleichungen vorgestellt. Ein großer Nachteil des auf Massepunkten beruhenden Modells besteht darin, dass sich solche Punkte beliebig nahe kommen könnten und dann im Prinzip unbegrenzt große Anziehungskräfte aufeinander ausüben würden. Wie dieses Problem umgangen werden kann, wird in einem eigenen Kapitel dargelegt. Eine weitere Schwierigkeit für astronomische Mehrkörpersimulationen erwächst aus der Tatsache, dass wegen der großen Reichweite der Gravitation jedes Mitglied eines solchen Systems auf alle übrigen Angehörigen einwirkt. Bei einer auf einem Standard-Verfahren beruhenden Lösung der Bewegungsgleichungen wächst der Rechenaufwand daher mit dem Quadrat der Anzahl der Massepunkte. In einem weiteren Kapitel werden deshalb Algorithmen vorgestellt, welche eine wesentlich effizientere Behandlung von Mehrkörpersystemen gestatten. Im letzten Kapitel wird erläutert, wie sich diese optimierten Lösungsverfahren auf tatsächlich beobachtete Ensembles vom Planetensystem bis herauf zum Universum als Ganzes anwenden lassen.
Grundlagen
BearbeitenIm Folgenden soll ungeachtet aller hier angedeuteten Komplikationen die Schwerkraft als einzige in einem Mehrkörpersystem wirkende Kraft berücksichtigt werden. Zudem sollen - abgesehen von einigen Diskussionen in speziellen Abschnitten - alle Körper als ideale Massenpunkte betrachtet werden. Damit wird indirekt angenommen, dass der Abstand zweier Sterne stets sehr viel größer ist als ihr Durchmesser. Bevor mögliche Lösungsansätze im Detail besprochen werden, sollen zuvor einige für deren Verständnis unentbehrliche Grundbegriffe skizziert werden.
- Vektoren und Skalare
- Mittlere und momentane Geschwindigkeit
- Mittlere und momentane Beschleunigung
- Das Newtonsche Kraftgesetz
- Das Newtonsche Gravitationsgesetz
- Energieerhaltung
- Ruck
Vektoren und Skalare
BearbeitenBei vielen der in einem Sternsystem interessierenden Größen, z.B. den Geschwindigkeiten der einzelnen Mitglieder, kommt es nicht nur auf den Betrag an, sondern auch auf die Richtung, in welche die Massenpunkte sich bewegen - wie bei einer Autofahrt, wo man sich nicht nur Gedanken darüber macht, wie viele Kilometer man pro Stunde zurücklegen will, sondern auch darüber, welchen Weg man einschlagen muss, um an das Ziel zu gelangen. Solche Größen werden als Vektoren bezeichnet. Dagegen kann man einer Größe wie der Masse keine Richtung zuordnen. Eine solche Größe nennt man Skalar.
Vektoren werden in der Regel durch einen Pfeil über dem Größensymbol gekennzeichnet. Diskutiert man z.B. die Geschwindigkeit einschließlich ihrer Richtung, so schreibt man .
Komponentendarstellung und Betrag eines Vektors
BearbeitenDie Tatsache, dass Vektoren eine Richtungsangabe beinhalten, führt zwangsläufig dazu, dass solche aus mehreren Komponenten bestehen. Will man z.B. von Nürnberg nach Frankfurt gelangen, muss man sich in nordwestliche Richtung bewegen. Die Angabe "Nordwesten" aber schließt bereits zwei Komponenten ein, nämlich "Westen" und "Norden". Man könnte diese durch kartesische Koordinaten wiedergeben, in dem man z.B. die West-Ost-Richtung als x-Achse und die Süd-Nord-Richtung als y-Achse darstellt. Der von Nürnberg nach Frankfurt zielende Vektor hätte dann eine in negative x-Richtung zeigende Komponente und eine etwa gleich große in positive y-Richtung weisende.
Im Alltag kommt man meist mit zwei Richtungskomponenten aus. In einem Sternsystem dagegen mit voller räumlicher Bewegung der einzelnen Massenpunkte sind drei Komponenten erforderlich, zu der x- und y-Achse tritt die z-Achse als weitere kartesische Komponente hinzu. Will man die einzelnen Komponenten eines Vektors auflisten, so verwendet man oft folgende Schreibweise:
, und sind dabei die Geschwindigkeiten in Richtung der drei kartesischen Achsen.
Nicht nur die Geschwindigkeit, auch der Ort eines Körpers ist ein Vektor, denn für eine Ortsangabe werden gleichfalls mehrere Komponenten benötigt. Auf der Erde genügen dazu der Längen- und Breitengrad. In einem Sternsystem müssen abermals drei Komponenten angegeben werden, wobei man als Bezugspunkt zumeist den Schwerpunkt wählt (dieser ist, wie im letzten Abschnitt dieses Unterkapitels dargelegt wird, der auf die Verteilung der einzelnen Massen bezogene Mittelpunkt des Systems). Man schreibt dann z.B.
Der Ortsvektor bezeichnet demgemäß die Richtung, in welcher man vom Ursprung aus zu dem gewünschten Objekt schauen muss.
Den Betrag eines Vektors kann man aus seinen Komponenten mittels des Satzes des Pythagoras berechnen. Um kenntlich zu machen, dass man den Betrag meint ohne Richtungsangaben, lässt man entweder den Pfeil über dem Größensymbol weg (schreibt also z.B. einfach ) oder umgibt die als Vektor markierte Größe mit Betragsstrichen (z.B. ). Auf den Geschwindigkeitsvektor angewandt liefert der Satz des Pythagoras den Absolutwert der Gesamtgeschwindigkeit:
Im Falle des Ortsvektors gewinnt man den Abstand eines Massenpunktes vom Schwerpunkt des Systems.
Vektoren stellt man sich anschaulich oft als Pfeile vor. Die Komponenten geben die Richtung an, nach welcher der Pfeil orientiert ist, der Betrag dessen Länge.
Im Verlauf einer Mehrkörpersimulation müssen Betragsberechnungen sehr häufig durchgeführt werden, so dass es angebracht ist, dafür eine eigene Prozedur zu definieren. Übergeben wird dieser der vektor, dessen Betrag zu bestimmen ist. vektor ist ein Array, das drei Double stellvertretend für die drei kartesischen Komponenten enthält. Der Rückgabewert ist ebenfalls vom Typ Double.
double betrag (double *vektor)
{
return (sqrt (pow (vektor[0],2) + pow (vektor[1],2) + pow (vektor[2],2)));
}
Die wichtigste Anwendung dieser Prozedur besteht in der Berechnung des Abstands zweier Körper. Zunächst bestimmt man dafür den Differenzvektor der Ortsvektoren der beiden Objekte und anschließend dessen Betrag.
Nicht nur für obige, sondern auch für alle nachfolgend in diesem Buch besprochenen Prozeduren werden für reelle Zahlen (Gleitkommazahlen) Variablen des Datentyps Double verwendet. Zwar werden mit diesem Datentyp für jede Gleitkommazahl 8 Byte Speicherplatz benötigt, doch werden mit einer Genauigkeit von 15-16 Dezimalstellen Rundungsfehler minimiert, was wegen der bei einer Mehrkörpersimulation auftretenden großen Zahl von Rechenoperationen von großer Wichtigkeit ist. Mit dem Datentyp Float kommt man mit 4 Byte pro reelle Zahl aus, doch kann mit nur 7-8 vorgehaltenen Dezimalstellen keine ausreichende Rechengenauigkeit gewährleistet werden.
Addition und Subtraktion von Vektoren
BearbeitenAuf Vektoren können die Grundrechenarten Addition und Subtraktion gleichermaßen angewandt werden wie auf Skalare. Dies geschieht, indem man die einzelnen Komponenten addiert bzw. voneinander subtrahiert. Betrachtet man zwei Vektoren und , so gilt für die Vektorsumme :
Amalog gilt für die Vektordifferenz :
Graphisch kann man die Vektoraddition durchführen, in dem man an die Spitze des Vektors den Fuß von setzt. Der Summenvektor erstreckt sich dann von dem Fuß von bis zur Spitze von .
Im Falle der Subtraktion wird ebenfalls der Fuß von an die Spitze von gesetzt, dabei aber zugleich in seine Gegenrichtung umgeklappt. Der Differenzvektor weist wiederum vom Fuß von zur Spitze des umgeklappten Vektors .
Bei der Simulation eines Sternsystems wird die Vektoraddition vor allem zur Berechnung der auf ein Mitglied wirkenden Gesamtkraft benötigt. Jeder andere Massenpunkt übt auf einen beliebig herausgegriffenen Körper eine gewisse Anziehungskraft aus. Um die gesamte Gravitation zu kennen, müssen alle diese einzelnen Kraftvektoren aufsummiert werden.
Um die Anziehung zwischen zwei Massenpunkten zu bestimmen, muss deren Abstand bekannt sein. Dazu wiederum müssen wie schon angedeutet deren Ortsvektoren voneinander subtrahiert werden, woraus der sogenannte Abstandsvektor resultiert.
Multiplikation eines Vektors mit einem Skalar und Einheitsvektor
BearbeitenWie Skalare können auch Vektoren mit weiteren Skalaren multipliziert werden. Um einen Vektor mit einem Skalar zu multiplizieren, bildet man für jede seiner Komponenten das Produkt mit :
Multipliziert man einen Vektor mit einem Skalar > 1, so wird dieser einfach in der ursprünglichen Richtung gestreckt. Liegt der Skalar zwischen 0 und 1, resultiert eine Stauchung wiederum in ursprünglicher Richtung. Bei Multiplikation mit einem negativen Skalar wird der Vektor nicht nur gestreckt (falls < -1) oder gestaucht (für zwischen -1 und 0), sondern zugleich in seine Gegenrichtung umgeklappt.
Die Division mit einem Skalar ist gleichbedeutend mit der Multiplikation mit . Wird ein Vektor durch Multiplikation mit einem Skalar > 1 gestreckt, so wird er durch Division mit demselben gestaucht (die Division wirkt dann wie eine Multiplikation mit einem Skalar < 1).
Eine besondere, aber in der Praxis oft benötige Rechenoperation ist die Division eines Vektors mit seinem eigenen Betrag. Der dadurch gewonnene Vektor hat exakt die Länge 1 und wird als Einheitsvektor bezeichnet; er zeigt in die gleiche Richtung wie der Ausgangsvektor:
Der Einheitsvektor stellt eine reine Richtungsangabe dar. So bezeichnet beispielsweise der Einheitsvektor der Geschwindigkeit die Richtung, in welche sich ein Objekt gerade bewegt. Der Einheitsvektor des Abstandsvektors gibt die Verbindungslinie zweier Massenpunkte an.
Der einheitsvektor eines vektor lässt sich mit folgender Prozedur gewinnen. Zunächst liefert die Betragsprozedur in Form der Double laenge den Betrag von vektor. Danach wird jede Komponente von vektor mit laenge dividiert. einheitsvektor ist wie vektor ein Array mit 3 Double.
Der Nullvektor, dessen Komponenten und somit auch dessen Betrag gleich 0 sind, ist nicht normierbar. Um diesen Sonderfall programmiertechnisch abfangen zu können, gibt die Prozedur für den Nullvektor wiederum den Nullvektor zurück.
void einheit (double *vektor, double *einheitsvektor)
{
double laenge;
unsigned int k;
laenge = betrag (vektor);
for (k = 0;k < 3;k ++)
{
if (laenge > 0)
einheitsvektor[k] = vektor[k] / laenge;
else
einheitsvektor[k] = 0;
}
}
Skalarprodukt und Kreuzprodukt
BearbeitenDas "Produkt" zweier Vektoren hat im Gegensatz zur Multiplikation eines Vektors mit einem Skalar mit einer gewöhnlichen Multiplikation nur wenig zu tun. Es existieren zwei verschiedene Formen, das Skalarprodukt und das Kreuzprodukt.
Das Skalarprodukt zweier Vektoren und wird so genannt, weil es nicht wie die bisher skizzierten Rechenoperationen wieder einen Vektor, sondern einen Skalar liefert. Es wird in der Regel durch den gewöhnlichen Multiplikationspunkt zwischen den beiden betrachteten Vektoren kenntlich gemacht, man schreibt also . Gegeben ist es durch die Beträge von und sowie den Cosinus des von den beiden Vektoren eingeschlossenen Winkels :
Graphisch lässt sich das Skalarprodukt folgendermaßen darstellen. Man projiziert den Vektor senkrecht auf und erhält so den Vektor . Das Skalarprodukt folgt dann durch Multiplikation der Beträge von und . Ist der Winkel spitz, zeigt in die gleiche Richtung wie und das Skalarprodukt ist positiv. Stehen die beiden zu "multiplizierenden" Vektoren senkrecht aufeinander, so verschwindet die Projektion von , d.h. das Skalarprodukt ist gleich 0. Im Falle eines stumpfen Zwischenwinkels zeigt der Projektionsvektor in die Gegenrichtung von , wodurch das Skalarprodukt negativ wird.
Schließlich sei auch die kartesische Darstellung des Skalarprodukts gegeben. Man multipliziert jeweils die Komponenten der beiden Vektoren miteinander und summiert die einzelnen Produkte auf.
Das skalarprodukt zweier Vektoren vektor1 und vektor2 lässt sich durch folgende Prozedur berechnen. Beide sind Arrays mit je 3 Double, der Rückgabewert ebenfalls vom Typ Double.
double skalarprodukt (double *vektor1, double *vektor2)
{
return (vektor1[0] * vektor2[0] + vektor1[1] * vektor2[1] + vektor1[2] * vektor2[2]);
}
Das Skalarprodukt taucht in mehreren in diesem Buch verwendeten Formeln auf, wobei jedoch keine herausragende Anwendung genannt werden kann. In der Geometrie wird das Skalarprodukt z.B. verwendet, um nachzuprüfen, ob zwei Geraden aufeinander senkrecht stehen. Dies ist dann der Fall, wenn das Skalarprodukt ihrer Richtungsvektoren gleich 0 ist.
Das Kreuzprodukt erinnert noch weniger an die gewöhnliche Multiplikation als das Skalarprodukt. Es liefert wieder einen Vektor und wird durch ein "x" zwischen den zu kombinierenden Vektoren gekennzeichnet (z.B. ). Der resultierende Vektor steht senkrecht auf den beiden Ausgangsvektoren, sein Betrag entspricht der Fläche des von diesen aufgespannten Parallelogramms:
Die kartesische Darstellung des Kreuzprodukts ist relativ kompliziert:
Im Gegensazu zu Vektoraddition und Skalarprodukt folgt das Kreuzprodukt dem Kommutativgesetz nicht, es gilt:
Auch für das Kreuzprodukt sei eine Prozedur gegeben. Übergeben werden dieser die zu untersuchenden Vektoren vektor1 und vektor2, zurückgegeben wird das Ergebnis vektor3. Sämtliche Vektoren sind Arrays mit je 3 Double.
void kreuzprodukt (double *vektor1, double *vektor2, double *vektor3)
{
vektor3[0] = vektor1[1] * vektor2[2] - vektor1[2] * vektor2[1];
vektor3[1] = vektor1[2] * vektor2[0] - vektor1[0] * vektor2[2];
vektor3[2] = vektor1[0] * vektor2[1] - vektor1[1] * vektor2[0];
}
Eine klassische Anwendung des Kreuzprodukts in der Astronomie ist die Bestimmung des Bahndrehimpulses der Planetenbewegung, welcher durch das Kreuzprodukt des Orts- und Geschwindigkeitsvektors des Planeten, multipliziert mit dessen Masse, gegeben ist. Der Bahndrehimpuls verändert sich während des Umlaufs um die Sonne nicht, woraus das Zweite Keplersche Gesetz folgt, wonach der Ortsvektor (als Verbindungslinie zwischen Sonne und Planet) in gleichen Zeiten gleiche Flächen überstreicht. Dieses Gesetz wird oft auch als Flächensatz bezeichnet.
Schwerpunkt eines Systems von Massenpunkten
BearbeitenFür die Simulation eines Mehrkörpersystems wählt man wie bereits erwähnt als Koordinatenursprung zumeist dessen Schwerpunkt. Man erhält dessen Ortsvektor , indem man für die Ortsvektoren der einzelnen Mitglieder deren gewichtetes Mittel bildet, wobei als Gewichtsfaktoren die individuellen Massen dienen:
Jede Komponente von stellt eine Art Mittelwert der entsprechenden Komponenten der Einzelobjekte dar. Im Gegensatz zum gewöhnlichen (arithmetischen) Mittel tragen die individuellen Körper jedoch nicht in gleichem Maße dazu bei, sondern mehr oder weniger je nach ihrer Masse. Ist z.B. doppelt so groß wie , so wird das Mitglied 1 bei der Mittelwertbildung gegenüber dem Mitglied 2 quasi doppelt gezählt. Der Schwerpunkt stellt somit den Mittelpunkt des Systems dar, wobei aber berücksichtigt wird, wie die einzelnen Massen verteilt sind.
Ein alltägliches Beispiel für den Schwerpunkt als gewichtetes Mittel unterschiedlicher Massen ist der Hebel. Um mit einer kleinen Masse z.B. eine doppelt so große Masse aufwiegen zu können, muss der Hebelarm für doppelt so lang sein wie für . Der Schwerpunkt des Sonnensystems liegt sehr nahe am Sonnenmittelpunkt (nahe deren Oberfläche), weil die Masse der Sonne sehr viel größer ist als diejenige selbst des massereichsten Planeten, des Jupiter.
Um die Ortsvektoren der einzelnen Massenpunkte auf den Schwerpunkt zu beziehen, zieht man einfach dessen Ortsvektor von diesen ab:
Lässt man eine Mehrkörpersimulation ablaufen, so ist es wünschenswert, dass der Schwerpunkt selbst ruht, also im Koordinatenursprung verharrt. Dies gelingt, indem man auch die Geschwindigkeiten in das Schwerpunktsystem umrechnet. Man geht dabei vor wie für die Ortsvektoren, d.h. bestimmt erst die Geschwindigkeit des Schwerpunkts und zieht diese dann von den ursprünglichen Geschwindigkeiten der Einzelobjekte ab.
Die Geschwindigkeit des Schwerpunkts folgt in Analogie zu seinem Ortsvektor aus dem gewichteten Mittel der Geschwindigkeiten der individuellen Körper:
Entsprechend gewinnt man die korrigierten Einzelgeschwindigkeiten aus den originalen durch Subtraktion der Schwerpunktgeschwindigkeit:
Die Frage, wie die anfänglichen Positionen und Geschwindigkeiten der Massenpunkte festzulegen sind, wird im Praxiskapitel ausführlich behandelt. Es wird dort aufgezeigt, dass die dafür erforderliche Herangehensweise sehr stark von dem Typ des zu untersuchenden Systems abhängt.
Die Umrechnung von Orten und Geschwindigkeiten ins Schwerpunktsystem kann mit folgender Prozedur bewerkstelligt werden. Übergeben werden dieser die Anzahl der Körper N, die Gesamtmasse M des Systems, die Einzelmassen m sowie die Vektoren r im ursprünglichen System. N ist vom Typ unsigned Integer, M eine Double. An für sich könnte die Gesamtmasse auch innerhalb der Prozedur bestimmt werden. Jedoch wird diese auch für andere Anwendungen benötigt, so dass M für die später diskutierten Praxisbeispiele vorab berechnet wird.
m ist ein eindimensionales Array, welches aus N Double besteht, entsprechend der Masse jedes einzelnen Objekts. r stellt ein zweidimensionales Array dar, welches N Vektoren enthält, die wiederum je drei Double auflisten. Diese Vektoren können sowohl Orte als auch Geschwindigkeiten repräsentieren, je nachdem was man umrechnen will.
Die Prozedur bestimmt zuerst den Zähler obiger Ausdrücke. Anschließend wird dieser durch M dividiert. Der so gewonnene Schwerpunkt wird durch das Array s repräsentiert. Im letzten Schritt erfolgt für r der Übergang ins Schwerpunktsystem, d.h. dieses Array nimmt am Ende auch die Rückgabewerte auf. Die Ausgangswerte werden dabei überschrieben, d.h. nicht weiter verwendet.
void schwerpunkt (unsigned int N, double M, double *m, double **r)
{
unsigned int i,k;
double s[3];
for (k = 0;k < 3;k ++)
s[k] = 0;
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
s[k] += m[i] * r[i][k];
}
for (k = 0;k < 3;k ++)
s[k] /= M;
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
r[i][k] -= s[k];
}
}
Die Koordinatentransformation in das Schwerpunktsystem muss nur ein einziges Mal zu Beginn der Simulation durchgeführt werden. Begründet ist dies durch die Erhaltung der Energie (welche im Unterkapitel Energieerhaltung detailliert besprochen wird) sowie die Unabhängigkeit der physikalischen Gesetze vom Beobachtungsort und der Blickrichtung. Die fundamentale Annahme, dass überall im Kosmos die gleichen physikalischen Gesetze gelten, bezeichnet man als Homogenität des Raumes. Die nicht weniger bedeutsame Annahme, dass (auf genügend großer Längenskala) das Universum in jeder Blickrichtung die gleichen Eigenschaften aufweist, als Isotropie des Raumes.
Mittlere und momentane Geschwindigkeit
BearbeitenDefinition
BearbeitenUm die Bahnen der einzelnen Mitglieder eines Sternsystems vorhersagen zu können, braucht man ein Verfahren, das deren momentane Geschwindigkeiten zu jedem Zeitpunkt liefert (es soll zunächst nur vom Betrag der Geschwindigkeit die Rede sein). Tatsächlich messen kann man jedoch nur die mittlere Geschwindigkeit , welche sich auf die in einem gewissen Zeitraum zurückgelegte Strecke bezieht.
Kommt man z.B. mit dem Auto in 2 Stunden 200 km weit, so beträgt die mittlere Geschwindigkeit 200 km / 2 h = 100 km/h. Dem Ideal der momentanen Geschwindigkeit kann man aber zumindest nahe kommen, indem man den durch die Messung überspannten Zeitraum sehr klein macht. Dies geschieht z.B. durch den Tachometer, welcher die Drehzahl (und damit mit Hilfe des Abrollumfangs der Räder die gefahrene Strecke) auf einer Zeitskala von Zehntelsekunden erfasst (gemessen wird dabei allein der Betrag der Geschwindigkeit, nicht jedoch deren Richtung).
Bei einer für jeden beliebigen Zeitpunkt bekannten momentanen Geschwindigkeit lässt sich die während eines bestimmten Zeitraums zurückgelegte Strecke bestimmen, indem man gegen aufträgt und die Fläche unter der entsprechenden Kurve ermittelt. Bei konstanter Geschwindigkeit ist diese Fläche ein Rechteck entsprechend der bekannten Regel Strecke = Geschwindigkeit ∙Zeit.
Für eine Mehrkörpersimulation müssen Positionen und Geschwindigkeiten wie zu Beginn dieses Kapitels diskutiert natürlich als Vektoren betrachtet werden. Man erhält den mittleren Geschwindigkeitsvektor, indem man für jede Komponente des Ortsvektors deren Änderung mit der Zeit betrachtet:
Bei konstantem Geschwindigkeitsvektor gilt wiederum für die Änderung des Ortsvektors während einer bestimmten Zeit:
Einschub für Fortgeschrittene: Definition der Geschwindigkeit
Die mittlere Geschwindigkeit folgt aus der während eines Zeitraums zurückgelegten Strecke gemäß:
Je kleiner man wählt, umso besser stimmt die mittlere Geschwindigkeit mit der momentanen Geschwindigkeit überein. Im Grenzfall gehen die beiden Geschwindigkeiten ineinander über.
Aus dieser Definition von als Grenzwert von folgt, dass die momentane Geschwindigkeit durch die erste Zeitableitung der Strecke gegeben ist.
Umgekehrt gewinnt man die während eines endlichen Zeitraums bewältige Distanz durch Integration über .
Durch Division mit erhält man den exakten Zusammenhang zwischen momentaner und mittlerer Geschwindigkeit.
Mittlere und momentane Beschleunigung
BearbeitenDefinition
BearbeitenDie Kenntnis der momentanen Geschwindigkeiten - wiederum sollen zunächst nur Beträge statt Vektoren diskutiert werden - setzt wiederum diejenige der momentanen Beschleunigungen voraus. Diese stellt wie die momentane Geschwindigkeit eine Idealisierung dar, denn auch eine Änderung der Geschwindigkeit lässt sich nur für einen bestimmten von Null verschiedenen Zeitraums erfassen. Daraus resultiert eine mittlere Beschleunigung
Diese Mittelung kommt auch in Redewendungen wie „in 10 s von 0 auf 100“ zum Ausdruck. Um die entsprechende mittlere Beschleunigung zu bestimmen, müssen für Zeit und Geschwindigkeit natürlich analoge Einheiten benutzt werden. 100 km/h entsprechen 100 / 3.6 ≈ 28 m/s, woraus eine mittlere Beschleunigung von 28 m/s / 10 s = 2.8 m/s2 folgt – pro Sekunde nimmt die Geschwindigkeit im Mittel um 2.8 m/s zu.
Wie für die Geschwindigkeit kann man auch für die Beschleunigung zumindest näherungsweise Momentanwerte gewinnen, indem man nur über sehr kurze Zeiträume misst. Fährt man mit hoher Geschwindigkeit in eine Kurve, so erfährt man plötzlich eine senkrecht zur Fahrtrichtung nach „außen“ wirkende Beschleunigung.
In der technischen Praxis wird die Beschleunigung nicht mit Hilfe obiger Definition, sondern auf Grundlage des Newtonschen Kraftgesetzes bestimmt, in dem die auf eine bekannte Masse ausgeübte Kraft gemessen wird. Die Definition der Beschleunigung als Änderung der Geschwindigkeit pro Zeitintervall ist jedoch fundamental für die im nächsten Kapitel vorgestellten Lösungsmethoden des Mehrkörperproblems.
Auf das Newtonsche Kraftgesetz wird im folgenden Unterkapitel ausführlich eingegangen. Anwendungen wie Trägheitsnavigation oder Seismologie belegen, dass man anhand dieses Prinzips Beschleunigungen auch für sehr kurze Zeiträume messen und damit dem Ideal der Momentanbeschleunigung sehr nahe kommen kann.
Die während eines gewissen Zeitraums eintretende Änderung der Geschwindigkeit lässt sich auf ähnliche Weise berechnen wie die zurückgelegte Strecke. Man trägt nun die Momentanbeschleunigung gegen die Zeit auf und betrachtet wiederum die Fläche unter der dazugehörigen Kurve. Bei gleichbleibender Beschleunigung erhält man abermals ein Rechteck in Übereinstimmung mit der Vorschrift Änderung der Geschwindigkeit = Beschleunigung ∙ Zeit.
Ebenso wie Ort und Geschwindigkeit stellt auch die Beschleunigung einen Vektor dar. Um den mittleren Beschleunigungsvektor zu bestimmen, muss man für den Geschwindigkeitsvektor die zeitliche Änderung einer jeden Komponente untersuchen:
Im Falle eines konstanten Beschleunigungsvektors lautet dementsprechend die Änderung des Geschwindigkeitsvektors im Verlauf eines gewissen Zeitintervalls:
Einschub für Fortgeschrittene: Definition der Beschleunigung
Die folgende Diskussion ist derjenigen über die Geschwindigkeit vollkommen analog. Die mittlere Beschleunigung ist gegeben durch die während eines Zeitraums sich einstellenden Änderung der Geschwindigkeit .
Erneut ist der momentane Wert als Grenzwert des Mittelwerts definiert.
Dies bedeutet, dass die momentane Beschleunigung mit der ersten Zeitableitung der Geschwindigkeit identisch ist.
Die während eines endlichen Zeitraums beobachtbare Änderung der Geschwindigkeit folgt aus dem Integral über .
Wieder liefert die Division mit die Beziehung zwischen momentanem und mittlerem Wert.
Beschleunigung und Strecke
BearbeitenOft ist nicht nur der Zusammenhang zwischen Beschleunigung und Geschwindigkeit, sondern auch direkt zwischen Beschleunigung und zurückgelegter Strecke von Interesse (wobei abermals zunächst nur Beträge diskutiert werden). Für den Spezialfall einer konstanten Beschleunigung lässt er sich wiederum graphisch recht einfach herleiten.
Wird ein Körper aus der Ruhelage heraus konstant beschleunigt, so nimmt seine Geschwindigkeit direkt proportional zur verflossenen Zeit zu. Die dabei zurückgelegte Strecke ist dann als Dreiecksfläche unter der Geschwindigkeitskurve gegeben. Die Grundlinie des Dreiecks ist durch die verstrichene Zeit , dessen Höhe durch gegeben. Aus der wohlbekannten Beziehung Dreiecksfläche = Grundlinie ∙ Höhe / 2 folgt so:
Diese Beziehung gibt z.B. an, welche Strecke man nach einer gewissen Zeit beim freien Fall unter Vernachlässigung des Luftwiderstands zurückgelegt hat. Für ist dann der Wert von 9.81 m/s2 für die Fallbeschleunigung einzusetzen. Nach 1 s ist man 4.9 m, nach 2 s aber schon das vierfache, nämlich 19.6 m gefallen.
Setzt man bzw. in obige Formel ein, gewinnt man folgende von der Zeit unabhängige Beziehung zwischen Strecke und Geschwindigkeit:
Damit kann man z.B. berechnen, mit welcher Geschwindigkeit man bei einer bestimmten Fallhöhe auf dem Boden ankommt. Bei einem Sprung vom 5-Meter-Brett beträgt die Aufprallgeschwindigkeit 9.9 m/s entsprechend 36 km/h. Ein vom 10-Meter-Brett fallender Turmspringer bringt es auf 14.0 m/s bzw. 50 km/h.
Weist ein konstant beschleunigter Körper zu Beginn bereits eine gewisse Geschwindigkeit auf, so muss zur nach einer Zeit bewältigten Strecke der Anteil hinzuaddiert werden, so dass gilt.
Betrachtet man Ort, Geschwindigkeit und Beschleunigung abermals als Vektoren, so ist obige Formel für jede Komponente einzeln anzuwenden:
Einschub für Fortgeschrittene: Beschleunigung und zurückgelegte Strecke
Aus den Definitionen von momentaner Beschleunigung und Geschwindigkeit folgt, dass erstere durch die zweite Zeitableitung der Strecke gegeben ist.
Dadurch ist die Berechnung der zurückgelegten Distanz aus der momentanen Beschleunigung allgemein etwas aufwendiger. Die momentane Geschwindigkeit nach einem Zeitraum lässt sich schreiben als:
Die nochmalige Integration über obigen Ausdruck liefert für :
Für einen aus dem Ruhezustand heraus konstant beschleunigten Körper erhält man daraus wiederum die bereits oben graphisch abgeleitete klassische Beziehung.
Das Newtonsche Kraftgesetz
BearbeitenAls nächstes stellt sich die Frage, wie die Beschleunigungen zu bestimmen sind, welche auf die Mitglieder eines Mehrkörpersystems einwirken. Den Schlüssel hierzu liefert das Newtonsche Kraftgesetz, welches anschaulich oft als Kraft = Masse • Beschleunigung formuliert wird.
Um ein Auto der Masse von 1000 kg in 10 Sekunden von 0 auf 100 km/h zu beschleunigen, ist demnach eine Kraft von 1000 kg • 2.8 m/s2 = 2800 Newton erforderlich (wobei hier Luftwiderstand und Haftreibung vernachlässigt sind). Kennt man die auf einen Massenpunkt einwirkende Kraft, so folgt aus dem Kraftgesetz die Beziehung Beschleunigung = Kraft / Masse.
Die Beschleunigung, welche ein Körper erfährt, ist also der auf ihn ausgeübten Kraft direkt und seiner Masse umgekehrt proportional. Um eine doppelt so große Masse der gleichen Beschleunigung zu unterwerfen, ist die doppelte Kraft erforderlich.
Das Kraftgesetz betrachtet nicht nur die Beträge von Kraft und Beschleunigung, sondern auch deren Richtungen. Es gilt die einleuchtende Regel, dass die Beschleunigung in dieselbe Richtung erfolgt, in welcher die Kraft gerichtet ist. Dies kommt auch schon in obiger Vektorschreibweise zum Ausdruck, wonach der Beschleunigungsvektor lediglich mit einem Skalar > 0 (nämlich der Masse) multipliziert werden muss, um den Kraftvektor zu erhalten. Bei einer solchen Rechenoperation aber bleibt - wie schon ganz zu Anfang dieses Kapitels erläutert - die ursprüngliche Richtung des Vektors erhalten.
Wie schon erwähnt, ermöglicht es das Newtonsche Kraftgesetz, Beschleunigungen zu messen, indem man die auf eine bekannte Testmasse einwirkenden Kräfte betrachtet. Man stelle sich z.B. einen Aufzug vor, in welchem an einer Federwaage eine Masse von 1 kg hängt. Ruht der Aufzug, wirkt allein die Schwerebeschleunigung (etwa 9.8 m/s2) auf die Masse ein. Die Federwaage zeigt dann eine Kraft von 9.8 Newton an. Setzt sich der Aufzug nach oben in Bewegung, so wird die Testmasse einer zusätzlichen Beschleunigung unterworfen. Die Feder wird dadurch stärker ausgelenkt, sie zeigt jetzt eine größere Kraft an, woraus die Beschleunigung des Aufzugs gemäß bestimmt werden kann. Zeigt die Federwaage z.B. 12 Newton an, so entspricht das einer Beschleunigung von (12 / 1 - 9.8) m/s2 = 2.2 m/s2.
Himmelskörper kann man natürlich nicht als Testmassen benutzen, um die auf sie ausgeübten Beschleunigungen zu messen. Wie im nächsten Unterkapitel gezeigt, liefert für solche das Newtonsche Gravitationsgesetz belastbare Kriterien für die wechselseitig herrschenden Kräfte und damit Beschleunigungen.
Das Newtonsche Gravitationsgesetz
BearbeitenKernaussagen
BearbeitenDie Berechnung der in einem Mehrkörpersystem herrschenden Kräfte selbst beruht auf dem Newtonschen Gravitationsgesetz. Dieses besagt, dass die zwischen zwei Massen und herrschende Anziehungskraft diesen direkt und dem Quadrat ihres Abstandes umgekehrt proportional ist, und die Kraft in Richtung ihrer Verbindungslinie wirkt. soll dabei die Kraft bezeichnen, welche der Körper auf den Körper ausübt.
bezeichnet dabei die Gravitationskonstante mit dem Wert 6.67384 10-11 m3 kg-1 s-2. ist der Einheitsvektor auf der Verbindungslinie der beiden Massen, er zeigt von nach .
In der Praxis interessiert nicht die auf einen Massenpunkt einwirkende Kraft, sondern nur dessen Beschleunigung. Aus dem Newtonschen Kraftgesetz folgt, dass die Masse folgende Beschleunigung durch die Masse erfährt:
Entsprechend erleidet die Masse eine Beschleunigung durch die Masse in entgegengesetzter Richtung.
Aus der umgekehrt quadratischen Abhängigkeit der Anziehungskraft vom Abstand der Massen folgt, dass bei doppeltem Abstand diese auf ein Viertel des Vergleichswertes abgefallen ist, bei dreifachem Abstand auf ein Neuntel usw. Die Schwerkraft fällt also nur langsam mit zunehmendem Abstand ab. Im Prinzip besitzt sie eine unendliche Reichweite, was bei der Modellierung von Mehrkörperensembles erhebliche Schwierigkeiten nach sich ziehen kann. Andererseits nimmt die wechselseitige Anziehungskraft enorm zu, wenn zwei Mitglieder sich sehr nahe kommen. Da solche zumeist als Massenpunkte behandelt werden, können im Verlauf einer Simulation grundsätzlich beliebig kleine Abstände und damit unbegrenzt große Kräfte auftreten. Auch dieser Effekt erschwert eine zuverlässige Behandlung astronomischer Systeme enorm.
Um die gesamte Beschleunigung eines Massenpunkts zu kennen, müssen sämtliche Einzelbeschleunigungen aufaddiert werden, welche alle übrigen Mitglieder des Ensembles auf diesen ausüben. Eine solche Gesamtbetrachtung ist für alle Körper notwendig, d.h. es müssen alle möglichen Abstandspaare betrachtet werden, die man für die individuellen Massenpunkte bilden kann. Daraus folgt, dass der Aufwand zur Berechnung aller Anziehungskräfte quadratisch mit der Anzahl der Mitglieder eines Mehrkörpersystems ansteigt. Eine exakte Erfassung der Kräfte ist mit vertretbarem Rechenaufwand somit nur für eine Simulation von bis zu einigen 1000 Massenpunkten möglich. Für komplexere Systeme ist man auf Näherungsverfahren angewiesen, welche später im Detail erläutert werden.
Wie bereits erörtert, werden für praktische Simulationen oft kartesische Koordinaten mit dem Schwerpunkt des zu untersuchenden Ensembles als Ursprung verwendet. Die momentane Position der Masse sei so durch einen Vektor und diejenige der Masse durch einen solchen gegeben.
Für die Berechnung der wechselseitigen Beschleunigungen der beiden Massen kommt es allein auf den Abstandsvektor an. In kartesischen Koordinaten lautet dieser:
Den Einheitsvektor gewinnt man, indem man den Abstandsvektor mit seinem eigenen Betrag dividiert:
Einsetzen in die oben gegebenen Beschleunigungen liefert:
Der Betrag des Abstandsvektors folgt aus dem Satz des Pythagoras:
Elementare Schlussfolgerungen
BearbeitenAn dieser Stelle sollen bereits einige Schlussfolgerungen gezogen werden, welche für die Simulation von Mehrkörpersystemen von Bedeutung sind. Dazu soll das sehr einfache Beispiel einer kleinen Masse betrachtet werden, welche um eine große Masse auf einer Kreisbahn mit Radius umläuft.
Dabei sei zuerst die Bahngeschwindigkeit betrachtet. Man erhält sie durch Gleichsetzen der Gravitationsbeschleunigung mit der Zentripetalbeschleunigung :
Je weiter ein Körper von seiner Zentralmasse entfernt ist, um so geringer ist seine Bahngeschwindigkeit, was auch für Ellipsenbahnen zutrifft. Im Falle einer Kreisbahn nimmt umgekehrt proportional zur Quadratwurzel der Entfernung ab, d.h. bei vierfacher Entfernung beträgt die Bahngeschwindigkeit nur noch die Hälfte, bei neunfachem Abstand noch ein Drittel des Bezugswertes usw.
Aus der Bahngeschwindigkeit und dem Umfang der Bahn folgt die Umlaufdauer . Es gilt , woraus durch Einsetzen und Quadrieren folgt:
Das Quadrat der Umlaufdauer ist dem Kubus des Bahnradius proportional, wobei die Proportionalitätskonstante durch die Zentralmasse bestimmt ist. Diese Beziehung gilt unverändert auch für Ellipsen, wobei an die Stelle des Bahnradius die große Halbachse tritt. Es handelt sich hierbei um das 3. Keplersche Gesetz.
Verdoppelt man die Entfernung, so steigt die Umlaufdauer um den Faktor entsprechend etwa 2.8. Bei dreifacher Entfernung nimmt um das -fache zu, entsprechend ungefähr dem Faktor 5.2.
Das 3. Keplersche Gesetz bietet eine sehr anschauliche Prüfmöglichkeit für die Gültigkeit des Gravitationsgesetzes und damit der daraus abgeleiteten Kräfte und Beschleunigungen. Die Entfernung der Erde von der Sonne kann aus Parallaxenmessungen bestimmt werden, die Abstände zu den übrigen Planeten des inneren Sonnensystems auch aus Radarmessungen. Die Verhältnisse der Abstände zur Sonne sind also mit hoher Genauigkeit bekannt und können mit den ebenfalls genau bekannten Verhältnissen der Umlaufdauern verglichen werden (eine Gegenüberstellung der Absolutentfernungen zur Sonne und der absoluten Werte der Umlaufdauern erforderte auch noch eine unabhängige Kenntnis der Sonnenmasse).
Man muss bei dieser Argumentation allerdings beachten, dass das 3. Keplersche Gesetz streng genommen nur für ein aus lediglich zwei Körpern bestehendes System gültig ist. Allerdings wird die auf einen Planeten einwirkende Schwerkraft fast völlig von der Sonne dominiert, so dass dessen Bahn als eine von den übrigen Planeten nur geringfügig gestörte Ellipse betrachtet werden darf. Auf diese Problematik wird im Praxiskapitel ausführlich eingegangen.
Sieht man sich Umlaufdauer, Bahngeschwindigkeit und Gravitationsbeschleunigung nochmals genau an, so stellt man fest, dass sie folgenden Zusammenhang erfüllen:
Wie später gezeigt wird, ist dieses Verhältnis von Geschwindigkeit und Beschleunigung eines Massenpunktes ein fundamentales Kriterium für die zeitliche Schrittweite, mit welcher dessen Bewegung in einem Mehrkörpersystem modelliert werden soll. Es wird sehr häufig dynamische Zeit genannt.
C-Code: Beschleunigungen im Mehrkörpersystem
Nun stehen alle erforderlichen Kenntnisse für die praktische Berechnung der auf einen Massenpunkt einwirkenden Beschleunigung bereit. Angesichts der immer gleichartigen Berechnungen für jede Vektorkomponente bietet es sich an, die Positionen (x,y,z) zu einem Array r und die Beschleunigungen (ax,ay,az) zu einem Array a für den Variablentyp Double zusammenzufassen. Da r und a für jeden Körper gebraucht werden, müssen diese Größen tatsächlich als zweidimensionale Arrays deklariert werden. Die Masse m muss ebenfalls für jedes Mitglied des Ensembles gegeben sein. Als Skalar erfordert diese nur ein eindimensionales Array wiederum für den Variablentyp Double.
Die Unsigned Integer i und k dienen dazu, die einzelnen Massenpunkte und deren Vektorkomponenten abzuzählen. Die Unsigned Integer N gibt die Gesamtzahl der Körper an. Für den Abstandsvektor dr zweier Objekte genügt ein einfaches Array für den Variablentyp Double mit 3 Elementen. Die Double d3 schließlich bezeichnet die 3. Potenz dessen Betrags.
Programmiertechnisch werden zweidimensionale Vektorarrays wie r und a im Folgenden als eindimensionale Arrays von Zeigern behandelt. Für jeden Massenpunkt gibt es einen Zeiger, der auf jede der 3 Komponenten des entsprechenden Vektors deuten kann. Eindimensionale Skalararrays wie m werden jeweils durch einen einzigen Zeiger realisiert. Ein solcher Zeiger kann auf jeden der N Körper deuten.
Die Berechnung der Beschleunigung ist ein während einer Mehrkörpersimulation sich ständig wiederholender Vorgang. Somit ist es naheliegend, diese als Prozedur zu definieren, welcher die Nummer objekt des gerade zu bearbeitenden Massenpunkts, N, m und r übergeben werden. Zurückgegeben wird die Beschleunigung a[objekt]. Mit dieser Konstruktion werden i, k, dr und d3 zu lokalen Variablen. Aufgerufen wird die Prozedur durch die Anweisung beschleunigung (objekt,N,m,r,a[objekt]).
/* Globale Variablen */
unsigned int objekt
unsigned int N;
double *m;
double **r;
double **a;
void beschleunigung (unsigned int objekt, unsigned int N, double *m, double **r, double *a)
{
/* Lokale Variablen */
unsigned int i,k;
double dr[3];
double d3;
/* Initialisierung der Beschleunigung */
for (k = 0;k < 3;k ++)
a[k] = 0;
/* Berechnung der Beschleunigung */
for (i = 0;i < N;i ++)
{
if (i != objekt)
{
/* Abstandsvektor zwischen einem beliebigen Körper i und dem untersuchten Massenpunkt objekt */
for (k = 0;k < 3;k ++)
dr[k] = r[i][k] - r[objekt][k];
/* 3.Potenz dessen Betrags */
d3 = pow (betrag (dr),3);
/* Beitrag der Beschleunigung durch den Körper i */
for (k = 0;k < 3;k ++)
a[k] += G * m[i] * dr[k] / d3;
}
}
}
Vor allem für mehrdimensionale Arrays ist eine sorgfältige Speicheradressierung erforderlich, die hier zumindest kurz angedeutet werden soll. Benötigt werden hierzu zumindest die Anweisungen malloc (um Speicher zu adressieren) und free (um solchen wieder freizugeben).
Für eindimensionale Skalararrays wie die Masse ist die Speicheradressierung sehr einfach. Mit der Anweisung malloc wird für jeden Körper Speicher für eine Double bereitgestellt.
m = malloc (N * sizeof (double));
Bei zweidimensionalen Arrays wie hier etwa der Position erfolgt die Speicheradressierung in zwei Schritten. Zunächst wird für jedes Objekt Speicher für einen Zeiger (Vektorobjekt) reserviert (deshalb sizeof (double *) und nicht sizeof (double)). Anschließend wird für jeden dieser Zeiger Platz für jeweils 3 Double (Vektorkomponenten) geschaffen.
r = malloc (N * sizeof (double *));
for (i = 0;i < N;i ++)
r[i] = malloc (3 * sizeof (double));
Um reservierten Speicher wieder freizugeben, genügt für Skalararrays abermals eine einzige Anweisung. Mit free wird der gesamte durch die N Double beanspruchte Platz wieder frei.
free (m);
Zweidimensionale Arrays verlangen auch bei der Speicherfreigabe ein zweistufiges Vorgehen, wobei aber im Vergleich zur Speicheradressierung die Reihenfolge umgekehrt wird. Zuerst muss für jeden Körper der durch die Vektorkomponenten belegte Speicher freigegeben werden. Danach kann der durch die Vektorobjekte selbst belegte Platz geräumt werden.
for (i = 0;i < N;i ++)
free (r[i]);
free (r);
Für eine detaillierte Behandlung der Speicherverwaltung mittels C oder C++ sei auf die einschlägige Literatur (auch unter Wikibooks selbst) verwiesen.
Energieerhaltung
BearbeitenJedes noch so komplexe System weist unabhängig von seinem genauen Aufbau einige allgemeingültige Eigenschaften auf. So ist in jedem isolierten System die Gesamtenergie konstant. Allerdings sind die meisten natürlichen Systeme nicht isoliert, z.B. tauscht jedes Lebewesen Energie und Stoffe mit seiner Umgebung aus. Auch Sternsysteme sind es streng genommen nie, da die von einer Masse ausgehende Schwerkraft wie bereits erwähnt zwar mit zunehmender Entfernung immer schwächer wird, aber niemals ganz verschwindet.
Ist ein Mehrkörperensemble im Vergleich zum Abstand zu Körpern ähnlicher Masse klein genug, dürfen die von diesen fernen Nachbarn ausgeübten Kräfte meist vernachlässigt werden. Eine solche Entscheidung bedarf allerdings eines gewissen Fingerspitzengefühls. Selbst die nächsten Sterne sind zu weit entfernt, um die Bahnen der Planeten nachweisbar zu beeinflussen. In diesem Sinne ist das Sonnensystem faktisch isoliert. Die in der sogenannten Oortschen Wolke sich aufhaltenden Kometen jedoch sind so weit von der Sonne entfernt, dass nahe Sterne sehr wohl deren Orbits massiv stören können. Auf diese Weise gelangen immer wieder einige von ihnen in das innere Sonnensystem, das sich so doch in Wechselwirkung mit den Sternen seiner Umgebung befindet.
Die abstrahierten Massenpunkte einer Computersimulation dürfen selbstverständlich immer als isoliert betrachtet werden. Die große Schwierigkeit besteht darin, zu entscheiden, ob eine solche Sichtweise den tatsächlichen Gegebenheiten angemessen ist.
Kinetische Energie
BearbeitenEin allein der Schwerkraft unterworfenes System weist zwei Formen von Energie auf, kinetische Energie und potentielle Energie. Unter der kinetischen Energie (auch Bewegungsenergie genannt) versteht man die Energie, welche man aufwenden muss, um eine Masse vom Ruhezustand aus auf eine bestimmte Geschwindigkeit zu beschleunigen. Sie ist der beschleunigten Masse und dem Quadrat der Endgeschwindigkeit direkt proportional. Um eine doppelt so hohe Geschwindigkeit zu erreichen, muss das vierfache an Energie zur Verfügung stehen. Um die gesamte kinetische Energie eines Mehrkörpersystems zu kennen, müssen die Energien aller einzelnen Massenpunkte aufaddiert werden.
Der Zusammenhang zwischen Bewegungsenergie, Masse und Geschwindigkeit lässt sich leicht aus dem Prinzip Arbeit = Kraft • Weg herleiten, wobei hier wieder nur Beträge betrachtet werden sollen. Man betrachte einen Körper der Masse , welcher aus dem Ruhezustand auf einer Strecke einer konstanten Beschleunigung unterworfen wird. Nach dem Newtonschen Kraftgesetz ist dazu eine Kraft
erforderlich. Das Arbeitsprinzip besagt, dass dazu wiederum eine Energie
aufgewandt werden muss. Setzt man die schon aus dem Abschnitt "mittlere und momentane Beschleunigung" bekannte Beziehung zwischen Geschwindigkeit, Beschleunigung und Wegstrecke ein, so erhält man:
Einschub für Fortgeschrittene: Kinetische Energie bei beliebiger Beschleunigung
Obige Formel lässt sich auch für beliebige Beschleunigungen beweisen. sei nun eine nur für eine beliebig kleine Strecke wirksame Momentanbeschleunigung. Um den Weg zurückzulegen, wird die Arbeit
benötigt. Mit Hilfe der Definitionen und resultiert daraus
und durch Integration aus dem Ruhezustand
Potentielle Energie
BearbeitenDie potentielle Energie gibt die Energie an, die man benötigt, um eine Masse vollständig aus dem Anziehungsbereich einer anderen zu entfernen. Bei dieser Beschreibung wird man sofort wieder mit dem Problem der in Wahrheit nie vorhandenen Isolation von Himmelskörpern konfrontiert. Da die Schwerkraft in ihrer Reichweite nicht beschränkt ist, kann ein Körper strenggenommen niemals der Anziehung eines anderen entkommen. Jedoch ist es möglich, wie die Raumfahrt anschaulich gemacht hat, eine (kleine) Masse auf eine Bahn zu bringen, auf welcher sie sich immer weiter von der (großen) Masse entfernt, von wo aus sie gestartet ist. Die Energie, die man für eine derartige Bahn aufwenden muss, ist den beiden Massen direkt und ihrem ursprünglichen Abstand umgekehrt proportional. Je näher sich die Massen beim Start zueinander befinden, um so mehr Energie ist erforderlich, um die beiden effektiv voneinander zu trennen, bei z.B. halbem Startabstand die doppelte Energie. Dies ist freilich nicht überraschend, da bei kleineren Anfangsabstand eine entsprechend größere Anziehungskraft überwunden werden muss.
Den exakten Wert der potentiellen Energie erhält man, indem man die Anziehungskraft vom Startabstand an gegen die Entfernung aufträgt und die Fläche unter der entsprechenden Kurve berechnet. Man folgt also abermals der Regel Arbeit = Kraft • Weg, wobei aber nun sich die Kraft entlang der zurückgelegten Strecke ständig ändert. Obwohl nie gänzlich verschwindet, hat diese Fläche einen endlichen Inhalt. Man erhält als Ergebnis, was leider aber nicht elementar beweisbar ist:
In einem aus vielen Massenpunkten bestehendem System existiert für jedes Mitglied gegenüber allen anderen potentielle Energie. Um ein solches aus dem Gesamtsystem zu entfernen, müssen die Anziehungskräfte jeweils aller anderen Körper überwunden werden. Um die gesamte potentielle Energie zu bestimmen, muss über alle möglichen Abstandspaare addiert werden. Sie wird als negative Größe angesetzt, da sie ja aufgewandt werden muss, um das Ensemble aufzulösen.
Einschub für Fortgeschrittene: Potentielle Energie im Schwerefeld
Der Beweis für obige Beziehung lässt sich folgendermaßen skizzieren. Nach dem Gravitationsgesetz wirkt auf eine Kraft
Um von um eine kleine Wegstrecke zu entfernen, muss die Arbeit
verrichtet werden. Um gänzlich entkommen zu lassen, wird das Integral über die Arbeit vom ursprünglichen Abstand bis ins Unendliche fortgeführt. Daraus ergibt sich:
Kinetische und potentielle Energie zusammen bilden die konstante Gesamtenergie des Systems, doch besteht zwischen beiden ein ständiges Wechselspiel. Entfernen sich zwei Massenpunkte voneinander, werden sie durch ihre gegenseitige Anziehung abgebremst. Sie verlieren kinetische Energie, gewinnen aber an potentieller Energie. Nähern sie sich, verhält es sich umgekehrt. Die Massen werden auf höhere Geschwindigkeiten beschleunigt, aus potentieller Energie wird kinetische Energie.
Das Hin und Her zwischen den beiden Energieformen sei hier am Beispiel eines simulierten Doppelsternsystems gezeigt. Beide Komponenten weisen eine Sonnenmasse auf. Die Startpositionen (in Astronomischen Einheiten) der Simulation sind (5 / 0 / 0) und (-5 / 0 / 0), die Anfangsgeschwindigkeiten (in km/s) (0 / 5 / 0) und (0 / -5 / 0).. Während eines Umlaufs variiert der Abstand der beiden Komponenten zwischen 3.9 und 10.0 Astronomischen Einheiten. Im Moment größter Annäherung weisen sie eine Geschwindigkeit von jeweils 12.7 km/s, zum Zeitpunkt maximaler Entfernung eine solche von je 5.0 km/s auf. Die Umlaufdauer beträgt etwa 13.0 Jahre. Man erkennt sehr deutlich den periodischen, zueinander spiegelbildlichen Verlauf von kinetischer und potentieller Energie.
In einem aus vielen einzelnen Massenpunkten bestehenden System ist die Zeitabhängigkeit der Energie selbstverständlich viel komplizierter. Enge Begegnungen zweier Komponenten machen sich durch kurzzeitige Maxima kinetischer Energie entsprechend Minima potentieller Energie bemerkbar. Darüber hinaus unterliegt die Aufteilung der Gesamtenergie aber auch bestimmten langfristigen Trends, welche im praktischen Teil detailliert beschrieben werden.
Ein alltägliches Beispiel für die Umwandlung der einen in die andere Energieform ist das Wasserkraftwerk. Das ins Tal fließende Wasser nimmt an Geschwindigkeit, d.h. an kinetischer Energie zu, welche zum Antrieb einer Turbine genutzt werden kann. Gleichzeitig verliert es potentielle Energie. Um etwa den See eines Pumpspeicherkraftwerks wieder aufzufüllen, muss ja eine andere Energiequelle, z.B. ein Windkraftwerk, angezapft werden.
Elementare Schlussfolgerungen
BearbeitenBetrachtet man die beiden Energieformen für ein System aus 2 Körpern, erwächst aus dem beständigen Hin und Her von kinetischer und potentieller Energie folgende wichtige Regel. Um die beiden Massen für immer voneinander zu entfernen, muss die kinetische Energie des Systems dem Betrage nach mindestens gleich dessen potentieller Energie sein. Überwiegt der Betrag der potentiellen Energie, was einer negativen Gesamtenergie entspricht, bleiben sie einander auf endlichen Bahnen gebunden.
Dies lässt sich anhand einer Kreisbahn mit Radius leicht demonstrieren. Die Bahngeschwindigkeit eines Körpers der Masse , welcher um ein Zentralobjekt der Masse läuft, beträgt wie im letzten Unterkapitel gezeigt und damit seine kinetische Energie . Für die potentielle Energie gilt . Sofern sehr viel größer ist als , kann man davon ausgehen, dass die Zentralmasse sich fast unbeweglich am Schwerpunkt beider Massen aufhält, so dass deren kinetische Energie vernachlässigbar ist. Damit beläuft sich die Gesamtenergie auf:
Die Gesamtenergie eines auf einer Kreisbahn laufenden Körpers ist somit dem Bahnradius umgekehrt proportional. Im Falle einer Ellipsenbahn tritt an die Stelle des Kreisradius die große Halbachse. Bei einer unendlich weiten Bahn ist die Gesamtenergie in der Tat gleich Null
Aus diesem Grenzfall, dass kinetische und potentielle Energie betragsmäßig genau gleich sind, folgt die sogenannte Fluchtgeschwindigkeit . Diese gibt die Mindestgeschwindigkeit an, auf welche die Masse beschleunigt werden muss, um vom Abstand aus die Masse zu verlassen. Das Gleichsetzen der Ausdrücke für die kinetische und potentielle Energie liefert unmittelbar:
Die Fluchtgeschwindigkeit unterschiedet sich von der Bahngeschwindigkeit allein um den Faktor und zeigt somit die gleiche Abhängigkeit von .
Bei Simulationen von Sternsystemen finden sich nach einer gewissen Zeit stets einzelne Massenpunkte, die im Vergleich zu der Mehrzahl der Mitglieder sehr weit vom Schwerpunkt des Ensembles entfernt sind. Für solche Körper können die übrigen Objekte weitgehend als eine im Schwerpunkt ruhende Zentralmasse aufgefasst werden. Zeigen diese Ausreißer eine mit zunehmender Entfernung abfallende Geschwindigkeit kleiner als , so sind sie weiterhin an das Gesamtsystem gebunden. Anderenfalls handelt es sich um Massenpunkte, welche bereits im Begriff sind, das Ensemble zu verlassen.
Der Hinauswurf einzelner Mitglieder aus einem Mehrkörpersystem widerspricht nicht der Energieerhaltung. Die für 2 Massenpunkte geltende Regel, dass ein System mit einem Überschuss an potentieller Energie stabil ist, lässt sich nämlich nicht auf komplexere Ensembles übertragen. Für ein aus 3 oder mehr Körpern bestehendes System garantiert eine negative Gesamtenergie nur eine relative Stabilität. Dort können Massen durch enge Vorübergänge ohne weiteres so stark beschleunigt werden, dass sie dem Gesamtsystem entkommen. Die dazu erforderliche kinetische Energie wird durch eine Verringerung der potentiellen Energie gewonnen. Die zurückgebliebenen Körper rücken im Mittel etwas näher zusammen.
Diese Eigenschaft eines Mehrkörpersystems wird z.B. für die interplanetare Raumfahrt genutzt. Durch nahe Vorübergänge an großen Planeten können Raumsonden erheblich beschleunigt und so die Flugzeiten ins äußere Sonnensystem enorm verkürzt werden.
C-Code: Gesamtenergie im Mehrkörpersystem
Die für die Berechnung der Beschleunigung eines Massenpunktes eingeführten Variablen m, r, dr, i, k und N können auch für die Bestimmung der Energie verwendet werden. Für die kinetische Energie muss die Geschwindigkeit v analog zur Position r als Vektorarray für den Variablentyp Double deklariert werden, die Energie selbst als einfache Double Ekin. Für die potentielle Energie ist das Vektorarray r schon vorhanden, zusätzlich benötigt werden als einfache Double Epot für die Energie selbst und d für den Betrag des Abstandsvektors, ferner als weiterer Zähler die Unsigned Integer j.
Für die Berechnung der Bahnen der Massenpunkte wird die Energie nicht benötigt, wohl aber zur Kontrolle der Stabilität einer Mehrkörpersimulation. Die Bestimmung der Energie erfolgt daher ebenfalls im Rahmen einer regelmäßig aufgerufenen Prozedur. Die Übergabeparameter sind N, m, r und v, die Rückgabevariablen Ekin und Epot. Der Aufruf geschieht durch energie (N,m,r,v,&Ekin,&Epot).
/* Globale Variablen */
unsigned int N;
double *m;
double **r;
double **v;
double Ekin,Epot;
void energie (unsigned int N, double *m, double **r, double **v, double *Ekin, double *Epot)
{
/* Lokale Variablen */
unsigned int i,j,k;
double dr[3];
double d;
/* Berechnung der kinetischen Energie */
*Ekin = 0;
for (i = 0;i < N;i ++)
*Ekin += m[i] * pow (betrag (v[i]),2) / 2;
/* Berechnung der potentiellen Energie */
*Epot = 0;
for (i = 0;i < N;i ++)
{
/* Beitrag pro Abstandspaar zur potentiellen Energie */
for (j = i + 1;j < N;j ++)
{
/* Abstandsvektor zwischen zwei Körpern j und i und dessen Betrag */
for (k = 0;k < 3;k ++)
dr[k] = r[j][k] - r[i][k];
d = betrag (dr);
/* Potentielle Energie pro Abstandspaar */
Epot -= G * m[i] * m[j] / d;
}
}
}
Ruck
BearbeitenDefinition
BearbeitenWie in den ersten Abschnitten dieses Kapitels gezeigt wurde, ist die mittlere Geschwindigkeit definiert als das Verhältnis zurückgelegte Strecke / Zeit , die mittlere Beschleunigung wiederum als das Verhältnis Geschwindigkeitsänderung / Zeit . Die entsprechenden momentanen Größen gewinnt man, indem man das Zeitintervall so klein wie möglich hält. Die sich anschließende Diskussion von Kraft und Energie macht deutlich, dass zum physikalischen Verständnis eines Systems, in welchem allein die Schwerkraft wirkt, diese Größen ausreichen.
Für bestimmte Lösungsverfahren des Mehrkörperproblems - der Gegenstand des nächsten Kapitels - ist es jedoch erforderlich, über Strecke, Geschwindigkeit und Beschleunigung hinaus weitere Größen durch fortgesetzte Betrachtung der zeitlichen Änderung einzuführen. Als dabei Wichtigste ist der mittlere Ruck zu nennen, dessen Symbol j auf seine englische Bezeichnung "jerk" zurückgeht. Er gibt die pro Zeitintervall auftretende Änderung der Beschleunigung an.
Die mathematische Definition entspricht durchaus der Alltagserfahrung. Das Gefühl, bei einer Notbremsung durchgeschüttelt zu werden, ist nicht allein auf die hohen Absolutwerte der dabei auftretenden Beschleunigungen zurückzuführen, sondern auch auf deren abrupte Änderungen. Tritt man heftig auf die Bremse, so erfährt man sofort eine starke der Fahrtrichtung entgegengesetzte Beschleunigung. Kommt das Auto zum Stillstand, verschwindet diese ebenso rasch wieder. Tatsächlich ist die Fahrdynamik eine der wichtigsten Anwendungen des Rucks.
Wie für die Geschwindigkeit und Beschleunigung kann man durch extrem kleine Momentanwerte auch für den Ruck ableiten und mit den Methoden der Differential- und Integralrechnung allgemeine Zusammenhänge zwischen den momentanen Größen , und aufstellen. Für das Verständnis von auf dem Ruck basierenden Lösungsmethoden genügt aber die Betrachtung des mittleren bzw. eines für kleine Zeitintervalle konstanten Rucks , so dass auf eine weitere Diskussion der momentanen Größen verzichtet wird. Wird ein Körper einem konstanten Ruck unterworfen, so ändert sich seine Beschleunigung gemäß obiger Definition linear mit der Zeit.
Ruck und Geschwindigkeit
BearbeitenFür eine auf dem Ruck beruhende Lösung eines Mehrkörperproblems wird selbstverständlich ein Zusammenhang zwischen diesem und der Geschwindigkeit benötigt. Für den Fall eines konstanten Rucks lässt sich ein solcher elementar ableiten, das Vorgehen entspricht völlig der Beziehung zwischen konstanter Beschleunigung und zurückgelegter Strecke.
Wirkt der Ruck aus der Ruhelage heraus, so liegt nach einer Zeit eine zu dieser direkt proportionale Beschleunigung vor. Trägt man die Beschleunigung über die Zeit auf, so erhält man als Fläche unter der Kurve (analog zum Problem der bei konstanter Beschleunigung bewältigten Distanz) ein Dreieck. Somit besteht folgender Zusammenhang (man vergleiche mit für konstante Beschleunigung).
Weist ein Körper schon zu Anfang eine Beschleunigung auf, so gilt wegen des Zusatzbeitrags
Ruck und Strecke
BearbeitenSchließlich muss auch die Beziehung zwischen Ruck und zurückgelegter Strecke betrachtet werden. Selbst für den einfachen Fall eines konstanten Rucks lässt sich diese leider ohne höhere Mathematik nicht angeben. Da die Geschwindigkeit wie soeben gezeigt nun quadratisch von der Zeit abhängt, liegt die gesuchte Strecke im Diagramm gegen jetzt als Fläche unter einer Parabel vor, nicht als Dreieck wie im Fall einer konstanten Beschleunigung. Für einen zu Beginn ruhenden Körper liefert die Integralrechnung folgendes Ergebnis.
Existieren schon zu Anfang eine Beschleunigung und eine Geschwindigkeit , so müssen deren Beiträge und berücksichtigt werden. Damit gilt allgemein
Einschub für Fortgeschrittene: Geschwindigkeit, Beschleunigung und Ruck als Taylor-Entwicklung der Strecke
Gemäß des Taylorschen Satzes lässt sich eine reelle Funktion in der Umgebung einer Stelle als Potenzreihe darstellen, sofern diese dort stetig und beliebig oft differenzierbar ist.
Setzt man sowie und betrachtet die ersten 3 Glieder der Summe, so erhält man
Man erkennt leicht, dass dies dem Zusammenhang zwischen konstantem Ruck und der während einer gewissen Zeit bewältigten Distanz entspricht. Der Vergleich liefert unmittelbar, dass Geschwindigkeit, Beschleunigung und Ruck der 1., 2. und 3. Ableitung der Strecke nach der Zeit entsprechen.
Ruck im Schwerefeld
BearbeitenIm Zusammenhang mit einem astronomischen Mehrkörpersystem interessieren natürlich vor allem die Rucks, den zwei Massen und aufgrund der Schwerkraft aufeinander ausüben. Man findet, was sich wiederum einer elementaren Betrachtung entzieht, dass diese gegenseitigen Rucks im Gegensatz zu den Beschleunigungen nicht nur vom Abstandsvektor , sondern auch der vektoriellen Geschwindigkeitsdifferenz zwischen und abhängen. Im ersten Term erscheint diese allein, im zweiten als Bestandteil des Skalarprodukts mit dem Abstandsvektor.
Einschub für Fortgeschrittene: Zeitableitung der Gravitationsbeschleunigung
Obige Formeln erhält man, in dem man die im Abschnitt "Das Newtonsche Gravitationsgesetz" hergeleiteten wechselseitigen Schwerebeschleunigungen zweier Massen nach der Zeit ableitet. Betrachtet man z.B. die x-Komponente der durch auf ausgeübten Beschleunigung, so liefert die Quotientenregel für die entsprechende Komponente des Rucks
Die Ableitung des Abstandsvektors nach der Zeit liefert unmittelbar die Geschwindigkeitsdifferenz. Weniger offensichtlich ist die Ableitung dessen Betrags. Schreibt man diesen aber ausführlich gemäß des Satzes von Pythagoras hin (), so erkennt man, dass das Skalarprodukt durch zweimaliges Nachdifferenzieren innerhalb der Wurzel entsteht. Denn es gilt:
Elementare Schlussfolgerungen
BearbeitenAuf die schon wiederholt erörterte Kreisbahn soll nun auch der Ruck angewandt werden. Bei unbeweglicher Zentralmasse sind vektorieller Abstand und Geschwindigkeitsdifferenz zwischen und direkt durch die entsprechenden Größen der umlaufenden Masse gegeben. Auf einem kreisförmigen Orbit stehen Orts- und Geschwindigkeitsvektor zudem stets senkrecht aufeinander, so dass das Skalarprodukt der beiden verschwindet. Damit ist der Betrag des auf ausgeübten Rucks einfach durch gegeben. Setzt man noch die Bahngeschwindigkeit ein, so lautet das Endergebnis:
Der Ruck nimmt sehr rasch mit zunehmendem Bahnradius ab - bei doppeltem Radius um einen Faktor (etwa 11.3), bei dreifachem um einen Faktor (ungefähr 46.8) usw.
Die starke Abhängigkeit des Rucks von der Ausdehnung der Bahn lässt sich auch im Alltag nachvollziehen. Bei einer kurvenreichen Fahrt kann nicht nur das häufige Bremsen und Gas geben Schwindelgefühl hervorrufen, sondern auch die heftigen Rucks beim Passieren enger Kurven.
Betrachtet man das Verhältnis von Beschleunigung und Ruck für eine Kreisbahn, so stellt man fest, dass es mit dem Verhältnis von Umlaufgeschwindigkeit und Beschleunigung exakt identisch ist und somit ebenfalls als Maß für die dynamische Zeit dienen kann:
C-Code: Rucks im Mehrkörpersystem
Die Berechnung des in einem Mehrkörpersystem auf einen Massenpunkt ausgeübten Rucks folgt der gleichen Struktur wie diejenige der Beschleunigung. Benötigt werden jetzt aber nicht nur die Positionen r, sondern auch die Geschwindigkeiten v der einzelnen Mitglieder, für welche wie für die Rucks j Zeigerarrays für den Variablentyp Double definiert werden müssen. Zusätzlich zur 3. wird die 5. Potenz d5 des Abstandvektors dr gebraucht, hinzu tritt die vektorielle Geschwindigkeitsdifferenz dv zwischen zwei Körpern. skalar schließlich bezeichnet das aus Abstand und Geschwindigkeitsdifferenz gebildete Skalarprodukt.
Wie die Beschleunigung wird auch der Ruck im Rahmen einer ständig wiederkehrenden Prozedur bestimmt. Zu den bisherigen Übergabeparametern objekt, N, m und r tritt das Vektorarray v hinzu. Da der Ruck nie allein, sondern immer zusammen mit der Beschleunigung betrachtet wird, werden für den aktuell untersuchten Körper beide Größen a[objekt] und j[objekt] zurückgegeben. Der Aufruf der Prozedur geschieht durch ruck(objekt,N,m,r,v,a[objekt],j[objekt]).
/* Globale Variablen */
unsigned int objekt
unsigned int N;
double *m;
double **r;
double **v;
double **a;
double **j;
void ruck (unsigned int objekt, unsigned int N, double *m, double **r, double **v, double *a, double *j)
{
/* Lokale Variablen */
unsigned int i,k;
double dr[3];
double d3,d5;
double dv[3];
double skalar;
/* Initialisierung von Beschleunigung und Ruck */
for (k = 0;k < 3;k ++)
{
a[k] = 0;
j[k] = 0;
}
/* Berechnung von Beschleunigung und Ruck */
for (i = 0;i < N;i ++)
{
if (i != objekt)
{
/* Abstandsvektor und Geschwindigkeitsdifferenz zwischen einem beliebigen Körper i */
/* und dem untersuchten Massenpunkt objekt */
for (k = 0;k < 3;k ++)
{
dr[k] = r[i][k] - r[objekt][k];
dv[k] = v[i][k] - v[objekt][k];
}
/* 3.und 5.Potenz des Betrags des Abstandsvektors */
d3 = pow (betrag (dr),3);
d5 = pow (betrag (dr),5);
/* Skalarprodukt von Abstandsvektor und Geschwindigkeitsdifferenz */
skalar = skalarprodukt (dr,dv);
/* Beitrag der Beschleunigung und des Rucks durch den Körper i */
for (k = 0;k < 3;k ++)
{
a[k] += G * m[i] * dr[k] / d3;
j[k] += G * m[i] * (dv[k] / d3 - 3 * skalar * dr[k] / d5);
}
}
}
}
Allgemeine Lösungsmethoden
BearbeitenWie im vorausgegangenen Kapitel diskutiert, hängt die Beschleunigung eines jeden Massenpunkts von dessen eigener und den Positionen aller anderen ab, so dass sämtliche Beschleunigungen untereinander gekoppelt sind. Eine exakte Lösung dieses Problems, welche die Positionen und Geschwindigkeiten aller Massenpunkte für jeden beliebigen Zeitpunkt und somit deren genaue Bahnen angibt, ist im Allgemeinen nur für ein aus zwei Körpern bestehendes System möglich. Schon mit drei Massenpunkten ist man von wenigen Spezialfällen abgesehen auf Näherungen angewiesen, die im Kern auf folgenden, bereits von Euler ausgesprochenen Gedanken zurückgehen.
- Euler-Verfahren
- Zwischenschritt-Verfahren: Leapfrog und Runge-Kutta
- Prädiktor-Korrektor-Verfahren: Leapfrog und Hermite-Polynome
- Mehrschrittverfahren
- Tests
Euler-Verfahren
BearbeitenKonstruktion
BearbeitenBereits der Mathematiker Euler entwickelte das Konzept, ein zu komplexes System in diskreten Zeitschritten zu beobachten, anstatt nach einer kontinuierlichen, für beliebige Zeiten geltenden Lösung zu suchen. Sind diese Schritte klein genug, darf man annehmen, dass die Beschleunigungen und Geschwindigkeiten der Massen unterdessen sich kaum ändern und so während des Intervalls näherungsweise als konstant betrachten. Man geht also davon aus, dass die zu einem bestimmten Zeitpunkt gegebenen Momentanbeschleunigungen und -geschwindigkeiten den mittleren Werten für den gesamten Zeitrahmen entsprechen. Die Entwicklung des Systems von einem Zeitpunkt zum nächsten lässt sich dann mit nachfolgendem Schema beschreiben. Mit der neuen Position kennt man auch die neue Beschleunigung und kann so den nächsten Schritt vollziehen.
Obiger Ansatz bedeutet, dass man die wahre Geschwindigkeitskurve durch eine Stufenfunktion annähert und dementsprechend die darunterliegende Fläche (welche wie im letzten Kapitel besprochen die zurückgelegte Strecke darstellt) durch Rechtecke. Die Breite eines solchen Rechtecks ist durch den Zeitschritt gegeben, seine Höhe durch die Geschwindigkeit jeweils zu Beginn eines solchen Schritts. Untenstehende Abbildung lässt bereits erahnen, dass insbesondere bei plötzlichen Änderungen der Geschwindigkeit auf diese Weise die tatsächliche Fläche unter der Kurve nur schlecht ausgefüllt wird, d.h. die entsprechende Vorhersage für die Bahn eines Massenpunktes sehr ungenau ist.
Auf analoge Weise werden unter der Beschleunigungskurve Rechtecke platziert, um die Änderung der Geschwindigkeit während eines Zeitschritts zu ermitteln. Es zeigt sich die gleiche Schwäche wie bei der Betrachtung der zurückgelegten Entfernung.
Genauigkeit
BearbeitenDie unzureichende Genauigkeit des Euler-Verfahrens lässt sich anhand der Kreisbahn leicht demonstrieren. Abermals sei eine sehr kleine Masse betrachtet, welche sich auf einem Kreis mit Radius um eine viel größere Masse bewegt.
Gemäß der Zeichnung soll sich zu Beginn genau rechts von aufhalten. Die Geschwindigkeit der kleinen Masse weist dann exakt nach oben (oder unten). Es ist einleuchtend, dass sich schon nach dem ersten Schritt außerhalb der tatsächlichen Kreisbahn befindet, in einer zu großen Entfernung . Der Fehler ist beträchtlich, wie man z.B. für das System Erde-Sonne zeigen kann. Wählt man als Schrittweite 1 Tag, so liegt der Fehler etwa bei 0.015 %. des tatsächlichen Bahnradius. Da die Fehler der einzelnen Schritte dazu tendieren, sich aufzusummieren (wie im letzten Unterkapitel präsentierte praktische Beispiele zeigen), liegt die gesamte relative Abweichung nach 1 Jahr schon etwa bei 5 %. Es liegt auf der Hand, dass ein solches Ergebnis völlig inakzeptabel ist.
Mit kleineren Zeitschritten lässt sich die Genauigkeit des Verfahrens steigern, doch erwächst aus einem solchen Versuch ein neues Dilemma. Eine detaillierte Betrachtung zeigt nämlich für den Fehler pro Schritt folgenden Zusammenhang:
Der Fehler des Verfahrens hängt nur quadratisch von ab, mit z.B. halb so großen Zeitintervallen lässt sich nur die vierfache Genauigkeit pro Schritt erzielen. Verringert man allgemein um einen Faktor , so weist jeder Einzelschritt eine um verbesserte Genauigkeit auf. Jedoch werden dann auch Mal so viele Schritte benötigt, um die Entwicklung des Systems über eine bestimmte Gesamtzeit zu verfolgen. Die Genauigkeit der Gesamtsimulation wächst so lediglich linear um das -fache. Um etwa die Erdbahn mit einem jährlichen relativen Fehler von 0.1 % statt 5 % wiederzugeben, wäre eine auf 1/50 reduzierte Schrittweite nötig, d.h. von 1/50 Tag ≈ 1/2 Stunde. Ein Fehler von nur ein Millionstel des wirklichen Radius pro Jahr erforderte gar noch 1000 Mal kleinere Schritte von ungefähr 2 Sekunden. Für eine Simulation mit akzeptablen Rechenzeit wächst die Genauigkeit des Euler-Verfahrens viel zu langsam mit kleinerer Schrittweite.
Der prozentuale Fehler hängt nicht nur von selbst, sondern auch dem Abstand der beiden Massen ab. Hierbei gilt:
Er verhält sich dem Kubus von umgekehrt proportional, nimmt also dramatisch zu, wenn zwei Massenpunkte sich sehr nahe kommen. Beträgt ihr Abstand die Hälfte des ursprünglichen Wertes, liegt der Fehler des Verfahrens 8 Mal höher als zu Beginn. Bei einem Drittel der anfänglichen Distanz ist er schon auf das 27-fache des Ausgangswertes angewachsen. Die außerordentlich schnell wachsende Unsicherheit der Lösung im Falle einer engen Begegnung zweier Körper stellt eine grundsätzliche Schwierigkeit dar, welche auch bei genaueren Näherungsverfahren auftritt. Die daraus resultierende Instabilität eines simulierten Sternsystems kommt später noch ausführlich zur Sprache.
Mit Hilfe des 3. Keplerschen Gesetzes lässt sich eine weitere wichtige Aussage über den Fehler des Euler-Verfahrens bei der Kreisbahn gewinnen. Aus der Proportionalität folgt für den relativen Fehler:
Für die Genauigkeit der Simulation ist das Verhältnis zwischen zeitlicher Schrittweite und Umlaufszeit maßgeblich. Dies gilt auch für präzisere Methoden.
Einschub für Fortgeschrittene: Wiedergabe einer Kreisbahn durch das Euler-Verfahren
Die Startposition der kleinen Masse sei:
Für ihre Geschwindigkeit an dieser Stelle gilt:
bezeichnet die konstante Winkelgeschwindigkeit, welche man für auf einer Kreisbahn erwartet. Aus der Forderung, dass die Anziehungskraft gleich der Zentripetalkraft sein muss, folgt:
Nach dem Euler-Verfahren bewegt sich die kleine Masse während der Zeit jedoch nicht auf einem Kreis, sondern einfach geradeaus in y-Richtung. Damit gelangt diese an folgende Position:
Der Abstand dieser geschätzten Position zur großen Masse beträgt:
Für kleine Zeiten wird , so dass man verwenden darf. Damit vereinfacht sich der Abstand zu . Der Fehler beläuft sich also auf und damit der relative Fehler auf:
Mit der Sonnenmasse von 1.989 1030 kg, dem Radius der Erdbahn von 1.496 1011 m sowie der Schrittweite von 1 Tag bzw. 86400 s erhält man die schon skizzierten Zahlenwerte für die Bahn der Erde um die Sonne.
Der relative Fehler nimmt die gerade erwähnte besonders prägnante Form an, wenn man das 3. Keplersche Gesetz heranzieht. Einsetzen liefert unmittelbar:
Dass der relative Fehler mit jedem Zeitschritt tatsächlich immer weiter zunimmt, wird klar, wenn man auch die Geschwindigkeit betrachtet. Gemäß der Näherung wird die kleine Masse während des gesamten Zeitraums nur in x-Richtung beschleunigt (nämlich mit ), jedoch nicht in y-Richtung. An der neuen Position stellt sich so folgende Geschwindigkeit ein:
Der Betrag der Geschwindigkeit liegt damit bei:
Er weist also exakt den gleichen relativen Fehler auf wie der Abstand der beiden Massen. Man sieht zudem, dass die genäherten Orts- und Geschwindigkeitsvektoren ebenso senkrecht aufeinander stehen wie die tatsächlichen. Jede neue Position kann als Element einer Kreisbahn betrachtet werden, die sich mit jedem Zeitschritt weitet. Die kleine Masse bewegt sich im Rahmen der Eulerschen Näherung somit auf einer Spiralbahn nach außen.
C-Code: Mehrkörpersimulation mit dem Euler-Verfahren
Die Implementierung einer Mehrkörpersimulation auf Grundlage des Euler-Verfahrens mit festen Zeitschritten ist vergleichsweise einfach. Um von einem Zeitpunkt zum nächsten zu gelangen, berechnet man zuerst anhand der Positionen zu Beginn des Zeitschritts die entsprechenden Beschleunigungen. Dann werden die neuen Positionen mittels der anfänglichen Geschwindigkeiten bestimmt und zuletzt die neuen Geschwindigkeiten auf Grundlage der zu Beginn gültigen Beschleunigungen.
Die bislang definierten Variablen und Prozeduren bleiben unverändert gültig. Hinzukommen als Double die Gesamtzeit T, über welche sich die Simulation erstrecken soll, der aktuelle Zeitpunkt t zu Anfang jeweils eines Schritts und die Schrittweite dt.
/* Globale Variablen */
unsigned int N;
double *m;
double **r;
double **v;
double **a;
unsigned int i,k;
double t,dt;
double T;
for (t = 0;t < T;t += dt)
{
/* Beschleunigungen zum Zeitpunkt t */
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,r,a[i]);
/* Positionen und Geschwindigkeiten zum Zeitpunkt t + dt */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[i][k] += v[i][k] * dt;
v[i][k] += a[i][k] * dt;
}
}
}
Zwischenschritt-Verfahren: Leapfrog und Runge-Kutta
BearbeitenEin entscheidender Schwachpunkt des Euler-Verfahrens besteht darin, dass man die Momentanbeschleunigungen und -geschwindigkeiten zu einem Zeitpunkt benutzt, um den Zustand des Systems zu einer Zeit zu bestimmen. Es ist naheliegend, dass man den tatsächlichen Verlauf der Geschwindigkeiten und Beschleunigungen während der Zeitspanne genauer wiedergeben kann, wenn man zusätzlich dabei auftretende Zwischenwerte berücksichtigt.
Im Folgenden werden zwei Methoden zur Konstruktion solcher Zwischenwerte vorgestellt. Das Leapfrog-Verfahren kommt mit einem einzigen Zwischenschritt aus, vermag die Genauigkeit einer Mehrkörpersimulation im Vergleich zur Euler-Methode dennoch um etliche Größenordnungen zu steigern. Das Runge-Kutta-Verfahren erfordert mehrere Zwischenstufen, liefert dafür aber noch präzisere Ergebnisse.
Leapfrog-Verfahren
BearbeitenHerangehensweise
BearbeitenDer einfachste Weg hin zu Zwischenwerten besteht darin, die Momentangeschwindigkeiten zur Zeit nicht für einen ganzen, sondern nur einen halben Zeitschritt gelten zu lassen. Damit gewinnt man Positionen zum Zeitpunkt . Aus solchen Zwischenpositionen folgen unmittelbar Zwischenwerte für die Momentanbeschleunigungen. Diese lassen genauer auf die Momentangeschwindigkeiten zum Zeitpunkt schließen als die im Rahmen des Euler-Verfahrens herangezogenen Werte zu Beginn eines Zeitschritts. Die neuen Momentangeschwindigkeiten gestatten es schließlich, aus den Zwischenpositionen zum Zeitpunkt die für gültigen Endpositionen zu berechnen. Das Schema sieht also jetzt folgendermaßen aus:
Um von einer alten zu einer neuen Position zu gelangen, arbeitet man nun mit dem Mittel der alten und neuen Momentangeschwindigkeiten. Dieses stellt eine viel bessere Näherung der für die Zeitspanne zwischen und geltenden Durchschnittsgeschwindigkeit dar als die von dem Euler-Verfahren ausschließlich benutzte alte Momentangeschwindigkeit zu Beginn des Zeitintervalls.
Die Verwendung des Mittels der Momentangeschwindigkeiten zu Anfang und Ende eines Zeitschritts bedeutet, dass man die wahre Fläche unter der Geschwindigkeitskurve nicht mehr durch Rechtecke, sondern Trapeze ersetzt. Es leuchtet sofort ein, dass dieses Vorgehen wesentlich zuverlässiger ist.
Als kritischer Aspekt bleibt bestehen, dass man die Momentangeschwindigkeit zum Zeitpunkt bereits kennen muss, bevor man die entsprechende Position berechnet hat. Dies ist nur nach dem Schema des Euler-Verfahrens möglich, d.h. erneut wird die Fläche unter der Beschleunigungskurve durch Rechtecke angenähert. Die Höhe eines solchen wird nun aber jeweils durch die Beschleunigung in der Mitte eines Zeitintervalls festgelegt und nicht durch den Wert zu Beginn. Somit wird auch für die Beschleunigung die Fläche unter der Kurve genauer wiedergegeben.
Genauigkeit
BearbeitenWieder sei die Güte der Lösung am Beispiel der Kreisbahn demonstriert. Nach dem ersten Halbschritt scheint keine signifikante Verbesserung eingetreten zu sein, da dieser genau dem Schema des Euler-Verfahrens folgt. Die Beschleunigung an der Zwischenposition wirkt jedoch derart auf die kleine Masse , dass mit der für den zweiten Halbschritt geltenden neuen Geschwindigkeit der Fehler des ersten Halbschritts fast vollständig kompensiert wird.
Eine genaue Analyse der Erdbahn liefert für einen Zeitschritt von 1 Tag (zwei Halbschritten von je 1/2 Tag) einen erstaunlich kleinen Fehler von nur etwa 5 Milliardstel des wahren Bahnradius. Nimmt man wieder den ungünstigsten Fall an, dass die Fehler der einzelnen Schritte sich aufaddieren (die später skizzierten Tests zeigen, dass dies für die Leapfrog-Methode nicht zutrifft), erhält man auf 1 Jahr hochgerechnet einen relativen Fehler von etwa 2 Millionstel! Die auf dem Leapfrog-Verfahren beruhende Lösung ist um mehrere Größenordnungen genauer als diejenige nach Euler. Ein Fehler von 2 Millionstel des Radius pro Jahr ist allerdings immer noch viel zu hoch, um beispielsweise die Stabilität der Erdbahn (welche ja nicht isoliert ist, sondern von den übrigen Planeten des Sonnensystems gestört wird) auf geologischer Zeitskala zu prüfen.
Das im Vergleich zur Euler-Methode gute Resultat ist kein Zufall, denn für den prozentualen Fehler pro Schritt gilt:
Dieser ist jetzt der 4. Potenz des Zeitschritts proportional, d.h. eine Halbierung der Zeitintervalle erbringt pro Schritt das 16-fache an Genauigkeit. Verringert man allgemein um einen Faktor , steigert man die Präzision eines Einzelschritts um bzw. der gesamten Simulation um . Kleinere Zeitschritte erhöhen nun sehr effizient die Genauigkeit der Lösung. Umgekehrt muss man aber sehr darauf achten, zwecks kürzerer Rechenzeit die Schrittweite nicht allzu sehr zu vergröbern, da dann die Qualität des Verfahrens sehr rasch abnimmt.
Die Effizienz des Leapfrog-Verfahrens darf keineswegs zu dem Schluss verleiten, man könne mit genügend kleiner Schrittweite eine im Prinzip beliebige Genauigkeit erzielen. Die bei Computersimulationen verwendeten Gleitkommazahlen weisen selbstverständlich eine endlich Anzahl von Nachkommastellen auf, so dass jeder Zeitschritt zwangsläufig mit Rundungsfehlern behaftet ist. Kleinere Schritte bedeuten mehr Einzelberechnungen und damit Rundungsfehler, wodurch die höhere nominelle Genauigkeit der Näherung zunehmend unterlaufen wird. Auch hier handelt es sich um eine prinzipielle, jedem nominell noch so guten Verfahren anhaftende Einschränkung.
Dem beachtlichen Abschneiden der Leapfrog-Methode bezüglich der zeitlichen Schrittweite steht leider eine enorme Instabilität hinsichtlich des Abstandes der beiden Massen gegenüber. Es schält sich nämlich folgende Beziehung heraus:
Der prozentuale Fehler steigt sage und schreibe mit der 6. Potenz des Kehrwertes von an – bei der Hälfte des ursprünglichen Abstands schon auf das 64-fache, bei einem Drittel desselben gar bereits auf das 729-fache! Man könnte daher vermuten, dass sehr enge Vorübergänge zweier Punktmassen mit dem Euler-Verfahren zuverlässiger behandelt würden. In der Tat gibt es einen kritischen Abstand, bei dem letzteres einen kleineren prozentualen Fehler pro Zeitschritt liefert. Allerdings ist der Fehler selbst eines einzigen Schrittes an dieser Stelle schon so hoch, dass keine der beiden Näherungen mehr auch nur ansatzweise tauglich ist. Beide Verfahren brechen zusammen, lange bevor sich zwei Massenpunkte bis auf den relevanten Abstand genähert haben. Damit aber ist dieser in der Praxis völlig belanglos.
Um ein Mehrkörpersystem auch unter den Bedingungen von Beinahezusammenstößen korrekt behandeln zu können, sind spezielle Techniken notwendig, denen das ganze nächste Kapitel gewidmet ist. Dazu gehört unter anderem eine dynamische zeitliche Schrittweite. Dort wo die Körper eng zusammenstehen, werden die Berechnungen mit kleineren durchgeführt als in Gebieten geringer Dichte.
Analog zum Euler-Verfahren kann man auch für die Leapfrog-Methode das 3. eplersche Gesetz auf den relativen Fehler anwenden. Abermals erweist sich das Verhältnis zeitliche Schrittweite / Umlaufdauer als entscheidend, denn man erhält:
Einschub für Fortgeschrittene: Wiedergabe einer Kreisbahn durch das Leapfrog-Verfahren
Die kleine Masse startet erneut von der Position aus. Die Anfangsgeschwindigkeit soll jetzt aber nur für einen halben Zeitschritt gelten. Für die Zwischenposition und ihren Abstand von der großen Masse gilt somit:
Daraus folgt mittels des Gravitationsgesetzes die entsprechende Zwischenbeschleunigung , wobei der immer wieder im Nenner auftauchende etwas unhandliche Ausdruck durch abgekürzt wird.
Um auf die Geschwindigkeit nach dem ganzen Schritt zu schließen, wird obige Beschleunigung für das volle Zeitintervall festgehalten. Das Ergebnis lautet:
Mit der ebenfalls nur für eine Zeit angewandten Endgeschwindigkeit gelangt man von der Zwischen- zur Schlussposition. Für diese gilt:
Nun stehen alle für die Bestimmung der relativen Fehler erforderlichen Ergebnisse bereit. Da wieder angenommen wird, muss man bei der Berechnung des Endabstandes und des Betrags der Endgeschwindigkeit nur die niedrigsten Potenzen von berücksichtigen. Dabei ist zu beachten, dass auch der Term solche Potenzen enthält, denn wegen gilt die Näherung:
Unter Verwendung aller Terme lautet zunächst:
Bei dem quadratischen Glied fällt nach dem Einsetzen des genäherten Wertes von die 1 weg, so dass sich dieses effektiv als ein Term der 4. Potenz mit dem Beitrag erweist. Bei dem nächsten Glied genügt es, mit zu rechnen, da alle weiteren Terme nur höhere Potenzen von liefern. Es lautet so . Das letzte Glied kann einfach gestrichen werden. All diese Überlegungen führen zu:
Die Wurzel kann auf die gleiche Art und Weise genähert werden wie bereits unter dem Euler-Verfahren besprochen, womit sich folgender relativer Fehler ergibt:
Die abermalige Anwendung der Sonnenmasse und des Bahnradius der Erde bestätigt die bereits diskutierte Genauigkeit des Leapfrog-Verfahrens. Setzt man wiederum das 3. Keplersche Gesetz ein, so gewinnt man den einprägsamen Ausdruck:
Setzt man die Fehler von Leapfrog- und Euler-Methode gleich, so erhält man einen kritischen Abstand , unterhalb dessen das Euler-Verfahren anscheinend besser abschneidet.
Setzt man jedoch wiederum in den relativen Fehler ein, so gilt einfach:
Für ist der relative Fehler größer als der Abstand zwischen den beiden Massen selbst! Damit ist der Zusammenbruch beider Verfahren schon lange vor Erreichen des kritischen Abstands gezeigt.
Zuletzt sei auch der relative Fehler der Geschwindigkeit erörtert. Der Betrag der Endgeschwindigkeit lautet unter Mitnahme aller Terme:
Beim quadratischen Glied fällt analog zum Abstand die 1 weg, so dass sich dieses erneut als Term der 4. Potenz entpuppt. Damit ist für den Vorfaktor erlaubt, alle anderen Terme würden nur höhere Potenzen von darstellen. Es ergibt sich so der Beitrag . Für das Glied 4. Potenz gilt wiederum , so dass es den Wert beisteuert. Somit lautet das Endergebnis:
Wie bei dem Euler-Verfahrens weist der Geschwindigkeitsbetrag absolut betrachtet den gleichen relativen Fehler auf wie der Abstand. Doch nun wird die Geschwindigkeit leicht unter- anstatt überschätzt, was angesichts des leicht überschätzten Abstandes eine zusätzliche Stabilisierung der Simulation bedeutet. Die Euler-Methode überschätzt sowohl als auch , was eine Unterschätzung der Gravitation, aber eine Überschätzung der Zentripetalkraft nach sich zieht. Dementsprechend driftet die kleine Masse mit jedem Zeitschritt rasch nach „außen“. Nun aber werden beide Kräfte unterschätzt, so dass sie weiterhin in guter Näherung im Gleichgewicht bleiben. Die Fehler der Einzelschritte weisen im Vergleich zum Euler-Verfahren so eine viel schwächere Tendenz auf, sich aufzusummieren.
C-Code: Mehrkörpersimulation mit dem Leapfrog-Verfahren
Für eine effiziente Programmierung ist es hilfreich, wenn man gemäß dem zu Beginn dieses Abschnitts gezeigten Schemas einige Schritte hintereinander aufschreibt. Man erkennt dann, dass das Leapfrog-Verfahren folgendem Algorithmus folgt:
Zu Beginn der Simulation zum Zeitpunkt muss man sich mit der Geschwindigkeit um einen halben Zeitschritt zur Position bewegen. Mit der dort herrschenden Beschleunigung gewinnt man die Geschwindigkeit , d.h. die Geschwindigkeit zum Zeitpunkt kann man überspringen. Mit gelangt man nicht nur bis zur Positionen , sondern bis nach , kann also überspringen. Die Beschleunigung liefert wiederum die Geschwindigkeit und jene die Position usw. Dieses permanente wechselseitige Überspringen von Positionen und Geschwindigkeiten gibt dem Verfahren seinen Namen, welches im Englischen Bockspringen bedeutet. Für den nachfolgenden Code werden im Vergleich zum Euler-Verfahren keine neuen Variablen und Prozeduren benötigt.
Ein Vergleich der Codes für die beiden Methoden zeigt, dass für das Leapfrog-Verfahren kein höherer Rechenaufwand erforderlich ist. Seine im Vergleich zum Euler-Verfahren viel bessere Genauigkeit verdankt es allein der geschickten Wahl der Zeitpunkte, für welche Positionen, Geschwindigkeiten und Beschleunigungen berechnet werden.
/* Globale Variablen */
unsigned int N;
double *m;
double **r;
double **v;
double **a;
unsigned int i,k;
double t,dt;
double T;
for (t = 0;t < T;t += dt)
{
/* Initialer Halbschritt zur Position r(dt/2) */
if (t == 0)
{
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
r[i][k] += v[i][k] * dt / 2;
}
}
/* Beschleunigungen a(dt/2), a(3dt/2) usw. */
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,r,a[i]);
/* Geschwindigkeiten v(t+dt), v(t+2dt) usw. */
/* Positionen r(t+3dt/2), r(t+5dt/2) usw. */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
v[i][k] += a[i][k] * dt;
r[i][k] += v[i][k] * dt;
}
}
}
Aufgrund des vergleichsweise geringen Rechenaufwandes wird das Leapfrog-Verfahren häufig in der Praxis eingesetzt. Mit der hier geschilderten Darstellung als Ziwschenschritt-Methode ist es aber nicht möglich, dynamische zeitliche Schrittweiten anzuwenden. Jedoch lassen sich die Beziehungen zwischen Positionen, Geschwindigeiten und Beschleunigungen zu diesem Zweck relativ leicht umformulieren, wie das nächste Unterkapitel zeigt.
Klassisches Runge-Kutta-Verfahren
BearbeitenHeun-Verfahren als Vorstufe
BearbeitenVon allen Methoden, mehrere Zwischenschritte von alten nach neuen Positionen zu bilden, ist das Runge-Kutta-Verfahren bei weitem am gebräuchlichsten. Es leitet sich jedoch nicht von dem Leapfrog-Algorithmus ab, sondern dem folgenden, auf den Mathematiker Heun zurückgehenden Schema. Auf den ersten Blick ist dieses dem Leapfrog-Verfahren unterlegen, weil für die Berechnung der Geschwindigkeit am Ende des Zeitintervalls die Beschleunigung zu dessen Beginn verwendet wird und nicht der Zwischenwert in dessen Mitte.
Als Folge dessen zeigt der relative Fehler eines Zeitschritts lediglich eine Proportionalität . Die Genauigkeit eines solchen Schritts steigt so nur mit und diejenige einer kompletten Simulation nur mit , wenn man um den Faktor verringert. Das Verfahren lässt sich jedoch, wie die Mathematiker Runge und Kutta erkannten, stringenter zu mehreren Zwischenschritten ausbauen als die Leapfrog-Methode.
Erweiterung zum klassischen Verfahren
BearbeitenUm eine solche Verbesserung zu erreichen, startet man zunächst wie bei dem Leapfrog-Verfahren mit der Geschwindigkeit und Beschleunigung an der Position zu Beginn eines Zeitintervalls und geht damit einen halben Schritt zur Position , wo neue Werte für Geschwindigkeit und Beschleunigung gelten. Mit diesen startet man nun abermals von der Ausgangsposition aus und gelangt so wiederum mit einem Halbschritt an die Position , wo die Geschwindigkeit und Beschleunigung herrschen. Man durchläuft das Zeitintervall einmal unter den Bedingungen zu seinem Beginn (Werte 1) und im Gegensatz zur Leapfrog-Methode ein zweites Mal unter den ungefähren Verhältnissen zu dessen Ende (Werte 2). Dementsprechend stellt das Resultat (Werte 3) im Vergleich zum Leapfrog-Verfahren einen genaueren Zwischenwert für den Zeitpunkt bereit.
Hiermit gelangt man wiederum von der Startposition ausgehend nach einen ganzen Zeitschritt zur Position , welche eine Geschwindigkeit und Beschleunigung liefert. Diese Werte 4 stellen jedoch noch nicht das Endergebnis der Prozedur dar. Vielmehr bildet man aus den Anfangswerten 1, den Zwischenwerten 2 und 3 sowie den ungefähren Endwerten 4 Mittelwerte für Geschwindigkeit und Beschleunigung während des ganzen Zeitintervalls, wobei die Zwischenwerte doppelt gewichtet werden. Diese Mittelwerte führen nun tatsächlich von der Ausgangs- zur Endposition.
Das Runge-Kutta-Verfahren ist zu aufwendig, um dessen Güte anhand einer expliziten algebraischen Rechnung für die Kreisbahn darzulegen. Man kann jedoch allgemein zeigen, dass es die Leapfrog-Methode noch um eine Potenz übertrifft:
Der prozentuale Fehler eines Zeitschritts ist der 5. Potenz, derjenige einer gesamten Simulation der 4. Potenz von proportional. Es gilt jedoch zu beachten, dass dies mit wesentlich mehr Einzelberechnungen erkauft ist und damit die Problematik der Rundungsfehler umso stärker ins Gewicht fällt. Wieder gibt eine optimale Schrittweite, unterhalb derer aufgrund der endlichen Genauigkeit der Gleitkommazahlen die Qualität des Verfahrens sich nicht weiter verbessert, im Gegenteil bei zugleich längerer Rechenzeit sogar abnimmt.
Einschub für Fortgeschrittene: Runge-Kutta-Verfahren und Simpsonregel
Die nochmalige (nominelle) Steigerung der Genauigkeit kann man sich folgendermaßen klarmachen. Das Leapfrog-Verfahren verwendet pro Zeitschritt nur zwei Geschwindigkeitswerte (nämlich zu dessen Beginn und Ende), so dass die Fläche unter der Geschwindigkeitskurve durch Trapeze ersetzt wird. Jetzt stehen drei Werte zur Verfügung, nämlich zu Beginn, am Ende und zusätzlich die Zwischenwerte und , welche durch Mittelung zusammengefasst werden (da beide aus dem ersten Halbschritt hervorgehen).
Die Fläche unter der Geschwindigkeitskurve wird jetzt durch Parabel-Stücke angenähert, welche jeweils durch die drei pro Simulationsschritt gegebenen Werte gelegt werden. Der Flächeninhalt und damit die während eines Schritts zurückgelegte Strecke kann mit Hilfe der Simpsonregel. berechnet werden. Diese Formel erklärt die doppelte Gewichtung der Werte 2 und 3 im letzten Schritt des Runge-Kutta-Verfahrens, denn es gilt:
Auch für die Beschleunigung kann man mit Parabel-Flächen arbeiten, wohingegen man sich bei der Leapfrog-Methode mit Rechtecken als Ersatz für die tatsächliche Fläche unter der Beschleunigungskurve begnügen muss. Für die Änderung der Geschwindigkeit gilt:
Die Simpson-Regel begründet auch die Abhängigkeit der Genauigkeit des Runge-Kutta-Verfahrens von . Die Abweichung zwischen der Fläche unter einer Ersatzparabel und derjenigen unter der tatsächlichen Kurve ist direkt proportional zur 5. Potenz des Abstands zwischen zwei Stützstellen.
C-Code: Mehrkörpersimulation mit dem Runge-Kutta-Verfahren
Bedingt durch die zahlreichen Zwischenschritte ist der Code komplexer als für die bisher diskutierten Methoden. Für Position, Geschwindigkeit und Beschleunigung müssen nun jeweils 4 Datensätze vorgehalten werden - ein Datensatz pro Zwischenschritt. Diese Größen werden daher jetzt als dreidimensionale Arrays bzw. als zweidimensionale Arrays von Zeigern deklariert. Nicht nur für jeden Massenpunkt, sondern auch für jeden Zwischenschritt existiert damit ein Zeiger, der wie bisher auf jede der drei Vektorkoordinaten deuten kann. Der erste Index eines jeden Zeigerarrays bezieht sich auf den gerade abgearbeiteten Zwischenschritt (läuft aber von 0 bis 3 anstatt von 1 bis 4, da die Indizes für ein Array gemäß der Syntax von C mit 0 und nicht mit 1 beginnen), der zweite jeweils auf einen bestimmten Körper. Beim Aufruf der Beschleunigungsprozedur muss für r und a nun jeweils der Index des aktuellen Zwischenschrittes angegeben werden.
/* Globale Variablen */
unsigned int N;
double *m;
double ***r;
double ***v;
double ***a;
unsigned int i,k;
double t,dt;
double T;
for (t = 0;t < T;t += dt)
{
/* Beschleunigungen a1 an den Positionen r1 */
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,r[0],a[0][i]);
/* Positionen r2 = r1 + v1 * dt/2 */
/* Geschwindigkeiten v2 = v1 + a1 * dt/2 an den Positionen r2 */
/* Beschleunigungen a2 an den Positionen r2 */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[1][i][k] = r[0][i][k] + v[0][i][k] * dt / 2;
v[1][i][k] = v[0][i][k] + a[0][i][k] * dt / 2;
}
}
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,r[1],a[1][i]);
/* Positionen r3 = r1 + v2 * dt/2 */
/* Geschwindigkeiten v3 = v1 + a2 * dt/2 an den Positionen r3 */
/* Beschleunigungen a3 an den Positionen r3 */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[2][i][k] = r[0][i][k] + v[1][i][k] * dt / 2;
v[2][i][k] = v[0][i][k] + a[1][i][k] * dt / 2;
}
}
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,r[2],a[2][i]);
/* Positionen r4 = r1 + v3 * dt */
/* Geschwindigkeiten v4 = v1 + a3 * dt an den Positionen r4 */
/* Beschleunigungen a4 an den Positionen r4 */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[3][i][k] = r[0][i][k] + v[2][i][k] * dt;
v[3][i][k] = v[0][i][k] + a[2][i][k] * dt;
}
}
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,r[3],a[3][i]);
/* Endpositionen = Startpositionen + mittlere Geschwimndigkeiten * dt */
/* Endgeschwindigkeiten = Startgeschwindigkeiten + mittlere Beschleunigungen * dt */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[0][i][k] += (v[0][i][k] + 2 * v[1][i][k] + 2 * v[2][i][k] + v[3][i][k]) * dt / 6;
v[0][i][k] += (a[0][i][k] + 2 * a[1][i][k] + 2 * a[2][i][k] + a[3][i][k]) * dt / 6;
}
}
}
Im Prinzip könnte man die pro Zwischenschritt immer gleiche Abfolge von neuer Position, Geschwindigkeit und Beschleunigung durch eine weitere Prozedur zusammenfassen, doch wird zugunsten einer klareren Darstellung der Zusammenhänge darauf verzichtet.
Da in den nachfolgenden Buchkapiteln immer wieder dreidimensionale Arrays (wie hier für die Position) benutzt werden, soll auch für solche die Speicherverwaltung kurz skizziert werden. Die Speicheradressierung geschieht nun in drei Stufen. Im ersten Schritt wird für jedes erforderliche Zeigerarray (Vektorarray-Objekt) Speicher zur Verfügung gestellt, daher die Anweisung sizeof (double **). Um alle Zwischenschritte des Runge-Kutta-Verfahrens abzudecken, werden insgesamt 4 Zeigerarrays benötigt. Im zweiten Schritt wird innerhalb jeden Zeigerarrays für jedes Vektorobjekt Platz geschaffen (was dem ersten Schritt der Speicheradressierung für ein zweidimensionales Array entspricht). Zuletzt wird für jedes Vektorobjekt Speicher für dessen Komponenten reserviert (wie im Falle zweidimensionaler Arrays).
r = malloc (4 * sizeof (double **));
for (j = 0;j < 4;j ++)
{
r[j] = malloc (N * sizeof (double *));
for (i = 0;i < N;i ++)
r[j][i] = malloc (3 * sizeof (double));
}
Die Speicherfreigabe durchläuft jetzt ebenfalls drei Stufen, wobei wie für zweidimensionale Arrays im Vergleich zur Speicheradressierung die Abfolge sich umkehrt. Abermals wird zuerst der Speicher für die Vektorkomponenten geleert, dann für die Vektorobjekte, zuletzt für die Vektorarray-Objekte.
for (j = 0;j < 4;j ++)
{
for (i = 0;i < N;i ++)
free (r[j][i]);
free (r[j]);
}
free (r);
Trotz seiner großen allgemeinen Bedeutung und Genauigkeit wird das Runge-Kutta-Verfahren nur relativ selten auf astronomische Mehrkörpersysteme angewandt, da es sich aufgrund seines komplexen Vorgehens bei der Bildung von Zwischenschritten kaum mit dynamischen Zeitintervallen vereinbaren lässt. Es kann bei Aufgabenstellungen eingesetzt werden, bei denen konstant gehalten werden darf. Als Beispiel sei eine Diplomarbeit von Geisler (2006) [6] genannt, welcher untersuchte, wie die ausgedehnten Gashüllen sehr leuchtkräftiger Sterne durch die von einem Begleitstern ausgehende Schwerkraft gestört werden. Die Gashülle wird durch Massenpunkte jeweils gleicher Masse dargestellt. Da im Vergleich zu den Sternmassen sehr gering ist, üben diese Modellkörper untereinander nur sehr kleine Beschleunigungen aufeinander aus. Die Sterne werden nicht als punktförmig behandelt, sondern deren endlicher Radius wird berücksichtigt, so dass ein verschwindender Abstand zwischen einem Mitglied der Gashülle und einem Stern ausgeschlossen ist. Die Simulation bleibt somit auch ohne dynamische Zeitschritte ausreichend stabil, was man anhand der Energieerhaltung überprüfen kann.
Prädiktor-Korrektor-Verfahren: Leapfrog und Hermite-Polynome
BearbeitenIdee
BearbeitenDie Schwäche des Euler-Verfahrens, während eines Zeitintervalls Geschwindigkeiten und Beschleunigungen konstant zu halten, lässt sich nicht nur durch diskrete Zwischenwerte überwinden. Man kann stattdessen diese Größen während sich auch kontinuierlich ändern lassen, ohne Zwischenschritte definieren zu müssen. Wie schon im Grundlagenkapitel dargelegt, gilt unter Annahme einer konstanten Beschleunigung:
Damit lässt man zumindest eine lineare Änderung der Geschwindigkeit während eines Zeitintervalls zu. Ein konstanter Ruck gestattet für die Geschwindigkeit eine quadratische und für die Beschleunigung eine lineare Abhängigkeit von der Zeit:
Wie nun aufgezeigt wird, weisen diese Versuche tatsächlich auf den richtigen Weg, sind aber so noch nicht präzise genug. Ohne Ruck bleibt wie für das Euler-Verfahren der relative Fehler eines Zeitschritts proportional zu und derjenige einer ganzen Simulation proportional zu . Mit Ruck ergeben sich Proportionalitäten zu bzw. .
Die von obigen Formeln gelieferten neuen Positionen und Geschwindigkeiten stellen für die vollständigen Lösungen dennoch korrekte erste Prognosen dar. Dementsprechend werden diese Ausdrücke als Prädiktoren bezeichnet. Die vorläufigen Resultate für die und werden anschließend in Korrekturformeln eingesetzt, woraus sich verbesserte Werte ergeben. Diese den eigentlichen Kern der Verfahren ausmachenden Beziehungen werden Korrektoren genannt.
Leapfrog-Verfahrens
BearbeitenAlternative Formulierung
BearbeitenWie Hut und andere (1995) [7] zeigten, lässt sich aus dem Leapfrog-Verfahren recht einfach eine Korrektur für die auf eine pro Zeitschritt konstante Beschleunigung basierende Lösung ableiten. Wie im letzten Unterkapitel erläutert, lautet die klassische Formulierung:
Setzt man die erste Gleichung in die letzte ein, so lässt sich die Zwischenposition eliminieren, wodurch man sofort den Korrektor für die Position erhält. Die Zwischenbeschleunigung in der zweiten Gleichung kann man nicht durch algebraische Umstellungen loswerden, doch darf man diese näherungsweise durch das Mittel der Beschleunigungen an alter und vorläufiger neuer Position ersetzen. Damit ergibt sich auch ein Korrektor für die Geschwindigkeit, welcher hinsichtlich der Form der Korrektur der Position völlig analog ist:
Im letzten Unterkapitel vorgestellte Testrechnungen lassen auf den ersten Blick vermuten, dass das Leapfrog-Verfahren in Prädiktor-Korrektor-Gestalt wesentlich ungenauer ist als in Zwischenschritt-Form. Man kann die Resultate der Korrekturformeln jedoch wiederum in diese einsetzen, d.h. sie im Rahmen einer Iteration mehrmals durchlaufen und so die Genauigkeit im Vergleich zum Zwischenschritt-Algorithmus vielmehr enorm steigern. Mit drei Durchläufen ist die optimale Balance zwischen nomineller Präzision und Rundungsfehlern erreicht.
C-Code: Mehrkörpersimulation mit den Leapfrog-Verfahren
Durch den Wegfall aufwendiger Konstruktionen von Zwischenschritten ist die Programmierung von Prädiktor-Korrektor-Methoden von Natur aus recht übersichtlich. Da neue Positionen und Geschwindigkeiten durch Iteration ermittelt werden müssen, werden aber für alle Größen von der Position bis zur Beschleunigung generell Datensätze sowohl für alte als auch neue Werte benötigt. Wie für das Runge-Kutta-Verfahren müssen sie daher als zweidimensionale Zeigerarrays deklariert werden, wobei der erste Index jetzt aber lediglich die beiden Werte 0 und 1 für alt und neu annimmt. Die wiederholt erforderlichen Berechnungen von Beschleunigungen werden wie üblich durch die Beschleunigung-Prozedur ausgeführt.
Gegenüber den bisherigen Programmierabschnitten treten als neue Variablen die Double dt2 und die Unsigned integer z auf. dt2 steht für das Quadrat einer Zeitspanne . z stellt einen weiteren Zähler dar, welcher angibt, wie oft die Korrekturformeln durchlaufen wurden.
/* Globale Variablen */
unsigned int N;
double *m;
double ***r;
double ***v;
double ***a;
unsigned int i,k,z;
double t,dt,dt2;
double T;
dt2 = pow (dt,2);
for (t = 0;t < T;t += dt)
{
/* Beschleunigungen an alten Positionen */
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,r[0],a[0][i]);
/* Prädiktor-Schritt */
/* Erste Näherung für neue Positionen nach dem Schema rneu = ralt + valt * dt + aalt * dt2 / 2 */
/* Erste Näherung für neue Geschwindigkeiten nach dem Schema vneu = valt + aalt * dt */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[1][i][k] = r[0][i][k] + v[0][i][k] * dt + a[0][i][k] * dt2 / 2;
v[1][i][k] = v[0][i][k] + a[0][i][k] * dt;
}
}
/* Korrektor-Schritt - drei Mal durchlaufene Iteration */
/* Beschleunigung an vorläufig neuen Positionen */
/* Verbesserung der neuen Positionen und Geschwindigkeiten durch Einsetzen in die Lösungsformeln */
for (z = 0;z < 3;z ++)
{
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,r[1],a[1][i]);
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[1][i][k] = r[0][i][k] + (v[0][i][k] + v[1][i][k]) * dt / 2;
v[1][i][k] = v[0][i][k] + (a[0][i][k] + a[1][i][k]) * dt / 2;
}
}
}
/* Übernahme der verbesserten neuen Positionen und Geschwindigkeiten */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[0][i][k] = r[1][i][k];
v[0][i][k] = v[1][i][k];
}
}
}
Mit der Formulierung als Prädiktor-Korrektor-Algorithmus ist das Leapfrog-Verfahren als Hilfsmittel astronomischer Mehrkörperbetrachtungen weit verbreitet. Auch mit einer mehrmaligen Iteration bleibt der Rechenaufwand akzeptabel. Vor allem aber lässt sich, wie im folgenden Kapitel dargelegt, die Leapfrog-Methode nun ohne Verlust an Stabilität einer Simulation auf dynamische Zeitschritte anwenden.
Hermite-Polynome
BearbeitenKlassischer Korrektor
BearbeitenUm die auf während eines Zeitintervalls konstanten Rucks basierende Erstprognose zu korrigieren, muss man auch höhere Terme berücksichtigen, welche noch über den Ruck hinausgehen. Diese sind der Knall und das Knistern, welche aufgrund ihrer englischen Benennungen "snap" und "crackle" die Symbole und tragen. Unter dem mittleren Knall versteht man die Änderung des Rucks , unter dem mittleren Knistern die Änderung des Knalls im Verlauf von .
Mit Hilfe dieser Definitionen lässt sich folgenden Ansatz verwenden, welcher jedoch nur mit höherer Mathematik begründet werden kann:
Schon die Berechnung des von gegenseitig sich anziehenden Massen ausgeübten Rucks ist relativ kompliziert. Zwar lassen sich auch für den aus dem Gravitationsgesetz folgenden Knall und das Knistern Formeln herleiten, doch sind diese so umfangreich, dass eine Auswertung mit vertretbarem Rechenaufwand nicht mehr möglich ist. Doch lassen sich diese äußerst unhandlichen Größen eliminieren, wenn man zusätzlich folgende Beziehungen verwendet:
Die 4 Formeln für die gesuchten 4 neuen Werte für , , und bilden ein vollständiges lineares Gleichungssystem, wodurch man und eliminieren kann. Das Ergebnis wirkt erstaunlich elegant:
Um von alten zu neuen Positionen zu gelangen, braucht man nur Geschwindigkeiten und Beschleunigungen. Für neue Geschwindigkeiten werden lediglich Beschleunigungen und Rucks benötigt, welche noch mit akzeptablem Aufwand ermittelt werden können.
Die neuen Korrekturformeln schließen diejenigen des Leapfrog-Verfahrens mit ein, enthalten aber darüber hinaus jeweils einen auf der Beschleunigung bzw. dem Ruck beruhenden Zusatzterm. Dieser sorgt dafür, dass der relative Fehler eines Simulationsschritts wie für das Runge-Kutta-Verfahren zu proportional ist, und nicht wie für die Leapfrog-Methode nur proportional zu .
Einschub für Fortgeschrittene: Knall und Knistern als Taylor-Entwicklung der Strecke
Nicht nur Geschwindigkeit, Beschleunigung und Ruck, sondern auch Knall und Knistern lassen sich als Zeitableitungen der Strecke deuten. Dazu wendet man abermals den Taylorschen Satz an und berücksichtigt jetzt die ersten 5 Glieder der Reihe. Der Knall stellt sich dann als die 4., das Knistern als die 5. Zeitableitung der Strecke heraus. Die Taylor-Entwicklung erklärt auch die Ansätze zur Ableitung der Lösungsformeln, denn es gilt:
Die hier vorgestellten Lösungsformeln gehören einer speziellen Klasse von Polynomen, den sogenannten Hermite-Polynome an. Sie wurden ursprünglich von dem Mathematiker Hermite zur Lösung der nach ihm benannten hermiteschen Differentialgleichung eingeführt, haben aber seitdem vor allem in der Physik weitere Anwendungen gefunden.
Erweiterung durch Makino und Aarseth
BearbeitenDas soeben vorgestellte, in der Fachliteratur oft beschriebene und somit schon klassisch zu nennende Verfahren lässt sich gemäß Makino und Aarseth (1992) [8] noch verbessern, indem man das Knistern nicht nur für die Bestimmung neuer Geschwindigkeiten, sondern auch neuer Positionen heranzieht:
Dies hat etwas kompliziertere Korrekturformeln zur Folge, welche dafür aber nur einmal durchlaufen werden müssen, um eine selbst über die Runge-Kutta-Methode noch hinausgehende Genauigkeit zu erzielen. Sie lauten:
Für den Knall und das Knistern geben Makino und Aarseth (1992) [8] folgende Ausdrücke an:
C-Code: Mehrkörpersimulation mit den Hermite-Polynomen
Die Programmierung des Hermite-Polynome-Verfahrens ist zur Leapfrog-Methode völlig analog, im Wesentlichen müssen nur erweiterte Formeln für Erstprognose und Korrektur eingesetzt werden. Letztere muss lediglich ein einziges Mal durchgeführt werden, so dass keine Iterationsschleife erforderlich ist. Beschleunigungen und Rucks werden wie üblich berechnet.
Die neuen Größen Knall und Knistern werden jeweils nur für den gerade abgearbeiteten Massenpunkt gebraucht, so dass einfache Vektorrrays s und c für Double ausreichen. Für die immer wiederkehrenden Potenzen der zeitlichen Schrittweite dt werden die Double dt3 bis dt5 verwendet.
/* Globale Variablen */
unsigned int N;
double *m;
double ***r;
double ***v;
double ***a;
double ***j;
double s[3];
double c[3];
unsigned int i,k;
double t,dt,dt2,dt3,dt4,dt5;
double T;
dt2 = pow (dt,2);
dt3 = pow (dt,3);
dt4 = pow (dt,4);
dt5 = pow (dt,5);
for (t = 0;t < T;t += dt)
{
/* Beschleunigungen und Rucks an alten Positionen */
for (i = 0;i < N;i ++)
ruck (i,N,m,r[0],v[0],a[0][i],j[0][i]);
/* Prädiktor-Schritt */
/* Erste Näherung für neue Positionen nach dem Schema rneu = ralt + valt * dt + aalt * dt2 / 2 + jalt * dt3 / 6 */
/* Erste Näherung für neue Geschwindigkeiten nach dem Schema vneu = valt + aalt * dt + jalt * dt2 / 2 */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[1][i][k] = r[0][i][k] + v[0][i][k] * dt + a[0][i][k] * dt2 / 2 + j[0][i][k] * dt3 / 6;
v[1][i][k] = v[0][i][k] + a[0][i][k] * dt + j[0][i][k] * dt2 / 2;
}
}
/* Korrektor-Schritt - nur einmal durchlaufen */
/* Beschleunigung und Ruck an vorläufig neuen Positionen */
/* Verbesserung der neuen Positionen und Geschwindigkeiten durch Einsetzen in die Lösungsformeln */
for (i = 0;i < N;i ++)
ruck (i,N,m,r[1],v[1],a[1][i],j[1][i]);
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
s[k] = (- 6 * (a[0][i][k] - a[1][i][k]) - (4 * j[0][i][k] + 2 * j[1][i][k]) * dt) / dt2;
c[k] = (12 * (a[0][i][k] - a[1][i][k]) + 6 * (j[0][i][k] + j[1][i][k]) * dt) / dt3;
r[1][i][k] += s[k] * dt4 / 24 + c[k] * dt5 / 120;
v[1][i][k] += s[k] * dt3 / 6 + c[k] * dt4 / 24;
}
}
/* Übernahme der verbesserten neuen Positionen und Geschwindigkeiten */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[0][i][k] = r[1][i][k];
v[0][i][k] = v[1][i][k];
}
}
}
Die Hermite-Polynome-Methode wird trotz ihrer Genauigkeit seltener verwendet als das Leapfrog-Verfahren. Um zu vermeiden, dass der Aufwand zur Berechnung der Anziehungskräfte quadratisch mit der Anzahl der Massenpunkte wächst, werden in der Praxis Näherungen angewandt, welche der hohen Präzision der Lösungsformeln zuwiderlaufen. Der durch den Ruck bedingte doch noch erhebliche Rechenaufwand ist damit nicht mit einem Mehrwert verbunden.
Mehrschrittverfahren
BearbeitenDie bisher diskutierten Lösungsansätze beruhen allesamt darauf, aus dem zuletzt berechneten Zustand eines Mehrkörpersystems zu einem Zeitpunkt in einem einzigen Schritt auf den zu einem neuen Zeitpunkt geltenden Zustand zu schließen (auch wenn dabei je nach Verfahren mehr oder weniger Zwischenschritte benutzt werden). Man nennt diese daher Einschrittverfahren. Zieht man jedoch mehrere vergangene Zustände , , bis in Betracht, kann man daraus ebenfalls den neuen Zustand prognostizieren. Ein solches Vorgehen wird als Mehrschrittverfahren bezeichnet.
Um ein solches zu konstruieren, zieht man wiederum das Prädiktor-Korrektor-Prinzip heran. Die aktuell vorgehaltenen Zustände von bis dienen dazu, mittels einer Extrapolationsformel näherungsweise den neuen Zustand zu bestimmen. Eine Interpolationsformel liefert aus den bisherigen Zuständen und dem genäherten neuen Zustand für letzteren einen verbesserten Wert.
Extrapolation nach Adams-Bashforth
BearbeitenUm die Entwicklung eines Systems sukzessive durch Extrapolation beschreiben zu können, müssen zumindest die letzten beiden Zustände und berücksichtigt werden. Um aus diesen für die Positionen der Massenpunkte eine Extrapolationsformel zu entwickeln, geht man von der schon mehrfach verwendeten Beziehung zwischen konstanter Beschleunigung und zurückgelegter Strecke aus:
Die Beschleunigung kann gemäß der Definition auf eine Geschwindigkeitsdifferenz zurückgeführt werden, wie untenstehende Abbildung zeigt:
Setzt man dieses oben ein, so erhält man einen Ausdruck, welche als höchste Terme nur Geschwindigkeiten enthält, aber nicht nur für den letzten Zustand , sondern auch den vorletzten :
Völlig analog dazu kann man aus den zurückliegenden Beschleunigungen und eine neue Geschwindigkeit gewinnen.
Der neue Ort liefert mittels des Gravitationsgesetzes auch eine neue Beschleunigung . Schließlich betrachtet man die Zustände und als vergangen und gelangt so zum Zustand usw.
Um mittels einer Extrapolationsformel die gleiche Stabilität zu erreichen wie für eine auf dem Runge-Kutta-Verfahren oder den Hermite-Polynomen beruhende Lösung, müssen mehr als nur die beiden letzten Zustände herangezogen werden. Dies gelingt, indem man auch höhere zur zurückgelegten Strecke beitragende Terme wie Ruck, Knall und Knistern berücksichtigt und durch Differenzenbildung erneut auf Geschwindigkeiten zurückführt. Allgemein muss man für den Zustand insgesamt sukzessive Größen Geschwindigkeit, Beschleunigung, Ruck usw. betrachten, sofern man anhand von zurückliegenden Zuständen bis auf den Zustand schließen will. Die entsprechenden Formeln für 3-5 zurückliegende Zustände sind nachfolgend zusammengestellt:
Die entsprechenden Beziehungen für neue Geschwindigkeiten sind wiederum völlig analog. Erneut braucht man anstelle der zurückliegenden Geschwindigkeiten nur die Beschleunigungen einzusetzen.
Die hier skizzierte Methode wird nach ihren Entdeckern Adams-Bashforth-Verfahren genannt. Um dieses für eine praktische Simulation in Gang zu setzen, müssen die ersten Zustände jedoch mittels eines der bisher behandelten Einschrittverfahren erzeugt werden. Die Genauigkeit dieser Startwerte sollte in der gleichen Größenordnung liegen wie diejenige der Extrapolationsformel.
Interpolation nach Adams-Moulton
BearbeitenDie Extrapolationsformeln nach Adams-Bashforth sind wie jedes Extrapolationsverfahren mit einer gewissen Instabilität behaftet. Die von diesen aus vergangenen Zuständen eines Mehrkörpersystems vorhergesagte neue Geschwindigkeit lässt sich aber dazu verwenden, die ebenso extrapolierte Position durch eine Interpolationsformel zu korrigieren. Entsprechend erlaubt die neue Beschleunigung , die Geschwindigkeit zu verbessern.
Um anhand alter und neuer Geschwindigkeiten eine Interpolationsvorschrift zu konstruieren, betrachtet man abermals die Strecke als Funktion von Geschwindkeit, Beschleunigung, Ruck usw. Bei drei gegebenen Zuständen von bis muss als höchster Term der Ruck berücksichtigt werden:
Die Beschleunigung kann jetzt, da sowohl links als auch rechts von jeweils ein Zustand zur Verfügung steht, auf "symmetrische" Weise durch Geschwindigkeiten ausgedrückt werden (siehe nachfolgendes Diagramm):
Der Ruck wird gemäß der Definition zunächst auf die Zwischenbeschleunigungen und zurückgeführt:
Diese beiden Beschleunigungen lassen sich wiederum durch bereits bekannten Geschwindigkeiten darstellen. Es gilt nämlich und entsprechend . Somit kann der Ruck letztendlich wie die Beschleunigung vollständig durch Geschwindigkeiten wiedergegeben werden:
Das Einsetzen der auf die Geschwindigkeiten zurückgeführten Beschleunigung und des Rucks liefert für die korrigierte Position:
Entsprechend gilt für die verbesserte Geschwindigkeit:
Zuletzt liefert die korrigierte Position zudem eine korrigierte Beschleunigung.
Um auch bei der Interpolation mehr vergangene Zustände zu berücksichtigen, drückt man wie bei der Konstruktion der Extrapolationsformeln höhere Terme der Strecke durch Differenzen aus. Bei zurückliegenden Zuständen muss man für den Zustand jetzt Größen Geschwindigkeit, Beschleunigung usw. einbeziehen. Wieder seien für 3-5 zurückliegende Zustände die Resultate vorgestellt, wobei für die korrigierten Geschwindigkeiten abermals einfach die zurückliegenden Beschleunigungen zu verwenden sind:
Die Korrektur mittels obiger Interpolationsformeln trägt den Namen Adams-Moulton-Verfahren. Die Anzahl der berücksichtigten alten Zustände muss selbstverständlich bei Extrapolation und Interpolation gleich sein. Um eine ausreichende Stabilität der Simulation zu erreichen, genügt eine einmalige Anwendung der Interpolation.
C-Code: Mehrkörpersimulation mit dem Mehrschrittverfahren
Der Algorithmus für das Mehrschrittverfahren zerfällt in zwei Teile. Zunächst werden mittels der Runge-Kutta-Methode 5 zurückliegende Geschwindigkeits- und Beschleunigungszustände für das Ensemble berechnet, was durch eine eigene Prozedur geschieht. Anschließend wird auf die initialen Zustände sukzessive das Mehrschrittverfahren angewandt, um immer wieder neue Werte zu generieren.
Die für das Runge-Kutta-Verfahren erforderlichen Prozeduren und Variablen wurden bereits im entsprechenden Abschnitt erläutert. Für das Mehrschrittverfahren werden Geschwindigkeit und Beschleunigung ebenfalls als zweidimensionale Zeigerarrays deklariert, wobei der erste Index nun angibt, auf welchen Zeitpunkt der Wert sich bezieht. Er läuft von 0 bis 4, wobei 0 den aktuellen Wert zum Zeitpunkt und 4 den ältesten Wert zum Zeitpunkt bedeutet. Für die Position müssen nur die Werte zum Zeitpunkt vorgehalten werden, so dass eindimensionale Zeigerarrays genügen. Die für einen Zeitpunkt gesuchten neuen Werte werden als rneu, vneu und aneu bezeichnet und ebenfalls als einfache Zeigerarrays deklariert. Schließlich ist die Unsigned Integer ordnung zu erwähnen, welche die Zustände für Geschwindigkeit und Beschleunigung abzählt.
/* Globale Variablen */
unsigned int N;
double *m;
double **r;
double **rneu;
double ***v;
double **vneu;
double ***a;
double **aneu;
unsigned int i,k;
unsigned int ordnung;
double t,dt;
double T;
/* Berechnung der ersten Zustände des Systems mittels des Runge-Kutta-Verfahrens */
rungekutta ();
while (t < T)
{
/* Prädiktor-Schritt */
/* Generieren neuer Zustände durch Extrapolation nach Adams-Bashforth */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
rneu[i][k] = r[i][k] + (1901 * v[0][i][k] - 2774 * v[1][i][k] + 2616 * v[2][i][k] -
1274 * v[3][i][k] + 251 * v[4][i][k]) / 720 * dt;
vneu[i][k] = v[0][i][k] + (1901 * a[0][i][k] - 2774 * a[1][i][k] + 2616 * a[2][i][k] -
1274 * a[3][i][k] + 251 * a[4][i][k]) / 720 * dt;
}
}
/* Neue Beschleunigungen an neuen Positionen */
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,rneu,aneu[i]);
/* Korrektor-Schritt - nur einmal durchlaufen */
/* Korrektur der neuen Zustände durch Interpolation nach Adams-Moulton */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
rneu[i][k] = r[i][k] + (475 * vneu[i][k] + 1427 * v[0][i][k] - 798 * v[1][i][k] +
482 * v[2][i][k] - 173 * v[3][i][k] + 27 * v[4][i][k]) / 1440 * dt;
vneu[i][k] = v[0][i][k] + (475 * aneu[i][k] + 1427 * a[0][i][k] - 798 * a[1][i][k] +
482 * a[2][i][k] - 173 * a[3][i][k] + 27 * a[4][i][k]) / 1440 * dt;
}
}
/* Korrigierte Beschleunigungen an korrigierten Positionen */
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,rneu,aneu[i]);
/* Werte(n-4) bekommen die Werte(n-3) zugewiesen, Werte(n-3) die Werte(n-2) usw. */
for (i = 0;i < N;i ++)
{
for (ordnung = 4;ordnung > 0;ordnung --)
{
for (k = 0;k < 3;k ++)
{
v[ordnung][i][k] = v[ordnung-1][i][k];
a[ordnung][i][k] = a[ordnung-1][i][k];
}
}
}
/* Werte(n) bekommen die Werte(n+1) zugewiesen */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[i][k] = rneu[i][k];
v[0][i][k] = vneu[i][k];
a[0][i][k] = aneu[i][k];
}
}
t += dt;
}
Die für die Zwischenwerte des Runge-Kutta-Verfahrens erforderlichen Variablen werden nun lokal deklariert und ihre Verwendung nur für diesen Zweck durch die Bezeichnung "rk" kenntlich gemacht.
void rungekutta (void)
{
double ***rrk;
double ***vrk;
double ***ark;
/* Vorhalten der Positionen x(n) und Geschwindigkeiten v(n-4) */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
rrk[0][i][k] = r[i][k];
vrk[0][i][k] = v[4][i][k];
}
}
for (ordnung = 4;ordnung > 0;ordnung --)
{
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,rrk[0],ark[0][i]);
/* Vorhalten der Beschleunigungen von a(n-4) bis a(n-1) */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
a[ordnung][i][k] = ark[0][i][k];
}
/* Rechenschritte des Runge-Kutta-Verfahrens */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
rrk[1][i][k] = rrk[0][i][k] + vrk[0][i][k] * dt / 2;
vrk[1][i][k] = vrk[0][i][k] + ark[0][i][k] * dt / 2;
}
}
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,rrk[1],ark[1][i]);
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
rrk[2][i][k] = rrk[0][i][k] + vrk[1][i][k] * dt / 2;
vrk[2][i][k] = vrk[0][i][k] + ark[1][i][k] * dt / 2;
}
}
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,rrk[2],ark[2][i]);
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
rrk[3][i][k] = rrk[0][i][k] + vrk[2][i][k] * dt;
vrk[3][i][k] = vrk[0][i][k] + ark[2][i][k] * dt;
}
}
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,rrk[3],ark[3][i]);
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
rrk[0][i][k] += (vrk[0][i][k] + 2 * vrk[1][i][k] + 2 * vrk[2][i][k] + vrk[3][i][k]) * dt / 6;
vrk[0][i][k] += (ark[0][i][k] + 2 * ark[1][i][k] + 2 * ark[2][i][k] + ark[3][i][k]) * dt / 6;
}
}
/* Vorhalten der Geschwindigkeiten von v(n-3) bis v(n) */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
v[ordnung-1][i][k] = vrk[0][i][k];
}
}
for (i = 0;i < N;i ++)
beschleunigung (i,N,m,rrk[0],ark[0][i]);
/* Vorhalten der Positionen x(n) und der Beschleunigungen a(n) */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
{
r[i][k] = rrk[0][i][k];
a[ordnung][i][k] = ark[0][i][k];
}
}
}
Die Mehrschrittmethode spielt in der Praxis astronomischer Mehrkörpersimulationen nur eine geringe Rolle. Als Prädiktor-Korrektor-Verfahren gestattet sie zwar die Anwendung dynamischer Zeitschritte, doch im Vergleich zur Leapfrog- oder Hermite-Polynome-Methode mit weit höherem mathematischen Aufwand.
Tests
BearbeitenIm Folgenden wird die bislang nur theoretisch skizzierte Güte der hier vorgestellten Lösungsmethoden einer praktischen Prüfung unterzogen. Das naheliegendste Testverfahren besteht darin, die simulierten Bewegungen mit den vom Newtonschen Gravitationsgesetz vorhergesagten genauen Bahnen zu vergleichen. Leider ist dies wie bereits erwähnt im Allgemeinen nur für sehr einfache, lediglich aus zwei Massenpunkten bestehende Systeme möglich. Zur Prüfung der Simulation eines realistischen Mehrkörperensembles muss auf allgemeingültige Eigenschaften wie die Erhaltung der Gesamtenergie zurückgegriffen werden. In der Praxis betrachtet man weitere Größen, z.B. die räumliche Verteilung der Sterne in einem Haufen oder einer Galaxie sowie deren Geschwindigkeiten und vergleicht diese ebenfalls mit den Vorhersagen, was im letzten Kapitel dieses Buches ausführlich behandelt wird.
Bevor die Ergebnisse einfacher Tests vorgestellt werden, seien auch noch einige Worte zur Wahl der Maßeinheiten angebracht. Alltäglichen Einheiten wie Kilogramm, Sekunde und Meter sind für die Behandlung astronomischer Systeme selbstverständlich äußerst unhandlich. Viel praktischer ist es, z.B. Massen in Sonnenmassen (1.989 1030 kg), Zeiten in Jahren (31558150 s) und Längen in Astronomischen Einheiten (149597871 km, die mittlere Entfernung der Erde von der Sonne) anzugeben. Die Gravitationskonstante hat dann den Wert 39.4899. Geschwindigkeiten werden in der Astronomie üblicherweise in km/s angegeben, es gilt 1 Astronomische Einheit/Jahr = 4.740388 km/s.
Für Längen wird oft auch die Einheit Parallaxensekunde Parsec (die Entfernung, unter welcher die Strecke Erde-Sonne unter einem Winkel von 1 Bogensekunde erscheint) benutzt, es gilt 1 Parsec = 206265 Astronomische Einheiten (= 3.26 Lichtjahre). Drückt man Massen weiterhin in Sonnenmassen und Zeiten weiterhin in Jahren aus, so nimmt die Gravitationskonstante nun den Wert 4.49814 10-15 an. Ein Parsec/Jahr entspricht 977813 km/s.
Euler-Verfahren
BearbeitenDie in der Theorie schon ausführlich diskutierte Erdbahn sei auch für die Praxistests herangezogen. Die Startposition der Erde sei (1 AE / 0), ihre Anfangsgeschwindigkeit (0 / 30 km/s). Die Sonne steht zu Beginn mit der Geschwindigkeit (0 / 0) im Ursprung. Man erwartet einen stabilen, fast kreisförmigen Orbit.
Die Simulation liefert jedoch ein ganz anderes Bild. Wie befürchtet bewegt sich die Erde auf einer Spiralbahn rasch von der Sonne weg. Verwendet man Zeitschritte von 1 Tag, verdoppelt sich ihre Entfernung innerhalb von nur 10 Jahren, was einem jährlichen relativen Fehler von ungefähr 10% entspricht. Die Euler-Methode schneidet in diesem Beispiel somit noch schlechter ab als vorhergesagt. Kleinere Schritte von 1/10 Tag bringen wie erwartet keine entscheidende Verbesserung. Die Erde entfernt sich nach 10 Jahren bis auf 1.2 AE, der jährliche relative Fehler ist mit etwa 2% noch immer viel zu hoch.
Angesichts der nach "außen" driftenden Erde ist es nicht verwunderlich, dass die Simulation auch keine konstante Gesamtenergie wiederzugeben vermag. Diese nimmt vielmehr mit der Zeit stetig zu, da die kinetische Energie zu hoch und die potentielle Energie betragsmäßig zu niedrig angesetzt wird. Mit einer Schrittweite von 1 Tag verändert sich die Energie binnen 10 Jahren etwa um die Hälfte ihres ursprünglichen Betrages, also um ungefähr 5% pro Jahr. Mit Schritten von 1/10 Tag stellt sich eine gesamte Änderung von circa 1/6 des anfänglichen Betrages bzw. von etwa 1.5% pro Jahr ein.
Zwischenschritt-Verfahren
BearbeitenLeapfrog-Verfahren
BearbeitenDie Leapfrog-Methode erfüllt die in ihr gesetzten Erwartungen. Eine Simulation der Erdbahn mit Zeitschritten von 1 Tag bleibt selbst über 100000 Jahre weitgehend stabil, der Orbit weitet sich nur um 0.03 AE. Der jährliche relative Fehler beläuft sich auf nur 3 Zehnmillionstel und ist damit noch deutlich geringer als theoretisch abgeschätzt. Im Gegensatz zur Euler-Methode neigen die individuellen Fehler der Einzelschritte nicht dazu, sich komplett aufzuaddieren, sondern heben sich gegenseitig zum Teil wieder auf. Überraschenderweise zeigt sich hinsichtlich der prognostizierten Bahn nur eine geringfügige Verschlechterung des Ergebnisses, wenn man die Schrittweite auf 10 Tage erhöht. Angesichts der starken nominellen Abhängigkeit des Fehlers eines Schrittes von - es gilt ja - sollte die Simulation sehr viel instabiler werden. Tatsächlich aber stellt sich nach 100000 Jahren mit 0.04 AE nur eine geringfügig größere Abweichung ein. Die viel zahlreicheren Rundungsfehler mit endlich genauen Gleitkommazahlen bei Verwendung einer kleineren Schrittweite kommen hier deutlich zur Geltung. Die gegenseitige Kompensation der Einzelfehler spielt für das gute Ergebnis auch mit grober Schrittweite ebenfalls eine wichtige Rolle.
Erwartungsgemäß zeigt sich die Leapfrog-Methode auch hinsichtlich der Energieerhaltung dem Euler-Verfahren als klar überlegen. Zwar liefert die Simulation auch jetzt keine konstante Gesamtenergie, doch driftet diese hier nicht zu immer höheren Werten hin ab, sondern pendelt jeweils im Verlauf eines Umlaufs der Erde um die Sonne zwischen stabilen Grenzen hin und her. Vergleicht man die beiden Berechnungen erneut, zeigt diejenige mit einer Schrittweite von 10 Tagen nun doch eine klar schlechtere Qualität. Bei einer Schrittweite von 1 Tag schwankt die Gesamtenergie um etwa 1 / 2000, mit den vergröberten Schritten von jeweils 10 Tagen jedoch schon um etwa 1 / 250 ihres Absolutbetrages. Die regelmäßigen Oszillationen der Gesamtenergie bei der Simulation eines Systems aus zwei Massenpunkten sind für das Leapfrog-Verfahren typisch und von wissenschaftlichen Arbeiten wiederholt bestätigt worden.
Runge-Kutta-Verfahren
BearbeitenBei geeigneter Wahl der Zeitschritte liefert das Runge-Kutta-Verfahren eine weitere enorme Steigerung der Vorhersagegenauigkeit. Setzt man für die Simulation der Erdbahn wiederum auf 1 Tag, so ist auch nach 100000 Jahren praktisch kein Fehler zu erkennen. Bei einer Vergröberung der Zeitschritte bricht die Runge-Kutta-Methode aber im Gegensatz zum Leapfrog-Verfahren rasch zusammen. Mit einer Schrittweite von 10 Tagen wird die Simulation der Erdbahn nach einigen Jahrtausenden völlig instabil und damit unbrauchbar. Die noch stärkere nominelle Abhängigkeit des Fehlers eines Schritts von gemäß behält hier gegenüber der geringeren Zahl von Rechenoperationen (und damit Rundungsfehlern) sowie einer gegenseitigen Kompensation von Einzelfehlern die Oberhand.
Dass die Simulation mit einer Schrittweite von 1 Tag überhaupt einen Fehler aufweist, zeigt erst die Betrachtung der Gesamtenergie. Sie pendelt nicht wie bei dem Leapfrog-Verfahren zwischen stabilen Grenzen hin und her, sondern weist eine Verschiebung hin zu kleineren Werten auf. Diese ist allerdings außerordentlich gering - in 100000 Jahren verändert sich die Gesamtenergie nur um etwa 2 Hunderttausendstel bzw pro Jahr um 2 Zehnmilliardstel ihres Absolutwertes. Die langsame Drift der Gesamtenergie ist für die Runge-Kutta-Methode charakteristisch und wie die vom Leapfrog-Verfahren erzeugten Oszillationen von Forschungsarbeiten ebenfalls bestätigt worden.
Prädiktor-Korrektor-Verfahren
BearbeitenLeapfrog-Verfahren
BearbeitenMit dem Umbau zu einem Prädiktor-Korrektor-Verfahren reicht die Leapfrog-Methode hinsichtlich ihrer Genauigkeit fast an das Runge-Kutta-Verfahren heran, sofern die Korrektur genügend oft als Iteration durchgeführt wird. Wie bei der klassischen Formulierung oszilliert die Gesamtenergie während eines Umlaufs der Erde um die Sonne zwischen gewissen Grenzen hin und her. Diese Schwankungen fallen jetzt aber (erneut ist auf 1 Tag gesetzt) mit nur etwa 1 / 100000 (statt 1 / 2000) des Absolutwertes sehr viel schwächer aus. Andererseits sind die Extremwerte nicht mehr stabil, sondern wandern langsam hin zu höheren Werten. Der dadurch bewirkte relative Fehler beläuft sich nach 100000 Jahren jedoch nur auf 5 Hunderttausendstel der Gesamtenergie bzw. 5 Zehnmilliardstel pro Jahr.
Mit dem Prädiktor-Korrektor-Algorithmus reagiert das Leapfrog-Verfahren wesentlich empfindlicher auf eine größere Schrittweite als gemäß der Zwischenschritt-Form. Mit Schritten von 10 Tagen bricht die Simulation zwar nicht völlig zusammen, doch variiert die Gesamtenergie um etwa 1/1000 pro Umlauf. Zudem steigt sie im Verlauf der Berechnungen um mehr als 1/3 an, d.h. um circa 3-4 Hunderttausendstel pro Jahr.
Hermite-Polynome- und Mehrschrittverfahren
BearbeitenAbermals eine optimale zeitliche Schrittweite vorausgesetzt, gewinnt man selbst mit einem nur einmaligen Durchlauf der Korrekturformeln gegenüber den bereits sehr guten Runge-Kutta- und Leapfrog-Verfahren noch an Stabilität. Eine Simulation der Erdbahn auf Grundlage der Hermite-Polynome mit einer Schrittweite von 1 Tag lässt erneut eine allmähliche Zunahme der Gesamtenergie erkennen, doch liegt diese nach 100000 Jahren lediglich bei etwa 4 Millionstel ihres Absolutwertes. Damit beträgt der jährliche relative Fehler gerade einmal 4 Hundertmilliardstel. Noch besser schneidet das Mehrschrittverfahren ab, das nach 100000 Jahren einen relativem Fehler der Gesamtenergie von nur 3 Zehnmillionstel liefert - entsprechend 3 Billionstel pro Jahr!
Auf eine Vergröberung der Zeitschritte reagieren beide Verfahren allerdings ebenso sensibel wie die Runge-Kutta-Methode. Mit = 10 Tage wird die Simulation nach mehreren Jahrtausenden erneut völlig instabil.
Beispiel eines Drei-Körper-Systems
BearbeitenAm Ende dieses Abschnitts seien die Leapfrog-Methode (als Prädiktor-Korrektor-Algorithmus) und das Hermite-Polynome-Verfahren anhand eines aus drei Körpern von je 1 Sonnenmasse bestehenden Systems vorgeführt. Runge-Kutta- und Mehrschritt-Verfahren liefern fast exakt die gleichen Resultate wie die Hermite-Polynome-Methode, so dass darauf nicht weiter eingegangen werden muss. Die Anfangspositionen (vor der Umrechnung ins Schwerpunktsystem) sind (-10 AE / 0), (10 AE / 0) und (0 / 10 AE), die Geschwindigkeiten zu Beginn (0 / -5 km/s), (0 / 5 km/s) und (-5 km/s / 0). Die zeitliche Schrittweite ist wiederum auf 1 Tag gesetzt.
Schon dieses scheinbar so einfache System bietet dem Betrachter hinsichtlich der Bahnen seiner Mitglieder ein geradezu sinnverwirrendes Bild. Erschwerend kommt hinzu, dass die Leapfrog-Methode schon nach kurzer Zeit völlig andere Ergebnisse liefert als das Hermite-Polynome-Verfahren. Wirft man einen Blick auf die Energieerhaltung, so mag man Letzterem mehr Vertrauen schenken. Wie für die Erdbahn liefern dieses eine sehr stabile Gesamtenergie, während das Leapfrog-Verfahren bald unter heftigen Ausschlägen leidet. Nach 7 Jahren zeigt dieses kurzzeitig einen relativen Fehler von 1 / 50 des Absolutwertes. Nach 33 Jahren steigt dieser abrupt sogar auf ein Vielfaches der Gesamtenergie.
Eine genaue Betrachtung zeigt, dass solche Fehler stets dann auftreten, wenn zwei Massenpunkte sich sehr nahe kommen. Gerade dann aber nimmt der relative Fehler eines Simulationsschritts dramatisch zu. Das Hermite-Polynome-Verfahren scheint in vorliegendem Beispiel mit solch engen Begegnungen noch fertig werden zu können, die Leapfrog-Methode trotz ihrer nur etwas schlechteren Stabilität dagegen nicht mehr. Der erste Beinahezusammenstoß sorgt bereits dafür, dass die Simulationen sich mit fortschreitender Zeit immer mehr auseinanderentwickeln. Beim zweiten derartigen Ereignis überschätzt das Leapfrog-Verfahren die kinetische Energie der Stoßpartner dramatisch, wodurch sich das Ensemble schlagartig auflöst.
Doch auch die zunächst zuverlässig erscheinenden Hermite-Polynome stoßen rasch an Grenzen. Lässt man obige Simulation weiterlaufen, tritt nach 70 Jahren eine so dichte Begegnung zweier Körper auf, dass diese mit der festen Schrittweite von 1 Tag auch mit der genaueren Methode nicht mehr behandelt werden kann. Wieder fliegen die davon betroffenen Massenpunkte unvermittelt auseinander. Da dadurch das dritte Mitglied praktisch keine Anziehungskraft mehr durch die anderen beiden Körper verspürt, bewegt sich auch dieses schließlich ungehindert fort.
Schaut man sich die Beinahekollision genau an, so erkennt man das mit einer festen Schrittweite einhergehende Problem. Kommen zwei Körper sich sehr nahe, so üben sie starke Anziehungskräfte aufeinander aus und werden dementsprechend auf hohe Geschwindigkeiten beschleunigt. Dies aber führt dazu, dass sie nach der engsten Passage mit eben diesen Geschwindigkeiten weit auseinander gesetzt werden. Mit diesem größeren Abstand jedoch müssten sie wieder weit geringere Geschwindigkeiten aufweisen. Die kinetische Energie der Massenpunkte wird nach deren Vorübergang also maßlos überschätzt, wodurch sie sich gegenseitig nicht mehr festhalten können und dem System irrtümlich entkommen. Wie diese Instabilität verhindert werden kann, ist Gegenstand des nächsten Kapitels.
Enge Begegnungen von Massenpunkten
BearbeitenDas zuletzt behandelte Beispiel eines aus drei Massenpunkten bestehenden Systems zeigt drastisch auf, dass selbst mathematisch ausgefeilte Verfahren an einem Mehrkörperproblem sehr rasch scheitern können, wenn zwei Mitglieder eines solchen Ensembles sich sehr nahe kommen. Ursache hierfür ist, dass wegen ihrer -Abhängigkeit die Anziehungskraft zwischen den betroffenen Körpern in einem solchen Fall sehr steil ansteigt und mit verschwindendem Abstand beliebig hohe Werte annehmen kann. Um die daraus resultierende Instabilität einer Simulation in den Griff zu bekommen, werden in der Praxis zumeist die folgenden beiden Methoden angewandt. Die einfachere und zuerst in diesem Kapitel diskutierte besteht darin, eine Obergrenze für die zwischen zwei Massenpunkten auftretende Kraft festzulegen. Dies bedeutet, dass man das Auftreten enger Begegnungen innerhalb des zu simulierenden Systems effektiv ausschließt. Das wesentlich anspruchsvollere Verfahren passt die Dauer der Zeitschritte an die dynamische Zeitskala an, welcher die einzelnen Körper unterliegen. Je kleiner diese ausfällt, umso kürzer ist der einem Massenpunkt zugeordnete Schritt. Die Positionen und Geschwindigkeiten von Massenpunkten mit kurzen Zeitschritten werden dementsprechend häufiger berechnet als diejenigen von Mitgliedern mit großer Schrittweite. Durch diese individuelle Behandlung wird vermieden, dass sich alle Körper - auch diejenigen mit großer dynamischer Zeitskala - nach den kurzen Zeitschritten der Mitglieder mit kleiner Zeitskala richten müssen, was sehr lange Rechenzeiten zur Folge hätte.
Glättung der Anziehungskraft
BearbeitenIdee
BearbeitenDer einfachste Weg, mit der tückischen -Abhängigkeit fertig zu werden, besteht darin, das Newtonsche Gravitationsgesetz so zu glätten, dass auch für beliebig kleine Abstände zwischen zwei Massenpunkten eine endliche Kraft gegeben ist. Aarseth [9], ein bedeutender Pionier auf dem Gebiet der Mehrkörpersimulation, schlug 1963 vor, die gemäß Newton durch zwei Massen und repräsentierte potentielle Energie durch einen Zusatzterm so abzuändern, dass sie auch gegenüber engen Begegnungen stabil bleibt:
Man erkennt sofort, dass damit eine endliche Untergrenze für die potentielle Energie festgelegt ist:
Wie nachfolgend gezeigt wird, garantiert diese Begrenzung der potentiellen Energie zugleich auch eine Limitierung der Kraft auf einen endlichen Wert.
Physikalisch bedeutet die Glättung, dass man davon ausgeht, dass zwei Mitglieder eines Mehrkörpersystems sich effektiv nur bis auf einen Abstand nähern, d.h. enge Begegnungen zweier Körper für dieses keine Rolle spielen. Dieser effektive Mindestabstand wird Plummerradius genannt (benannt nach Plummer [10], welcher diesen bereits 1911 einführte, um die räumliche Verteilung der Sterne in einem Kugelhaufen zu beschreiben).
Aarseths Glättungstechnik wird auch heutzutage verwendet, man siehe dazu z.B. den Aufsatz von Dehnen und Read (2011) [11], welcher einen Überblick über verschiedenen Verfahren der Mehrkörpersimulation gibt.
Auswirkungen der Modifikation
BearbeitenAbhängigkeit der potentiellen Energie von der Entfernung
BearbeitenDie Einführung eines in Wahrheit gar nicht existierenden Zusatzterms in das Gravitationsgesetz erscheint selbstverständlich sehr willkürlich. Wie nachfolgendes Diagramm zeigt, beseitigt die Modifikation die ansonsten bei sehr kleinen Abständen auftretenden Energie- (und damit auch Kraft-) -Spitzen sehr effizient, unterschätzt betragsmäßig aber schon bei einem Abstand die durch zwei Körper definierte potentielle Energie deutlich. Für einen relativen Fehler von weniger als 1% ist eine Distanz von zumindest etwa 7 Plummerradien erforderlich.
Für eine genaue Analyse des Fehlers empfiehlt es sich, Aarseths Formel in folgende Form zu bringen:
Der Nenner hat die Form . Falls (d.h. für Abstände, die sehr groß im Vergleich zum Plummerradius sind), darf man näherungsweise durch ersetzen. Damit erhält man:
Der durch die Glättung bewirkte relative Fehler der potentiellen Energie fällt zu großen Entfernungen hin umgekehrt quadratisch mit dem Abstand ab. Obige Beziehung erklärt auch die Anmerkung zur Fehlerschwelle von 1%.
Abhängigkeit der Anziehungskraft von der Entfernung
BearbeitenAus der Abhängigkeit der potentiellen Energie von der Entfernung lässt sich durch Anwendung des Arbeitsprinzips die entsprechende Abhängigkeit der Kraft rekonstruieren. Dazu betrachtet man, um welchen Betrag sich die potentielle Energie ändert, wenn man an einer bestimmten Stelle ein kleines Wegstück zurücklegt. Nach dem Arbeitsprinzip liegt dann dort eine Kraft vor. Eine exakte mathematische Betrachtung (man bildet die 1.Ableitung der potentiellen Energie) liefert (siehe auch untenstehendes Diagramm):
Wie die potentielle Energie unterschätzt Aarseths Modifikation schon bei Abständen auch die Anziehungskraft deutlich. Ein relativer Fehler von unter 1% wird nun erst ab einer Entfernung von circa 12 Plummerradien erreicht. Besonders überraschend wirkt auf den ersten Blick, dass bei einer Distanz von ungefähr einem Plummerradius ein Maximum erreicht und zu verschwindendem Abstand hin auf 0 abfällt. Betrachtet man aber den Verlauf der potentiellen Energie , so erkannt man, dass diese sich bei sehr geringer Entfernung kaum noch ändert, wenn man sich um eine kleine Strecke bewegt. Nach dem Arbeitsprinzip muss dann aber auch die einwirkende Kraft sehr gering sein.
Physikalisch bedeutet Aarseths Glättung, dass man bei einer entsprechenden Simulation zwei Körper endlicher Ausdehnung sich störungsfrei gegenseitig durchdringen lässt, wenn diese sich sehr nahe kommen. Befindet sich die eine Masse genau in der Mitte der anderen, so heben sich aufgrund der Radialsymmetrie die von den einzelnen Teilchen ausgeübten Kräfte gegenseitig auf.
Um den relativen Fehler von für große Abstände abzuschätzen, drückt man wie für die potentielle Energie das Ergebnis Aarseths als Vielfaches des korrekten Wertes Newtons aus:
Der Nenner hat jetzt die Form . Im Falle darf er näherungsweise durch den Ausdruck wiedergegeben werden, d.h. es gilt:
Der relative Fehler der Anziehungskraft folgt also wie derjenige der potentiellen Energie einer umgekehrt quadratischen Abhängigkeit von der Entfernung.
Umlaufgeschwindigkeit und Bahnform
BearbeitenMit der Modifikation der Anziehungskraft verändern sich natürlich auch die Bahnen der Massenpunkte. Betrachtet man z.B. die Umlaufsgeschwindigkeit auf einer Kreisbahn, so findet man nach dem Gleichsetzen von Zentripetal- und Schwerkraft anstelle der korrekten Geschwindigkeit jetzt eine verringerte Geschwindigkeit gemäß
Für darf man Ausdrücke der Form durch ersetzen. Daraus folgt, dass der relative Fehler der Umlaufsgeschwindigkeit für Bahnradien, die weit größer als der Plummeradius sind, gleichfalls umgekehrt quadratisch mit dem Abstand abfällt:
Die reduzierte Umlaufsgeschwindigkeit hat zur Folge, dass ein auf einer Kreisbahn sich bewegender Massenpunkt gegenüber der korrekten, auf dem ungeglätteten Gravitationsgesetz beruhenden Position immer mehr hinterher hinkt. Für elliptische Orbits lässt sich ein weiterer Effekt aufzeigen. Ihre Lage im Raum ist nicht mehr fest, stattdessen drehen sie sich langsam von Umlauf zu Umlauf. Anstatt auf einer geschlossenen Ellipse bewegt sich der Körper auf einer Rosettenbahn.
Einschub für Fortgeschrittene: Runge-Lenz-Vektor und Drehung der Ellipsenbahn
Mittels des sogenannten Runge-Lenz-Vektors lässt sich allgemein zeigen, dass eine Drehung der Bahn immer dann auftritt, wenn die zwischen zwei Massenpunkten und auftretende Anziehungskraft vom -Gesetz abweicht. Er ist durch folgenden Ausdruck definiert, wobei und den Impuls und Drehimpuls des umlaufenden Körpers sowie den radialen Einheitsvektor darstellen:
ist parallel zur großen Halbachse der Ellipse ausgerichtet mit Blickrichtung vom Brennpunkt zum Perihel. Eine Konstanz dieses Vektors bedeutet somit, dass die Ellipse ortsfest ist. Sie lässt sich leicht überprüfen, indem man die zeitliche Ableitung von betrachtet:
Der Impuls ist gegeben durch das Produkt aus Masse und Geschwindigkeit, seine zeitliche Ableitung damit durch das Produkt aus Masse und Beschleunigung. Nach dem Newtonschen Kraftgesetz gibt letzteres aber gerade die auf angreifende Kraft an, welche nach dem Gravitationsgesetz wiederum durch beschrieben wird. Der zweite Term obiger Zeitableitung verschwindet, denn im Falle eines -Kraftgesetzes ist der Drehimpuls konstant. Die Ableitung des Einheitsvektors im letzten Term ist durch die Winkelgeschwindigkeit bestimmt, da ein solcher sich per Definition nur durch Drehung ändern kann. Aus all diesen Überlegungen folgt:
Setzt man abschließend noch die Beziehung ein, so ergibt sich:
Für das Newtonsche Gravitationsgesetz verschwindet also die Zeitableitung von . Dieser Vektor ist damit tatsächlich konstant und so die Lage der Ellipse im Raum fest. Umgekehrt bedeutet das, dass eine Abweichung vom -Gesetz die Konstanz des Runge-Lenz-Vektors und damit die Ortsfestigkeit der Ellipsenbahn aufhebt.
Die Planetenbahnen im Sonnensystem weisen in der Tat Drehungen ihrer Bahnen auf. Die Hauptursache hierfür ist, dass die auf einen Planeten wirkende Kraft nicht allein durch die Sonne, sondern in geringem Maße auch durch die übrigen Körper des Sonnensystems bestimmt ist. Durch diese gegenseitigen Störungen weichen die auf die Planeten angreifende Gesamtkräfte etwas vom -Gesetz ab. Vor allem für die Merkurbahn tritt durch die von der Sonne hervorgerufenen Raumkrümmung eine zusätzliche Abweichung vom Newtonschen Gravitationsgesetz auf. Die auf gegenseitige Störungen beruhenden Drehungen der Planetenbahnen werden im Praxiskapitel weiter beleuchtet.
Die durch die Glättung des Gravitationsgesetzes hervorgerufenen Effekte seien schließlich anhand der Simulation eines Zwei-Körper-Systems veranschaulicht. ist dabei auf 1 Sonnenmasse, auf 1 Erdmasse gesetzt. Die Startpositionen sind (0/0) und (1 AE/0), die Anfangsgeschwindigkeiten (0/0) und (0/35 km/s). Die mit dynamischen Zeitschritten (was Gegenstand der nächsten Unterkapitel ist) durchgeführte Simulation überdeckt 10 Jahre.
Ohne Glättung ist die Ellipse wie erwartet ortsfest. Ein Plummerradius von 0.1 AE - 1/10 des Mindestabstandes der beiden Körper - zieht bereits eine signifikante Drehung der Bahn nach sich. Eine Simulation mittels des modifizierten Gravitationsgesetzes kann nur solche Strukturen korrekt wiedergeben, welche zumindest etwa 10 Mal größer als der Plummerradius sind. Mit einem von 0.5 AE (der Hälfte des Mindestabstands) tritt nicht nur eine extreme Drehung der Bahn mit jedem Umlauf auf, sie erstreckt sich aufgrund der weit unterschätzten Anziehungskraft bei festgehaltener Startgeschwindigkeit auch viel weiter. Strukturen einer Ausdehnung von wenigen Plummerradien können also keinesfalls auch nur annähernd korrekt durch eine entsprechende Simulation dargestellt werden.
Trotz der enormen Verfälschung der Bahnen bei geringen Abständen zweier Massenpunkte ist die Glättung des Newtonschen Gravitationsgesetzes gerechtfertigt, da sie das unkontrollierte Auseinanderfliegen im Gefolge enger Vorübergänge dämpft. Ohne eine gesonderte Behandlung solcher Passagen neigen simulierte Mehrkörpersysteme dazu, sich in unrealistisch kurzer Zeit aufzulösen, was letztlich auch eine falsche Wiedergabe der großräumigen Dynamik bedeutet.
Vektorielle Darstellung von Beschleunigung und Ruck
BearbeitenFür eine Simulation unter Zuhilfenahme des Plummerradius wird ebenfalls die Vektordarstellung des (geglätteten) Gravitationsgesetzes benötigt. Die Beschleunigungen und , welche zwei Massen und gegenseitig ausüben, lauten:
Für eine Lösung mittels der Hermite-Polynome müssen wiederum auch die wechselseitigen Rucks betrachtet werden, für welche sich folgende Beziehungen ergeben:
Sowohl für Beschleunigung als auch Ruck genügt es, gegenüber den ursprünglichen Formeln in den Nennern jeweils durch zu ersetzen.
Selbstverständlich können zwei Massenpunkte auch im Verlauf einer derartig modifizierten Simulation sich stärker als nur bis auf nähern. Der nach Newton dabei erfolgende starke Anstieg der Anziehungskraft wird jedoch dann ignoriert. Die beiden Körper laufen einander vorbei, ohne nach dem engsten Vorübergang mit abnorm hoher Geschwindigkeit wieder weit entfernt voneinander zu stehen.
Entfernungsabhängiger Plummerradius
BearbeitenDas soeben vorgestellte Beispiel eines Zwei-Körper-Systems zeigt einen wesentlichen Nachteil des ursprünglichen Glättungsverfahren Aarseths auf. Der dadurch eingeführte Fehler bei der Kraftberechnung erstreckt sich bis ins Unendliche, bei einem Abstand von 12 von einem Massenpunkt beträgt dieser immerhin noch 1% des Absolutwertes. Die Reichweite des Fehlers lässt sich aber begrenzen, indem man den Plummerradius mit einer entfernungsabhängigen Korrekturfunktion multipliziert:
Um eine geeignete Funktion für zu finden, werden an diese folgende Forderungen gestellt. Bei einer Entfernung von 2 soll die Korrektur gleich 0 sein, d.h. von da an weiter nach außen unverfälscht das Newtonsche Gravitationsgesetz gelten. Bei geringer werdender Distanz soll kontinuierlich ansteigen und damit die Glättung entsprechend immer mehr verstärken, bis bei verschwindender Entfernung den Wert 1 erreicht, d.h. die Modifikation voll wirksam wird. Mit diesem z.B. von Hernquist und Katz (1989) [12] benutzten Ansatz bleiben die zwischen je zwei Massenpunkten betrachteten Kräfte für Entfernungen ab 2 fehlerfrei, d.h. die räumliche Auflösung einer Mehrkörpersimulation wird gegenüber der einfachen Methode deutlich verbessert.
Der Übergang vom korrekten - Gesetz zur Glättung soll möglichst sanft erfolgen. An der Stelle soll die Kurve somit genau so steil verlaufen wie , bei verschwindendem Abstand ebenso wie . Eine vergleichsweise einfache Funktion, welche all die oben genannten Wünsche erüllt, lautet:
Der Exponent ist ein frei wählbarer Parameter. Die Korrekturfunktion ist nachfolgend für = 1 und = 10 dargestellt.
Je höher man setzt, umso besser wird das Newtonsche Gravitationsgesetz auch für angenähert. Um für einen gegebenen Plummerradius dadurch die Auflösung einer Mehrkörpersimulation signifikant zu steigern, sind aber sehr hohe Exponenten erforderlich. Wie untenstehende Abbildung zeigt, wird ein von 10 benötigt, um eine Auflösung von einem statt zwei Plummerradien zu erzielen. Die wiederholte Auswertung hoher Potenzen kann jedoch wiederum numerische Instabilitäten nach sich ziehen. Um detailliertere Strukturen zu modellieren, ist es daher geboten, stattdessen einen kleineren Plummerradius und die einfachste Einstellung = 1 zu verwenden. Damit ergibt sich folgendes Kraftgesetz:
Dementsprechend üben zwei Massenpunkte bei Abständen von unter folgende Beschleunigungen aufeinander aus:
Die unter solchen Bedingungen wechselseitig ausgeübten Rucks sind:
Die potentielle Energie zweier Massenpunkte bei kleinen Abständen lautet:
Einschub für Fortgeschrittene: Verifizierung der Korrekturfunktion
Dass die Korrekturfunktion die Anforderungen = 1 und = 0 erfüllt, kann man durch Einsetzen schnell erkennen. Um zu sehen, dass das entsprechend modifizierte Gravitationsgesetz sich auch an die Beziehungen Aarseths und Newtons anschmiegt, muss man die 1. Ableitung nach für all diese Formeln betrachten. Diese lauten (wobei der Faktor nun fortgelassen wird):
An der Stelle = 0 verschwindet für der ganze rechte Term. Zugleich ist im linken Term = 1, so dass sich ergibt. Dies aber stimmt mit überein.
Für ist = 0, so dass alle entsprechenden Glieder von verschwinden. Es resultiert entsprechend dem Wert von .
Festlegung des Plummerradius
BearbeitenOb eine Simulation mit Aarseths Ansatz realitätsnah ist oder nicht, und welchen Wert dafür der Plummerradius aufweisen soll, hängt sehr stark von der Art des zu untersuchenden Systems ab. Generell gilt, dass die Glättung der Anziehungskraft umso stärker ausfällt, je größer gewählt wird. Große Plummerradien dürfen dann verwendet werden, wenn man nur an weiträumigen Bewegungsmustern interessiert ist und die Materie, welche diese dominiert, diffus verteilt ist. Dies trifft z.B. für die Rotation von (Balken)spiralgalaxien zu, welche nicht durch die Gravitation der sichtbaren Sterne, sondern durch diejenige der dunklen Materie beherrscht wird. Auch die Bewegungen der Sterne in elliptischen Galaxien sowie diejenige der Galaxien untereinander in Galaxienhaufen werden durch die diffus verteilte dunkle Materie dominiert.
In Sternhaufen spielt wegen ihrer im Vergleich zu Galaxien oder gar Galaxienhaufen sehr geringen Abmessungen die dunkle Materie keine Rolle, die Bewegungen der einzelnen Mitglieder werden vollständig durch deren eigene Anziehungskräfte dominiert. Dementsprechend müssen auch lokale Ereignisse berücksichtigt werden, so dass nur kleine Plummerradien zulässig sind oder unter Umständen gar nicht verwendet werden dürfen. Ein Beispiel für Letzteres ist der schon in der Einleitung erwähnte Haufen R136, wo einzelne Sterne sich so nahe kommen können, dass diese sogar miteinander kollidieren und so zu äußerst massereichen Sternen verschmelzen. Enge Vorübergänge müssen dann unbedingt mit dynamischer zeitlicher Schrittweite behandelt werden, worauf Aarseth [13] zusammen mit Hoyle selbst 1964 hingewiesen hat.
Auch bei der Behandlung von Galaxienkollisionen muss eine gewisse Kleinräumigkeit in Betracht gezogen werden. Zwar muss wie für eine isolierte Galaxie nicht jeder Stern einzeln berücksichtigt werden, doch verändert sich der ursprüngliche Aufbau der Stoßpartner grundlegend.
Berücksichtigung lokaler Strukturen
BearbeitenWhite [14] schlug anhand des Beispiels kollidierender Galaxien 1979 vor, für den Plummerradius den Radius derjenigen Kreisbahn zu verwenden, auf der ein Massenpunkt mit einer charakteristischen Masse mit einer für das Sternsystem typischen Geschwindigkeit umkreist würde. Aus der entsprechenden Kreisbahngeschwindigkeit folgt
Die für das Mitglied eines Sternsystems typische Geschwindigkeit kann aus dessen Radius und Gesamtmasse abgeschätzt werden. Ein brauchbares Maß ist die Kreisbahngeschwindigkeit eines Körpers, der das ganze Ensemble an dessen Rand umläuft. Drückt man noch durch die Anzahl der Mitglieder des Systems aus gemäß , so erhält man:
Der Plummerradius folgt aus dem Radius des Systems geteilt durch die Anzahl dessen Massenpunkte. Die ebenfalls schon zu Beginn dieses Buches genannten Plejaden weisen einen Radius von etwa 2.5 Parsec auf und umfassen ungefähr 2100 Mitglieder. Damit ergibt sich = 2.5 Parsec / 2100 0.0012 Parsec 250 astronomische Einheiten, was etwa dem 6-fachen der Entfernung des Pluto von der Sonne entspricht. Für den Kugelhaufen 47 Tucanae ist mit einem Radius von circa 18 Parsec und etwa 1 Million Sternen ein sehr viel kleinerer Plummerradius von nur 18 Parsec / 1000000 0.000018 Parsec bzw. knapp 4 astronomischen Einheiten erforderlich - weniger als der Abstand des Jupiter von unserem Zentralgestirn.
Der typische relative Fehler der Anziehungskraft - es wird die einfache Glättung betrachtet - weist folgende Charakteristik auf. Teilt man das Volumen eines Sternsystems durch die Anzahl seiner Mitglieder, so gewinnt man den mittleren Abstand zwischen zwei Körpern. Setzt man diesen zusammen mit dem Plummerradius in den relativen Fehler ein, so folgt:
Die Simulation wird umso genauer, je mehr Massenpunkte betrachtet werden, wobei die Genauigkeit überproportional mit wächst. Für die Plejaden ergibt sich mit 2100 Mitgliedern ein relativer Fehler von einer Größenordnung zwischen 10-5 und 10-4, für 47 Tucanae mit 1 Million Sternen dagegen von nur 10-8. Mit einem Plummerradius ist der durch Aarseths Verfahren eingeführte Fehler bei der Kraftberechnung also zumeist unkritisch.
Behandlung von Großstrukturen
BearbeitenFür die Behandlung ausgedehnter Strukturen im Kosmos verwendeten Power und andere 2003 [15] den Ansatz, dass die maximale von einem Körper der Masse ausgeübte Beschleunigung nicht größer sein soll als diejenige , welche ein Körper durch das ganze System an dessen Rand erfährt. Daraus folgt (wobei wiederum verwendet wird):
Um den Plummerradius zu erhalten, genügt es nun, den Radius des Systems durch die Wurzel der Anzahl seiner Mitglieder zu teilen. Will man z.B. eine Galaxie mit einem Radius von 20000 Parsec mit 1 Million Massenpunkten modellieren, so benötigt man einen Plummerradius von 20000 Parsec / = 20000 Parsec / 1000 = 20 Parsec.
Setzt man erneut Plummerradius und mittleren Abstand zweier Massenpunkte in ein, so findet man (abermals für Aarseths einfache Glättung):
Mit Power's Methode ist demgemäß nur eine langsame Steigerung der Genauigkeit einer Simulation mit einer höheren Anzahl von Massenpunkten zu erwarten. Selbst mit 1 Million Körpern liegt noch ein relativer Fehler der Größenordnung 10-2 vor. Mit einem Plummeradius zieht die Glättung einen erheblichen Fehler für die Anziehungskraft nach sich, so dass eine räumliche Begrenzung der Glättung auf Abstände von höchstens 2 Plummerradien trotz des damit verbundenen höheren Rechenaufwands angebracht ist.
Der Ansatz hat jedoch auch einen bedeutsamen Vorteil. Die maximale Beschleunigung, die ein Massenpunkt erleiden kann, ist aufgrund der Definition des Verfahrens auf beschränkt, d.h. von seiner eigenen Masse unabhängig. Für die Stabilität der Simulation einer Galaxie oder gar eines Galaxienhaufens, wo üblicherweise in einer Größenordnung von Millionen Sonnenmassen liegt (weil eine Darstellung solcher Systeme auf der Ebene der Einzelsterne schlicht unmöglich ist) ist dies von fundamentaler Bedeutung.
Die hier vorgestellten Kriterien für die Festlegung des Plummerradius sind wie die Glättungsverfahren selbst aktuell geblieben (siehe dazu z.B. wiederum Dehnen und Read (2011) [11]).
C-Code: Beschleunigung, Ruck und Gesamtenergie im modifizierten Mehrkörpersystem
Die im Grundlagenkapitel vorgestellten Algorithmen und Prozeduren können hinsichtlich ihrer Struktur übernommen werden, doch muss jetzt unterschieden werden, ob der Abstand zweier Körper größer als das zweifache des Plummerradius ist oder nicht. Für letzteren Fall müssen die Interpolationsformeln zwischen dem exakten Gravitationsgesetz nach Newton und der Glättung gemäß Aarseth eingesetzt werden.
Alle bisherigen Variablen können übernommen werden. Für die Auswertung der Interpolationsformeln werden aber jetzt weitere, durch den Plummerradius modifizierte Potenzen des Abstands zweier Massepunkte gebraucht, wozu die Doubke d2, d4, d6 und d8 dienen. Der Plummerradius selbst wird durch die Double epsilon gekennzeichnet, welche den Prozeduren ebenfalls übergeben wird. Die Aufrufe lauten nun beschleunigung (objekt,N,epsilon,m,r,a[objekt]), ruck(objekt,N,epsilon,m,r,v,a[objekt],j[objekt]) und energie (N,epsilon,m,r,v,&Ekin,&Epot). Die in den Formeln immer wiederkehrenden 2. und 3. Potenzen des Plummerradius werden durch die Double epsilon2 und epsilon3 dargestellt.
/* Globale Variablen */
unsigned int objekt;
unsigned int N;
double epsilon, epsilon2, epsilon3;
double *m;
double **r;
double **v;
double **a;
double **j;
double Ekin,Epot;
void beschleunigung (unsigned int objekt, unsigned int N, double epsilon, double *m, double **r, double *a)
{
/* Lokale Variablen */
unsigned int i,k;
double dr[3];
double d,d2,d3,d6;
for (k = 0;k < 3;k ++)
a[k] = 0;
for (i = 0;i < N;i ++)
{
if (i != objekt)
{
/* Abstandsvektor dr zwischen Körper i und objekt */
for (k = 0;k < 3;k ++)
dr[k] = r[i][k] - r[objekt][k];
/* Benötigte Potenzen des Abstandsbetrags für folgende Fälle */
/* Abstand zwischen i und objekt > 2 Plummerradien -> exakt nach Newton */
/* Sonst -> Interpolation zwischen Newton und Aarseth */
d = betrag (dr);
if (d > 2 * epsilon)
d3 = pow (d,3);
else
{
d2 = pow (d,2) + 4 * epsilon2;
d6 = pow (d2,3);
}
/* Beschleunigungen für folgende Fälle */
/* Abstand zwischen i und objekt > 2 Plummerradien -> exakt nach Newton */
/* Sonst -> Interpolation zwischen Newton und Aarseth */
for (k = 0;k < 3;k ++)
{
if (d > 2 * epsilon)
a[k] += G * m[i] * dr[k] / d3;
else
a[k] += G * m[i] * 64 * epsilon3 * dr[k] / d6;
}
}
}
}
void ruck (unsigned int objekt, unsigned int N, double epsilon, double *m, double **r, double **v,
double *a, double *j)
{
/* Lokale Variablen */
unsigned int i,k;
double dr[3];
double d,d2,d3,d5,d6,d8;
double dv[3];
double skalar;
for (k = 0;k < 3;k ++)
{
a[k] = 0;
j[k] = 0;
}
for (i = 0;i < N;i ++)
{
if (i != objekt)
{
/* Abstandsvektor dr und vektorielle Geschwindigkeitsdifferenz dv zwischen Körper i und objekt */
/* Skalerprodukt von dr und dv */
for (k = 0;k < 3;k ++)
{
dr[k] = r[i][k] - r[objekt][k];
dv[k] = v[i][k] - v[objekt][k];
}
skalar = skalarprodukt (dr,dv);
/* Benötigte Potenzen des Abstandsbetrags für folgende Fälle */
/* Abstand zwischen i und objekt > 2 Plummerradien -> exakt nach Newton */
/* Sonst -> Interpolation zwischen Newton und Aarseth */
d = betrag (dr);
if (d > 2 * epsilon)
{
d3 = pow (d,3);
d5 = pow (d,5);
}
else
{
d2 = pow (d,2) + 4 * epsilon2;
d6 = pow (d2,3);
d8 = pow (d2,4);
}
/* Beschleunigungen und Rucks für folgende Fälle */
/* Abstand zwischen i und objekt > 2 Plummerradien -> exakt nach Newton */
/* Sonst -> Interpolation zwischen Newton und Aarseth */
for (k = 0;k < 3;k ++)
{
if (d > 2 * epsilon)
{
a[k] += G * m[i] * dr[k] / d3;
j[k] += G * m[i] * (dv[k] / d3 - 3 * skalar * dr[k] / d5);
}
else
{
a[k] += G * m[i] * 64 * epsilon3 * dr[k] / d6;
j[k] += G * m[i] * 64 * epsilon3 * (dv[k] / d6 - 6 * dr[k] * skalar / d8);
}
}
}
}
}
void energie (unsigned int N, double epsilon, double *m, double **r, double **v, double *Ekin, double *Epot)
{
/* Lokale Variablen */
unsigned int i,j,k;
double dr[3];
double d,d2,d4;
/* Berechnung der kinetischen Energie */
*Ekin = 0;
for (i = 0;i < N;i ++)
*Ekin += m[i] * pow (betrag (v[i]),2) / 2;
/* Berechnung der potentiellen Energie */
*Epot = 0;
for (i = 0;i < N;i ++)
{
for (j = i + 1;j < N;j ++)
{
for (k = 0;k < 3;k ++)
dr[k] = r[j][k] - r[i][k];
d = betrag (dr);
/* Potentielle Energie für folgende Fälle */
/* Abstand zwischen i und objekt > 2 Plummerradien -> exakt nach Newton */
/* Sonst -> Interpolation zwischen Newton und Aarseth */
if (d > 2 * epsilon)
*Epot -= G * m[i] * m[j] / d;
else
{
d2 = pow (d,2) + 4 * epsilon2;
d4 = pow (d2,2);
*Epot -= G * m[i] * m[j] * (16 * epsilon3 / d4 + 1 / (4 * epsilon));
}
}
}
}
Dynamische Zeitskalen
BearbeitenAnsatz
BearbeitenDie Simulationsbeispiele im vorausgegangenen Kapitel haben gezeigt, dass bei engen Begegnungen zweier Körper nicht nur der starke Anstieg der Anziehungskraft eine wichtige Rolle spielt, sondern auch die Festlegung des Intervalls zwischen aufeinanderfolgenden Zeitschritten. Wie nun erörtert wird, stellt die schon im Grundlagenkapitel eingeführte dynamische Zeit hierfür die entscheidende Bezugsgröße dar. Für eine auf einer Kreisbahn mit Radius umlaufende kleine Masse wurde dort abgeleitet, dass Umlaufsdauer , Geschwindigkeit , Beschleunigung und Ruck folgendem Zusammenhang genügen:
Anhand des Euler- und Leapfrog-Verfahrens wurde weiterhin gezeigt, dass der bei der Simulation einer Kreisbahn pro Schritt begangene relative Fehler direkt mit dem Verhältnis verknüpft ist:
Für das Euler-Verfahren ist = 2, für die Leapfrog-Methode = 4. Diese Ergebnisse legen nahe, die Schrittweite als einen kleinen Bruchteil von bzw. aufzufassen:
Für jedes Mitglied eines Mehrkörpersystems liefert dieser Ansatz einen individuellen Wert für die optimale Schrittweite, welcher sich zudem während einer Simulation fortlaufend ändert. Daraus ergibt sich zwangsläufig ein Konzept adaptiver Zeitschritte, welche auf jeden Massenpunkt einzeln zugeschnitten sind. Bevor dieser Gegenstand im nächsten Unterkapitel behandelt wird, sollen zuvor aber noch einige in der Praxis benutzte Verfahren zur Festlegung von skizziert werden.
Praktische Definitionen der dynamischen Zeitskala
BearbeitenVerhältnis von Beschleunigung und Ruck
BearbeitenTatsächlich schlugen Aarseth und Hoyle [16] bereits 1964 ein Kriterium vor, das genau obigen Überlegungen entspricht. Ihnen zufolge soll die Schrittweite der Zeit entsprechen, unterdessen sich die auf ein Objekt einwirkende Kraft bzw. Beschleunigung um einen bestimmten Betrag ändert. Die Autoren empfahlen:
Die Änderung der Beschleunigung kann gemäß der Definition des Rucks durch ausgedrückt werden. Damit aber ist die zeitliche Schrittweite wie gewünscht als Bruchteil des Verhältnisses von Beschleunigung und Ruck gegeben:
Für eine Kreisbahn entspricht dies wegen der Anforderung:
Für eine Simulation der Erdbahn muss damit die Schrittweite kleiner als 1.74 Tage sein. Dies stimmt gut mit den im Kapitel "Allgemeine Lösungsmethoden" skizziertrn Tests überein, welche mit Schritten von 1 Tag erfolgreich waren, mit einem von 10 Tagen jedoch scheiterten.
Im Falle eines sehr kleinen Rucks wird unter Umständen sehr groß, was ebenfalls zu fehlerhaften Ergebnissen führen kann. Oft wird daher für auch ein maximal zulässiger Wert festgelegt.
Umschlossene Dichte
BearbeitenZemp und andere [17] schlugen 2007 einen Weg ein, der auf den ersten Blick nichts mit dem bisherigen Vorgehen zu tun hat. Weist ein Körper eine Entfernung vom Schwerpunkt des Gesamtsystems auf und beträgt dessen mittlere Dichte innerhalb dieses Abstands , so soll gelten:
Ist die Massenverteilung des Ensembles radialsymmetrisch, so trägt effektiv nur die innerhalb von gelegene Masse zur auf das Testobjekt wirkenden Kraft bei. Setzt man in obige Definition ein, so stellt sich heraus, dass die Schrittweite als Bruchteil der Umlaufszeit um die eingeschlossene Masse dargestellt ist.
Das Verfahren von Zemp und anderen vermeidet die Schwierigkeiten, welche bei Aarseths und Hoyles Ansatz mit sehr kleinen Rucks einhergehen können. Andererseits ist die Dichte in Mehrkörpersystemen zumeist nicht radialsymmetrisch verteilt und oft erheblichen lokalen Schwankungen unterworfen. Die Autoren haben daher einen auf ein hierarchisches Gitter beruhenden Algorithmus entwickelt, der solchen Fluktuationen Rechnung trägt. Kommen zwei Massen und sich bis auf einen kleinen Abstand nahe, dient als Maß für die lokale Dichte. Überwiegt der Dichte auf größerer Raumskala, so wird die lokale Dichte für die Festlegung von herangezogen.
Dynamische Zeit und Plummerradius
BearbeitenAm Ende des letzten Unterkapitels wurde aufgezeigt, dass je nach dem erforderlichen Grad an Details für eine Mehrkörpersimulation zwei unterschiedliche Kriterien für die Abschätzung des die Glättung der Anziehungskraft bestimmenden Plummerradius zum Einsatz kommen. Dementsprechend existieren auch verschiedene Skalen für den kleinsten Wert für , welcher im Verlauf einer solchen Modellierung zu erwarten ist.
Berücksichtigung lokaler Strukturen
BearbeitenDer Abstand zwischen zwei Massenpunkten kann effektiv nicht kleiner als werden. Sofern nahe Vorübergänge berücksichtigt werden müssen, gilt für den Plummerradius und damit für die kleinste dynamische Zeit
Für die Plejaden liegt der Plummerradius bei etwa 250 Astronomischen Einheiten. Mit einer typischen Masse von einer Sonnenmasse folgt daraus eine minimale dynamische Zeit von ungefähr 3800 Jahren. Die empfohlene Schrittweite von etwa 0.5 Prozent dieser Zeitskala liegt dann bei circa 19 Jahren. Für 47 Tucanae beträgt nur ungefähr 4 Astronomischen Einheiten. Mit einer charakteristischen Masse von einer halben Sonnenmasse kann die dynamische Zeit bis auf lediglich 11 Jahre und das empfohlene auf circa 0.05 Jahre fallen.
Diese Schätzungen zeigen, dass insbesondere für Systeme mit einer hohen Anzahldichte die für eine stabile Simulation erforderlichen Schrittweiten sehr klein werden können. Um die Entwicklung eines solchen Ensembles über eine bestimmte Gesamtzeit zur verfolgen, sind ohne spezielle Algorithmen dementsprechend viele Einzelschritte und damit lange Rechenzeiten erforderlich. Die Anzahl einzelner Simulationsschritte ist umgekehrt proportional der Schrittweite und damit auch der dynamischen Zeit. Damit besteht zwischen und der Anzahl der Mitglieder folgender Zusammenhang:
Bringt man innerhalb des gleichen Radius 10 Mal soviele Körper unter, werden für eine Simulation über die gleiche Gesamtzeit etwa 30 Mal mehr Schritte benötigt. Allerdings brauchen mit individuellen Zeitschritten pro Massenpunkt in Gebieten geringer Dichte nicht soviele Berechnungen durchgeführt zu werden wie in solchen hoher Dichte.
Behandlung von Großstrukturen
BearbeitenDürfen enge Begegnungen vernachlässigt werden, so ist nur ein Plummerradius erforderlich. Dies entspricht einer kleinsten dynamischen Zeit
Für eine mit 1 Million Massenpunkten simulierte Galaxie eines Radius von 20000 Parsec beträgt der Plummerradius 20 Parsec. Nimmt man 1 Million Sonnenmassen pro Massenpunkt an, so beträgt die entsprechende dynamische Zeit ungefähr 260 Millionen Jahre und die dazugehörige Schrittweite 1.3 Millionen Jahre.
Die für eine Simulation erforderliche Anzahl einzelner Zeitschritte wächst nun weniger rasch mit der Anzahl der Körper. Es gilt
Bei einer Verdichtung um das 10-fache sind jetzt nur 6 Mal mehr Einzelschritte erforderlich. Damit aber bleibt es immer noch fundamental, mit an lokalen Dichteverhältnissen angepassten Zeitschritten zu arbeiten.
Individuelle Zeitskalen pro Massenpunkt
BearbeitenKonstruktion
BearbeitenWie soeben diskutiert, lässt sich jedem Mitglied eines Mehrkörpersystems eine eigene dynamische Zeitskala zuordnen. Auf alle Massenpunkte die kleinste im Ensemble auftretende Skala anzuwenden, würde jedoch viel zu lange Rechenzeiten nach sich ziehen. Wielen (1967) [18] und Aarseth (1985) [19] entwickelten daher ein Verfahren, dass es erlaubt, individuelle dynamische Zeitskalen beizubehalten. Die Autoren benutzten hierbei als grundlegende Lösungsmethode das Mehrschrittverfahren nach Adams-Bashforth und Adams-Moulton. Makino und Aarseth (1992) [20] legten dar, dass auch die auf Hermite-Polynome beruhenden Lösungsformeln für eine objektspezifische Behandlung der dynamischen Zeitskala geeignet sind. Hut und andere (1995) [21] zeigten schließlich, dass dies auch für das Leapfrog-Verfahren möglich ist.
Ganz allgemein lassen sich auf dem Prädiktor-Korrektor-Prinzip beruhende Verfahren am besten auf individuelle Zeitschritte hin erweitern, da man durch einfaches Einsetzen aktueller Werte in Lösungsformeln direkt zum nächsten Zustand gelangen kann. Hingegen ist das Runge-Kutta-Verfahren für eine Dynamisierung der Zeitschritte sehr unhandlich, da es etliche Zwischenstufen benötigt, um einen Schritt abzuarbeiten.
Die Verwendung individueller dynamischer Zeiten und damit auch Zeitschritte hat zwangsläufig zur Folge, dass jeder Massenpunkt auch zu individuellen Zeitpunkten betrachtet wird. Man geht nun folgendermaßen vor:
1) Jeder Körper hat zu seinem Zeitpunkt einen Zeitschritt . Man greife denjenigen heraus, für welchen den niedrigsten Wert hat (zweiter roter Kreis).
2) Man extrapoliere für alle Massenpunkte ihre momentanen Positionen hin zu den für den Zeitpunkt gültigen Positionen (türkise Kreise). Dazu verwende man den Prädiktor. Unabhängig von der Wahl der grundlegenden Lösungsformeln bestimme man für das in Schritt 1 gewählte Objekt mit der gleichen Methode auch die Geschwindigkeit für diesen Zeitpunkt. Verwendet man als Lösungsmethode die Hermite-Polynome, muss man für alle Körper die extrapolierten Geschwindigkeiten ermitteln.
3) Aus den Positionen gewinne man mittels des Gravitationsgesetzes die Beschleunigung , welche zur Zeit auf den ausgewählten Körper wirkt. Im Falle der Hermite-Polynome als fundamentales Lösungsschema wird auch der Ruck zum neuen Zeitpunkt benötigt (was erklärt, warum dann auch die Geschwindigkeiten aller Mitglieder des Ensembles extrapoliert werden müssen).
4) Man verbessere die Position des gerade untersuchten Massenpunktes mit Hilfe des Korrektors (dritter roter Kreis). Im Falle des Leapfrog- bzw. Mehrschrittverfahrens braucht man hierzu nur die extrapolierte Geschwindigkeit . Werden die Hermite-Polynome verwendet, geht auch die extrapolierte Beschleunigung in die Korrektur ein. Anschließend verbessere man auf die gleiche Weise die Geschwindigkeit des herausgegriffenen Objekts mittels der Beschleunigung und bei Benutzung der Hermite-Polynome auch mittels des Rucks . Zuletzt aktualisiere man den Zeitschritt auf Grundlage des neuen Verhältnisses bzw. .
5) Nur der in Schritt 1 ausgewählte Körper wird versetzt, alle anderen bleiben auf ihren Positionen zu ihren Zeitpunkten . Nun kehre man zu Schritt 1 zurück.
Prädiktor-Korrektor-Verfahren mit variablen Zeitschritten
BearbeitenSowohl die Hermite-Polynome- als auch Leapfrog-Methode stellen wie bereits erläutert jeweils ein Einschrittverfahren dar. Damit können die für feste Schritte erarbeiteten Lösungsformeln unverändert auch für dynamische Zeitintervalle übernommen werden. Die nachfolgenden C-Codes sind so auch ohne detaillierte Schilderungen verständlich und im Vergleich zu denjenigen für konstante Schritte kaum umfangreicher.
Beispiel mit Hermite-Polynome-Verfahren
BearbeitenUm den Effekt dynamischer Zeitschritte zu demonstrieren, sei abermals das im letzten Kapitel eingeführte Drei-Körper-System herangezogen. Um dieses so genau wie möglich zu modellieren, wird auf eine Glättung der Gravitation verzichtet, der Plummerradius also auf 0 gesetzt. Um hinsichtlich der Energieerhaltung stabile Resultate zu erzielen, darf man die Schrittweite höchstens auf 0.5% des Verhältnisses Beschleunigung / Ruck einstellen, muss also deutlich unter der von Aarseth und Hoyle (1964) empfohlenen Obergrenze von 3% bleiben.
Zwar reicht die Festlegung = 0.03 bereits aus, um trotz der nach 70 Jahren auftretenden Beinahe-Kollision das Ensemble zusammenzuhalten, was gegenüber den bislang benutzten festen Schritten von 1 Tag bereits eine deutliche Verbesserung darstellt. Die Verletzung der Energieerhaltung ist mit mehr als 10% des Absolutwertes aber nach wie vor erheblich. Mit Schritten von 0.005 hingegen wird dieses Ereignis korrekt behandelt, so dass von diesem Zeitpunkt an die beiden Lösungen sich immer weiter auseinander entwickeln.
Nach 83 Jahren kommt es bei der auf feinerer Schrittweite beruhenden Lösung zu einer weiteren, extrem engen Begegnung, bei der sich zwei Körper bis auf weniger als 1 Million km nähern. Auch dieses Mal gelingt es, ein abruptes Auseinanderfliegen des Systems zu vermeiden. Ein genauer Blick auf die Energieerhaltung zeigt aber, dass trotz z.T. extrem kleiner Zeitschritte immer noch ein wenn auch relativ geringer Fehler von etwa einem halben Prozent der Gesamtenergie auftritt.
Testrechnungen, bei denen die Schrittweite anhand des Verhältnisses Geschwindigkeit / Beschleunigung bestimmt wurde, lassen im Vergleich zum Kriterium Beschleunigung / Ruck keinen signifikanten Unterschied erkennen.
Die folgenden Abbildungen zeigen sehr eindrucksvoll die Anpassung der zeitlichen Schrittweiten an die aktuellen Gegebenheiten. Zumeist liegen die in einer Größenordnung zwischen 1/1000 und 1/10 Jahr, also bei mehreren Stunden bis zu 1 Monat. Wiederholt stellen sich jedoch kurzzeitig außerordentlich kleine Schritte ein, bis herunter zu 1 / 10000000 Jahr entsprechend nur wenigen Sekunden! Betrachtet man die Abstände der Massenpunkte zu ihren nächsten Nachbarn, so zeigt sich, dass diese Momente exakt mit solchen extremer Annäherungen zusammenfallen. Zwar dominieren Distanzen von einer Größenordnung von 1 bis 10 Astronomischen Einheiten. Mehrmals jedoch kommen zwei Körper sich außerordentlich nahe, bis auf wenige 1/1000 Astronomische Einheiten entsprechend einigen 100000 km.
Bei solchen Minimalabständen ist es streng genommen nicht mehr zulässig, die drei Objekte als Massenpunkte zu betrachten. Selbst wenn große Körper nicht miteinander kollidieren, verformen sie sich bei genügend engen Passagen durch wechselseitig ausgeübte Gezeitenkräfte gegenseitig und verändern damit auch ihre Gravitationsfelder. Zudem wird dabei ein Teil der Energie des Mehrkörpersystems in Wärme umgewandelt, so dass die Summe von kinetischer und potentieller Energie nicht mehr erhalten bleibt, sondern vielmehr abnimmt. Wie später erläutert wird, spielen solche Prozesse in den dichten Kernregionen von Kugelsternhaufen durchaus eine signifikante Rolle.
Leider ist es nicht praktikabel, extrem enge Vorübergänge zweier Massenpunkte auf jeden Fall immer korrekt wiedergeben zu wollen. Insbesondere bei komplexen, aus tausenden oder gar Millionen von Objekten bestehenden Systemen treten derartige Ereignisse sehr häufig auf und führen dazu, dass sich die Simulation aufgrund der dann notwendigen sehr kleinen Zeitschritte ständig daran festbeißt. In der Praxis ist man gezwungen, auch bei Verwendung dynamischer Zeitschritte mit einem endlichen Plummerradius zu arbeiten und so wie schon im letzten Unterkapitel angedeutet effektive Untergrenzen für die dynamische Zeitskala sicherzustellen.
Beispiel mit Leapfrog-Verfahren
BearbeitenDie geringere relative Genauigkeit des Leapfrog-Verfahrens macht sich erwartungsgemäß durch eine im Vergleich zu den Hermite-Polynomen etwas schlechtere Energieerhaltung bemerkbar. Bei nahen Vorübergängen zweier Massenpunkte treten Verletzungen des Energiesatzes etwas häufiger auf. Die relativen Fehler, die während der Simulation des schon wiederholt als Testobjekt verwendeten Dreikörpersystems auftreten, bleiben mit einigen 0.01 bis 0.1% aber weiterhin recht gering. Allerdings beobachtet man zusätzlich eine kleine Drift, welche etwa 0.03% dr Gesamtenergie ausmacht.
Trotz nur kleiner Abweichungen hinsichtlich der Gesamtenergie liefert die Leapfrog-Methode eine völlig andere Lösung als das Hermite-Polynome-Verfahren. Die Ursache hierfür liegt jedoch nicht nur in der unterschiedlichen Präzision der beiden Ansätze. Wie später aufgezeigt wird, sind die Orbits innerhalb von Mehrkörperensembles in der Regel äußerst sensibel selbst gegenüber kleinsten Störungen und somit generell nicht prognostizierbar. Für Systeme wie Sternhaufen, Galaxien oder gar noch größere Strukturen muss man für einen Vergleich mit Beobachtungen daher kollektive Eigenschaften wie z.B. die Dichte als Funktion des Abstandes zum Zentrum betrachten.
In dieser Hinsicht ist das Leapfrog-Verfahren trotz seiner nominell etwas schlechteren Stabilität brauchbar, wie z.B. Quinn und andere (1997) [22] anhand von Stern- und Galaxienhaufen dargelegt haben. Es bietet gegenüber den Hermite-Polynomen zudem den Vorteil eines wesentlich geringeren Rechenaufwands, da nur Beschleunigungen, nicht aber Rucks betrachtet werden müssen (weshalb die dynamische Schrittweite nun auf dem Verhältnis anstatt beruht). Vor allem für Simulationen mit sehr vielen Massenpunkten wird es daher in der Praxis häufig eingesetzt.
C-Code: Variable Zeitschritte mit Hermite-Polynome-Verfahren
Da der Code für individuelle Zeitskalen mit demjenigen für konstante Schrittweite über weite Passagen identisch ist, können alle bisher definierten Variablen und Prozeduren übernommen werden. Neu sind die Double tneu und tneumin, um den kleinsten soeben vorkommenden Wert zu bestimmen. Die unsigned Integer stern gibt an, welcher Körper diesen Minimalwert aufweist, also als nächstes zu simulieren ist. Die Double gamma bezeichnet den Bruchteil des Verhältnisses , welcher als dynamische Zeitskala verwendet wird. Neu ist schließlich auch die Double epsilon für den Plummerradius.
Um jedem Massenpunkt eigene Zeitpunkte zuzuordnen, müssen diese zusätzlich zu den bisher verwendeten Größen vorgehalten werden. Dazu dient das Array tau. Ein weiteres Array tdyn definiert die dynamischen Zeitskalen der Objekte. Beide Arrays enthalten Double.
/* Globale Variablen */
unsigned int N;
double epsilon;
double *m;
double ***r;
double ***v;
double ***a;
double ***j;
double s[3];
double c[3];
double *tau;
double *tdyn;
unsigned int i,k;
unsigned int stern;
double t,dt,dt2,dt3,dt4,dt5;
double T;
double tneu,tneumin;
double gamma;
/* Initialisierung aller Massenpunkte aus Anfangspositionen und -geschwindigkeiten */
/* Beschleunigungen und Rucks */
/* Zeitpunkte und dynamische Zeitskalen */
t = 0;
for (i = 0;i < N;i ++)
{
tau[i] = 0;
ruck (i,N,epsilon,m,r[0],v[0],a[0][i],j[0][i]);
tdyn[i] = gamma * betrag (a[0][i]) / betrag (j[0][i]);
}
while (t < T)
{
/* Bestimmung des Massenpunkts mit dem kleinsten neuen Zeitpunkt t + delta t */
tneumin = T;
for (i = 0;i < N;i ++)
{
tneu = tau[i] + tdyn[i];
if (tneu < tneumin)
{
tneumin = tneu;
stern = i;
}
}
/* Prädiktor-Schritt */
/* Erste Näherung für neue Positionen nach dem Schema rneu = ralt + valt * dt + aalt * dt2 / 2 + jalt * dt3 / 6 */
/* Erste Näherung für neue Geschwindigkeiten nach dem Schema vneu = valt + aalt * dt + jalt * dt2 / 2 */
/* Wie bisher für alle Körper, aber nun mit individuellen Zeitschritten dt */
for (i = 0;i < N;i ++)
{
dt = tneumin - tau[i];
dt2 = pow (dt,2);
dt3 = pow (dt,3);
for (k = 0;k < 3;k ++)
{
r[1][i][k] = r[0][i][k] + v[0][i][k] * dt + a[0][i][k] * dt2 / 2 + j[0][i][k] * dt3 / 6;
v[1][i][k] = v[0][i][k] + a[0][i][k] * dt + j[0][i][k] * dt2 / 2;
}
}
/* Korrektor-Schritt - nur einmal durchlaufen */
/* Beschleunigung und Ruck an vorläufig neuen Positionen */
/* Verbesserung der neuen Positionen und Geschwindigkeiten durch Einsetzen in die Lösungsformeln */
/* Jetzt nur für den Körper mit dem kleinsten neuen Zeitpunkt mit seinem Zeitschritt dt */
dt = tneumin - tau[stern];
dt2 = pow (dt,2);
dt3 = pow (dt,3);
dt4 = pow (dt,4);
dt5 = pow (dt,5);
ruck (stern,N,epsilon,m,r[1],v[1],a[1][stern],j[1][stern]);
for (k = 0;k < 3;k ++)
{
s[k] = (- 6 * (a[0][stern][k] - a[1][stern][k]) - (4 * j[0][stern][k] + 2 * j[1][stern][k]) * dt) / dt2;
c[k] = (12 * (a[0][stern][k] - a[1][stern][k]) + 6 * (j[0][stern][k] + j[1][stern][k]) * dt) / dt3;
r[1][stern][k] += s[k] * dt4 / 24 + c[k] * dt5 / 120;
v[1][stern][k] += s[k] * dt3 / 6 + c[k] * dt4 / 24;
}
/* Aktualisierung des soeben simulierten Objekts */
/* Verbesserte Position und Geschwindigkeit */
/* Beschleunigung und Ruck */
/* Zeitpunkt und dynamische Zeitskala */
for (k = 0;k < 3;k ++)
{
r[0][stern][k] = r[1][stern][k];
v[0][stern][k] = v[1][stern][k];
a[0][stern][k] = a[1][stern][k];
j[0][stern][k] = j[1][stern][k];
}
tau[stern] = tneumin;
tdyn[stern] = gamma * betrag (a[0][stern]) / betrag (j[0][stern]);
/* Aktualisierung der verflossenen simulierten Zeit */
t = tneumin;
}
C-Code: Variable Zeitschritte mit Leapfrog-Verfahren
Die Struktur der C-Codes für Leapfrog- und Hermite-Polynome-Methode ist fast völlig gleich, nur die Lösungsformeln unterschieden sich. Dementsprechend haben die hier verwendeten Variablen exakt die gleiche Bedeutung wie oben.
/* Globale Variablen */
unsigned int N;
double epsilon;
double *m;
double ***r;
double ***v;
double ***a;
double *tau;
double *tdyn;
unsigned int i,k,z;
unsigned int stern;
double t,dt,dt2;
double T;
double tneu,tneumin;
double gamma;
/* Initialisierung aller Massenpunkte aus Anfangspositionen und -geschwindigkeiten */
/* Beschleunigungen */
/* Zeitpunkte und dynamische Zeitskalen */
t = 0;
for (i = 0;i < N;i ++)
{
tau[i] = 0;
beschleunigung (i,N,epsilon,m,r[0],a[0][i]);
tdyn[i] = gamma * betrag (v[0][i]) / betrag (a[0][i]);
}
while (t < T)
{
/* Bestimmung des Massenpunkts mit dem kleinsten neuen Zeitpunkt t + delta t */
tneumin = T;
for (i = 0;i < N;i ++)
{
tneu = tau[i] + tdyn[i];
if (tneu < tneumin)
{
tneumin = tneu;
stern = i;
}
}
/* Prädiktor-Schritt */
/* Erste Näherung für neue Positionen nach dem Schema rneu = ralt + valt * dt + aalt * dt2 / 2 */
/* Wie bisher für alle Körper, aber nun mit individuellen Zeitschritten dt */
/* Erste Näherung für neue Geschwindigkeiten nach dem Schema vneu = valt + aalt * dt */
/* Nur für den Körper mit dem kleinsten neuen Zeitpunkt mit seinem Zeitschritt dt */
for (i = 0;i < N;i ++)
{
dt = tneumin - tau[i];
dt2 = pow (dt,2);
for (k = 0;k < 3;k ++)
{
r[1][i][k] = r[0][i][k] + v[0][i][k] * dt + a[0][i][k] * dt2 / 2;
if (i == stern)
v[1][i][k] = v[0][i][k] + a[0][i][k] * dt + j[0][i][k];
}
}
/* Korrektor-Schritt - drei Mal durchlaufene Iteration */
/* Beschleunigung an vorläufig neuen Positionen */
/* Verbesserung der neuen Positionen und Geschwindigkeiten durch Einsetzen in die Lösungsformeln */
/* Jetzt nur für den Körper mit dem kleinsten neuen Zeitpunkt mit seinem Zeitschritt dt */
dt = tneumin - tau[stern];
for (z = 0;z < 3;z ++)
{
beschleunigung (stern,N,epsilon,m,r[1],a[1][stern]);
for (k = 0;k < 3;k ++)
{
r[1][stern][k] = r[0][stern][k] + (v[0][stern][k] + v[1][stern][k]) * dt / 2;
v[1][stern][k] = v[0][stern][k] + (a[0][stern][k] + a[1][stern][k]) * dt / 2;
}
}
/* Aktualisierung des soeben simulierten Objekts */
/* Verbesserte Position und Geschwindigkeit */
/* Beschleunigung */
/* Zeitpunkt und dynamische Zeitskala */
for (k = 0;k < 3;k ++)
{
r[0][stern][k] = r[1][stern][k];
v[0][stern][k] = v[1][stern][k];
a[0][stern][k] = a[1][stern][k];
}
tau[stern] = tneumin;
tdyn[stern] = gamma * betrag (v[0][stern]) / betrag (a[0][stern]);
/* Aktualisierung der verflossenen simulierten Zeit */
t = tneumin;
}
Mehrschrittverfahren mit variablen Zeitschritten (für Fortgeschrittene)
BearbeitenModifikation der Lösungsformeln
BearbeitenDas Mehrschrittverfahren nach Adams-Bashforth und Adams-Moulton hat wie die Leapfrog-Methode gegenüber den Hermite-Polynomen den Vorteil, dass man als Größe höchter Ordnung lediglich die Beschleunigung berücksichtigen muss. Die Einführung variabler Zeitschritte hat aber zur Folge, dass auf Grund unterschiedlicher Differenzen zwischen verschiedenen zurückliegenden Zeitpunkten die für konstante Zeitschritte abgeleiteten Formeln nicht mehr gelten. Der Rechenaufwand ist dadurch auch ohne Ruck erheblich, die Programmierung sehr viel aufwendiger. Zwar lassen sich alle wesentlichen Fakten weiterhin zumeist ohne höhere Mathematik darstellen, doch wendet sich dieser Abschnitt dennoch an fortgeschrittene Leser. Wie für feste Schrittweiten wird zunächst der Fall zweier zurückliegender Zeitpunkte und behandelt.
Adams-Bashforth-Formel für zwei zurückliegende Zeitpunkte
BearbeitenUm die modifizierte Adams-Bashforth-Formel zu gewinnen, wird nun der Ansatz
benutzt. Abermals wird die Beschleunigung auf die Geschwindigkeiten und zurückgeführt. Es gilt . Durch Einsetzen erhält man als zunächst unhandlich erscheinendes Ergebnis:
Dieses vereinfacht sich jedoch sehr, wenn man das Verhältnis des neuesten zum letzten Zeitschritt einführt:
Analog hierzu liefern die Beschleunigungen und die Geschwindigkeit . Für den Sonderfall einer festen Schrittweite wird , womit man die schon im letzten Kapitel erläuterte spezielle Formel erhält.
Adams-Moulton-Formel für zwei zurückliegende Zeitpunkte
BearbeitenDie Herleitung der modifizierten Adams-Moulton-Formel erfordert auch mit nur zwei zurückliegenden Ereignissen viel algebraische Rechenarbeit, wobei sich aber das Verhältnis erneut als entscheidendes Maß für die Modifikation erweist. Man startet mit dem Ansatz
Relativ einfach ist der Beschleunigungsterm zu behandeln. Wie bisher wird die Beschleunigung durch die Geschwindigkeiten und ausgedrückt gemäß . Auf den ersten Blick ist hier von nichts zu sehen. Doch kann man den Nenner schreiben als . Klammert man jetzt noch aus, so liegt für die gewünschte Form vor:
Die Multiplikation mit erlaubt es, ein weiteres Mal zu verwenden:
Der Ruckterm ist anspruchsvoller. wird wie gehabt durch und ersetzt. Es ist . Die beiden Zwischenzeiten lassen sich durch und auf die gewohnten ganzzahligen Zeitpunkte zurückführen, wodurch der Nenner die Gestalt erhält. Die Zwischenbeschleunigungen können wie schon bekannt durch und ausgedrückt werden. Durch eine ähnliche Umformung der Nenner wie für den Beschleunigungsterm erhält man:
Die Multiplikation mit bringt eine enorme Vereinfachung mit sich:
Fasst man schließlich alle Terme zusammen, so gewinnt man als durchaus noch überschaubares Resultat:
Entsprechend liefern die Beschleunigungen , und einen verbesserten Wert für . Mit festen Zeitschritten geht obige Beziehung ebenfalls in das bereits im letzten Kapitel dargestellte Ergebnis über.
Iterationsformeln für beliebige Anzahl zurückliegender Zeitpunkte
BearbeitenFür mehr als zwei zurückliegende Zeitpunkte werden mit variabler zeitlicher Schrittweite die Formeln nach Adams-Bashforth und Adams-Moulton so komplex, dass eine direkte algebraische Darstellung nicht mehr angebracht ist. Nach Lopez und Romay (2010) [23] können diese jedoch durch ein iteratives Verfahren ausgewertet werden. Berücksichtigt man die letzten Zeitpunkte von bis zurück nach , so lautet die Adams-Bashforth-Formel:
Die Korrektur nach Adams-Moulton gewinnt man durch:
bedeutet, dass die entsprechenden Terme für den Zeitpunkt zu betrachten sind. Alle Terme , und gehen wie nun dargelegt jeweils aus einem Iterationsschema hervor. Am einfachsten schaut dieses für aus. Es gilt die Vorschrift:
Die ersten beiden Iterationen liefern damit:
Je mehr zurückliegende Zeitpunkte berücksichtigt werden, umso mehr Verhältnisse zwischen aufeinanderfolgenden Schritten gehen in die Modifikation der originalen Lösungsformeln ein.
Für ist die Iteration weit aufwendiger. Sie enthält die zurückliegenden Geschwindigkeiten und lautet:
Für die ersten beiden Stufen erhält man:
Um einen Term zu berechnen, muss man sich im Allgemeinen durch alle Terme gemäß des Schemas , usw. durchhangeln, bis man ein erreicht hat.
Ähnlich schwierig gestaltet sich die Bestimmung von . Es gilt folgender Algorithmus:
Um für ein bestimmtes zu bestimmen, muss man sukzessiv , usw. durchlaufen, bis man bei einem angekommen ist. Die ersten beiden lauten:
Um den Rechenaufwand in begrenzen, schlug Aarseth (1985) [19] vor, zwar für den gerade untersuchten Körper (mit dem kleinsten ) die letzten 5 Zeitpunkte (von bis ) zu berücksichtigen. Um die für die Adams-Moulton-Korrektur erforderlichen Positionen aller übrigen Massenpunkte zum Zeitpunkt zu berechnen, sollten dagegen die letzten drei Zeitpunkte (von bis ) genügen.
Praktisches Vorgehen
BearbeitenDie iterative Berechnung der Koeffizienten der Adams-Bashforth- und Adams-Moulton-Formeln lässt sich durch die Wahl eines geeigneten Schemas deutlich vereinfachen. Zuerst bestimmt man alle erforderlichen Zeitdifferenzen, danach die Terme , zuletzt die . Unabhängig von den und folgen aus den Zeitdifferenzen direkt die .
Zeitdifferenzen
BearbeitenDie Konstruktion beginnt mit der Bestimmung aller für die nachfolgenden Berechnungen erforderlichen Zeitdifferenzen. Hierbei stellt sich bei der Entwicklung des Gesamtschemas heraus, dass nur Differenzen der Art (zwischen aktuellem und einem zurückliegenden Zeitpunkt) und (zwischen einem neuen und bezüglich diesem zurückliegenden Zeitpunkt) benötigt werden. Die mit jedem weiter zurückliegenden Zeitpunkt zusätzlich benötigten Differenzen sind nachfolgend für von 0 bis 4 zusammengestellt.
Bevor man mit dem Mehrschrittverfahren arbeiten kann, muss man wie schon erwähnt zunächst mit einem Einschrittverfahren mit konstanter Schrittweite Eingangswerte festlegen. Damit nimmt die Tabelle der Zeitdifferenzen folgende Anfangsgestalt an:
Nach der Bewegung eines Massenpunktes hin zu einer neuen Position muss die Tabelle aktualisiert werden. Dabei nimmt die bisherige Differenz den Wert von an, die Differenz bekommt den Wert von usw. Hierbei muss man mit dem ältesten Wert beginnen und sich Schritt für Schritt bis zum Jüngsten durcharbeiten. Der bisherige Zeitpunkt bekommt also den Wert zugewiesen, den Wert usw.
Beta-Terme
BearbeitenMit gegebenen Zeitdifferenzen können die -Terme ermittelt werden. Aus dem Aufbau des gesamten Algorithmus folgt, dass lediglich Ausdrücke des Typs eingehen. Die mit jedem älteren Zeitpunkt hinzutretenden Terme seien wieder als Matrix dargestellt.
Zu Beginn der Simulation nimmt diese eine besonders einfache Form an. Im Zähler und Nenner der Konstruktionsformel für die -Terme werden jeweils gleich viele Zeitpunkte übersprungen. Da die Startwerte auf konstanter Schrittweite beruhen, folgt daraus, dass alle diese Terme am Anfang gleich 1 sind.
Zur Berechnung der beginnt man mit , gefolgt von , usw. Da nur Terme mit einer einzigen zeitlichen Referenz (nämlich ) gebraucht werden, besteht kein Bedarf für ein spezielles Aktualisierungsschema.
Phi-Terme
BearbeitenNun stehen alle erforderlichen Informationen für die -Terme bereit. Um die Simulation in Gang zu setzen, muss man jetzt in der Tat alle Ausdrücke bestimmen, die anhand der vorgehaltenen Zeitpunkte gebildet werden können. Nachfolgende Tabelle zeigt die für die Adams-Bashforth-Formel erforderlichen Terme.
Zur Auswertung muss man die Matrix zeilenweise durchgehen. Man startet also mit und . Letzteres gestatten den Schritt . Weiter geht es mit , was und schließlich ermöglicht (man erinnere sich, das anfänglich alle -Terme gleich 1 sind).
Für die Adams-Moulton-Formel werden zusätzlich die Terme des Typs benötigt. Man muss dazu mit beginnen und nacheinander alle bis herauf zu ermitteln.
Nach erfolgter Initialisierung kommt man mit den Komponenten der Art und aus, Glieder für weiter zurückliegende Zeitreferenzen werden dann nicht weiter benötigt. Kennt man die neue Position und Geschwindigkeit des momentan betrachteten Objekts, so aktualisiert man zunächst die gemäß der soeben vorgestellten Reihenfolge. Anschließend aktualisiert man die . Hierbei bekommt einfach den Wert von , denjenigen von usw.
g-Terme
BearbeitenFür diese gibt es wie für die -Terme keine eigentliche Initialisierung und dementsprechend keine Aktualisierung. Die in den Formeln von Adams-Bashforth und Adams-Moulton auftretenden beruhen auf Koeffizienten , welche als Referenz allesamt auf einen neuen Zeitpunkt zugreifen. Untenstehende Tabelle gibt die für die Adams-Bashforth-Formel erforderlichen Koeffizienten an.
Wie bei den -Termen muss man die volle Matrix zeilenweise bearbeiten. Der Startpunkt lautet , gefolgt von und . Die nächste Zeile beginnt mit . Dies gestattet und damit .
Für die Adams-Moulton-Formel muss obiges Schema noch um eine Zeile erweitert werden. Gemäß dem hier dargestellten Beispiel startet diese mit , gefolgt von bis hin zu , woraus letzendlich folgt.
Beispiel des Drei-Körper-Systems
BearbeitenWendet man das Mehrschrittverfahren mit individuellen Zeitschritten auf das schon mehrfach in diesem Buch behandelte Drei-Körper-System an, so stellt man gegenüber der Hermite-Polynome-Methode eine weitere, aber recht geringfügige Steigerung der Güte der Simulation fest. Um nicht zusätzlich noch Rucks berechnen zu müssen, wird wie für die Leapfrog-Methode das Verhältnis Geschwindigkeit / Beschleunigung als Maß für die Schrittweite herangezogen. Mit einem von 0.03 wird die enge Begegnung nach 70 Jahren etwas besser modelliert als durch das Hermite-Polynome-Verfahren, jedoch tritt nach wie vor eine deutliche Verletzung der Energieerhaltung mit etwa 5% des absoluten Wertes auf. Bei einer Schrittweite von 0.005 ist überhaupt kein Vorteil zugunsten der Mehrschritt-Methode zu erkennen.
C-Code: Variable Zeitschritte mit Mehrschrittverfahren
Für das Mehrschrittverfahren wird der Code bei Einbeziehung individueller Zeitschritte wesentlich umfangreicher, zudem treten insbesondere für die Berechnung der Koeffizienten der Lösungsformeln zahlreiche neue Variablen hinzu.
Die für die einzelnen Massenpunkte auch schon für feste Zeitschritte benötigten Variablen für Position, Geschwindigkeit und Beschleunigung werden einfach übernommen. Neu sind dagegen die Arrays tau und tauneu für vergangene und neue Zeitpunkte. Ersteres ist als Array von Zeigern zweidimensional, um für jeden Körper die 5 letzten Zeitpunkte, zu denen er simuliert wurde, festzuhalten. Letzteres ist nur eindimensional, um den jeweils neuesten Zeitpunkt anzugeben.
Die für das Lösungsschema erforderlichen Zeitdifferenzen werden durch dtauneu0 bis dtauneu4 und dtau01 bis dtau04 dargestellt. Erstere beziehen sich auf Differenzen , letztere auf solche . Die Ziffer 0 steht also für den Zeitpunkt , die Ziffer 1 für usw. Im Prinzip könnte man diese Variablen (sowie die nachfolgend diskutierten) weiter durch Arrays zusammenfassen, doch wurde zugunsten einer übersichtlicheren Darstellung der Zusammenhänge darauf verzichtet. Alle Zeitdifferenzen erfordern lediglich eindimensionale Arrays (ein Wert für jeden Massenpunkt).
beta00 bis beta40 repräsentieren die . Die erste Ziffer steht für dem Index . Die 0 bedeutet, daß der Term als Referenz den Zeitpunkt verwendet. beta00 wird als Konstante deklariert (weil dessen Wert stets gleich 1 ist), die übrigen Beta-Variablen als eindimensionale Arrays (abermals ein Wert pro Objekt).
Für die eigentliche Simulation werden von den -Termen nur die und gebraucht, sowohl für die Geschwindigkeit als auch die Beschleunigung. Die übrigen Elemente der -Matrix treten nur bei der Initialisierung in Erscheinung und werden dort als lokale Variablen deklariert. Die werden durch phi0neuv bis phi5neuv bzw. phi0neua bis phi5neua dargestellt, die durch phi00v bis phi40v bzw. phi00a bis phi40a. Wieder steht die erste Ziffer für , "neu" bzw. die zweite Ziffer für die Zeitreferenz. Neue Phi-Werte für Zeitpunkte n+1 müssen nur für den gerade zu bewegenden Massenpunkt für jede kartesische Komponente bestimmt werden. Dementsprechend sind die dafür erforderlichen Variablen einfache Vektorarrays. Alte Phi-Werte für Zeitpunkte n dagegen müssen für das ganze Ensemble bekannt sein, so dass für die dazugehörigen Variablen Arrays von Zeigern (also wieder zweidimensionale Arrays) erforderlich sind.
g1 bis g5 schließlich beziehen sich auf die g-Terme. g1 und g2 sind immer gleich 1 bzw. 1/2 und werden somit als Konstanten deklariert. g2 bis g4 müssen für alle Massenpunkte gegeben sein und dementsprechend als eindimensionale Arrays definiert werden. g5 hingegen wird nur für den aktuell bearbeiteten Körper als einfache Double benötigt
Die c-Terme c12, c13, c14 und c15 sind mit Werten von 1/6, 1/12, 1/20 und 1/30 ebenfalls Konstanten, die restlichen c-Glieder c22, c23, c24, c32, c33 und c42 hingegen wiederum Variablen. Die beiden Ziffern stehen jetzt für die Indizes und . c22, c23 und c32 müssen für das ganze System als eindimensionale Arrays zur Verfügung stehen, c24, c33 und c42 jedoch bloß für das soeben simulierte Objekt als einfache Double.
Die Koeffizienten für die Formeln nach Adams-Bashforth werden durch ABv und ABa für Geschwindigkeit und Beschleunigung angegeben, diejenigen für die Formeln nach Adams-Moulton entsprechend durch AMv und AMa. Letztere sind nur für den soeben zu bewegenden Massenpunkt für jede kartesische Komponente erforderlich, so dass sie lediglich als einfache Vektorarrays deklariert werden müssen. Erste müssen für jeden Massenpunkt in Form von (effektiv zweidimensionalen) Arrays von Zeigern gegeben sein.
Die Variablen tdyn, stern, t, dt, tneu, tneumin, T, gamma und epsilon haben die gleichen Bedeutungen wie in den Codes für das Hermite-Polynome- und Leapfrog-Verfahren.
/* Globale Variablen */
unsigned int i,j,k;
unsigned int stern;
unsigned int N;
unsigned int ordnung;
double *m;
double **r;
double **rneu;
double ***v;
double **vneu;
double ***a;
double **aneu;
double **tau;
double *tauneu;
double *tdyn;
double *dtauneu0,*dtauneu1,*dtauneu2,*dtauneu3,*dtauneu4;
double *dtau01,*dtau02,*dtau03,*dtau04;
const double beta00 = 1; double *beta10,*beta20,*beta30,*beta40;
double phi0neuv[3],phi1neuv[3],phi2neuv[3],phi3neuv[3],phi4neuv[3],phi5neuv[3];
double **phi00v,**phi10v,**phi20v,**phi30v,**phi40v;
double phi0neua[3],phi1neua[3],phi2neua[3],phi3neua[3],phi4neua[3],phi5neua[3];
double **phi00a,**phi10a,**phi20a,**phi30a,**phi40a;
const double c12 = 0.166666666667; const double c13 = 0.0833333333333;
const double c14 = 0.05; const double c15 = 0.0333333333333;
double *c22,*c23,c24;
double *c32,c33;
double c42;
const double g0 = 1; const double g1 = 0.5; double *g2,*g3,*g4,g5;
double **ABv,**ABa;
double AMv[3],AMa[3];
double t,dt;
double tneu,tneumin;
double T;
double gamma;
double epsilon;
/* Berechnung der ersten Zustände des Systems mittels des Runge-Kutta-Verfahrens */
rungekutta ();
/* Initialisierung der für die Lösungsformeln gebrauchten Terme */
ABMinitial ();
while (t < T)
{
/* Bestimmung des Massenpunkts mit dem kleinsten neuen Zeitpunkt t + delta t */
tneumin = T;
for (i = 0;i < N;i ++)
{
tneu = tau[0][i] + tdyn[i];
if (tneu < tneumin)
{
tneumin = tneu;
stern = i;
}
}
/* Prädiktor-Schritt */
/* Generieren neuer Positionen durch Extrapolation nach Adams-Bashforth */
/* Wie bisher für alle Körper, aber nun mit individuellen Zeitschritten dt */
for (i = 0;i < N;i ++)
{
/* Neue Zeitdifferenzen */
tauneu[i] = tneumin;
dtauneu0[i] = tauneu[i] - tau[0][i];
dtauneu1[i] = tauneu[i] - tau[1][i];
dtauneu2[i] = tauneu[i] - tau[2][i];
dtauneu3[i] = tauneu[i] - tau[3][i];
dtauneu4[i] = tauneu[i] - tau[4][i];
/* Beta-Terme */
beta10[i] = beta00 * dtauneu0[i] / dtau01[i];
beta20[i] = beta10[i] * dtauneu1[i] / dtau02[i];
beta30[i] = beta20[i] * dtauneu2[i] / dtau03[i];
beta40[i] = beta30[i] * dtauneu3[i] / dtau04[i];
/* g- und c-Terme */
g2[i] = g1 - c12 * dtauneu0[i] / dtauneu1[i];
c22[i] = c12 - c13 * dtauneu0[i] / dtauneu1[i];
g3[i] = g2[i] - c22[i] * dtauneu0[i] / dtauneu2[i];
c23[i] = c13 - c14 * dtauneu0[i] / dtauneu1[i];
c32[i] = c22[i] - c23[i] * dtauneu0[i] / dtauneu2[i];
g4[i] = g3[i] - c32[i] * dtauneu0[i] / dtauneu3[i];
/* Neue Positionen durch modifizierte Formel nach Adams-Bashforth */
for (k = 0;k < 3;k ++)
{
ABv[i][k] = g0 * beta00 * phi00v[i][k] +
g1 * beta10[i] * phi10v[i][k] +
g2[i] * beta20[i] * phi20v[i][k] +
g3[i] * beta30[i] * phi30v[i][k] +
g4[i] * beta40[i] * phi40v[i][k];
rneu[i][k] = r[i][k] + ABv[i][k] * dtauneu0[i];
}
}
/* Prädiktor-Schritt */
/* Generieren neuer Geschwindigkeiten durch Extrapolation nach Adams-Bashforth */
/* Nur für den Körper mit dem kleinsten neuen Zeitpunkt mit seinem Zeitschritt dt */
/* Keine zusätzlichen Koeffizienten-Berechnungen erforderlich */
for (k = 0;k < 3;k ++)
{
ABa[stern][k] = g0 * beta00 * phi00a[stern][k] +
g1 * beta10[stern] * phi10a[stern][k] +
g2[stern] * beta20[stern] * phi20a[stern][k] +
g3[stern] * beta30[stern] * phi30a[stern][k] +
g4[stern] * beta40[stern] * phi40a[stern][k];
vneu[stern][k] = v[0][stern][k] + ABa[stern][k] * dtauneu0[stern];
}
/* Korrektor-Schritt - nur einmal durchlaufen */
/* Beschleunigung an vorläufig neuen Positionen */
/* Verbesserung der neuen Positionen und Geschwindigkeiten durch Interpolation nach Adams-Moulton */
/* Jetzt nur für den Körper mit dem kleinsten neuen Zeitpunkt mit seinem Zeitschritt dt */
beschleunigung (stern,N,epsilon,m,rneu,aneu[stern]);
for (k = 0;k < 3;k ++)
{
/* Zusätzlich benötigte g- und c-Terme */
c24 = c14 - c15 * dtauneu0[stern] / dtauneu1[stern];
c33 = c23[stern] - c24 * dtauneu0[stern] / dtauneu2[stern];
c42 = c32[stern] - c33 * dtauneu0[stern] / dtauneu3[stern];
g5 = g4[stern] - c42 * dtauneu0[stern] / dtauneu4[stern];
/* Neue Phi-Terme für Geschwindigkeit */
phi0neuv[k] = vneu[stern][k];
phi1neuv[k] = phi0neuv[k] - beta00 * phi00v[stern][k];
phi2neuv[k] = phi1neuv[k] - beta10[stern] * phi10v[stern][k];
phi3neuv[k] = phi2neuv[k] - beta20[stern] * phi20v[stern][k];
phi4neuv[k] = phi3neuv[k] - beta30[stern] * phi30v[stern][k];
phi5neuv[k] = phi4neuv[k] - beta40[stern] * phi40v[stern][k];
/* Korrigierte Position durch modifizierte Formel nach Adams-Moulton */
AMv[k] = g5 * phi5neuv[k];
rneu[stern][k] = r[stern][k] + (ABv[stern][k] + AMv[k]) * dtauneu0[stern];
/* Neue Phi-Terme für Beschleunigung */
phi0neua[k] = aneu[stern][k];
phi1neua[k] = phi0neua[k] - beta00 * phi00a[stern][k];
phi2neua[k] = phi1neua[k] - beta10[stern] * phi10a[stern][k];
phi3neua[k] = phi2neua[k] - beta20[stern] * phi20a[stern][k];
phi4neua[k] = phi3neua[k] - beta30[stern] * phi30a[stern][k];
phi5neua[k] = phi4neua[k] - beta40[stern] * phi40a[stern][k];
/* Korrigierte Geschwindigkeit durch modifizierte Formel nach Adams-Moulton */
AMa[k] = g5 * phi5neua[k];
vneu[stern][k] = v[0][stern][k] + (ABa[stern][k] + AMa[k]) * dtauneu0[stern];
}
/* Aktualisierung des soeben simulierten Objekts */
ABMaktuell ();
/* Aktualisierung der verflossenen simulierten Zeit */
t = tneumin;
}
Die Runge-Kutta-Prozedur zur Initialisierung der Simulation unterscheidet sich in keiner Weise vom einfachen Mehrschrittverfahren mit konstanten Zeitschritten. Nach der Bestimmung der anfänglchen Geschwindigkeiten und Beschleunigungen müssen darüber hinaus lediglich die dazugehörigen dynamischen Zeitskalen der Massenpunkte berechnet werden. Die Prozedur wird daher hier nicht nochmals wiedergegeben.
Bei der Initialisierung der in die Lösungsformeln eingehenden Terme ist es entscheidend, die richtige Reihenfolge einzuhalten. Die -Terme für weiter zurückliegende Zeitpunkte bis werden nur an dieser Stelle benötigt. Die erste Ziffer im Variablennamen gibt abermals den Index an, die zweite Ziffer die Zeitreferenz.
void ABMinitial (void)
{
double phi01,phi11,phi21,phi31;
double phi02,phi12,phi22;
double phi03,phi13;
double phi04;
for (i = 0;i < N;i ++)
{
/* Zeitpunkte */
for (j = 0;j < 5;j ++)
tau[j][i] = (4 - j) * dt;
/* Zeitdifferenzen */
dtau01[i] = dt;
dtau02[i] = 2 * dt;
dtau03[i] = 3 * dt;
dtau04[i] = 4 * dt;
/* Phi-Terme */
for (k = 0;k < 3;k ++)
{
/* Für Geschwindigkeiten */
phi00v[i][k] = v[0][i][k];
phi01 = v[1][i][k];
phi10v[i][k] = phi00v[i][k] - phi01;
phi02 = v[2][i][k];
phi11 = phi01 - phi02;
phi20v[i][k] = phi10v[i][k] - phi11;
phi03 = v[3][i][k];
phi12 = phi02 - phi03;
phi21 = phi11 - phi12;
phi30v[i][k] = phi20v[i][k] - phi21;
phi04 = v[4][i][k];
phi13 = phi03 - phi04;
phi22 = phi12 - phi13;
phi31 = phi21 - phi22;
phi40v[i][k] = phi30v[i][k] - phi31;
/* Für Beschleunigungen */
phi00a[i][k] = a[0][i][k];
phi01 = a[1][i][k];
phi10a[i][k] = phi00a[i][k] - phi01;
phi02 = a[2][i][k];
phi11 = phi01 - phi02;
phi20a[i][k] = phi10a[i][k] - phi11;
phi03 = a[3][i][k];
phi12 = phi02 - phi03;
phi21 = phi11 - phi12;
phi30a[i][k] = phi20a[i][k] - phi21;
phi04 = a[4][i][k];
phi13 = phi03 - phi04;
phi22 = phi12 - phi13;
phi31 = phi21 - phi22;
phi40a[i][k] = phi30a[i][k] - phi31;
}
}
}
Nachdem ein Massenpunkt bewegt wurde, müssen sämtliche für diesen definierte Größen aktualisiert werden. Auch hier kommt es auf die genaue Reihenfolge an. Zunächst werden Position, Geschwindigkeit und Beschleunigung aktualisiert, dann folgen Zeitpunkte und Zeitdifferenzen. Endlich werden die abgearbeitet und ganz zuletzt die .
void ABMaktuell (void)
{
/* Positionen, Geschwindigkeiten und Beschleunigungen */
for (k = 0;k < 3;k ++)
{
r[stern][k] = rneu[stern][k];
v[0][stern][k] = vneu[stern][k];
a[0][stern][k] = aneu[stern][k];
}
/* Zeitpunkte und dynamische Zeitskalen */
for (j = 4;j > 0;j --)
tau[j][stern] = tau[j-1][stern];
tau[0][stern] = tauneu[stern];
tdyn[stern] = gamma * betrag (v[0][stern]) / betrag (a[0][stern]);
/* Zeitdifferenzen */
dtau01[stern] = dtauneu0[stern];
dtau02[stern] = dtauneu1[stern];
dtau03[stern] = dtauneu2[stern];
dtau04[stern] = dtauneu3[stern];
/* Phi-Terme */
for (k = 0;k < 3;k ++)
{
/* Für Geschwindigkeiten */
phi0neuv[k] = vneu[stern][k];
phi1neuv[k] = phi0neuv[k] - beta00 * phi00v[stern][k];
phi2neuv[k] = phi1neuv[k] - beta10[stern] * phi10v[stern][k];
phi3neuv[k] = phi2neuv[k] - beta20[stern] * phi20v[stern][k];
phi4neuv[k] = phi3neuv[k] - beta30[stern] * phi30v[stern][k];
phi00v[stern][k] = phi0neuv[k];
phi10v[stern][k] = phi1neuv[k];
phi20v[stern][k] = phi2neuv[k];
phi30v[stern][k] = phi3neuv[k];
phi40v[stern][k] = phi4neuv[k];
/* Für Beschleunigungen */
phi0neua[k] = aneu[stern][k];
phi1neua[k] = phi0neua[k] - beta00 * phi00a[stern][k];
phi2neua[k] = phi1neua[k] - beta10[stern] * phi10a[stern][k];
phi3neua[k] = phi2neua[k] - beta20[stern] * phi20a[stern][k];
phi4neua[k] = phi3neua[k] - beta30[stern] * phi30a[stern][k];
phi00a[stern][k] = phi0neua[k];
phi10a[stern][k] = phi1neua[k];
phi20a[stern][k] = phi2neua[k];
phi30a[stern][k] = phi3neua[k];
phi40a[stern][k] = phi4neua[k];
}
}
Hierarchische Algorithmen
BearbeitenIm Prinzip steht mit den bislang vorgestellten Verfahren und deren Verknüpfung mit dynamischen Zeitschritten das Rüstzeug für die Behandlung einer Vielzahl von Mehrkörpersystemen bereit. Wie im Folgenden gezeigt wird, fehlt es den Algorithmen in ihrer momentanen Form jedoch erheblich an Effizienz, so dass sie nur für Ensembles in der Größenordnung von einigen Hundert bis einigen Tausend Mitgliedern wie z.B. offenen Sternhaufen tauglich sind, nicht aber etwa für große Kugelhaufen oder gar Galaxien, wo für eine realistische Simulation die Zahl erforderlicher Massenpunkte in die Millionen gehen kann.
Der Schlüssel zur Reduktion des Rechenaufwands besteht in der Einführung einer hierarchischen Organisation sowohl in der Zeit als auch im Raum. Anstatt jedem Körper individuelle Zeitschritte zuzuweisen, definiert man auf Grundlage der aktuell kleinsten vorkommenden dynamischen Zeit einen minimalen Zeitschritt und leitet durch Multiplikation dieses Elementarschritts mit Zweierpotenzen größere Zeitskalen ab. Jedes Objekt bekommt dann je nach seiner momentanen dynamischen Zeit eine solche Skala zugewiesen. Stellt sich heraus, dass die gerade vorhandenen Skalen nicht mehr ausreichen (weil z.B. durch eine enge Begegnung zweier Massenpunkte deren dynamische Zeiten sehr klein werden), so wird durch Halbierung der momentan kleinsten Skala eine neue Zeitebene nach unten bzw. durch Verdoppelung der aktuell größten eine neue Ebene nach oben geschaffen.
Analog zum Vorgehen in der Zeit wird durch Unterteilung des Gesamtsystems in kleine Würfel eine minimale Raumeinheit definiert. Die Größe eines solchen Elementarwürfels ist dadurch festgelegt, dass ein solcher höchstens einen Körper enthalten darf. Durch Multiplikation der kleinsten Kantenlänge wiederum mit Zweierpotenzen werden größere Würfel definiert. Für jedes Objekt wird ermittelt, auf welcher Raumskala es in einem solchen Würfel allein ist. Durch Halbierung der derzeitigen elementaren Kantenlänge kann jederzeit nach Bedarf eine neue Raumebene nach unten, durch Verdoppelung der soeben größten eine neue Ebene nach oben geschaffen werden.
- Problematik des Rechenaufwands
- Zeitliche Hierarchie
- Räumliche Hierarchie
- Quasikontinuierliche Massenverteilung (für Fortgeschrittene)
Problematik des Rechenaufwands
BearbeitenDas entscheidende Maß für die Effizienz der Simulation eines Mehrkörperensembles ist die Anzahl der Rechenschritte, die in Abhängigkeit von der Anzahl dessen Mitglieder erforderlich sind. In dieser Hinsicht schneiden die bisher erarbeiteten Methoden leider unzureichend ab. Bei Verwendung individueller Zeitschritte müssen, um nur einen einzigen Massenpunkt zu bewegen, die Positionen (und je nach Verfahren auch die Geschwindigkeiten) aller Körper extrapoliert werden. Der Rechenaufwand für einen solchen Vorgang wächst linear mit . Um die Beschleunigung (und gegebenenfalls auch den Ruck) des gerade betrachteten Objekts an dessen extrapolierter Position zu berechnen, ist die Kenntnis der Abstände (und eventuell auch der Geschwindigkeitsdifferenzen) zu allen anderen Massenpunkten erforderlich. Erneut ist der Aufwand direkt proportional zu . Da alle Mitglieder gleichermaßen von diesen Zusammenhängen betroffen sind, gilt insgesamt eine Proportionalität zu , um die Simulation effektiv um einen Schritt weiter voranzubringen.
Das Ziel der nun vorgestellten Algorithmen besteht darin, stattdessen eine Abhängigkeit der Größenordnung zu erreichen, was durch eine hierarchische Organisation der Zeitschritte und der räumlichen Verteilung der Körper erreicht werden kann. Je mehr Mitglieder ein System enthält, umso dramatischer fällt der Unterschied zwischen einem Verfahren ohne und mit hierarchischer Struktur aus.
Für die Plejaden (2100 Sterne) liegt der Aufwand mit einem Standardalgorithmus bei 4410000, mit einem hierarchischen Verfahren dagegen bei , was einer Verbesserung um einen Faktor 632 entspricht. 47 Tucanae (1 Million Sterne) weist mit einem einfachen Verfahren einen Aufwand von 1 Billion, mit einem hierarchischen Algorithmus dagegen von 6000000 auf - eine Steigerung um etwa den Faktor 167000. Von den Plejaden hin zu 47 Tucanae wächst mit den bisherigen Methoden der Aufwand um einen Faktor 227000, mit einem hierarchischen Algorithmus dagegen nur um einen Faktor 860.
Die Frage der Rechenarbeit ist auch deshalb so drängend, weil nicht nur der Aufwand pro Zeitschritt mit wächst, sondern auch die für eine Simulation notwendige Anzahl an Schritten selbst. Wie bereits dargelegt, müssen mit zunehmendem bei festgehaltener Größe des Ensembles die Plummerradien und damit die minimalen dynamischen Zeiten immer kleiner gehalten werden. Für den Fall, dass auch lokale Besonderheiten berücksichtigt werden sollen, wurde eine Abhängigkeit der Form abgeleitet. Ohne eine Verbesserung der Effizienz würde der Aufwand für eine Simulation proportional zu ansteigen. Selbst mit einem hierarchischen Algorithmus liegt mit einem Aufwand proportional zu noch ein enormer Anstieg mit zunehmender Anzahl von Masssenpunkten vor.
Zeitliche Hierarchie
BearbeitenKonstruktion
BearbeitenWie soeben angedeutet, lassen sich die dynamischen Zeitskalen der Massenpunkte eines Mehrkörpersystems in eine hierarchische Struktur einordnen, indem man einen kleinsten elementaren Zeitschritt definiert und diesen sukzessive verdoppelt.
Um zu Beginn der Simulation festzulegen, muss man sich an der kleinsten anfänglich vorliegenden dynamischen Zeitskala orientieren. repräsentiert die Ebene 0, die niedrigste der Hierarchie. Durch Verdoppelung legt man die nächsthöhere Ebene 1 an, durch weitere Verdoppelung 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 auf, so wechselt dieses zur Ebene 0. Wird sogar ein gefunden, so ist die bisherige elementare Schrittweite nicht länger gültig. An ihrer Stelle muss ein neuer Elementarschritt 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 so festzulegen, dass mit einem Betrag von genau zwischen und 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 , 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 , , usw., nicht aber zu Zeitpunkten , 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 die auf der Ebene 1 gültige Schrittweite 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 . muss solange verdoppelt werden, bis die so erzeugte Zeitskala größer als die Hälfte von ist.
Wie die niedrigste ist auch die höchste Ebene dynamisch. Überschreitet für einen Massenpunkt 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
BearbeitenDie Steigerung der Effizienz des Prädiktor-Korrektor-Algorithmus beruht darauf, nicht mehr die individuellen Zeitschritte der einzelnen Massenpunkte zu verwenden, sondern diejenigen , , 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 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:
1) Jeder Körper hat zum gegenwärtigen Zeitpunkt einen Zeitschritt . Die Ebene muss so gewählt werden, dass der individuelle Zeitschritt zwischen und liegt. Man greife diejenigen Massenpunkte heraus, welche gemeinsam für 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 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 aller Massenpunkte an, um die zum Zeitpunkt gültigen Positionen zu ermitteln (türkise Kreise). Mit den Hermite-Polynomen als grundlegendes Verfahren bestimme man entsprechend auch die Geschwindigkeiten .
3) Aus den Positionen gewinne man wie üblich die dazugehörigen Beschleunigungen für die ausgewählten Körper, im Falle der Hermite-Polynome als fundamentale Lösungsformel aus den und auch die Rucks .
4) Wie gehabt verbessere man die Positionen der gerade untersuchten Massenpunkte mit Hilfe des Korrektors und anschließend deren Geschwindigkeiten . 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 zum Zeitpunkt . 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) [24] sowie Dehnen und Read (2011) [25]. 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
BearbeitenBeispiel
BearbeitenEine 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 erneut größer, wodurch der dritte Massenpunkt auf niedrigere Ebenen zurückkehrt. Da falls erforderlich stets um den gleichbleibenden Faktor 2 geändert wird, erscheinen diese Anpassungen in logarithmischer Darstellung als Schritte konstanter Größe.
C-Code: Hierarchische Zeitschritte mit Hermite-Polynome-Verfahren
Fast alle Variablen können dem Code für die Simulation mit individuellen Zeitschritten entnommen werden. Neu ist das eindimensionale Array ebene_zeit, welches die den dynamischen Zeiten tdyn entsprechenden Zeitebenen für jeden Massenpunkt angibt. Da andauernd Potenzen von 2 benötigt werden, werden diese mittels des Arrays potenz für die Werte von 20 bis 215 tabelliert (d.h. es werden maximal 15 Zeitebenen zugelassen). Das ebenfalls eindimensionale Array status_zeit schließlich zeigt für jeden Körper an, wann er zum letzten Mal bewegt wurde, damit die aktuell erforderliche zeitliche Schrittweite dt korrekt bestimmt werden kann.
tdynmin bezeichnet die kleinste im Ensemble vorkommende dynamische Zeitskala, dtmin den davon abgeleiteten elementaren Zeitschritt. Z zählt die im Verlauf der Simulation abgearbeiteten Zeitschritte ab. Ein Massenpunkt auf der Zeitebene muss dann bewegt werden, wenn Z durch teilbar ist. Ein Aufstieg zur nächsthöheren Ebene erfordert zwingend, dass Z durch teilbar ist.
Ändert sich der elementare Zeitschritt dtmin, muss Z entsprechend angepasst werden. Eine Halbierung von dtmin bedeutet eine Verdoppelung von Z und umgekehrt, wobei letzteres nur möglich ist, wenn Z gerade ist.
/* Globale Variablen */
unsigned int i,k;
unsigned int N;
double *m;
double ***r;
double ***v;
double ***a;
double ***j;
double s[3];
double c[3];
double *tdyn;
int *ebene_zeit;
unsigned int potenz[16];
double *status_zeit;
double t,dt,dt2,dt3,dt4,dt5;
double dtmin;
unsigned long Z;
double tdynmin;
double T;
double gamma;
double epsilon;
/* Initialisierung aller Massenpunkte aus Anfangspositionen und -geschwindigkeiten */
/* Beschleunigungen und Rucks */
/* Dynamische Zeitskalen */
tdynmin = T;
for (i = 0;i < N;i ++)
{
ruck (i,N,epsilon,m,r[0],v[0],a[0][i],j[0][i]);
tdyn[i] = gamma * betrag (a[0][i]) / betrag (j[0][i]);
if (tdyn[i] < tdynmin)
tdynmin = tdyn[i];
}
dtmin = tdynmin / 1.5;
/* Zeitebenen */
/* Zeitpunkte der letzten Bewegung */
for (i = 0;i < N;i ++)
{
k = 0;
while (pow (2,k+1) * dtmin < tdyn[i])
k ++;
if (k <= 14)
ebene_zeit[i] = k;
else
ebene_zeit[i] = 14;
status_zeit[i] = 0;
}
/* Tabelle der Zweier-Potenzen */
potenz[0] = 1;
for (i = 1;i <= 15;i ++)
potenz[i] = 2 * potenz[i-1];
t = 0;
Z = 1;
while (t < T)
{
/* Prädiktor-Schritt */
/* Wie bisher für alle Körper */
/* Zeitschritt = aktueller Zeitpunkt - Zeitpunkt der letzten Bewegung + elementarer Zeitschritt */
for (i = 0;i < N;i ++)
{
dt = t - status_zeit[i] + dtmin;
dt2 = pow (dt,2);
dt3 = pow (dt,3);
for (k = 0;k < 3;k ++)
{
r[1][i][k] = r[0][i][k] + v[0][i][k] * dt + a[0][i][k] * dt2 / 2 + j[0][i][k] * dt3 / 6;
v[1][i][k] = v[0][i][k] + a[0][i][k] * dt + j[0][i][k] * dt2 / 2;
}
}
/* Korrektor-Schritt */
/* Für alle Massenpunkte, für deren Zeitebene n gilt */
/* Anzahl bisher erfolgter Simulationsschritte durch 2^n teilbar */
/* Beschleunigungen und Rucks an vorläufig neuen Positionen */
/* Verbesserung der neuen Positionen und Geschwindigkeiten durch Einsetzen in die Lösungsformeln */
/* Zeitschritt = aktueller Zeitpunkt - Zeitpunkt der letzten Bewegung + elementarer Zeitschritt */
for (i = 0;i < N;i ++)
{
if (Z % potenz[ebene_zeit[i]] == 0)
ruck (i,N,epsilon,m,r[1],v[1],a[1][i],j[1][i]);
}
for (i = 0;i < N;i ++)
{
if (Z % potenz[ebene_zeit[i]] == 0)
{
dt = t - status_zeit[i] + dtmin;
dt2 = pow (dt,2);
dt3 = pow (dt,3);
dt4 = pow (dt,4);
dt5 = pow (dt,5);
for (k = 0;k < 3;k ++)
{
s[k] = (- 6 * (a[0][i][k] - a[1][i][k]) - (4 * j[0][i][k] + 2 * j[1][i][k]) * dt) / dt2;
c[k] = (12 * (a[0][i][k] - a[1][i][k]) + 6 * (j[0][i][k] + j[1][i][k]) * dt) / dt3;
r[1][i][k] += s[k] * dt4 / 24 + c[k] * dt5 / 120;
v[1][i][k] += s[k] * dt3 / 6 + c[k] * dt4 / 24;
}
}
}
/* Aktualisierung der soeben simulierten Objekte */
tdynmin = T;
for (i = 0;i < N;i ++)
{
if (Z % potenz[ebene_zeit[i]] == 0)
{
/* Verbesserte Positionen und Geschwindigkeiten */
/* Beschleunigungen und Rucks */
for (k = 0;k < 3;k ++)
{
r[0][i][k] = r[1][i][k];
v[0][i][k] = v[1][i][k];
a[0][i][k] = a[1][i][k];
j[0][i][k] = j[1][i][k];
}
/* Dynamische Zeitskalen */
/* Zeitpunkte der letzten Bewegung */
tdyn[i] = gamma * betrag (a[0][i]) / betrag (j[0][i]);
if (tdyn[i] < tdynmin)
tdynmin = tdyn[i];
status_zeit[i] = t + dtmin;
/* Abstieg um 1 Ebene falls neue dynamische Zeitskala < 2^n elementare Zeitschritte */
/* Zu jedem Zeitpunkt möglich */
/* Körper auf bisheriger Ebene 0 vorläufig nun auf Ebene -1 */
if (tdyn[i] < potenz[ebene_zeit[i]] * dtmin)
ebene_zeit[i] --;
/* Aufstieg um 1 Ebene falls neue dynamische Zeitskala > 2^(n+1) elementare Zeitschritte */
/* Nur möglich, wenn Anzahl bisher erfolgter Simulationsschritte durch 2^(n+1) teilbar */
if (tdyn[i] > potenz[ebene_zeit[i]+1] * dtmin && Z % potenz[ebene_zeit[i]+1] == 0 && ebene_zeit[i] < 14)
ebene_zeit[i] ++;
}
}
/* Falls kleinste neue dynamische Zeitskala < elementarer Zeitschritt */
/* Halbierung des elementaren Zeitschritts */
/* Verdoppelung der Anzahl bisher erfolgter Simulationsschritte */
/* Aufstieg aller Massenpunkte um 1 Zeitebene */
/* Damit Körper auf vorläufiger Ebene -1 wieder auf Ebene 0 */
if (tdynmin < dtmin)
{
dtmin /= 2;
Z *= 2;
for (i = 0;i < N;i ++)
{
if (ebene_zeit[i] < 14)
ebene_zeit[i] ++;
}
}
/* Falls kleinste neue dynamische Zeitskala > 2 * elementarer Zeitschritt */
/* Verdoppelung des elementaren Zeitschritts */
/* Halbierung der Anzahl bisher erfolgter Simulationsschritte (möglich wenn durch 2 teilbar) */
/* Abstieg aller Massenpunkte um 1 Zeitebene */
if (tdynmin > 2 * dtmin && Z % 2 == 0)
{
dtmin *= 2;
Z /= 2;
for (i = 0;i < N;i ++)
ebene_zeit[i] --;
}
t += dtmin;
Z ++;
}
C-Code: Hierarchische Zeitschritte mit Leapfrog-Verfahren
Der Code für die Leapfrog-Methode bleibt mit demjenigen für die Hermite-Polynome weitgehend identisch, da abermals nur andere Berechnungsvorschriften für Positionen und Geschwindigkeiten gebraucht werden. Die Zuordnung einzelner Massenpunkte zu Zeitebenen geschieht ebenso auf gleiche Weise, jedoch dient als Kriterium erneut das Verhältnis anstelle von . Die Korrektor-Formeln werden weiterhin als Iteration drei Mal hintereinander ausgewertet.
/* Globale Variablen */
unsigned int i,k;
unsigned int N;
double *m;
double ***r;
double ***v;
double ***a;
double *tdyn;
int *ebene_zeit;
unsigned int potenz[16];
double *status_zeit;
double t,dt,dt2;
double dtmin;
unsigned long Z;
double tdynmin;
double T;
double gamma;
double epsilon;
/* Initialisierung aller Massenpunkte aus Anfangspositionen und -geschwindigkeiten */
/* Beschleunigungen */
/* Dynamische Zeitskalen */
tdynmin = T;
for (i = 0;i < N;i ++)
{
beschleunigung (i,N,epsilon,m,r[0],a[0][i]);
tdyn[i] = gamma * betrag (v[0][i]) / betrag (a[0][i]);
if (tdyn[i] < tdynmin)
tdynmin = tdyn[i];
}
dtmin = tdynmin / 1.5;
/* Zeitebenen */
/* Zeitpunkte der letzten Bewegung */
for (i = 0;i < N;i ++)
{
k = 0;
while (pow (2,k+1) * dtmin < tdyn[i])
k ++;
if (k <= 14)
ebene_zeit[i] = k;
else
ebene_zeit[i] = 14;
status_zeit[i] = 0;
}
/* Tabelle der Zweier-Potenzen */
potenz[0] = 1;
for (i = 1;i <= 15;i ++)
potenz[i] = 2 * potenz[i-1];
t = 0;
Z = 1;
while (t < T)
{
/* Prädiktor-Schritt */
/* Für Positionen wie bisher für alle Körper */
/* Für Geschwindigkeiten nur für die Körper mit dem gemeinsamen kleinsten neuen Zeitpunkt */
/* Zeitschritt = aktueller Zeitpunkt - Zeitpunkt der letzten Bewegung + elementarer Zeitschritt */
for (i = 0;i < N;i ++)
{
dt = t - status_zeit[i] + dtmin;
dt2 = pow (dt,2);
for (k = 0;k < 3;k ++)
{
r[1][i][k] = r[0][i][k] + v[0][i][k] * dt + a[0][i][k] * dt2 / 2;
if (Z % potenz[ebene_zeit[i]] == 0)
v[1][i][k] = v[0][i][k] + a[0][i][k] * dt + j[0][i][k] * dt2 / 2;
}
}
/* Korrektor-Schritt */
/* Für alle Massenpunkte, für deren Zeitebene n gilt */
/* Anzahl bisher erfolgter Simulationsschritte durch 2^n teilbar */
/* Beschleunigungen an vorläufig neuen Positionen */
/* Verbesserung der neuen Positionen und Geschwindigkeiten durch Einsetzen in die Lösungsformeln */
/* Zeitschritt = aktueller Zeitpunkt - Zeitpunkt der letzten Bewegung + elementarer Zeitschritt */
for (z < 0;z < 3;z ++)
{
for (i = 0;i < N;i ++)
{
if (Z % potenz[ebene_zeit[i]] == 0)
beschleunigung (i,N,epsilon,m,r[1],a[1][i]);
}
for (i = 0;i < N;i ++)
{
if (Z % potenz[ebene_zeit[i]] == 0)
{
dt = t - status_zeit[i] + dtmin;
for (k = 0;k < 3;k ++)
{
r[1][i][k] = r[0][i][k] + (v[0][i][k] + v[1][i][k]) * dt / 2;
v[1][i][k] = v[0][i][k] + (a[0][i][k] + a[1][i][k]) * dt / 2;
}
}
}
}
/* Aktualisierung der soeben simulierten Objekte */
tdynmin = T;
for (i = 0;i < N;i ++)
{
if (Z % potenz[ebene_zeit[i]] == 0)
{
/* Verbesserte Positionen und Geschwindigkeiten */
/* Beschleunigungen */
for (k = 0;k < 3;k ++)
{
r[0][i][k] = r[1][i][k];
v[0][i][k] = v[1][i][k];
a[0][i][k] = a[1][i][k];
}
/* Dynamische Zeitskalen */
/* Zeitpunkte der letzten Bewegung */
tdyn[i] = gamma * betrag (v[0][i]) / betrag (a[0][i]);
if (tdyn[i] < tdynmin)
tdynmin = tdyn[i];
status_zeit[i] = t + dtmin;
/* Abstieg um 1 Ebene falls neue dynamische Zeitskala < 2^n elementare Zeitschritte */
/* Zu jedem Zeitpunkt möglich */
/* Körper auf bisheriger Ebene 0 vorläufig nun auf Ebene -1 */
if (tdyn[i] < potenz[ebene_zeit[i]] * dtmin)
ebene_zeit[i] --;
/* Aufstieg um 1 Ebene falls neue dynamische Zeitskala > 2^(n+1) elementare Zeitschritte */
/* Nur möglich, wenn Anzahl bisher erfolgter Simulationsschritte durch 2^(n+1) teilbar */
if (tdyn[i] > potenz[ebene_zeit[i]+1] * dtmin && Z % potenz[ebene_zeit[i]+1] == 0 && ebene_zeit[i] < 14)
ebene_zeit[i] ++;
}
}
/* Falls kleinste neue dynamische Zeitskala < elementarer Zeitschritt */
/* Halbierung des elementaren Zeitschritts */
/* Verdoppelung der Anzahl bisher erfolgter Simulationsschritte */
/* Aufstieg aller Massenpunkte um 1 Zeitebene */
/* Damit Körper auf vorläufiger Ebene -1 wieder auf Ebene 0 */
if (tdynmin < dtmin)
{
dtmin /= 2;
Z *= 2;
for (i = 0;i < N;i ++)
{
if (ebene_zeit[i] < 14)
ebene_zeit[i] ++;
}
}
/* Falls kleinste neue dynamische Zeitskala > 2 * elementarer Zeitschritt */
/* Verdoppelung des elementaren Zeitschritts */
/* Halbierung der Anzahl bisher erfolgter Simulationsschritte (möglich wenn durch 2 teilbar) */
/* Abstieg aller Massenpunkte um 1 Zeitebene */
if (tdynmin > 2 * dtmin && Z % 2 == 0)
{
dtmin *= 2;
Z /= 2;
for (i = 0;i < N;i ++)
ebene_zeit[i] --;
}
t += dtmin;
Z ++;
}
Räumliche Hierarchie
BearbeitenIdee
BearbeitenUm die in einem Mehrkörpersystem herrschenden Kräfte exakt zu bestimmen, muss man wie schon mehrfach erwähnt sämtliche Massenpaare individuell betrachten, wodurch der Rechenaufwand quadratisch mit der Anzahl der Mitglieder wächst. Dieser rapide Anstieg wird jedoch vermieden, wenn man stattdessen nur die in der näheren Umgebung eines Körpers sich befindlichen Nachbarn exakt behandelt, weiter entfernte Massenpunkte hingegen zu Gruppen zusammenfasst und anstelle der Einzelobjekte nur noch die Schwerpunkte dieser Cluster zur Kräfteberechnung heranzieht. Je weiter eine solche Gruppe entfernt ist, umso größer darf deren räumliche Ausdehnung sein, ohne die von ihr ausgehende Gravitation zu ungenau abzuschätzen. Auf Grundlage dieser Idee lässt sich ein Algorithmus entwickeln, dessen Rechenaufwand in der gewünschten Größenordnung liegt.
Um Gruppen von Massenpunkten zu definieren, die je nach Entfernung unterschiedlich groß gehalten werden können, wird gemäß dem Verfahren von Barnes und Hut (1986) [26] das Ensemble in Würfel (Oktanten) verschiedener Kantenlänge eingeteilt, wobei nun unterschiedliche Raumebenen darstellt. Im Gegensatz zur Konstruktion der Zeithierarchie startet man jetzt nicht auf der niedrigsten, sondern der höchsten Ebene (welche nun aber umgekehrt durch gekennzeichnet ist und nicht durch den höchsten vorkommenden Wert von ). Um das System auf der obersten Ebene mit 8 Würfeln der Kantenlänge sicher zu überdecken, muss sich nach dem Abstand des fernsten Körpers vom Gesamtschwerpunkt des Ensembles richten.
Für jeden dieser Würfel wird die Anzahl der darin sich befindlichen Objekte ermittelt. Ist mehr als ein solches in einem Oktanten vorhanden, wird dieser in 8 kleinere Würfel der Größe unterteilt, es tritt die Raumebene hinzu. Im nächsten Schritt werden diese kleineren Kuben überprüft. Findet sich in einem solchen trotz der kleineren Kantenlänge erneut mehr als ein Massenpunkt, erfolgt für diesen eine neuerliche Aufteilung in noch kleinere Würfel mit einer Ausdehnung von nunmehr entsprechend der Ebene . Dieses Verfahren wird solange fortgesetzt, bis in jedem Oktanten nur noch ein Körper anzutreffen ist.
Rücken im Verlauf einer Simulation Massenpunkte eng zusammen, so werden dort u.U. sehr kleine Würfel benötigt, um auf ein Objekt pro solchem zu kommen, d.h. eventuell müssen gleich mehrere Raumebenen angelegt werden. Entfernen sie sich wieder voneinander, sind solch kleine Oktanten und entsprechend tiefe Ebenen nicht mehr erforderlich.
Zwischen Raum- und Zeithierarchie besteht ein fundamentaler Unterschied. Bei letzterer genügt es, die Zeitebenen und die dazugehörigen dynamischen Zeitschritte der einzelnen Körper zu kennen. Hingegen ist für die räumliche Hierarchie die Kenntnis allein der Ebenen und der Dazugehörigkeiten der Massenpunkte zu den entsprechenden Würfeln unzureichend. Wie nachfolgend diskutiert wird, müssen für jeden belegten Kubus auch die Positionen und sofern die Simulation auf dem Hermite-Polynome-Verfahren beruht, auch die Geschwindigkeiten ihrer Schwerpunkte bekannt sein, welche sich mit jedem Simulationsschritt ändern.
Nach jeder Ausführung des Prädiktors muss daher die Raumhierarchie aktualisiert werden. Zunächst überprüft man, ob durch den Prädiktor zumindest ein Massenpunkt bezogen auf die niedrigste Raumebene in einen anderen Würfel überwechselt. Ist das nicht der Fall, können die momentan definierten Oktanten beibehalten werden, nur die Positionen und gegebenenfalls die Geschwindigkeiten ihrer Schwerpunkte müssen neu berechnet werden. Ansonsten muss das hierarchische Gitter selbst neu aufgebaut werden.
Prozeduren im Würfelgitter
BearbeitenEinordnung der Massenpunkte
BearbeitenDie Einstufung der Massenpunkte in die Raumhierarchie ist viel anspruchsvoller als deren Zuordnung zur Zeithierarchie. Bei letzterer genügt es, für jeden Körper nur die Zeitebene vorzuhalten, auf welcher er sich tatsächlich befindet. Im Falle der Raumhierarchie jedoch muss für jedes Objekt nicht nur die Lage bezüglich der tatsächlichen, sondern auch aller darüber liegenden Ebenen bekannt sein. Befindet sich nämlich ein Körper nahe an einem Massenpunkt, dessen Beschleunigung bestimmt werden soll, muss jener als Einzelobjekt oder bestenfalls als zu einer Gruppe geringer Ausdehnung (die schon mit einem kleinen Würfel überdeckt werden kann) zugehörig betrachtet werden. Ist der gleiche Körper weit von einem anderen Massenpunkt entfernt, darf er von diesem aus gesehen als Mitglied eines weiträumigen Clusters (der nur von einem großen Oktanten abgedeckt wird) aufgefasst werden. Betrachtet man in obiger Abbildung z.B. den Massenpunkt oben rechts, so ist dessen nächster Nachbar als Einzelobjekt zu behandeln. Aus der Sicht des Massenpunktes unten links dürfen die beiden Körper oben rechts hingegen zu einer Gruppe zusammengefasst werden. Je nach Perspektive ist ein Objekt somit unterschiedlichen Raumebenen zugehörig.
Die Lage eines Massenpunktes in der Raumhierarchie kann durch ganzzahlige kartesische Koordinaten angegeben werden. Auf der höchsten Ebene sind nur 2*2*2 Würfel vorhanden, die möglichen Werte pro Koordinate also 0 oder 1. Auf der nächsten Ebene existieren 4*4*4 Kuben, so dass sich der mögliche Wertebereich von 0 bis 3 erstreckt. Allgemein weist eine Ebene Oktanten auf, so dass jede Koordinate Werte von 0 bis annehmen kann. In obigem zweidimensionalen Beispiel hat der Massenpunkt rechts oben auf der Ebene 0 die Position (1,1), auf der Ebene 1 die Lage (3,2) und auf seiner niedrigsten Ebene 2 die Koordinaten (7,5).
Die Einordnung der Massenpunkte in das Würfelgitter beruht auf folgenden Algorithmus, für welchen zunächst nur die Struktur erläutert wird. Der dazugehörige C-Code wird im letzten Abschnitt dieses Unterkapitels angegeben.
Start auf höchster Ebene e = 0
while (zumindest zwei Massenpunkte im gleichen Würfel)
{
Berechnung der Positionen aller Körper i im Würfelgitter bezüglich der aktuell betrachteten Ebene e
for (i = 0;i < N;i ++)
{
if (Ebene des Körpers i = aktuell betrachtete Ebene e)
{
Neuer Würfel für Körper i
for (j = i + 1;j < N;j ++)
{
if (Körper j im gleichen Würfel wie Körper i)
{
Aufnahme des Körpers j in den Würfel von Körper i
Verschieben beider Körper i und j auf die nächsttiefere Ebene
}
}
}
}
if (zumindest ein Paar i,j mit gemeinsamem Würfel auf aktuell betrachteter Ebene gefunden)
Analyse auf nächsttieferer Ebene
e++
}
Zu Beginn auf der obersten Ebene, wird für den ersten Massenpunkt sogleich ein Würfel der Kantenlänge angelegt. Die Positionen aller anderen Objekte auf der aktuell untersuchten Ebene werden mit derjenigen des Körpers verglichen. Bei gleicher Position (d.h. Zugehörigkeit zum gleichen Oktanten wie Massenpunkt ) wird zum Kubus von hinzugefügt, gleichzeitig beide Körper und der nächsttieferen Ebene zugeordnet. Solche Objekte werden von der laufenden -Schleife nicht mehr bearbeitet, da diese nur Massenpunkte berücksichtigt, welche der aktuell analysierten Ebene angehören. Dies bedeutet aber, dass nicht alle möglichen Paare geprüft werden müssen, um die Mitglieder des Ensembles in die Raumhierarchie einzuordnen.
Bleibt ein Körper in seinem Würfel allein, wird er nicht auf die nächsttiefere Ebene geschoben. Geht der Algorithmus zur nächsten Ebene über, so wird ein solches Einzelobjekt nicht mehr von der -Schleife beachtet, da es im Vergleich zur aktuellen Ebene um eine Stufe zurückgeblieben ist. Hingegen erfasst der Algorithmus nun solche Massenpunkte, welche auf der Ebene zuvor von der -Schleife um eine Stufe nach unten versetzt wurden.
Auf jeder Ebene werden für alle belegten Würfel laufende Nummer, Masse, die Position und eventuell auch die Geschwindigkeit des Schwerpunkts festgehalten, zudem auch die laufende Nummer des jeweils übergeordneten Würfels auf der nächsthöheren Ebene. Um die Schwerpunkte der Oktanten schnell neu berechnen zu können, wird für jeden auch eine Liste mit den Nummern der enthaltenen Massenpunkte angelegt.
Bestimmung von Beschleunigung und Ruck
BearbeitenUm die auf einen Körper ausgeübte Beschleunigung und für das Hermite-Polynome-Verfahren auch den Ruck zu ermitteln, werden jetzt nur die Massenpunkte in dessen unmittelbarer Umgebung als Einzelobjekte betrachtet. Von einer gewissen Entfernung an werden alle in einem Würfel sich befindlichen Objekte kollektiv behandelt, indem die Gesamtmasse des Oktanten sowie die Position und gegebenenfalls auch die Geschwindigkeit dessen Schwerpunkts zur Berechnung herangezogen werden anstatt die entsprechenden Größen der individuellen Mitglieder. Diese Näherung ist zulässig, sofern die Kantenlänge eines solchen Würfels nicht zu groß ist im Vergleich zu seiner Entfernung von dem soeben untersuchten Körper, d.h. das Verhältnis zwischen den beiden Längenskalen einen gewissen Wert nicht überschreitet:
Je kleiner dieser Schwellwert gesetzt wird, umso genauer werden die Kräfte zwischen den Mitgliedern eines Mehrkörpersystems bestimmt, umso größer ist jedoch auch der Rechenaufwand. Der hierarchische Algorithmus greift dann erst auf recht tiefer Ebene, da ein im Vergleich zur Kantenlänge eines Kubus erheblicher Abstand desselben verlangt wird. Als Folge davon werden weiterhin viele in der Umgebung eines Körpers sich befindliche Massenpunkte individuell betrachtet, und selbst zu größeren Entfernungen hin zumeist nur kleine Würfel, die lediglich wenige Objekte zu einer Gruppe zusammenfassen. Mit = 0 wird auf eine Gruppenbildung komplett verzichtet.
Umgekehrt bedeutet ein großer Schwellwert, dass nur noch wenige Massenpunkte in der unmittelbaren Umgebung eines Körpers einzeln behandelt werden. Mit zunehmendem Abstand geht das Verfahren zügig zu Würfeln großer Kantenlänge über, die viele Objekte enthalten können. Die nun sehr effiziente Gruppenbildung und damit kürzere Rechenzeit ist jedoch mit einem größeren Fehler bei der Berechnung der Kräfte im Ensemble erkauft.
Gemäß Barnes und Hut (1986) [26] sollte maximal auf 1 gesetzt werden. Den Autoren zufolge werden dann die auf die einzelnen Mitglieder eines Mehrkörpersystems einwirkenden Kräfte mit einer relativen Genauigkeit von 1% bestimmt.
Das Vorgehen bei der Berechnung der auf einen Körper einwirkenden Beschleunigung und des Rucks wird wie der Algorithmus zur Einordnung der Massenpunkte in die räumliche Hierarchie zunächst rein qualitativ vorgestellt.
for (e = 0;e < Anzahl der Ebenen;e ++)
{
for (o = 0;o < Anzahl der belegten Oktanten auf Ebene e;o ++)
{
if (übergeordneter Oktant bereits abgearbeitet)
dann auch aktueller Oktant abgearbeitet
else
{
Betrachte Abstand r zwischen aktuellem Oktant und Körper i
if (Kantenlänge (a / 2^e) / r < alpha oder Oktant enthält nur 1 Massenpunkt)
{
Bestimme Beschleunigung und Ruck, welche der aktuelle Oktant auf Körper i ausübt
aktueller Oktant abgearbeitet
}
}
}
}
Aus der Sicht eines Körpers werden beginnend mit der höchsten Ebene die gesamte Hierarchie und innerhalb jeder Ebene alle belegten Würfel abgearbeitet. Zuerst wird für den gerade betrachteten Oktanten geprüft, ob der darüber liegende bereits in die Berechnung eingegangen ist. In diesem Fall kann der aktuelle Kubus einfach übergangen und sogleich als abgearbeitet gekennzeichnet werden. Ansonsten wird der Abstand zwischen dessen Schwerpunkt und dem Körper ermittelt. Ist im Vergleich zur Kantenlänge des Würfels groß genug, so werden alle darin vorhandenen Massenpunkte wie soeben beschrieben als Kollektiv behandelt und dieser wiederum als abgearbeitet markiert. Kann der Oktant wegen einer im Vergleich zu zu großen Kantenlänge nicht abgearbeitet werden, erfasst der Algorithmus auf der nächsttieferen Ebene dessen Teilwürfel. Enthält ein Kubus nur 1 Massenpunkt, kann er natürlich unabhängig von seiner Größe und Entfernung berücksichtigt werden. Auf diese Weise werden auch diejenigen Objekte einbezogen, welche sich nicht zu Gruppen zusammenfassen lassen, weil sie sich entweder in der unmittelbaren Umgebung des Körpers oder in Bereichen geringer Dichte aufhalten.
Die Aussagen von Barnes und Hut (1986) [26] über die Genauigkeit ihres Verfahrens gelten nur im Mittel. Im Einzelfall hängt der durch die Gruppenbildung bewirkte Fehler stark von der Verteilung der Massenpunkte in einem Würfel ab. Als Beispiele seien die in folgender Skizze dargestellten Fälle diskutiert, in denen jeweils drei Massenpunkte der Masse durch ihren Schwerpunkt ersetzt werden.
Im ersten Fall stehen diese hintereinander und üben die Beschleunigungen , und auf. Mit lauten diese , und . Ersetzt man die Körper durch ihren Schwerpunkt, so ergibt sich die genäherte Beschleunigung . Vergleicht man den exakten Wert mit der Näherung , so gilt folgendes Verhältnis:
Im zweiten Fall sind die Massenpunkte nebeneinander postiert. Die Beschleunigungen sind nun , und wiederum bzw. , und nochmals . Der Vergleich mit der Näherung liefert nun:
Stehen die Massenpunkte hintereinander, so wird durch eine Gruppenbildung die von diesen ausgeübte Beschleunigung mit einer im Vergleich zur Entfernung zunehmenden Größe des Würfels weit unterschätzt. Mit = 0.5 liegt der relative Fehler bei knapp 20%, mit = 1 aber schon bei etwa 80%. Die Ursache für diese erhebliche Abweichung liegt in der -Abhängigkeit der Gravitation. Liegt der Schwerpunkt eines Oktanten weiter entfernt als ein individueller Massenpunkt, so wird mit der Gruppenbildung die vom einzelnen Körper ausgehende Kraft unterschätzt. Liegt der Schwerpunkt näher als ein Einzelobjekt, so verhält es sich umgekehrt. Die -Abhängigkeit sorgt jedoch dafür, dass der Fehler im ersten Fall deutlich schwerer wiegt als im letzteren.
Liegen die Massenpunkte nebeneinander, so verhält sich das Verfahren wesentlich stabiler. Mit = 0.5 und 1 finden sich nun relative Fehler von einigen % und etwas mehr als 10%. Mit einer Gruppenbildung wird die ausgeübte Beschleunigung leicht überschätzt, da die Entfernung zum Schwerpunkt etwas geringer ist als zu den Mittelpunkten der seitlichen Flächen des Würfels.
Gemäß den hier erörterten Beispielen scheint der Fehler des Barnes-Hut-Algorithmus deutlich höher zu liegen als von den Autoren ursprünglich selbst genannt. In einer weiteren Arbeit aus dem Jahr 1989 [27] geben diese in der Tat an, dass bei einer geringen Anzahl von Massenpunkten pro Würfel (weniger als 10) mit einem relativen Fehler der Kraft von bis zu 10% gerechnet werden muss. Für die Genauigkeit des Verfahrens ist nicht allein entscheidend, sondern auch die Zahl der Objekte pro Würfel. Je größer diese ist, umso geringer ist der durch Inhomogenitäten bewirkte Fehler bei der Kräfteberechnung. Vor allem im dichten Zentralbereich eines Mehrkörpersystems sind somit zuverlässige Ergebnisse zu erwarten. Man kann zudem davon ausgehen, dass die dort sich befindlichen Massenpunkte von allen Seiten von Würfeln mit relativ vielen Einzelkörpern umgeben sind und sich die pro Oktant eingeführten Fehler so in erheblichem Maße gegenseitig aufheben. Finden sich mehr als 1000 Massenpunkte pro Würfel, ist selbst mit einem von 1 ein relativer Fehler der Kraft von nur einigen 0.1% gegeben.
Wird die Anziehungskraft gemäß der Methode von Aarseth geglättet, wirkt sich dies zusätzlich stabilisierend auf den Barnes-Hut-Algorithmus aus. Dessen relativer Fehler hängt jetzt auch davon ab, wie weit ein Oktant im Vergleich zum Plummerradius entfernt ist, also vom Verhältnis . Betrachtet man obiges Beispiel abermals für den ungünstigsten Fall hintereinander stehender Massenpunkte, so gilt:
Beträgt der Abstand des Oktanten das doppelte des Plummerradius, so tritt bei einem von 0.5 ein relativer Fehler von nur noch circa 3% Prozent in Erscheinung. Wird ein gleich 1 zugelassen, steigt bei unveränderter Glättung der Gravitation die Abweichung auf immerhin noch etwa 15%. Ist der Distanz des Würfels gleich, so liegen die entsprechenden relativen Fehler nur noch bei circa 2% und 10%. Zudem kehrt der durch die Gruppenbildung begangene Fehler bei der Kräfteberechnung jetzt seine Richtung um: Diese liefert jetzt größere Beschleunigungen als die exakte Betrachtung, da für Abstände kleiner als der Plummerradius Aarseth's Glättungsformel eine um so geringere Kraft liefert, je geringer die Entfernung zwischen zwei Massenpunkten ist. Gerade dann, wenn eine stark inhomogene Verteilung von Massenpunkten gleichzeitig von sehr kleinen Abständen zwischen einzelnen Körpern (d.h. in der Größenordnung des Plummerradius) begleitet wird, erweist sich für ein geglättetes Gravitationsgesetz das Barnes-Hut-Verfahren also als recht stabil.
Insgesamt wird die Genauigkeit einer Mehrkörpersimulation mittels hierarchischer Kräfteberechnung zumeist von deren Fehlern dominiert und nicht von der Wahl der Lösungsformel für die sukzessive Berechnung von zurückgelegten Strecken und Geschwindigkeiten. Auch dies rechtfertigt, das nominell ungenauere Leapfrog-Verfahren den Hermite-Polynomen vorzuziehen.
Abschließend sei als praktisches Beispiel ein weiteres Mal das schon wiederholt besprochene Drei-Körper-System herangezogen. Der Parameter wird auf 0.1 gesetzt, d.h. aus der Sicht eines Massenpunktes die beiden übrigen Objekte erst dann zu einer Gruppe zusammengefasst, wenn der überdeckende Würfel mindestens 10 Mal kleiner ist als dessen Entfernung. Obwohl damit bei der Berechnung der von einem solchen Paar ausgehenden Gesamtkraft lediglich ein geringer Fehler in der Größenordnung von zumeist nur 0.1% begangen wird, sind die Auswirkungen der Näherung bereits drastisch. Die originalen und die genäherten Bahnen weichen im Laufe der Zeit immer mehr voneinander ab, bis schließlich jede Ähnlichkeit verschwunden ist. Für die Bearbeitung von Problemen, wo es auf eine möglichst exakte Vorhersage der einzelnen Orbits ankommt (z.B. der Frage nach der Langzeitstabilität der Planetenbahnen), ist der Barnes-Hut-Algorithmus also völlig ungeeignet. Erfolgreich kann er dagegen bei aus sehr vielen Einzelobjekten bestehenden Systemen eingesetzt werden, wo die genaue individuelle Bahn eines Körpers in der Regel nicht von Bedeutung ist. Bei Kugelsternhaufen oder Galaxien beispielsweise ist es meist ausreichend, wenn großräumige Eigenschaften wie z.B. die Verteilung der Dichte oder die Häufigkeit von Geschwindigkeiten richtig modelliert werden. Welche Auswirkungen hierbei unterschiedliche Einstellungen von haben, wird im Praxiskapitel gezeigt.
Aktualisierung der Raumhierarchie
BearbeitenNach jeder Anwendung des Prädiktors muss die Raumhierarchie aktualisiert werden. Da die Massenpunkte durch eine einmalige Anwendung der Prognoseformel nur kurze Strecken zurücklegen, bleiben diese selbst auf der niedrigsten Raumebene oft allesamt in ihren aktuellen Würfeln. Für viele Simulationsschritte genügt es somit, die Schwerpunkte der momentan definierten Oktanten neu zu bestimmen. Dazu dient das folgende Verfahren, dessen Code wiederum im letzten Abschnitt dieses Unterkapitels gegeben wird.
for (e = Anzahl der Ebenen - 1;e > 0;e --)
{
for (o = 0;o < Anzahl der belegten Oktanten auf Ebene e;o ++)
{
Summiere für Schwerpunktberechnung über alle im aktuellen Oktanten vorhandenen Massenpunkte i
sofern diese nicht schon abgearbeitet sind
Markiere jeden vorhandenen Massenpunkt i als abgearbeitet
}
if (e > 0)
{
for (o = 0;o < Anzahl der belegten Oktenten auf Ebene e;o ++)
{
Betrachte die soeben aktualisierten Oktanten auf Ebene e selbst als Massenpunkte
Addiere sie zu ihren übergeordneten Oktanten auf Ebene e - 1 hinzu
}
}
}
Die Neuberechnung der Würfelschwerpunkte startet im Gegensatz zu den bisher vorgestellten Algorithmen auf der untersten Raumebene. Zuerst werden die kleinsten Kuben aktualisiert, indem über die dort vorhandenen Massenpunkte (auf der niedrigsten Ebene zwangsläufig immer nur einer pro Würfel) aufsummiert wird, wobei jeder Körper als abgearbeitet markiert wird. Die Oktanten können nun selbst als Massenpunkte angesehen und zu den ihnen übergeordneten Würfeln addiert werden. Dieses Prinzip wird auf allen Ebenen wiederholt. Massenpunkte , welche tiefer eingeordnet sind als die momentan abgearbeitete Ebene, müssen somit nicht nochmals individuell berücksichtigt werden. Auf jeder Ebene wird der Inhalt eines Oktanten jeweils an seinen übergeordneten Würfel weitergereicht.
C-Code: Raumhierarchie mit Hermite-Polynome-Verfahren
Alle bisher eingeführten Variablen werden übernommen, doch treten für die Raumhierarchie zahlreiche neue hinzu. Die unsigned Integer e und o dienen im Folgenden dazu, Raumebenen und belegte Würfel (Oktanten) innerhalb einer solchen abzuzählen. Nebene gibt die Anzahl der Raumebenen, das eindimensionale Array Noktant die Anzahl belegter Kuben pro Ebene an.
Für jeden Massenpunkt wird seine tiefste Raumebene durch das einfache Array ebene_raum angezeigt. Das zweidimensionale Array status_raum listet die entsprechenden Koordinaten im Würfelgitter auf (wobei als Datentyp aber unsigned Long anstatt unsigned Integer verwendet wird). Der erste Index des Arrays bezieht sich erwartungsgemäß auf den Körper, der zweite auf die Koordinate. Als weiteres zweidimensionales Array hält nr_raum für jedes Objekt auf jeder Raumebene die Nummer des Würfels vor, in welchem es sich befindet. Hier bezieht sich der erste Index auf die Ebene und erst der zweite auf den Massenpunkt.
Bei den Variablen, welche verschiedene Größen der belegten Oktanten bezeichnen, bezieht sich der erste Index stets auf die Ebene, der zweiter auf den Würfel und bei Vektorgrößen ein dritter auf die Koordinate. Die zweidimensionalen Arrays No (für unsigned Integer) und Mo (für Double) geben auf jeder Ebene für jeden Kubus die Anzahl dort vorhandener Körper und deren Gesamtmasse an. Die dreidimensionalen Arrays ro und vo (wieder für Double) halten die Schwerpunktpositionen und -geschwindigkeiten der Oktanten vor. Das einfache Array Ao liefert pro Raumebene die Kantenlänge der Würfel. nruebero und flago stellen wieder zweidimensionale Arrays für unsigned Integer dar. nruebero kennzeichnet auf jeder Ebene für jeden Würfel die Nummer des übergeordneten Oktanten. flago zeigt an, ob ein Würfel im Laufe einer Kräfteberechnung bereits erfasst wurde oder nicht.
Um die in einem Oktanten vorhandenen Massenpunkte festzuhalten, wird das dreidimensionale Array nrobjekto für unsigned Integer eingeführt. Ein weiteres Mal repräsentieren die ersten beiden Indizes Raumebene und Würfel. Der dritte Index dient nun dazu, die Nummern der im Kubus sich befindlichen Körper aufzulisten. Um festzustellen, ob ein Einzelobjekt bei einer Neuberechnung der Schwerpunktpositionen und -geschwindigkeiten der Oktanten bereits einbezogen wurde, dient das eindimensionale Array flag.
Als letzte Variable ist alpha zu nennen, das für die Gruppenbildung entscheidende Verhältnis zwischen Kantenlänge und Entfernung eines Würfels zu dem zu simulierenden Massenpunkt.
/* Alte globale Variablen */
unsigned int i,k;
unsigned int N;
double *m;
double ***r;
double ***v;
double ***a;
double ***j;
double s[3];
double c[3];
double *tdyn;
int *ebene_zeit;
unsigned int potenz[16];
double *status_zeit;
double t,dt,dt2,dt3,dt4,dt5;
double dtmin;
unsigned long Z;
double tdynmin;
double T;
double gamma;
double epsilon,epsilon2,epsilon3;
/* Neue globale Variablen */
unsigned int e,o;
unsigned int Nebene;
unsigned int *Noktant;
unsigned int *ebene_raum;
unsigned long **status_raum;
unsigned int **nr_raum;
unsigned int **No;
double **Mo;
double ***ro;
double ***vo;
double *Ao;
unsigned int **nruebero;
unsigned int **flago;
unsigned int ***nrobjekto;
unsigned int *flag;
double alpha;
Der Hauptcode bleibt - auch mit Einbeziehung der Zeithierarchie - fast unverändert gültig. Während der Ausführung des Prädiktors wird nun aber überprüft, ob dadurch die Massenpunkte bezogen auf die unterste Raumebene in ihren Würfeln bleiben oder nicht. Dies geschieht mittels der lokalen unsigned Integer status_raum_neu, die immer um 1 hochgezählt wird, sobald ein Übergang eines Körpers zu einem anderen Oktanten festgestellt wird. Im allerersten Simulationsschritt erfolgt diese Prüfung noch nicht, da die Raumhierarchie an sich erst einmal angelegt werden muss. Der Prädiktorschritt sieht nun folgendermaßen aus:
status_raum_neu = 0;
for (i = 0;i < N;i ++)
{
dt = t - status_zeit[i] + dtmin;
dt2 = pow (dt,2);
dt3 = pow (dt,3);
for (k = 0;k < 3;k ++)
{
r[1][i][k] = r[0][i][k] + v[0][i][k] * dt + a[0][i][k] * dt2 / 2 + j[0][i][k] * dt3 / 6;
if (t > 0 && (unsigned long) floor ((r[1][i][k] + Ao[0]) / Ao[Nebene-1]) != status_raum[i][k])
status_raum_neu ++;
v[1][i][k] = v[0][i][k] + a[0][i][k] * dt + j[0][i][k] * dt2 / 2;
}
}
Halten sich alle Körper des Ensembles weiterhin in ihren bisherigen Würfeln auf (was durch status_raum_neu = 0 erkannt wird), so reicht vor dem Korrektorschritt eine Neuberechnung der Oktantenschwerpunkte aus. Anderenfalls muss die Raumhierarchie neu konstruiert werden. Dementsprechend lauten die nächsten Anweisungen:
if (t > 0 && status_raum_neu == 0)
updatehierarchie (N,m,r[1],v[1]);
else
{
speicherfreigabehierarchie ();
raumhierarchie (N,m,r[1],v[1]);
}
Für die Neudefinition der Raumhierarchie dient eine gesonderte Prozedur, welche mit raumhierarchie (N,m,r[1],v[1]) aufgerufen wird. Übergeben werden dieser die Anzahl der Objekte, deren Massen uund die mittels des Prädiktors vorhergesagten Positionen und Geschwindigkeiten.
Für die Konstruktion des Würfelgitters ist eine dynamische Speicherverwaltung zwingend erforderlich, da zu Beginn weder die Anzahl der Raumebenen noch die Anzahl der belegten Oktanten pro Ebene bekannt sind. Deshalb sind die entsprechenden Anweisungen im nachfolgenden Code mit angegeben. Bevor eine neue Hierarchie definiert werden kann, muss der von der bisherigen belegte Speicher freigegeben werden, was wiederum durch eine eigene, hier nicht weiter ausgeführte Prozedur geschehen kann.
Die lokalen Variablen innerhalb der Prozedur haben folgende Bedeutung. Die Double abstand gibt die Entfernung eines Körpers vom Koordinatenursprung (Schwerpunkt des Gesamtsystems) an. Die unsigned Integer gleich zählt ab, wie oft auf der gerade analysierten Raumebene zwei Körper innerhalb des gleichen Würfels gefunden wurden. i und j zählen die Massenpunkte selbst ab.
void raumhierarchie (unsigned int N, double *m, double **r, double **v)
{
double abstand;
unsigned int gleich;
unsigned int i,j;
/* Kantenlänge eines Würfels auf Ebene 0 gleich Abstand des fernsten Massenpunkts vom Ursprung */
Ao = malloc (sizeof (double));
Ao[0] = 0;
for (i = 0;i < N;i ++)
{
ebene_raum[i] = 0;
abstand = betrag (r[i]);
if (Ao[0] < abstand)
Ao[0] = abstand;
}
/* Speicherzuweisung und Initialisierung des ersten Würfels auf Ebene 0 */
/* Anzahl der Würfel pro Ebene */
Noktant = malloc (sizeof (double));
/* Anzahl der Massenpunkte pro Würfel */
No = malloc (sizeof (double *));
No[0] = malloc (sizeof (double));
No[0][0] = 0;
/* Masse pro Würfel */
Mo = malloc (sizeof (double *));
Mo[0] = malloc (sizeof (double));
Mo[0][0] = 0;
/* Schwerpunktposition pro Würfel */
ro = malloc (sizeof (double **));
ro[0] = malloc (sizeof (double *));
ro[0][0] = malloc (3 * sizeof (double));
for (k = 0;k < 3;k ++)
ro[0][0][k] = 0;
/* Schwerpunktgeschwindigkeit pro Würfel */
vo = malloc (sizeof (double **));
vo[0] = malloc (sizeof (double *));
vo[0][0] = malloc (3 * sizeof (double));
for (k = 0;k < 3;k ++)
vo[0][0][k] = 0;
/* Nummer des übergeordneten Oktanten pro Würfel */
nruebero = malloc (sizeof (unsigned int *));
nruebero[0] = malloc (sizeof (unsigned int));
nruebero[0][0] = 0;
/* Zur späteren Berechnung von Beschleunigung und Rucks verwendetes Flag pro Würfel */
flago = malloc (sizeof (unsigned int *));
flago[0] = malloc (sizeof (unsigned int));
/* Nummer des Würfels in welchem sich ein bestimmter Massenpunkt aufhält */
nr_raum = malloc (sizeof (unsigned int *));
nr_raum[0] = malloc (N * sizeof (int));
/* Liste vorhandenen Massenpunkte pro Würfel */
nrobjekto = malloc (sizeof (unsigned int **));
nrobjekto[0] = malloc (sizeof (unsigned int *));
nrobjekto[0][0] = malloc (sizeof (unsigned int));
/* Start des Algorithmus */
gleich = 65535;
e = 0;
/* Anlegen einer neuen Ebene, falls auf letzter Ebene zumindest 1 Würfel mit mehr als 1 Massenpunkt vorhanden */
while (gleich > 0)
{
/* Kantenlänge eines Würfels auf Ebene e halb so groß wie auf Ebene e-1 */
if (e > 0)
{
Ao = realloc (Ao,(e + 1) * sizeof (double));
Ao[e] = Ao[e-1] / 2;
}
/* Für alle Massenpunkte Umrechnen der (kontinuierlichen) kartesischen in (diskrete) Gitterkoordinaten */
for (i = 0;i < N;i ++)
{
for (k = 0;k < 3;k ++)
status_raum[i][k] = (unsigned int) floor ((r[i][k] + Ao[0]) / Ao[e]);
}
if (e > 0)
{
/* Speicherzuweisung und Initialisierung des ersten Würfels auf Ebene e */
/* Folgt dem gleichen Schema wie auf Ebene 0 */
/* Man beachte, dass bereits e Ebenen vorhanden sind */
Noktant = realloc (Noktant,(e + 1) * sizeof (double));
No = realloc (No, (e + 1) * sizeof (double *));
No[e] = malloc (sizeof (double));
No[e][0] = 0;
Mo = realloc (Mo, (e + 1) * sizeof (double *));
Mo[e] = malloc (sizeof (double));
Mo[e][0] = 0;
ro = realloc (ro, (e + 1) * sizeof (double **));
ro[e] = malloc (sizeof (double *));
ro[e][0] = malloc (3 * sizeof (double));
for (k = 0;k < 3;k ++)
ro[e][0][k] = 0;
vo = realloc (vo, (e + 1) * sizeof (double **));
vo[e] = malloc (sizeof (double *));
vo[e][0] = malloc (3 * sizeof (double));
for (k = 0;k < 3;k ++)
vo[e][0][k] = 0;
nruebero = realloc (nruebero, (e + 1) * sizeof (unsigned int *));
nruebero[e] = malloc (sizeof (unsigned int));
nruebero[e][0] = 0;
flago = realloc (flago, (e + 1) * sizeof (unsigned int *));
flago[e] = malloc (sizeof (unsigned int));
nr_raum = realloc (nr_raum, (e + 1) * sizeof (unsigned int *));
nr_raum[e] = malloc (N * sizeof (int));
nrobjekto = realloc (nrobjekto, (e + 1) * sizeof (unsigned int **));
nrobjekto[e] = malloc (sizeof (unsigned int *));
nrobjekto[e][0] = malloc (sizeof (unsigned int));
}
Noktant[e] = 0;
/* Abarbeiten aller Massenpunkte */
gleich = 0;
for (i = 0;i < N;i ++)
{
/* Anlegen eines Würfels für Massenpunkt i falls */
/* dieser auf Ebene e-1 die Ebene e zugewiesen bekommen hat (dort nicht allein in seinem Würfel war) */
if (ebene_raum[i] == e)
{
/* Hinzufügen des Massenpunkts i zu dem neuen Würfel */
/* Aufnahme in die Liste der Massenpunkte des Würfels */
if (No[e][Noktant[e]] > 0)
nrobjekto[e][Noktant[e]] = realloc (nrobjekto[e][Noktant[e]],
(No[e][Noktant[e]] + 1) * sizeof (unsigned int *));
nrobjekto[e][Noktant[e]][No[e][Noktant[e]]] = i;
/* Aktualisierte Anzahl der Massenpunkte im Würfel */
No[e][Noktant[e]] ++;
/* Aktualisierte Masse */
Mo[e][Noktant[e]] += m[i];
/* Aktualisierte Schwerpunktposition und -geschwindigkeit */
for (k = 0;k < 3;k ++)
{
ro[e][Noktant[e]][k] += m[i] * r[i][k];
vo[e][Noktant[e]][k] += m[i] * v[i][k];
}
/* Nummer des übergeordneten Würfels */
if (e > 0)
nruebero[e][Noktant[e]] = nr_raum[e-1][i];
/* Vorhalten der Nummer des neuen Würfels für den Massenpunkt i */
nr_raum[e][i] = Noktant[e];
/* Abarbeiten aller Massenpunktpaare */
for (j = i + 1;j < N;j ++)
{
/* Vergleich der Gitterkoordinaten für das Paar (i,j) */
/* Falls Koordinaten identisch und auch Massenpunkt j auf Ebene e */
/* Verschieben beider auf nächsttiefere Ebene, da im aktuellen Würfel nicht allein */
if (status_raum[j][0] == status_raum[i][0] && status_raum[j][1] == status_raum[i][1] &&
status_raum[j][2] == status_raum[i][2] && ebene_raum[j] == e)
{
ebene_raum[i] = e + 1;
ebene_raum[j] = e + 1;
/* Abzählen der Ereignisse, dass Paare innerhalb des gleichen Würfels gefunden wurden */
gleich ++;
/* Hinzufügen des Massenpunktes j zu dem gleichen Würfel wie Massenpunkt i */
/* Folgt dem gleichen Schema wie für Massenpunkt i */
nrobjekto[e][Noktant[e]] = realloc (nrobjekto[e][Noktant[e]],
(No[e][Noktant[e]] + 1) * sizeof (unsigned int *));
nrobjekto[e][Noktant[e]][No[e][Noktant[e]]] = j;
No[e][Noktant[e]] ++;
Mo[e][Noktant[e]] += m[j];
for (k = 0;k < 3;k ++)
{
ro[e][Noktant[e]][k] += m[j] * r[j][k];
vo[e][Noktant[e]][k] += m[j] * v[j][k];
}
nr_raum[e][j] = Noktant[e];
}
}
/* Nach Ende der j-Schleife Speicherzuweisung und Initialisierung des nächsten Würfels auf Ebene e */
/* Folgt abermals dem gleichen Schema wie die vorherigen Zuweisungen */
/* Man beachte, dass bereits Noktant[e] Würfel auf Ebene e vorhanden sind */
Noktant[e] ++;
No[e] = realloc (No[e], (Noktant[e] + 1) * sizeof (double));
No[e][Noktant[e]] = 0;
Mo[e] = realloc (Mo[e], (Noktant[e] + 1) * sizeof (double));
Mo[e][Noktant[e]] = 0;
ro[e] = realloc (ro[e], (Noktant[e] + 1) * sizeof (double *));
ro[e][Noktant[e]] = malloc (3 * sizeof (double));
for (k = 0;k < 3;k ++)
ro[e][Noktant[e]][k] = 0;
vo[e] = realloc (vo[e], (Noktant[e] + 1) * sizeof (double *));
vo[e][Noktant[e]] = malloc (3 * sizeof (double));
for (k = 0;k < 3;k ++)
vo[e][Noktant[e]][k] = 0;
nruebero[e] = realloc (nruebero[e], (Noktant[e] + 1) * sizeof (unsigned int));
nruebero[e][Noktant[e]] = 0;
flago[e] = realloc (flago[e], (Noktant[e] + 1) * sizeof (unsigned int));
nrobjekto[e] = realloc (nrobjekto[e], (Noktant[e] + 1) * sizeof (unsigned int *));
nrobjekto[e][Noktant[e]] = malloc (sizeof (unsigned int));
}
}
/* Nach Ende der i-Schleife Abschluss der Berechnung von Schwerpunktposition und -geschwindigkeit */
/* für jeden Würfel auf Ebene e */
for (o = 0;o < Noktant[e];o ++)
{
for (k = 0;k < 3;k ++)
{
ro[e][o][k] /= Mo[e][o];
vo[e][o][k] /= Mo[e][o];
}
}
/* Anlegen einer neuen Ebene, falls auf letzter Ebene zumindest 1 Würfel mit mehr als 1 Massenpunkt vorhanden */
if (gleich > 0)
e ++;
}
Nebene = e + 1;
}
Die Aktualisierung der Schwerpunkte einer schon vorgegebenen Hierarchie von Oktanten geschieht durch eine Prozedur updatehierarchie (N,m,r[1],v[1]), welcher die gleichen Werte übergeben werden wie der Raumhierarchie-Prozedur. Die lokale unsigned Integer n zählt die in einem Würfel vorhandenen Körper ab.
void updatehierarchie (unsigned int N, double *m, double **r, double **v)
{
unsigned int n;
/* Initialisierung der Schwerpunkte nur für Positionen und Geschwindigkeiten */
/* Gesamtmassen der belegten Oktanten bei gleich gebliebener Hierarchie unverändert */
for (e = 0;e < Nebene;e ++)
{
for (o = 0;o < Noktant[e];o ++)
{
for (k = 0;k < 3;k ++)
{
ro[e][o][k] = 0;
vo[e][o][k] = 0;
}
}
}
for (i = 0;i < N;i ++)
flag[i] = 0;
/* Aktualisierung der Schwerpunkte der Oktanten auf aktueller Ebene e */
/* Betrachte individuelle Mitglieder des Ensembles als Massenpunkte innerhalb der Würfel */
for (e = Nebene - 1;e > 0;e --)
{
for (o = 0;o < Noktant[e];o ++)
{
for (n = 0;n < No[e][o];n ++)
{
/* Individueller Massenpunkt muss nur berücksichtigt werden */
/* falls nicht schon auf tieferer Ebene abgearbeitet */
if (flag[Nr_objekt_o[e][o][n]] == 0)
{
for (k = 0;k < 3;k ++)
{
ro[e][o][k] += m[nrobjekto[e][o][n]] * r[nrobjekto[e][o][n]][k];
vo[e][o][k] += m[nrobjekto[e][o][n]] * v[nrobjekto[e][o][n]][k];
}
/* Markiere individuellen Massenpunkt nach Addieren zu seinem Würfel als abgearbeitet */
flag[nrobjekto[e][o][n]] = 1;
}
}
}
for (o = 0;o < Noktant[e];o ++)
{
for (k = 0;k < 3;k ++)
{
ro[e][o][k] /= Mo[e][o];
vo[e][o][k] /= Mo[e][o];
}
}
/* Aktualisierung der Schwerpunkte der übergeordneten Oktanten auf Ebene e - 1 */
/* Betrachte Oktanten auf Ebene e wiederum als Massenpunkte innerhalb der übergeordneten Würfel */
/* An dieser Stelle KEINE Division von Positions- und Geschwindigkeitswerten mit Oktantenmassen */
/* Noch fehlende individuelle Mitglieder des Ensembles werden auf nächster Ebene hinzuaddiert */
if (e > 0)
{
for (o = 0;o < Noktant[e];o ++)
{
for (k = 0;k < 3;k ++)
{
ro[e-1][nruebero[e][o]][k] += Mo[e][o] * ro[e][o][k];
vo[e-1][nruebero[e][o]][k] += Mo[e][o] * vo[e][o][k];
}
}
}
}
}
Alle übrigen Simulationsanweisungen laufen ab wie bisher. Die Bestimmung von Beschleunigung und Ruck erfolgt nun jedoch mit einer modifizierten Prozedur ruckhierarchie (i,epsilon,r[1][i],v[1][i],a[1][i],j[1][i]), welche sich die Raumhierarchie zu Nutze macht. Dieser werden wie der Standardprozedur die Nummer des untersuchten Körpers, der Plummerradius sowie sämtliche vorläufige Positionen und Geschwindigkeiten übergeben. Die Anzahl der Massenpunkte und deren Massen tauchen hingegen als Übergabeparameter hier nicht auf, da ja jetzt nicht über die einzelnen Mitglieder des Ensembles summiert wird, sondern über die von diesen belegten Würfel. Zurückgegeben werden wie üblich Beschleunigung und Ruck, welche wie bisher in den Korrektor eingesetzt werden, um verbesserte Positionen und Geschwindigkeiten zu erhalten. Im Vergleich zum bisherigen Vorgehen werden keine neuen lokalen Variablen benötigt.
void ruckhierarchie (unsigned int objekt, double epsilon, double *r, double *v, double *a, double *j)
{
/* Lokale Variablen */
unsigned int k;
double dr[3];
double d,d2,d3,d5,d6,d8;
double dv[3];
double skalar;
/* Initialisierung von Beschleunigung und Ruck */
for (k = 0;k < 3;k ++)
{
a[k] = 0;
j[k] = 0;
}
/* Initialisierung aller Würfel als unbearbeitet */
for (e = 0;e < Nebene;e ++)
{
for (o = 0;o < Noktant[e];o ++)
flago[e][o] = 0;
}
/* Berechnung von Beschleunigung und Ruck */
/* Abarbeiten aller Raumebenen */
for (e = 0;e < Nebene;e ++)
{
/* Abarbeiten aller belegten Würfel innerhalb einer Ebene */
for (o = 0;o < Noktant[e];o ++)
{
/* Betrachte Würfel o falls */
/* 1) Übergeordneter Würfel von o noch nicht betrachtet UND */
/* 2) o enthält objekt nicht */
/* 1) wird sichergestellt durch */
/* a) Aktuelle Ebene = 0 -> kein übergeordneter Würfel vorhanden */
/* b) Sonst: Flag des übergeordneten Würfels steht auf 0 */
/* 2) wird sichergestellt durch */
/* a) Aktuelle Ebene tiefer als Ebene des objekt -> objekt in seinem Würfel allein */
/* b) Sonst: o nicht Nummer des Würfels, in welchem objekt sich befindet */
if ((e == 0 || e > 0 && flago[e-1][nruebero[e][o]] == 0) &&
(ebene_raum[objekt] < e || ebene_raum[objekt] >= e && nr_raum[e][objekt] != o))
{
/* Abstand zwischen Würfel o und objekt */
for (k = 0;k < 3;k ++)
dr[k] = ro[e][o][k] - r[k];
d = betrag (dr);
/* Betrachte Würfel o falls */
/* Verhältnis Kantenlänge / Entfernung erfüllt alpha-Kriterium ODER */
/* o enthält nur einen Massenpunkt */
if (Ao[e] / d < alpha || No[e][o] == 1)
{
/* Markieren von Würfel o als abgearbeitet */
flago[e][o] = 1;
/* Geschwindigkeitsdifferenz zwischen Würfel o und objekt */
for (k = 0;k < 3;k ++)
dv[k] = vo[e][o][k] - v[k];
/* Weitere Berechnungen analog zur Standardprozedur */
skalar = skalarprodukt (dr,dv);
if (d > 2 * epsilon)
{
d3 = pow (d,3);
d5 = pow (d,5);
}
else
{
d2 = pow (d,2) + 4 * epsilon2;
d6 = pow (d2,3);
d8 = pow (d2,4);
}
for (k = 0;k < 3;k ++)
{
if (d > 2 * epsilon)
{
a[k] += G * Mo[e][o] * dr[k] / d3;
j[k] += G * Mo[e][o] * (dv[k] / d3 - 3 * skalar * dr[k] / d5);
}
else
{
a[k] += G * Mo[e][o] * 64 * epsilon3 * dr[k] / d6;
j[k] += G * Mo[e][o] * 64 * epsilon3 * (dv[k] / d6 - 6 * dr[k] * skalar / d8);
}
}
}
}
/* Würfel o automatisch abgearbeitet, falls schon dessen übergeordneter Würfel abgearbeitet */
if (e > 0 && flago[e-1][nruebero[e][o]] == 1)
flago[e][o] = 1;
}
}
}
Der Barnes-Hut-Algorithmus kann selbstverständlich auch mit dem Leapfrog-Verfahren kombiniert werden. In diesem Fall werden nur die Schwerpunktpositionen der Würfel benötigt, nicht aber auch deren Geschwindigkeiten. Für jeden Massenpunkt muss dann lediglich die von der Hierarchie ausgeübte Beschleunigung bestimmt werden, nicht aber auch der Ruck. Die entsprechenden Codes sind hier nicht weiter aufgelistet, sie können aus den gegebenen Prozeduren durch Fortlassen der nicht erforderlichen Berechnungen leicht abgeleitet werden.
Quasikontinuierliche Massenverteilung (für Fortgeschrittene)
BearbeitenKonstruktion
BearbeitenBei allen bisher vorgestellten Lösungsverfahren wurde ein Mehrkörpersystem als eine Ansammlung diskreter Massenpunkte betrachtet, wobei eine möglichst genaue Bestimmung der Bahnen der einzelnen Mitglieder zumeist im Vordergrund stand. Wie jedoch schon angedeutet, kommt es bei aus vielen Objekten bestehenden Ensembles wie Sternhaufen oder Galaxien aber meist gar nicht auf eine präzise Kenntnis ohnehin kaum prognostizierbarer individueller Orbits an, sondern nur auf eine möglichst korrekte Wiedergabe der räumlichen Verteilung der Körper und ihrer typischen Geschwindigkeiten. Zudem ist das Modell diskreter Massenpunkte für Systeme, die von dunkler Materie dominiert scheinen, wegen deren diffusen Verteilung oft nicht angemessen.
Als Alternative zu diskreten Körpern bietet es sich an, mit einer kontinuierlichen Massenverteilung zu arbeiten. Strenggenommen ist dies jedoch gar nicht möglich, da zu diesem Zweck die an einer bestimmten Stelle vorhandene Masse mit beliebig genauer räumlicher Auflösung ermittelt werden müsste. Tatsächlich kann eine Materieverteilung auch ohne Verwendung diskreter Massenpunkte lediglich mit einer gewissen Körnigkeit angegeben werden, so dass man von einer quasikontinuierlichen Verteilung spricht.
Um eine solche Verteilung darzustellen, teilt man das zu untersuchende System in kleine Würfel einer festen Kantenlänge ein. Für jeden dieser Kuben wird die darin enthaltene Masse und die mittlere Dichte mittels Division durch das Volumen bestimmt. Dieser Wert wird der Position der Würfelmitte zugeordnet, nicht dem Schwerpunkt der im Oktanten vorhandenen Einzelmassen. Auf diese Weise gewinnt man Dichten, die zwar weiterhin nur für diskrete Orte gelten. Diese weisen jedoch untereinander jeweils den gleichen Abstand voneinander auf.
Im Gegensatz zum Barnes-Hut-Algorithmus werden keine Würfel unterschiedlicher Kantenlänge entsprechend einer Raumhierarchie betrachtet. Im Folgenden wird aber gezeigt, dass eine aus diskreten Körpern hervorgehende quasikontinuierliche Dichteverteilung ebenfalls eine Kräfteberechnung mit einem Aufwand proportional zu erlaubt. Mathematisch ist dies im Vergleich zu den bislang vorgestellten Algorithmen allerdings viel anspruchsvoller, so dass sich dieses Unterkapitel vor allem an fortgeschrittene Leser richtet.
Potential einer kontinuierlichen Dichteverteilung
BearbeitenWährend für ein System diskreter Massenpunkte die dort herrschenden Kräfte unmittelbar angegeben werden können, muss man für eine kontinuierliche Materieverteilung den Umweg über die potentielle Energie bzw. das Potential nehmen, um zu einem Verfahren des Typs zu gelangen. Unter dem Potential versteht man die pro Masse vorhandene potentielle Energie. Eine Punktmasse im Abstand von einer Punktmasse weist die potentielle Energie auf, das Potential von lautet dementsprechend .
Um einen allgemeingültigen Zusammenhang zwischen Dichte und Potential zu gewinnen, muss man die von einer kleinen Masse ausgehende Gravitationsbeschleunigung sowie den durch diese bewirkten Fluss durch die Oberfläche des von eingenommenen Volumens betrachten. Für die Beschleunigung gilt, wobei den Einheitsvektor zwischen und einem beliebigen Probekörper darstellt:
Dieser Beschleunigung entspricht ein durch eine Kugelschale mit Radius hindurch tretender Fluss:
Die letzte Umformung nutzt aus, dass die beiden Vektoren und in die gleiche Richtung weisen. Das Integral über liefert die Oberfläche der Kugelschale multipliziert mit dem Faktor und damit die Beziehung:
wiederum kann geschrieben werden als und damit als . Daraus folgt schließlich für den eine beliebige Oberfläche eines beliebigen Volumens der Masse passierenden Fluss:
Nach dem Satz von Gauß kann das Flussintegral andererseits folgendermaßen umgeformt werden:
Da über ein beliebiges Volumen integriert wird, müssen die für die Berechnung des Flusses benutzten Integranden gleich sein, so dass gilt:
Für ein konservatives Kraftfeld wie die Gravitation ist die von diesem ausgeübte Beschleunigung durch den Gradienten des Potentials gegeben. Dies liefert den gesuchten Zusammenhang zwischen Potential und Dichte, welcher als Poisson-Gleichung bezeichnet wird.
In kartesischen Koordinaten lautet diese:
Lösung der Poisson-Gleichung durch diskrete Fourier-Transformation
BearbeitenEine Beziehung wie die Poisson-Gleichung, welche Ableitungen nach mehreren Variablen enthält, wird als partielle Differentialgleichung bezeichnet. Analog zur Beobachtung der zeitlichen Entwicklung eines Systems durch diskrete Zeitschritte wird eine solche Gleichung gelöst, indem die Differentiale durch diskrete Raumschritte ersetzt werden. Aus einer kontinuierlichen Materieverteilung wird somit eine durch ein regelmäßiges Würfelgitter beschriebene diskrete Dichteverteilung, wie sie bereits in der Einleitung dieses Unterkapitels beschrieben worden ist.
Mittels diskreter Raumschritte gewinnt man aus der Differentialgleichung für jeden Würfel des Gitters eine lineare Differenzengleichung, d. h. für Würfel ein System von derartigen Gleichungen. Im Prinzip kann ein solches durch klassische Verfahren wie das Gaußsche Eliminationsverfahren gelöst werden. Der Aufwand hierzu ist jedoch proportional zu .
Wie nun erörtert wird, kann die Poisson-Gleichung auch auf Grundlage einer diskreten Fourier-Transformation gelöst werden. Für eine solche existieren sehr effiziente Algorithmen, welche als schnelle Fourier-Transformationen bezeichnet werden und wie gewünscht einen Aufwand proportional zu aufweisen.
Eindimensional
BearbeitenDas Prinzip der Lösung mittels diskreter Fourier-Transformation soll zunächst für eine eindimensionale Dichteverteilung erläutert werden. Aus den Würfeln werden dann Liniensegmente einer festen Länge . Um den Laplace-Operator durch Differenzen wiederzugeben, muss man für eine gegebene Stützstelle zumindest deren nächste Nachbarn und betrachten. Diesen entsprechen Potentialdifferenzen und und damit 1.Ableitungen und . Um die 2.Ableitung zu erhalten, muss man wiederum die Differenz der 1.Ableitungen bilden und diese durch dividieren. Dies liefert schließlich die Darstellung:
Da die Stützstellen untereinander den gleichen Abstand haben, genügt es für die folgende Diskussion, diese einfach mit einem laufenden Index durchzunummerieren. Mit Stützstellen, wobei im Folgenden gerade sein soll, lautet die Fouriertransformierte des Potentials:
Die Rücktransformation erfolgt durch die Vorschrift:
Die Beziehungen für die Dichte und ihre Fouriertransformierte sind völlig analog. Um die Verhältnisse an einer Stützstelle zu erfassen, werden noch die Potentiale und benötigt. Diese lassen sich sehr elegant mit Hilfe der Rücktransformation ausdrücken, da die Summe jeweils über läuft und nicht von abhängt:
Setzt man nun die Rücktransformationen in die Differenzengleichung ein, so steht auf beiden Seiten eine über laufende Summe. Damit die Gleichheit erfüllt wird, müssen jeweils die Summanden gleich sein. Transformiertes Potential und Dichte folgen damit der Beziehung:
Verwendet man noch den für die komplexe Exponentialfunktion gültigen Zusammenhang und löst nach dem Potential auf, so erhält man:
Die Fouriertransformierte der Dichte liefert unmittelbar die Fouriertransformierte des Potentials, so dass kein Gleichungssystem gelöst werden muss.
Dreidimensional
BearbeitenAusgehend vom eindimensionalen Fall ist das Vorgehen für das dreidimensionale Problem nun klar zu verstehen. Wie bereits erläutert, werden in der Praxis die diskreten Raumschritte , und in Richtung der drei Koordinatenachsen gleich groß gewählt, das zu behandelnde System in Würfel konstanter Kantenlänge aufgeteilt. Die Differenzengleichung für solch einen Würfel lautet:
Die nun erforderliche dreidimensionale Fouriertransformation vereinfacht sich erheblich, wenn man davon ausgeht, dass in allen drei Koordinatenrichtungen die gleiche Anzahl von Stützstellen vorhanden ist, insgesamt also Würfel (man kann dies jederzeit sicherstellen, indem man gegebenenfalls die Verteilung mit Oktanten der Dichte 0 ergänzt). Um diese zu nummerieren, werden jetzt drei Indizes , und benötigt. Die Transformation und Rücktransformation des Potentials (für die Dichte gelten gleichartige Formeln) lauten dann:
Für das Einsetzen in die Differenzengleichung sind zusätzlich die Größen , , , , und zu betrachten. Abermals gelingt dies mit Hilfe der Rücktransformation, da nicht von ,, abhängt. Das Resultat leuchtet unmittelbar ein:
Beschleunigung durch eine kontinuierliche Dichteverteilung
BearbeitenHat man das zu einer Dichteverteilung dazugehörige Potential gefunden, so folgt daraus unmittelbar die Beschleunigung . Wie schon bei der Herleitung der Poisson-Gleichung erwähnt, ist durch den Gradienten von gegeben;
In kartesischen Koordinaten lautet dieser:
Ein weiteres Mal müssen die Ableitungen durch kleine Raumschritte ersetzt werden, wozu wieder für jede Stützstelle die nächsten Nachbarn herangezogen werden. Aus wird so , entsprechende Beziehungen gelten für die y- und z-Richtung:
Um die zeitliche Entwicklung des Systems zu verfolgen, muss man ein Stück weit wieder den Standpunkt diskreter Massenpunkte einnehmen. Jeder Körper wird jetzt als Probeteilchen betrachtet, das sich mit der aus der Poisson-Gleichung folgenden Beschleunigung innerhalb der quasikontinuierlichen Dichteverteilung bewegt. Mit jedem Zeitschritt nehmen die Massenpunkte neue Positionen ein, wodurch die daraus abgeleitete Dichteverteilung sich allmählich ändert. Die Aktualisierung der Positionen und Geschwindigkeiten kann mit den üblichen Methoden wie Hermite-Polynome, Leapfrog-Verfahren usw. erfolgen.
Die von der Poisson-Gleichung gelieferten Beschleunigungen sind nur an den Stützstellen gegeben, wohingegen die einzelnen Körper beliebige Orte einnehmen können. Um die dort herrschenden Beschleunigungen zu bestimmen, muss man zwischen den einem Massenpunkt nächstgelegenen Stützpunkten in jeder Achsen-Richtung interpolieren.
Für die Festlegung eines Zeitschritts bietet sich nun unmittelbar das Kriterium von Zemp und anderen (2007) [28] an, das wie bereits geschildert mit der lokalen Dichte verknüpft:
Die Einführung einer quasikontinuierlichen Dichteverteilung bringt automatisch eine erhebliche Glättung der Gravitation mit sich, so dass kein Plummerradius festgelegt werden muss, um unrealistische Beschleunigungsspitzen abzufangen. Andererseits können nur solche Strukturen korrekt erfasst werden, deren Größe zumindest derjenigen eines Würfels des Dichtegitters entspricht.
Praktische Beispiele
BearbeitenMit den bislang vorgestellten Verfahren können viele Mehrkörperprobleme bereits erfolgreich bearbeitet werden. Oft aber ist eine gewisse Anpassung an die Art des zu behandelnden Ensembles erforderlich. Planetensysteme sind dadurch gekennzeichnet, dass die auf einen Körper ausgeübte Kraft fast vollständig vom Zentralgestirn dominiert wird, so dass zumindest näherungsweise noch ein analytisches Vorgehen möglich und man nicht völlig auf eine rein numerische Lösung angewiesen ist. Galaxien und noch größere Strukturen scheinen nicht von als Punktmassen darstellbaren Sternen, sondern von dunkler Materie dominiert zu sein, für welche aufgrund ihrer diffusen Verteilung wie zuletzt besprochen eine kontinuierliche Massenverteilung als Modell zu bevorzugen ist. Betrachtet man den Kosmos als Ganzes, sind den Bewegungen der Galaxien und Galaxienhaufen untereinander aufgrund der Schwerkraft die Expansion des Weltalls überlagert.
Wie schon im einleitenden Kapitel angedeutet, sind viele Strukturen im Kosmos zudem nicht allein das Resultat gravitativer Anziehung, sondern auch vielfältiger Wechselwirkungen zwischen Sternen, interstellarem Gas und Staub. Um diese zu verstehen, muss man auch Phänomene wie Strahlung, Ionisation, Magnetfelder und hydrodynamische Vorgänge einbeziehen. Darauf soll in diesem Buch - das sich allein dem klassischen Mehrkörperproblem widmet - jedoch nicht näher eingegangen werden.
Planetensystem
BearbeitenCharakteristische Eigenschaften
BearbeitenWie gerade bereits erwähnt besteht eine fundamentale Eigenschaft des Planetensystems darin, dass die Sonne fast ganz allein die auf einen Planeten einwirkende Schwerkraft bestimmt. So ist auf der Erde selbst die von Jupiter als massereichstem Planeten ausgehende Gravitation etwa 10000 Mal schwächer als diejenige der Sonne. Die Masse des Jupiters beträgt nur etwa 1/1000 Sonnenmasse, zudem ist selbst dessen minimale Entfernung etwa 4 Mal größer als unser Abstand zur Sonne. Die von den übrigen Planeten auf die Erde ausgeübten Kräfte sind noch weit geringer. Saturn weist weniger als 1/3 Jupitermasse auf und ist im Mittel etwa doppelt so weit wie jener von der Erde entfernt. Die Venus kommt unserem Planeten immer wieder recht nahe (bis auf etwa 30% der Entfernung zur Sonne), doch ihre Masse entspricht lediglich etwa 80% derjenigen der Erde selbst. Sowohl die von Saturn als auch Venus ausgehende Schwerkraft erreicht bei uns maximal etwa 1/100000 der Sonnengravitation - eine Größenordnung unter derjenigen des Jupiter.
Ein weiteres bedeutsames Charakteristikum des Sonnensystems sind die regelmäßigen Bewegungen der Planeten. Sie laufen auf nahezu perfekten Ellipsen um die Sonne und stehen relativ zu ihr in (fast) konstanten Zeitabständen immer wieder (fast) an den gleichen Positionen.
Im Gegensatz zu jedem anderen Mehrkörperensemble im Kosmos lassen sich für das Sonnensystem die für eine Simulation benötigten Startbedingungen mit hoher Präzision festlegen. Die Bahnen der Planeten sind für kurze Zeiträume sehr genau bekannt, ebenso ihre Massen. Astronomische Jahreskalender listen für jeden Planeten dessen Position am Himmel im Verlauf des Jahres auf, doch für eine Simulation sind stattdessen Orte und Geschwindigkeiten in kartesischen Koordinaten erforderlich. Ein solcher Satz einfach zu handhabender Anfangsbedingungen findet sich z.B. bei Ito und Tanikawa (2002) [29], welcher in folgender Tabelle zusammengestellt ist. Positionen sind in Astronomischen Einheiten, Geschwindigkeiten in km/s und Massen in millionstel Sonnenmassen angegeben. Die Sonne steht im Ursprung des Koordinatensystems. Pluto wurde erst einige Jahre nach der Veröffentlichung der Arbeit Itos und Tanikawas als Zwergplanet neu klassifiziert und ist daher in der Tabelle ebenfalls aufgenommen.
Planet | Masse | X | Y | Z | Vx | Vy | Vz |
---|---|---|---|---|---|---|---|
Merkur | 0.166014 | -0.126918 | -0.447751 | -0.031728 | 37.157 | -10.930 | -3.427 |
Venus | 2.447838 | -0.718938 | -0.036831 | 0.021862 | 1.591 | -35.126 | -0.816 |
Erde | 3.003490 | -0.182443 | 0.966249 | 0.003394 | -29.753 | -5.628 | -0.828 |
Mars | 0.322715 | 1.391195 | -0.005707 | 0.001958 | 1.003 | 26.295 | 0.771 |
Jupiter | 954.791938 | 3.986089 | 2.960631 | 0.027793 | -7.972 | 11.112 | 0.016 |
Saturn | 285.885981 | 6.377297 | 6.606955 | -0.145999 | -7.471 | 6.694 | 0.039 |
Uranus | 43.662517 | 14.509203 | -13.654637 | 0.026676 | 4.611 | 4.653 | 0.117 |
Neptun | 51.513890 | 16.941496 | -24.901946 | 0.360724 | 4.452 | 3.102 | -0.023 |
Pluto | 0.007407 | -9.869829 | -28.059537 | 5.356149 | 5.289 | -2.624 | -1.117 |
Bahnelemente
BearbeitenDefinition
BearbeitenDie Regelmäßigkeit der Planetenbahnen erlaubt es, diese durch einige wenige Größen zu beschreiben, anstatt mit einer großen Datenmenge von Positionen und Geschwindigkeiten in kartesischen Koordinaten hantieren zu müssen. Sie sind in folgender Zeichnung dargestellt.
Die Form einer Bahn wird durch die große Halbachse und die Exzentrizität gekennzeichnet. gibt die Ausdehnung des Orbits an und entspricht dem mittleren Abstand zur Sonne. charakterisiert die eigentliche Gestalt. Für = 0 ist die Bahn ein Kreis, für Werte zwischen 0 und 1 eine mit zunehmender Exzentrizität immer langgestreckter erscheinende Ellipse. Der minimale Abstand zur Sonne auf einer solchen beträgt , der maximale . Beläuft sich die Exzentrizität genau auf 1, ist die Bahn eine Parabel. Für größer als 1 liegt eine Hyperbel vor.
Die möglichen Bahnformen, die ein um eine stark dominierende Zentralmasse umlaufender Körper aufweisen kann, stehen mit dessen Energie in engem Zusammenhang. Bei Kreisen und Ellipsen ist seine kinetische Energie geringer als seine potentielle Energie, so dass er an die Zentralmasse gebunden ist. Im Fall einer Parabel halten die beiden Energien exakt einander die Waage, bei einer Hyperbel überwiegt die kinetische Energie. Die umlaufende Masse ist dann nicht an das Zentralgestirn gebunden. Sie passiert dieses ein einziges Mal, um danach wieder auf Nimmerwiedersehen zu verschwinden. Solche Orbits werden tatsächlich gelegentlich beobachtet, wenn ein Komet aus der Oortschen Wolke ins Innere des Sonnensystems gerät und dieses dann wieder verlässt.
Die Lage der Bahn im Raum wird durch die drei Winkel , und festfelegt. gibt die Neigung des Orbits gegenüber der Ekliptik an (die von der Sonne durch den Erdumlauf scheinbar am Fixsternhimmel beschriebene Bahn). kennzeichnet den Winkel zwischen dem aufsteigenden Knoten (die Schnittgerade der Bahnebene mit der Ekliptik) und dem Frühlingspunkt , die sogenannte Knotenlänge. Schließlich beschreibt das Argument des Perihels P als Winkel zwischen dem aufsteigenden Knoten und der Periapsis (die Verbindungslinie zwischen Zentralmasse und dem Perihel - dem Punkt größter Annäherung an dieser).
Als letztes Bahnelement ist der Zeitpunkt zu erwähnen, zu welchem der umlaufende Körper den Perihel passiert.
Bestimmung aus kartesischen Koordinaten
BearbeitenSind die Position und Geschwindigkeit einer umlaufenden Masse relativ zur Zentralmasse bekannt, so können daraus eindeutig die Bahnelemente abgeleitet werden. Das dazu erforderliche Vorgehen gehört zum klassischen Bestand der Himmelsmechanik und wird daher lediglich kurz skizziert. Zudem werden nur große Halbachse, Exzentrizität und Bahnneigung betrachtet, welche besonderes Augenmerk in Simulationen gefunden haben, sowie das Argument des Perihels.
Die große Halbachse folgt direkt aus den Beträgen von Orts- und Geschwindigkeitsvektor und den beiden Massen mittels der sogenannten Vis-Viva-Gleichung, welche wiederum auf der Energieerhaltung beruht:
Ein positiver Nenner entspricht einer Ellipse, ein negativer einer Hyperbel. Ist der Nenner gleich 0, liegt eine Parabelbahn vor.
Um mit Hilfe der großen Halbachse die Exzentrizität zu gewinnen, muss zunächst der sogenannte Bahnparameter ermittelt werden:
ist dabei der auf die umlaufende Masse normierte Bahndrehimpuls :
Je nachdem ob der Orbit eine Ellipse oder Hyperbel ist, gelten unterschiedliche Beziehungen für die Berechnung der Exzentrizität:
Für die Bahnneigung wird abermals der normierte Bahndrehimpuls benötigt, und zwar die z-Komponente dessen Einheitsvektors:
Um das Argument des Perihels zu bestimmen, wird auf eine ebenfalls normierte Darstellung des in Kapitel 4 eingeführten Runge-Lenz-Vektors zurückgegriffen:
Schließlich muss man unterscheiden, ob die Bahnneigung gleich oder ungleich 0 ist. Im Allgemeinen wird die z-Komponente des Einheitsvektors von gebraucht:
Für den Spezialfall einer nicht geneigten Bahn gehen die x- und y-Komponente von ein:
Bahnstörungen
BearbeitenGrundprinzip der Berechnung
BearbeitenFür einen um die Sonne laufenden Planeten liegen aufgrund deren Dominanz nahezu die Bedingungen eines Zwei-Körper-Systems vor. In einem solchen sind die Bahnelemente konstant. Die von den übrigen Körpern des Sonnensystems auf einen Planeten ausgeübten Kräfte bewirken jedoch, dass diese Konstanz aufgehoben wird, die Bahnelemente im Laufe der Zeit sich allmählich ändern. Wie die nachfolgend diskutierten Beispiele zeigen, kann man diese Variationen in zwei Gruppen einteilen. Die Form der Bahn - vor allem die Exzentrizität - schwankt mehr oder weniger periodisch um einen Mittelwert, ebenso die Neigung des Orbits. Man spricht dann von (quasi)periodischen Störungen. Der Perihel entfernt sich dagegen mit jedem Umlauf immer weiter von seiner Ausgangsposition und wandert dabei im Laufe langer Zeiträume um die Sonne herum, eine oszillierende Bewegung um eine mittlere Position findet nicht statt. Eine solche Störung wird als säkular bezeichnet.
Die überwältigende Sonnengravitation erlaubt es, die Bahn eines Planeten auf Grundlage des sogenannten gestörten Zwei-Körper-Problems zu untersuchen, welches im letzten Abschnitt dieses Unterkapitels näher beleuchtet wird. Die auf einen solchen Trabanten ausgeübte Beschleunigung wird als Summe zweier Komponenten dargestellt, die Sonnenbeschleunigung und eine viel schwächere Störbeschleunigung :
Die zeitliche Änderung sowohl von als auch ist durch die Bahnelemente eindeutig festgelegt. Indem man für diese wegen der Störbeschleunigung langsame Änderungen zulässt, kann man mittels verschiedener Verfahren komplizierte mathematische Formalismen entwickeln und so Gleichungen ableiten, welche die zeitliche Änderung der Bahnelemente beschreiben. Da mit geänderter Bahnform und -lage sich auch eine modifizierte Rechenvorschrift für die Störbeschleunigung ergibt, müssen auch diese Gleichungen durch Iteration gelöst werden. Nach jedem Simulationsschritt muss die Störung immer wieder aktualisiert und zur fortschreitenden Berechnung der Orbits neu vorgegeben werden.
Viele wissenschaftliche Publikationen über das Langzeitverhalten des Planetensystems stützen sich auf die Lösung des gestörten Zwei-Körper-Problems. Um die typischen Eigenschaften von Bahnstörungen zu demonstrieren, reichen die in diesem Buch vorgestellten allgemeinen Methoden wie etwa die Hermite-Polynome aber aus. Der Vorteil einer auf Störgleichungen beruhenden Lösung liegt vor allem darin, mit weit größeren zeitlichen Schrittweiten arbeiten zu können, wodurch Simulationen über sehr lange Zeiträume selbst in der Größenordnung von Milliarden Jahren möglich werden.
Für eine realistische Simulation mit einem Standardverfahren gelten zudem gewisse Einschränkungen. Um eine höchstmögliche Genauigkeit zu erreichen, verbietet es sich selbstverständlich, mehrere entfernt stehende Körper im Rahmen des Barnes-Hut-Algorithmus zu einem Objekt zusammenzufassen. Die Verwendung dynamischer Zeitschritte ist zulässig, d.h. die äußeren Planeten brauchen nicht so häufig bearbeitet zu werden wie die inneren. Man muss jedoch darauf achten, dass für das Zentralobjekt Größen wie die Beschleunigung oder der Ruck sehr gering und die daraus abgeleiteten Zeitschritte daher mit enormen Unsicherheiten behaftet sind. Um derartige Fehler zu vermeiden, wird hier empfohlen, für das Zentralobjekt die gleiche zeitliche Schrittweite anzusetzen wie für den innersten Planeten.
Alle nun dargestellten Beispiele für Bahnstörungen beruhen auf dem Hermite-Polynome-Verfahren mit hierarchischen Zeitschritten. Die Zeitskalen werden so gewählt, dass sie die Anforderung erfüllen. Die relative Drift der Gesamtenergie liegt damit zwischen einem Zehn- und Hundertmilliardstel ihres Absolutbetrags pro Jahr.
Charakteristische Eigenschaften
BearbeitenUm die wesentlichen Eigenschaften von Bahnstörungen aufzuzeigen, wird ein stark vereinfachtes Sonnensystem vorgestellt, das zunächst nur aus Erde und Jupiter bestehen soll, wobei die Anfangsbedingungen obiger Tabelle entnommen werden. Die physikalischen Vorgänge in diesem Ensemble scheinen auf den ersten Blick sehr einfach zu sein.
Steht Jupiter der Erde am nächsten, wenn diese gerade durch den Perihel geht, so wird sie bei minimaler Entfernung zur Sonne besonders heftig vom Zentralgestirn weggezerrt. Dadurch verringert sich die Exzentrizität ihrer Bahn. Passiert die Erde zu diesem Zeitpunkt aber den Aphel, verhält es sich genau umgekehrt. Sie wird nun bei maximalem Abstand zur Sonne am stärksten von dieser fortgezogen, was eine ausgeprägtere Exzentrizität des Orbits zur Folge hat.
Befindet sich die Erde zum Zeitpunkt größter Annäherung an Jupiter besonders weit über der Ebene des Sonnensystems und jener gleichzeitig unterhalb dieser, so erfährt die Erde eine besonders starke Beschleunigung zur Ebene hin, wodurch sich die Neigung ihrer Bahn verringert. Steht in diesem Moment Jupiter aber noch höher über der Ebene als die Erde, erfolgt die Beschleunigung in umgekehrte Richtung, so dass der Erdorbit sich noch stärker neigt.
Die relativen Positionen von Erde und Jupiter zueinander ändern sich jedoch dauernd, so dass die soeben beschriebenen Szenarien einem ständigen Wechsel unterworfen sind. Hat die Erde während eines Periheldurchgangs sich Jupiter besonders genähert, so gilt dies - da Jupiter sich inzwischen auf seinem Orbt weiter bewegt hat - für die nächste Passage schon nicht mehr. Nur wenige Jahre später befindet sich die Erde während der größten Annäherung an Jupiter nahe (aber nicht exakt) des Aphels, einige Jahre danach wiederum in der Nähe (aber erneut nicht genau) des Perihels. Ebenso verhält es sich mit der Stellung von Erde und Jupiter relativ zur Ebene des Sonnensystems. Mal wird die Erde bei einer engen Begegnung mit Jupiter zu dieser hin-, mal wegbeschleunigt. Zudem ändert sich auch der minimale Abstand der beiden Planeten mit jeder Begegnung.
Die ständig wechselnden Konstellationen haben ein sehr komplexes Muster für die zeitlichen Schwankungen der Bahnelemente zur Folge, wie nachfolgend für die Exzentrizität gezeigt. Je nachdem wie Erde und Jupiter zueinander stehen, nimmt diese für einige Jahre zu und dann für einige Jahre ab. Die Änderungen von typischerweise 0.000001 bis 0.00001 pro Jahr scheinen auf den ersten Blick belanglos zu sein.
Langfristig betrachtet weist die Exzentrizität jedoch ungeachtet dieses kleinskaligen Auf und Ab signifikante Trends auf. Über Jahrtausende hinweg betrachtet, lösen Epochen mit vorherrschend positiven und solche mit zumeist negativen Änderungen fortlaufend sich einander ab. Durch diese langanhaltende Dominanz jeweils eines bestimmten Trends unterliegt die Exzentrizität in der hier erörterten Simulation doch erhebliche Amplituden.
Dieses Verhalten zeigt sich gleichermaßen für die Neigung der Erdbahn. Auch diese weist in dem vorliegenden Modell aufgrund eines wechselnden langfristigen Übergewichts jährlicher Zu- bzw. Abnahme deutliche Schwankungen auf. Anders verhält es sich hingegen mit der großen Halbachse, die im Verlauf der Simulation sich nur um wenige 0.00001 Astronomische Einheiten ändert.
Die Periheldrehung ist über lange Zeiträume betrachtet stets ein kumulativer Effekt. Das Hin- und Herpendeln des Arguments des Perihels in nachfolgendem Diagramm ist schlicht auf die zur Berechnung benutzten Arcussinus-Funktion zurückzuführen, welche nur Werte zwischen -90 und +90 Grad liefert. Hat das Argument einen Wert von +90 Grad erreicht, so läuft der Perihel anschließend keineswegs zurück, sondern behält seine Drehrichtung bei. Ebensowenig ist ein Wert von -90 Grad mit einer Umkehr der Drehrichtung verbunden. Die Zeit zwischen zwei aufeinanderfolgenden Werten von +90 bzw. -90 Grad entspricht also einem vollständigen Umlauf.
Während die Erde durch Jupiter erheblich gestört wird, bleibt jener angesichts der viel geringeren Erdmasse erwartungsgemäß fast unbehelligt. Die Exzentrizität seiner Bahn variiert nur um einige 0.0001, deren Neigung um einige 0.01 Grad. Während der Perihel der Erde während der Simulation etwa 5 komplette Umläufe um die Sonne absolviert, bewegt sich derjenige des Jupiter insgesamt nur um 3 Grad.
Mit der Hinzunahme der Venus zum Modell werden die Konstellationen der Planeten untereinander und dementsprechend die zeitlichen Schwankungen der Bahnelemente noch unübersichtlicher. Mit hoher zeitlicher Auflösung betrachtet, zeigt beispielsweise die jährliche Änderung der Exzentrizität sowohl für die Erd- als auch Venusbahn ein sehr kompliziertes Wechselspiel von positiven und negativen Werten. Dennoch schälen sich auch hier klar erkennbare Langzeitverläufe heraus, die im Vergleich zum Zwei-Planeten-Modell mit seinen sinusähnlichen Trends aber ebenfalls deutlich komplexer ausfallen.
Das langfristige Verhalten der Neigung von Erd- und Venusorbit in der Simulation lässt eine weitere typische Eigenschaft von Bahnstörungen erkennen. Ganz offensichtlich sind diese miteinander gekoppelt, d.h. es liegt eine Resonanz zwischen den beiden Körpern vor. Auf solche Kopplungen wird weiter unten noch genauer eingegangen.
Die große Halbachse erweist sich auch im Rahmen der Drei-Planeten-Simulation als äußerst robust, ebenso die Bahn des Jupiter.
Ergebnisse realistischer Langzeitsimulationen
BearbeitenRealistische Simulationen des Sonnensystems, die alle Planeten berücksichtigen und für die Erde zudem auch den Mond, zeigen angesichts der Vielzahl nun auftretender gegenseitiger Störungen noch kompliziertere Verhältnisse. Eine von Ito und Tanikawa (2002) [29] auf Grundlage des gestörten Keplerproblems über 5 Milliarden Jahre durchgeführte Simulation lässt langfristig für die Exzentrizität nur bei Mars, Uranus und Pluto noch eine klare Periodizität erkennen. Alle übrigen Planetenbahnen weisen auch hinsichtlich der Langzeittrends eine mehr oder weniger unregelmäßig sich ändernde Exzentrizität auf. Die Schwankungen sind zudem weit stärker als in den obigen, nur aus zwei oder drei Planeten bestehenden Modellen. So finden die Autoren für die Erdbahn Variationen zwischen 0 und 0.07 auf einer Zeitskala von nur etwa 10000 Jahren. Auch die übrigen inneren Planeten sind von markanten Schwankungen der Exzentrizität betroffen. Für Mars geben Ito und Tanikawa Werte von 0 bis 0.15 an, für Merkur gar zwischen 0.01 und 0.25. Die Venus verhält sich weitgehend wie die Erde. Die Bahnen der äußeren Planeten erweisen sich als stabiler. Für Jupiter, Saturn und Uranus ermitteln die Autoren Exzentrizitäten von 0 bis 0.09. Besonders robust ist der Orbit des Neptun mit einer Exzentrizität von 0 bis 0.02. Die gegenwärtig sehr hohe Exzentrizität der Plutobahn ist kein Ausreißer. Die Langzeitsimulation liefert Resultate zwischen 0.21 und 0.27.
Wesentlich übersichtlicher verhalten sich gemäß Ito und Tanikawa langfristig die Neigungen der Planetenorbits. Hier liegt bei allen Planeten eine deutlich ausgeprägte Periodizität vor, auch wenn sich kurze und lange Zyklen überlagern. Abermals sind die Bahnen der äußeren Planeten stabiler als diejenigen der Inneren. Die ohnehin geringen Neigungen bei den vier großen Planeten von Jupiter bis Neptun variieren nur um wenige 0.1 Grad. Lediglich bei der auch heute stark geneigten Plutobahn beobachten die Autoren stärkere Schwankungen von 14 bis 17 Grad. Die Orbits der inneren Planeten unterliegen durchwegs Variationen von mehreren Grad. Am stärksten sind die Bahnen von Mars und Merkur mir Neigungen von 0 bis 7 bzw. 2 bis 10 Grad betroffen. Für Erde und Venus finden sich Bahnneigungen von 0 bis 3 Grad.
Vergleicht man die Arbeit von Ito und Tanikawa mit anderen Veröffentlichungen auf diesem Gebiet (die ebenfalls die Methode des gestörten Keplerproblems heranziehen), tun sich vor allem für den Orbit des Merkur eklatante Widersprüche auf. Eine Simulation von Boue und anderen (2012) [30] liefert für den innersten Planeten ein geradezu dramatisches Szenario. Demgemäß soll die Exzentrizität auf einer Zeitskala von einigen Milliarden Jahren bis auf 0.8 ansteigen und so Merkur schließlich mit der Venus kollidieren können.
Zuvor hat schon Laskar (1994) [31] auf eine mögliche Instabilität der Merkurbahn hingewiesen. Er fand bei Langzeitsimulationen nicht nur bis fast an 1 heranreichende Exzentrizitäten, sondern auch sehr starke Bahnneigungen bis über 30 Grad. Solch hohe Neigungen würden auch bei einem sehr exzentrischen Orbit eine Kollision des Merkur mit der Venus eventuell verhindern. Stattdessen könnte dem Autor zufolge die Exzentrizität möglicherweise sogar den kritischen Wert von 1 überschreiten und damit Merkur das Planetensystem gänzlich verlassen.
Für die Erdbahn ergeben sich bessere Übereinstimmungen zwischen verschiedenen Arbeiten. Laskar und andere (2011) [32] fanden wie Ito und Tanikawa Exzentrizitäten zwischen 0 und 0.07 und ein komplexes Muster mehrerer sich überlagernder Zyklen sehr unterschiedlicher Dauer.
Schwankungen der Bahnelemente haben - zusammen mit solchen der Neigung der Rotationsachse - eine große Bedeutung für das Klima, was schon Milankowitch (1941) [33] erkannt hat. Gegenwärtig passiert die Erde ihren Perihel im Januar, so dass auf der Nordhalbkugel die Winter aufgrund der Nähe zur Sonne etwas wärmer, die Sommer hingegen durch die größere Entfernung zur Sonne geringfügig kühler ausfallen. Kühle Sommer aber bewirken eine geringere Schnee- und Eisschmelze und begünstigen damit das Gletscherwachstum. Eine stärkere Exzentrizität der Bahn erhöht somit (bei der gegenwärtigen Jahreszeit des Periheldurchgangs) das Risiko einer Eiszeit in der nördlichen Hemisphäre. Eine mehr kreisförmige Bahn dagegen verringert die Gefahr einer Kaltzeit. Auf der Südhalbkugel verhält es sich genau umgekehrt.
Mit der gegenwärtigen Exzentrizität von etwa 0.017 beträgt im Vergleich zu einer Kreisbahn der Gewinn an Sonnenenergie während des nördlichen Winters etwa 3 Prozent, entsprechend groß ist der Verlust während des Nordsommers. Bei einer (maximalen) Exzentrizität von 0.07 aber lägen winterlicher Gewinn und sommerlicher Verlust auf der Nordhalbkugel jeweils bei circa 14 Prozent, was eine erhebliche Dämpfung der Jahreszeiten nach sich zöge. Auf der südlichen Hemisphäre hingegen würden bei unveränderter Jahreszeit der Perihelpassage die Temperaturunterschiede zwischen Sommer und Winter deutlich verstärkt.
Chaos und Resonanzen
BearbeitenUnvorhersehbare Bahnen
BearbeitenDie enorm voneinander abweichenden Aussagen über das Langzeitverhalten des Merkurs sind keineswegs auf Nachlässigkeiten der oben zitierten Autoren zurückzuführen, auch nicht auf im Detail unterschiedliche Simulationsverfahren. Laskar (1994) [31] zeigte auf eindrucksvolle Weise, dass hier ein grundsätzliches Problem vorliegt. Wie für jede Aufgabenstellung, in deren Rahmen eine zeitliche Entwicklung prognostiziert werden soll, müssen auch für eine Mehrkörpersimulation Startwerte vorgegeben werden. Diese Anfangswerte - hier die Positionen, Geschwindigkeiten und Massen der beteiligten Körper - sind selbstverständlich nur mit endlicher Genauigkeit bekannt. Indem Laskar z.B. die Ausgangsposition der Erde nur um wenige Meter (!) verschob - weit über der Genauigkeit, mit der sich die Positionen der Planeten tatsächlich bestimmen lassen - erhielt er völlig andere Resultate hinsichtlich des Merkur. Auch die Bahnen der übrigen Planeten erwiesen sich als anfällig gegenüber selbst kleinen Modifikationen der Anfangsbedingungen, wenn auch in weit geringerem Maße. Die Bahnelemente der Erde etwa bleiben bei solchen Experimenten im Vergleich zu denjenigen des Merkur innerhalb recht enger Grenzen, der genaue zeitliche Verlauf aber ändert sich deutlich. Dieses Phänomen der äußert empfindlichen Abhängigkeit der zeitlichen Entwicklung eines dynamischen Systems von den Ausgangsbedingungen und seine daraus resultierende Unvorhersehbarkeit wird allgemein als Chaos bezeichnet und auch in vielen anderen Bereichen der Natur vorgefunden, z.B. im Klimasystem der Erde.
Das Aufschaukeln selbst kleiner Störungen zu völlig unterschiedlichen Orbits lässt sich anhand kleiner Körper wie Asteroiden ohne großen Aufwand vorführen. Aufgrund ihrer geringen Masse werden solche vor allem von den großen Planeten schon nach relativ kurzer Zeit erheblich gestört, so dass entsprechende Simulationen selbst auf einem einfachen Laptop nur wenige Minuten in Anspruch nehmen. Im folgenden Beispiel wird ein sehr einfaches System betrachtet, das nur Jupiter und einen Asteroiden mit einer Masse von 2 Milliarden Tonnen (etwa einem 1 km großen Felsbrocken entsprechend) enthält. Der Asteroid wird in zwei Simulationen zu Beginn jeweils auf die Position (4 AE / 0 / 0) gesetzt. Seine Geschwindigkeit beträgt anfangs einmal (0 / 15 km/s / 0), das andere Mal (0 / 15.001 km/s / 0), d.h. wird um lediglich 1 m/s variiert. Für Jupiter werden die Startwerte abermals obiger Tabelle entnommen.
Trotz des nur kleinen Unterschieds hinsichtlich der Anfangsbedingungen bilden sich schon nach wenigen Jahrhunderten gänzlich verschiedenen Orbits aus. Die zeitliche Entwicklung der Bahnelemente - als Beispiel soll hier die Exzentrizität genügen - unterscheidet sich für die beiden Fälle dramatisch. Zudem ist keinerlei periodisches Verhalten mehr erkennbar, die Resultate vielmehr von einem regellos erscheinenden Verlauf mit z.T. extremen Ausschlägen gekennzeichnet. Dabei nimmt die Asteroidenbahn vorübergehend die Gestalt einer Hyperbel an. Langfristig nähert sich die Exzentrizität bei beiden Simulationen dem Wert 1, d.h. es bildet sich eine extrem langgestreckte Ellipse heraus.
Angesichts des Trends zu einer immer exzentrischeren Bahn ist es nicht verwunderlich, dass der Asteroid sich z.T. weit von der Zentralmasse entfernt. In beiden Fällen treten Maximaldistanzen von über 80 Astronomischen Einheiten auf. Die trotz fast identischer Startbedingungen völlig unterschiedlichen Bewegungen fallen bei nachfolgender Darstellung der Positionen besonders prägnant ins Auge.
Vor allem der vergrößerte Ausschnitt der Orbits lässt erkennen, dass diese trotz extrem instabiler Bahnelemente eine gewisse Struktur bilden. Bestimmte Gebiete werden von dem Asteroiden offensichtlich häufig aufgesucht, andere hingegen fast völlig gemieden.
Ungeachtet des Simulationsbeispiels sind Asteroiden trotz ihrer geringen Masse aber nicht überall im Sonnensystem derart Spielball der Planeten, wie der Asteroidengürtel zwischen Mars und Jupiter belegt. Die Existenz relativ stabiler Refugien lässt sich anhand des hier skizzierten einfachen Modells ebenfalls gut demonstrieren. Gibt man dem Asteroiden die Startwerte (3 AE / 0 / 0) und (0 / 17 km/s / 0), so zeigen die Bahnelemente eine periodische Zeitabhängigkeit wie für das oben behandelte Zwei-Planeten-Modell. Auch gegenüber kleinen Änderungen des Anfangszustandes ist der Orbit jetzt viel robuster. Modifiziert man die Eingangsgeschwindigkeit erneut um 1 m/s, so sind für den hier überdeckten Zeitraum die Ergebnisse kaum zu unterscheiden. Allerdings bleibt die Bahn im Vergleich zu einem Planetenorbit deutlich stärker beeinträchtigt. So variiert die Exzentrizität zwischen 0.02 und 0.09, und der Perihel bewegt sich in der Simulation im Mittel in nur etwa 10000 Jahren einmal um die Sonne.
Resonanzen
BearbeitenIm Falle eines Asteroiden, welcher zunächst auf einer Kreisbahn mit einem Radius von 4 AE um die Sonne läuft, ist die Nähe der Jupiterbahn daran schuld, dass er sich nicht auf einem geordneten Orbit behaupten kann. Immer wieder kommt er an Jupiter bis auf nur 1 AE und schließlich sogar noch weniger heran, so dass jener eine erhebliche Störbeschleunigung ausübt und den Asteroiden in einer im Vergleich zum Alter des Sonnensystems kurzen Zeitspanne aus seiner ursprünglichen Bahn zieht.
Betrachtet man die Verteilung der Asteroiden in ihrem Gürtel gemäß Angaben des Jet Propulsion Laboratory (2007) [34], so erkennt man, dass erst ab Halbachsen unter 3.3 AE diese kleinen Körper signifikant gehäuft auftreten. In diesem Fall kommen sie Jupiter - sofern die Exzentrizität nahe bei 0 liegt - nur bis auf 1.7 AE nahe. Unterhalb einer Halbachse von 2.1 AE kommen erneut kaum noch Asteroiden vor, weil entsprechende Orbits der Bahn des Mars zu nahe sind.
Innerhalb dieses Intervalls sind diese Körper aber ebenfalls nicht gleichmäßig verteilt. Neben Bereichen mit einer sehr großen Anzahl finden sich fast leere Zonen. Ein genauer Blick zeigt, dass die Umlaufszeiten in diesen Lücken immer in einem einfachen ganzzahligen Verhältnis zur Umlaufszeit des Jupiter stehen. Man spricht dann von einer störenden Resonanz.
Verhalten sich die Umlaufszeiten von Asteroid und Jupiter wie m:n, so stehen sich die beiden nach jeweils m Umläufen des kleinen Körpers bzw. n Umläufen des großen Planeten immer wieder an der gleichen Stelle auf ihren Bahnen gegenüber. Die von Jupiter ausgehenden Störungen greifen dann wiederholt den Orbit des Asteroiden stets auf die gleiche Weise an und addieren sich so im Laufe der Zeit effektiv immer mehr auf. Auch bei einem größeren Minimalabstand zu Jupiter reicht dessen Störkraft damit aus, den Asteroiden aus seiner anfänglichen Bahn zu werfen.
Je nach den Werten von m und n können auch mehrere Orte des Asteroidenorbits immer wieder der gleichen Störung durch Jupiter unterliegen. Ist mit (A / 0) und (J / 0) die größte Annäherung zwischen Asteroid und Jupiter gegeben und das Verhältnis der Umlaufszeiten 2:1, so tritt die stärkste Störung stets nach einem Umlauf des Planeten an eben diesen Positionen auf. Bei einem Verhältnis 3:1 erscheint (unter Annahme von Kreisbahnen) nach einem halben Umlauf des Jupiter an den Stellen (-A / 0) und (-J / 0) ein weiteres Abstandsminimum.
Je nach Lage dieser Minima können die dort auftretenden Störungen sich aber auch gegenseitig kompensieren und damit im Gegenteil eine besonders stabile Bahn bedingen. So findet sich bei einem Umlaufverhältnis von 7:2 mit Jupiter nicht ein Minimum, sondern stattdessen das stärkste Häufigkeitsmaximum des Asteroidengürtels überhaupt. Es liegt dann eine stabile Resonanz vor.
Bereits seit langem ist bekannt, dass ein Asteroid sich stabil im gleichen Orbit wie ein Planet aufhalten kann, wenn der Winkelabstand (die Schenkel sind jeweils durch die Verbindungslinie zur Zentralmasse definiert) der beiden untereinander genau 60 Grad beträgt. Es handelt sich hier um einen der wenigen exakt lösbaren Spezialfälle des Dreikörperproblems, die dadurch beschriebenen stabilen Positionen werden Lagrange-Punkte genannt. Für fast alle Planeten wurden an den entsprechenden Stellen mittlerweile Asteroiden gefunden, welche als Trojaner bezeichnet werden. Aufgrund seiner großen Masse besitzt Jupiter die meisten derartigen Begleiter auf seiner Bahn.
Resonanzen treten nicht nur zwischen Planeten und Asteroiden auf, sondern auch zwischen den Planeten selbst. Als Beispiel sei nochmals das aus Venus, Erde und Jupiter bestehende Modell herangezogen. Wie oben schon skizziert, verhalten sich die Neigungen der Erd- und Venusbahn in dieser Simulation exakt gegenläufig zueinander. Nimmt die Neigung des eines Orbits zu, so geht diejenige des anderen zurück und umgekehrt. Weniger klar ist das Bild für die Exzentrizitäten, doch hinterlässt auch dieses den Eindruck einer wechselseitigen Abhängigkeit. Betrachtet man die Umlaufszeiten der beiden Planeten, so scheint in der Tat eine 13:8 Resonanz zu existieren.
Auch bei andere Planeten lassen die Umlaufszeiten Resonanzen vermuten. Die Bahnperioden von Jupiter und Saturn verhalten sich nahezu wie 5:2, diejenigen von Neptun und dem Zwergplaneten Pluto fast wie 3:2.
Analyse (quasi)periodischer Bewegungen
BearbeitenZerlegung in harmonische Schwingungen
BearbeitenObige Beispiele lassen erkennen, dass man die zeitlichen Veränderungen der Bahnelemente als eine Überlagerung periodischer Funktionen beschreiben kann. So folgt die Exzentrizität der Erdbahn im Zwei-Planeten-Modell offensichtlich weitgehend einer Sinusschwingung, welche eine Periode von etwa 200000 Jahren und eine Amplitude von ungefähr 0.01 aufweist. Die jährliche Änderung der Exzentrizität zeigt klar auf, dass zusätzlich viel raschere Schwingungen vorhanden sind, die nur wenige Jahre dauern und deren Amplituden in der Größenordnung 0.00001 liegen.
Das Drei-Planeten-Modell lässt auch langfristig mehrere sich überlagernde Zyklen erahnen. Die Exzentrizitäten der Erd- und Venusbahn beschreiben selbst aus diesem Blickwinkel keine einfachen Sinusschwingungen, sondern weisen zusätzliche Variationen auf, die sich über etwa 10000 Jahre erstrecken und Amplituden auf einer Skala von 0.001 aufweisen.
Wie der Mathematiker Fourier zu Beginn des 19. Jh. zeigte, kann eine Funktion in der Tat als eine Überlagerung harmonischer Schwingungen aufgefasst werden, wobei c eine Konstante darstellt.
Jede Schwingung hat eine Amplitude , eine Phase und eine Kreisfrequenz . Den ersten Summanden bezeichnet man als Grundschwingung, die übrigen als Oberschwingungen.
muss nicht unbedingt wie hier für die Planetenbahnen eine Zeitfunktion sein. Wellen beispielsweise zeigen nicht nur zeitlich, sondern auch räumlich ein periodisches Verhalten, das mit Fouriers Methode ebenso untersucht werden kann.
Die Darstellbarkeit einer Funktion als eine Summe harmonischer Schwingungen bedeutet nicht, dass eine solche physikalisch tatsächlich durch solche Oszillationen repräsentiert wird. Das quasiperiodische Verhalten der Bahnelemente entsteht dadurch, dass bestimmte Relativpositionen der Planeten untereinander unterschiedlich oft (fast) regelmäßig wiederkehren.
Reale harmonische Schwingungen findet man hingegen bei der soeben erwähnten Wellenausbreitung und damit z.B. bei klassischen Musikinstrumenten. Spielt man einen Grundton mit einer bestimmten Kreisfrequenz , so erklingen in der Tat auch sogenannte Obertöne höherer Frequenz. Die Amplitudenverhältnisse all dieser Töne untereinander bestimmen die Klangfarbe des Instruments. Im Idealfall entstehen beim Musizieren nur Töne mit einem ganzzahligen Vielfachen von . Treten auch andere Kreisfrequenzen auf, so wird der Klang oft als unharmonisch empfunden. Bei einigen Instrumenten wie z.B. dem Klavier, tragen aber gerade solche unharmonischen Obertöne wesentlich zur Klangfarbe bei.
Für die praktische Auswertung von ist es einfacher, trigonometrische Funktionen ohne eine Phase zu verwenden. Mit Hilfe der Beziehung gelangt man unmittelbar zu solch einer Form.
Die Koeffizienten und lassen sich folgendermaßen in Amplituden und Phasen umrechnen:
Gemäß Fourier existieren für jede Grundschwingung unendlich viele Oberschwingungen. In der Praxis jedoch ist die zu untersuchende Funktion nur mit einer endlichen zeitlichen bzw. räumlichen Auflösung bekannt, z.B. die simulierten Bahnelemente eines Planeten nur in diskreten Zeitabständen . Die höchste Frequenz, die bei solch eingeschränkter Kenntnis der Zeitfunktion noch ermittelt werden kann, entspricht gemäß dem Abtasttheorem von Nyquist und Shannon dem Intervall . Befindet sich eine derart rasche Schwingung zum Zeitpunkt 0 am Minimum, so steht sie zur Zeit am Maximum. Zum Zeitpunkt ist das nächste Minimum erreicht. Ein Zeitintervall reicht so gerade noch aus, pro Periode 3 Messwerte zu erfassen. Versucht man die Amplituden und Phasen noch schnellerer Oszillationen zu ermitteln, liefert die Fourier-Analyse zu höheren Frequenzen hin immer mehr Artefakte, da mit nur 2 verfügbaren Messpunkten pro Schwingung deren Amplitude und Phase nicht mehr eindeutig festgelegt werden können.
Um die Koeffizienten und zu bestimmen, normiert man das Zeitintervall , für welches bekannt ist, auf . Sind für die Zeitfunktion insgesamt äquidistante Werte bekannt, welche nacheinander von 0 bis durchnummeriert werden, so gilt:
Mit einem auf normierten Messintervall ist die Kreisfrequenz jeder Schwingung direkt durch gegeben. Macht man die Normierung wieder rückgängig, so gilt bzw. für die Periode der Schwingung .
kann Werte von 1 bis annehmen. Da für jede Schwingung Summen mit Gliedern auszuwerten sind, ist auf den ersten Blick der Rechenaufwand proportional zu . Spezielle Algorithmen, die bestimmte Eigenschaften der trigonometrischen Funktionen ausnutzen, gestatten jedoch eine Berechnung mit einem Aufwand proportional zu . Man kann dies erreichen, indem man die Summanden geschickt umsortiert.
Jeder solche ist ein Produkt aus einem Wert der Zeitfunktion und einer trigonometrischen Funktion. Alle Kombinationen aus und , für welche die Division den gleichen Rest liefert, weisen dabei wegen des periodischen Verhaltens der trigonometrischen Funktionen gleiche Sinus- bzw. Cosinuswerte auf. Wenn man die Summanden nach eben diesen Divisionsresten sortiert, kann man alle zu einem bestimmten Rest gehörenden addieren und muss dann nur diese Summe mit der trigonometrischen Funktion multiplizieren. Die Verringerung des Rechenaufwands geschieht also durch eine Reduzierung der Anzahl der Multiplikationen. Besonders effizient lassen sich die Summanden sortieren, wenn die Anzahl der Messwerte für die Zeitfunktion eine ganzzahlige Potenz von 2 darstellt.
Für das Umsortieren sind mehrere Verfahren bekannt, welche als schnelle Fourier-Transformationen bezeichnet werden. Solche werden von den meisten gängigen Plot-Programmen unterstützt, so dass hier nicht weiter darauf eingegangen wird.
Einschub für Fortgeschrittene: Komplexe Fourierreihe und Fourierintegral
Um eine Funktion als eine Summe von Schwingungen darzustellen, verwendet man in der Praxis anstatt der beiden trigonometrischen Funktionen Simus und Cosinus oft die komplexe Exponentialfunktion:
Sowohl die Amplitude als auch die Phase einer jeden Schwingung stecken nun in einem einzigen, jedoch ebenfalls komplexen Koeffizienten :
Für die Auswertung der Koeffizienten normiert man das von äquidistanten Messpunkten überdeckte Zeitintervall abermals auf . Anstelle des Sinus und Cosinus genügt wiederum die komplexe Exponentialfunktion:
Die komplexe Exponentialfunktion weist die gleichen periodischen Eigenschaften auf wie Sinus und Cosinus. Dementsprechend lassen sich auch für die komplexe Darstellung Summanden, für die den gleichen Rest aufweist, zusammenfassen und damit die Berechnung der erheblich optimieren.
Im Idealfall einer beliebig feinen zeitlichen (oder je nach Art des Problems auch räumlichen) Auflösung von tritt an die Stelle einer Summe über harmonische Schwingungen ein Integral über ein kontinuierliches, d.h. auch nicht harmonische Anteile enthaltendes Spektrum:
Da die Kreisfrequenz nun beliebige Werte und nicht nur ein ganzzahliges Vielfaches einer Grundfrequenz annehmen kann, wird kein Zähler mehr benötigt. Der zu einer Frequenz jeweils gehörige Koeffizient folgt aus der Vorschrift:
Amplitude und Phase folgen aus den Real- und Imaginärteilen von auf gleiche Weise wie für diskrete .
Anwendung auf Simulationsbeispiele
BearbeitenDas Fourier-Verfahren zur Ermittlung der Grund- und Oberschwingungen einer Zeitfunktion wird nun auf den zeitlichen Verlauf der Exzentrizität angewandt. Bei einer über 500000 Jahre sich erstreckenden Simulation liefert es Amplituden für Schwingungskomponenten mit Perioden von 500000 / Jahren.
Betrachtet man die Erdbahn im Rahmen des Zwei-Planeten-Modells, so ist die Schwingung mit = 3 am stärksten. Sowohl die Amplitude von etwa 0.01 als auch die Periode von 167000 Jahren entspricht dem optischen Erscheinungsbild der Zeitfunktion. Es liegt aber keine reine Sinusschwingung vor, da vor allem die Komponenten in der Umgebung der Hauptschwingung durchaus noch vergleichbar starke Amplituden von bis zu 0.003 aufweisen. Für sämtliche Oszillationen mit einem zwischen 1 und 6 finden sich Amplituden von zumindest 0.001.
Mit zunehmendem , d.h. abnehmender Periode, nimmt die Amplitude zumeist monoton ab. Im Bereich von Perioden der Größenordnung 1-10 Jahre treten jedoch markante Spitzen auf, deren Amplituden allerdings höchstens bis an eine Größenordnung von 0.00001 heranreichen. Diese Komponenten sind für die zahlreichen, jedoch geringfügigen Schwankungen der Exzentrizität verantwortlich, die sich bei einer Betrachtung mit hoher Zeitauflösung zeigen.
Im Drei-Planeten-Modell findet sich für die Erde die Hauptkomponente erneut bei = 3, für die Venus aber bei = 4 entsprechend einer Periode von 125000 Jahren. Die Amplitude liegt jeweils um 0.01. Vor allem bei der Venus, aber auch noch für die Erde, ist das Maximum im Vergleich zum Zwei-Planeten-Modell aber weniger scharf ausgeprägt. Für die Erde haben jetzt alle Komponenten bis = 7 eine Amplitude von zumindest 0.001, für die Venus gilt dies bis zu = 8. Bei Perioden von einigen 10000 Jahren treten für die Erde zudem noch einige signifikante Maxima mit Amplituden von einigen 0.0001 auf. All dies stimmt gut mit dem Bild eines auch auf langer Zeitskala komplizierten Verlaufs der Exzentrizität überein, der kaum noch Ähnlichkeit mit einer einfachen Sinusschwingung hat.
Wie für das Zwei-Planeten-Modell nimmt die Amplitude zu kurzen Perioden hin stark ab. Die dort sichtbaren Spitzen sind für das Drei-Planeten-Modell aber wesentlich zahlreicher, was den optischen Eindruck eines äußerst komplexen zeitlichen Verlaufs bei hoher Auflösung bestätigt.
Langzeitsimulationen unter Einbeziehung aller Planeten offenbaren im zeitlichen Verlauf der Bahnelemente die Existenz einer Vielzahl markanter Schwingungen mit z.T. noch viel längeren Perioden als hier im Rahmen der vereinfachten Modelle angedeutet werden kann. So geben Laskar und andere (2011) [32] für die Exzentrizität des Erdorbits Zyklen von 95000, 124000, 405000, 688000, 1 Million und 2.4 Millionen Jahren an. All diese Komponenten weisen nur wenig unterschiedliche Amplituden im Bereich 0.001 bis 0.01 auf. Dies hat zur Folge, dass auch der langfristige Verlauf der Exzentrizität ein schwer durchschaubares Muster annimmt, wobei diese wie schon erwähnt Werte zwischen 0 und 0.07 annimmt.
Analytische Behandlung des gestörten Zwei-Körper-Problems (für Fortgeschrittene)
BearbeitenEine Lösung des gestörten Zwei-Körper-Problems erfordert fundierte Kenntnisse der Differential- und Integralrechnung, so dass dieser Abschnitt an Fortgeschrittene gerichtet ist. Es existieren hierfür etliche Verfahren, welche im Rahmen dieses Buches jedoch nicht alle vorgestellt werden können. Das nun als Beispiel detailliert erörterte Vorgehen von Wisdom und Holman (1991) [35] wurde ausgewählt, weil es dem quasiperiodischen Verhalten der Bahnelemente besonders prägnant Rechnung trägt.
Hamilton-Funktion und Hamiltonsche Gleichungen
BearbeitenDie Lösung vieler Probleme der Mechanik beruht auf der Hamilton-Funktion. Diese gibt die Gesamtenergie eines Systems von Massenpunkten als Funktion dessen Phasenraumes, d.h. in Abhängigkeit von den Impulskoordinaten und Ortskoordinaten der einzelnen Mitglieder des Ensembles an.
Allgemein kann die Hamilton-Funktion auch zeitabhängig sein. Für die Planetenbewegungen sind jedoch selbst schon die von den nächsten Sternen ausgeübten Gravitationskräfte belanglos, so dass das Sonnensystem als abgeschlossen und damit die Gesamtenergie als konstant betrachtet werden darf.
Die große Bedeutung der Hamilton-Funktion liegt darin, dass sie gemäß der Hamiltonschen Gleichungen Impuls- und Ortskoordinaten miteinander verknüpft:
Die Ableitung der Gesamtenergie nach der Impulskoordinate eines Massenpunktes liefert dessen entsprechende Geschwindigkeitskoordinate, die Ableitung von nach einer Ortskoordinate die in der entsprechenden Richtung auf den Körper einwirkende Kraft (und damit Beschleunigung). Die zweite Gleichung stellt eine umgekehrte Sichtweise des Arbeitsprinzips dar. Bewegt sich ein Massenpunkt eine gewisse Strecke in einem Kraftfeld, so gewinnt (oder verliert) er potentielle Energie. Dementsprechend beschreibt die Änderung der potentiellen Energie entlang dieser Strecke die unterdessen ausgeübte Kraft.
Verwendet man gewöhnliche Orts- und Impulskoordinaten, so lautet die Hamilton-Funktion eines durch die Schwerkraft bestimmten Mehrkörpersystems (wobei die Masse des Mitglieds und der Abstand zwischen zwei Körpern und bedeuten):
Der erste Summand gibt die kinetische, der zweite die potentielle Energie an. Da die Bewegung jedes Planeten durch die Sonne und nicht durch die jeweils anderen Planeten dominiert wird, ist eine Darstellung der folgenden Form wünschenswert, wobei die reduzierte Masse des Trabanten, die Sonnenmasse sowie und Relativimpuls und -abstand zwischen Sonne und Planet angeben:
Man will also den Energiebeitrag jedes Planeten wie im ungestörten Zweikörperproblem beschreiben, wobei die von diesen untereinander definierte potentielle Energie nur eine kleine Störung der Gesamtenergie bewirkt. Unter Verwendung eines einfachen Koordinatensystems wie Schwerpunkt- oder heliozentrisches System lässt sich dies jedoch nicht bewerkstelligen.
Hamilton-Funktion mit Jacobi-Koordinaten
BearbeitenDie Trennung der potentiellen Energie in einen ungestörten Zwei-Körper- und einen Störanteil gelingt mittels sogenannter Jacobi-Koordinaten, welche durch folgende Iteration generiert werden. Ausgangspunkt ist die Zentralmasse , welche in den Ursprung - definiert wiederum durch den Schwerpunkt des ganzen Ensembles - gesetzt wird. Die Position des 1. Planeten wird relativ zu derjenigen von angegeben, die Position des 2. Planeten relativ zum Schwerpunkt, welcher durch die Zentralmasse und den 1. Planeten gebildet wird. Allgemein wird jeder hinzutretende Planet relativ zum Schwerpunkt aller bisher eingeordneten Körper betrachtet:
In welcher Reihenfolge diese Umrechnung erfolgt, ist an für sich egal, doch in der Praxis beginnt man zumeist mit dem innersten Planeten und geht von diesem aus sukzessive zum äußersten.
Die Geschwindigkeiten werden wie die Ortskoordinaten behandelt. Um den Impuls korrekt in das Jacobi-Koordinatensystem zu übertragen, ist aber zusätzlich eine Massentransformation erforderlich. Die Jacobi-Masse der Zentralmasse entspricht der Gesamtmasse des Systems. Für die Planeten gilt:
Damit ist analog zum gewöhnlichen Schwerpunktsystem . Das Einsetzen der neuen Koordinaten in die Gesamtenergie liefert:
Der erste Term gibt schlicht die kräftefreie Bewegung des Schwerpunkts an und wird so in der Folge nicht weiter benötigt. Die Gesamtenergie liegt jetzt fast schon in der angestrebten Weise vor, doch sind für die beiden letzten Terme die Massen und insbesondere die Abstände zwischen diesen noch in gewöhnlichen statt Jacobi-Koordinaten gegeben. Durch Hinzufügen und gleichzeitiges Subtrahieren des Glieds gewinnt man aber den Ausdruck:
Das Ziel der Darstellung der potentiellen Energie als Summe von ungestörter und gestörter Komponente ist damit erreicht, doch letztere erscheint noch sehr kompliziert. Wegen der Dominanz der Zentralmasse ist der Unterschied zwischen gewöhnlichen und Jacobi-Koordinaten aber gering. Dies gestattet es, den heliozentrischen Abstand in eine Taylorreihe um den in Jacobi-Koordinaten gegebenen Abstand zu entwickeln und diese Reihe nach dem linearen Glied abzubrechen. Unter Vernachlässigung aller höheren Terme erhält man schließlich:
Modellierung der Störfunktion durch periodische Stöße
BearbeitenDer entscheidende Gedanke von Wisdom und Holman besteht nun darin, den Störanteil der Hamilton-Funktion nicht permanent, sondern periodisch wirken zu lassen. Die Autoren stellen somit die Störung der Bahn eines Planeten durch die jeweils anderen Mitglieder des Sonnensystems durch eine regelmäßige Folge kleiner Stöße da, die auf den betroffenen Körper einwirken. Mathematisch gescheht dies durch Multiplikation des Störanteils mit der periodischen Diracschen Delta-Funktion:
ist streng genommen keine Funktion, sondern eine sogenannte Distribution, welche durch Grenzwertbildung aus einer Funktionenreihe hervorgeht:
Nachfolgendes Diagramm zeigt die periodische Diracsche Deltafunktion für den Sonderfall , angenähert durch Berücksichtigung der Summanden mit = -1..1, -3..3 und -5..5.
An den Stellen 0, 2, 4 usw. liefert jeder Summand einen Beitrag von 1, somit divergiert dort gegen . An allen anderen Stellen treten mit zunehmendem immer mehr destruktive Interferenzen zwischen den Summanden auf, so dass die periodische Diracsche Delta-Funktion gegen 0 strebt. Das über eine Periode genommene Integral über bleibt gleichwohl endlich mit einem Gesamtwert von 1. Für jeden Summanden mit von 0 verschiedenem verschwindet es nämlich, für den Summanden mit liefert es den Wert 1. All diese Eigenschaften garantieren, dass über eine Periode gemittelt der Betrag der modifizierten Hamilton-Funktion gegenüber der originalen unverändert bleibt.
Durch die Multiplikation der Störenergie mit der periodischen Diracschen Delta-Funktion wird auch das gestörte Kepler-Problem analytisch lösbar. Der freie Parameter gibt hierbei die Frequenz an, mit welcher im Modell ein Planet durch die jeweils anderen gestoßen wird, dementsprechend die zeitliche Schrittweite, mit der ein solcher simuliert wird. Je größer die Stoßfrequenz gewählt wird, umso besser entspricht das Modell der Realität einer kontinuierlich einwirkenden Störung, umso größer ist jedoch dann auch der Rechenaufwand angesichts geringer zeitlicher Abstände zwischen aufeinanderfolgenden Stößen. Wie auch bei anderen Lösungsverfahren, dürfen für das Stoßmodell im Vergleich zu einer rein numerischen Integration die Zeitschritte viel gröber gewählt werden. Gemäß Wisdom and Holman reicht es aus, die Stoßfrequenz gleich der (ungestörten) Bahnperiode eines Planeten zu setzen. Hingegen wurden für die auf dem Hermite-Polynome-Verfahren beruhenden Beispiele in diesem Kapitel etwa 300 Zeitschritte pro Bahnperiode aufgewandt.
Sternhaufen
BearbeitenIm Gegensatz zu einem Planetensystem besitzt ein Sternhaufen keine dominierende Zentralmasse. Selbst das massereichste Mitglied eines solchen kann bestenfalls einige Prozent der Gesamtmasse des Ensembles aufbieten. Wie schon das mehrfach in diesem Buch gezeigte, aus drei Sternen gleicher Masse bestehende System andeutet, kann man unter solchen Bedingungen nicht erwarten, dass sich auch nur halbwegs stabile, periodische Bahnen herausbilden. Das Verhalten eines Haufens durch die Positionen und Geschwindigkeiten der Einzelobjekte oder dazu äquivalente Parameter in Form von Bahnelementen zu beschreiben, macht daher keinen Sinn. Stattdessen ist es angebracht, zu einer statistischen Betrachtungsweise überzugehen und sich auf globale Eigenschaften des Haufens zu konzentrieren. Angesichts der oft völlig regellos erscheinenden Orbits seiner Mitglieder erweist sich dabei der Vergleich mit einem Gas, dessen Moleküle sich ebenfalls ungeordnet bewegen, als nützlich.
Vergleich mit einem Gas
BearbeitenVirialsatz
BearbeitenWie schon im Grundlagenkapitel besprochen, ist in einem abgeschlossenen System die Gesamtenergie konstant, wobei diese bei Anwesenheit der Gravitation als einzige Kraft durch die Summe von kinetischer und potentieller Energie gegeben ist. Wie Rudolf Clausius 1870 erkannte, lässt sich für ein Gas in thermischem Gleichgewicht eine weitere nützliche Beziehung für das zeitliche Mittel diesen beiden Energieformen aufzeigen. Auf einen Sternhaufen übertragen, muss man als Analogie zum thermischen Gleichgewicht verlangen, dass die zeitlichen Mittel der Positionen und Geschwindigkeiten der einzelnen Sterne beschränkt bleiben. Unter dieser Voraussetzung gilt für ein wiederum ausschließlich der Schwerkraft unterliegendes System:
Die Richtigkeit dieses Satzes kann man anhand des ebenfalls bereits oft behandelten Spezialfalls einer Kreisbahn plausibel machen, auf welcher eine kleine Masse eine sehr viel größere Zentralmasse in einer Entfernung umkreist. In diesem Fall sind beide Energien konstant und die kinetische Energie (fast) allein durch die kleine Masse gegeben, da die große Masse (nahezu) unbeweglich in der Mitte ruht. Setzt man kinetische und potentielle Energie in obige Beziehung ein, so erhält man:
Durch Division mit r und Umstellen der Gleichung folgt daraus:
Dies aber ist genau die für eine Kreisbahn erforderliche Gleichheit von Zentripetal- und Anziehungskraft.
Betrachtet man eine beliebige Keplerbahn für , so wird die Notwendigkeit einer Mittelung der Energien deutlich. Aus der schon zur Bestimmung der Bahnelemente der Planeten herangezogenen Vis-Viva-Gleichung folgt, dass die Geschwindigkeit der umlaufenden Masse im Abstand von der Zentralmasse folgenden Wert aufweist:
Für eine Ellipse ist hierbei die große Halbachse positiv, für eine Hyperbel negativ, für eine Parabel unendlich (so dass für letztere der Term verschwindet). Hyberbel- und Parabelbahnen kommen für eine Diskussion des Virialsatzes jedoch nicht in Frage, da sich solche bis ins Unendliche erstrecken, d.h. die Anforderung der Beschränktheit für die Position nicht erfüllen. Die Energiebilanz für einen elliptischen Orbit lautet:
Der kleinstmögliche Abstand zwischen und ist durch gegeben, wobei wiederum die Exzentrizität der Bahn darstellt. Die maximale Distanz beträgt . Diese Grenzen für den Abstand zwischen und liefern folgendes Intervall für :
Kommen sich zwei Objekte in einem Mehrkörpersystem im Vergleich zu den Entfernungen der übrigen Körper sehr nahe, so bewegen sie sich während dieser Passage auf einer nur noch geringfügig gestörten Keplerbahn. Häufig handelt es sich dabei um einen Orbit, deren Exzentrizität nahe bei 1 liegt. Aus obiger Betrachtung folgt, dass aber gerade dann kurzzeitig einen sehr hohen Wert annehmen kann. Nach unten ist dagegen beschränkt. Macht man von einem Sternhaufen wiederholt Momentaufnahmen von , muss man starke Fluktuationen erwarten, die zwar nur relativ schwach ausgeprägte Minima, aber sehr prägnante Maxima aufweisen.
Relaxation
BearbeitenWie gerade diskutiert, setzt der Virialsatz voraus, dass das Ensemble sich in einem gewissen Gleichgewichtszustand befindet. Ein solcher wird erreicht, indem die Mitglieder des Systems untereinander Energie austauschen, wenn sie miteinander in Wechselwirkung treten. Ein Gasmolekül stößt ständig mit anderen Molekülen zusammen, ein Stern in einem Haufen erleidet immer wieder mehr oder weniger enge Vorübergänge anderer Sterne. Jedes derartige Ereignis ist mit einem Energieaustausch und einer Änderung der Bahn der Stoßpartner verbunden. Ein statistisches Gleichgewicht im System ist dann erreicht, wenn die Einzelobjekte im Mittel eine Energieänderung erfahren haben, welche so groß ist wie deren kinetische Energie selbst.
Dieser Übergang in den Gleichgewichtszustand durch permanenten Energieaustausch innerhalb des Ensembles wird Relaxation genannt, die dazu erforderliche Zeit Relaxationszeit . Im Falle eines Sternhaufens hängt diese von der Mitgliederzahl , seinem Radius und der Gesamtmasse ab. Die Diskussion von Röser und Tscharnuter (2012) [36] führt zu folgender Beziehung:
Je mehr Sterne sich in einem Haufen befinden und um so größer er ist, um so länger braucht er, bis er sich im Gleichgewicht befindet. Umgekehrt erreicht er ein solches um so schneller, je massereicher er ist. Drückt man den Haufenradius in Parsec und seine Masse in Sonnenmassen aus, so ergibt sich ein wesentlich handlicherer Ausdruck mit der Relaxationszeit in Jahren:
Für die Plejaden ergibt sich mit 2100 Mitgliedern, einem Radius von 2.5 Parsec und 690 Sonnenmassen eine Relaxationszeit von circa 56 Millionen Jahren. 47 Tucanae weist mit etwa 1 Million Sternen, einem Radius von 18 Parsec und circa 900000 Sonnenmassen ein von ungefähr 7.6 Milliarden Jahren auf, d.h. zwei Größenordnungen über der entsprechenden Zeitskala für die Plejaden. Der Kugelhaufen besitzt weit mehr Mitglieder und ist wesentlich ausgedehnter, was selbst durch die sehr viel größere Masse kaum kompensiert wird. Zwar sorgt die höhere Dichte vor allem im Zentrum für häufige enge Passagen zwischen den Sternen, doch aufgrund der vielen Mitglieder geht für den Haufen insgesamt der Energieaustausch nur langsam vonstatten.
Wie später noch diskutiert wird, können Sterne durch enge Vorübergänge untereinander so stark beschleunigt werden, dass sie tatsächlich das Gesamtsystem verlassen. Streng genommen ist so der Virialsatz nicht wirklich gültig und ein Gleichgewicht in dessen Sinne für einen Sternhaufen gar nicht erreichbar. Man kann allerdings beobachten, das die zeitlichen Mittel von kinetischer und potentieller Energie das Theorem dennoch in sehr guter Näherung befolgen.
Zum Schluss dieses Abschnitts soll die Relaxationszeit mit der dynamischen Zeit verglichen werden. Das Verhältnis der beiden Zeiten ist proportional der Anzahl an Zeitschritten, welche für eine Simulation der Dauer abgearbeitet werden müssen. Im Kapitel "Enge Begegnungen von Massenpunkten" wurde im Unterkapitel "Dynamische Zeitskalen" bereits gezeigt, dass . Drückt man die typische Sternmasse durch aus, so erhält man . Andererseits gilt wie soeben gezeigt . Einsetzen liefert:
Die erforderliche Anzahl an Zeitschritten für die Simulation eines Sternhaufens hängt also allein von der Anzahl dessen Mitglieder, nicht aber seiner Größe oder Masse ab. Die Abhängigkeit von ist leider sehr stark, für einen Haufen mit der 10-fachen Anzahl an Sternen muss bereits etwa das 50-fache an Zeitschritten aufgewandt werden.
Anfangsbedingungen
BearbeitenIm Falle eines Planetensystems hat man es mit nur wenigen Körpern zu tun, so dass man deren anfängliche Positionen und Geschwindigkeiten per Hand festlegen kann. Zudem lassen sich diese Größen für die Planeten des Sonnensystems mit hoher Genauigkeit bestimmen. Bei einem aus tausenden oder gar Millionen Sternen bestehenden Haufen kommt ein solches Vorgehen nicht in Frage. Zwar kann man die Positionen der Mitglieder eines Haufens am Himmel genau angeben (sofern dieser sich noch in Einzelobjekte auflösen lässt), nicht aber deren Abstände untereinander in Blickrichtung. Bei den Geschwindigkeiten verhält es sich genau umgekehrt. Der Dopplereffekt liefert präzise die Geschwindigkeitskomponente in Blickrichtung. Die Komponente senkrecht dazu ist jedoch, wenn überhaupt, mit viel geringerer Genauigkeit bekannt. Sie folgt aus winzigen Änderungen der Positionen der Gestirne über einen genügend langen Zeitraum. Je weiter das System entfernt ist, umso geringer fallen diese Verschiebungen aus und sind dementsprechend schließlich nicht mehr nachweisbar.
Anstatt jedem einzelnen Stern gemessene Anfangsbedingungen zuzuweisen, arbeitet man schon zu Beginn der Simulation eines Haufens mit globalen Eigenschaften. Die wichtigsten davon sind die Häufigkeit, mit der bestimmte Sternmassen und Geschwindigkeiten auftreten, sowie die Sterndichte in Abhängigkeit vom Abstand zum Zentrum des Systems. Für solche statistischen Eigenschaften lassen sich Anfangsdaten weit zuverlässiger angeben als für jedes einzelne Objekt. Der Übergang zu individuellen Anfangsbedingungen geschieht, indem man jedem Stern eine zufällige Masse, Position und Geschwindigkeit zuordnet. Die Wahrscheinlichkeiten, mit denen Zufallszahlen bestimmte Werte annehmen, werden dabei an die beobachteten statistischen Gesetzmäßigkeiten angepasst.
Sternmassen
BearbeitenSchon seit langem ist bekannt, dass massereiche Sterne viel seltener sind als massearme. Salpeter (1955) [37] bestimmte erstmalig mit relativ hoher Genauigkeit die Häufigkeit , mit welcher Sternmassen in der Umgebung der Sonne auftreten. Er fand, dass sich für Einzelsterne gut durch ein Potenzgesetz beschreiben lässt:
Neuere Untersuchungen haben gezeigt, dass für sehr massearme Sterne unterhalb von 0.5 Sonnenmassen, den sogenannten Roten Zwergen, nicht mehr so steil von abhängt. Dank sehr empfindlicher Instrumente sind in den letzten Jahrzehnten auch die sogenannten Braunen Zwerge der Beobachtung zugänglich geworden. Für diese zeigt die Häufigkeitsverteilung einen noch flacheren Verlauf. Kroupa (2001) [38] gibt für Körper zwischen 0.01 und 50 Sonnenmassen folgende Beziehungen an:
Die Wahrscheinlichkeit, ein Objekt zwischen 0.01 und 50 Sonnenmassen zu finden, muss natürlich gleich 1 sein. Daraus ergibt sich für den Faktor ein Wert von 1.987601. Die entsprechende Kurve ist nachfolgenden dargestellt.
Aus den Angaben Kroupas folgt, dass braune Zwerge etwa 37.2% der für einen Sternhaufen relevanten Körper stellen. Rote Zwerge weisen einen Anteil von ungefähr 47.8%, die übrigen Sterne einen solchen von etwa 15.0% auf. Objekte mit weniger als 0.01 Sonnenmassen sind, wie die vielen kleinen Körper im Sonnensystem zeigen, natürlich am zahlreichsten. Jedoch ist deren Gesamtmasse so gering, dass sie für die Dynamik eines Haufens keine Rolle spielen. Umgekehrt existieren auch Sterne mit mehr als 50 Sonnenmassen. Solche sind aber äußerst kurzlebig, so dass sie nur in sehr jungen, wenige Millionen Jahre alten Sternhaufen anzutreffen sind.
Aus der viel größeren Häufigkeit massearmer Sterne folgt, dass eine Zufallszahl zwischen 0 und 1 viel öfter einer geringen Masse zugeordnet werden muss als einer hohen. Um dies zu erreichen, geht man folgendermaßen vor. Man betrachtet die Wahrscheinlichkeit , einen Stern mit einer Masse von höchsten Sonnenmassen herauszugreifen. Diese ist durch die Fläche zwischen 0.01 und M unter obiger Kurve gegeben. Die Integralrechnung liefert:
Durch Umstellen der Formeln und Ausrechnen der Konstanten gewinnt man die zu einer Zufallszahl gehörige Masse :
Dichteverteilung
BearbeitenEin Sternhaufen darf oft als kugelsymmetrisch betrachtet werden, so dass dann dessen Dichte nur vom Abstand von Zentrum abhängt, nicht aber auch von anderen Größen. Der Verlauf der Dichte mit zunehmender Entfernung vom Mittelpunkt kann aus Sternzählungen abgeschätzt werden (sofern auch die Zentralregion des Ensembles in Einzelobjekte aufgelöst werden kann), was jedoch nur für sehr junge Sternhaufen ein Abbild des Anfangszustands liefert. Insbesondere die Kugelhaufen im galaktischen Halo sind schon sehr alt, so dass man davon ausgehen muss, dass sich deren Dichteverteilung seit ihrer Entstehung stark verändert hat. Um auch in solchen Fällen zu einer Aussage über den ursprünglichen Zustand zu gelangen, muss man von der Bildung des Systems aus einer kollabierenden Gaswolke ausgehen und abschätzen, welche Gesetzmäßigkeit sich während der Kontraktion bis zur Sternentstehung einstellt. Beide Verfahren zeigen, dass schon nach Abschluss dieser ersten Entwicklungsphase die Materie in einem Haufen stark zum Zentrum hin konzentriert ist. Aarseth und andere (1974) [39] geben folgende initiale Verteilung der Dichte an:
bezeichnet dabei die Gesamtmasse, einen die Größe des Systems charakterisierenden Skalenfaktor. Neuere Arbeiten stützen sich auf komplexere Modelle, doch um die wesentlichen Eigenschaften eines Haufens zu demonstrieren, ist dieser einfache Ansatz ausreichend. Nachfolgendes Diagramm zeigt die auf den Zentrumswert normierte Dichte in Abhängigkeit von einem Vielfachen des Skalenfaktors.
Dem Modell zufolge fällt bereits die Anfangsdichte eines Haufens sehr steil nach außen hin ab. In einer Entfernung vom Zentrum beträgt sie 18%, bei einem Abstand 2% des zentralen Wertes.
Um einzelnen Sternen zufällige Entfernungen zuweisen zu können, ist es besser, anstatt der Verteilung der Dichte diejenige der Masse zu betrachten, welche von einer Kugel mit Radius umschlossen wird. Gemäß dem hier erläuterten Modell lautet diese:
Auch diese Beziehung sei graphisch dargestellt.
Eine Kugel mit Radius enthält demgemäß zu Beginn 35%, eine solche mit einem Radius 72% der Haufenmasse. Um 90% bzw. gar 99% der Gesamtmasse zu erfassen, wird schon zu Anfang ein Abstand von etwa 3.7 bzw. von circa 12.3 benötigt.
Um für ein Mitglied eine zufällige Entfernung vom Zentrum zu definieren, erzeugt man abermals eine Zufallszahl zwischen 0 und 1 und rechnet diese gemäß obiger Massenverteilung in einen Wert um. Da sich diese Beziehung nicht elementar nach der Entfernung auflösen lässt, muss man entweder durch Näherungsmethoden (z.B. das Newton-Verfahren) berechnen oder für verschiedene Werte von als Tabelle vorhalten.
Für Werte von nahe 1 treten sehr große Distanzen auf. Da solche nicht mehr als realistisch betrachtet werden können, empfehlen die Autoren, Werte von größer als 10 nicht mehr zu berücksichtigen. Dies entspricht Zufallszahlen größer als 0.985 entsprechend 98.5% der Haufenmasse.
Um einen vollständigen Satz kartesischer Koordinaten zu erzeugen, muss man in Analogie zum irdischen Gradnetz jedem Stern zusätzlich zur Entfernung zufällige Längengrade zwischen 0 und und Breitengrade zwischen 0 und zuweisen, wobei alle Winkel gleich wahrscheinlich sind. Die Umrechnung dieser Kugelkoordinaten in kartesische geschieht wie folgt:
Einschub für Fortgeschrittene: Anfängliche Dichteverteilung und polytrope Kompression
Das hier angegebene Dichtegesetz lässt sich ableiten, indem man einen Sternhaufen als Ergebnis einer polytropen Kompression im Gravitationsfeld betrachtet. Ein Gas unterliegt einer polytropen Zustandsänderung, wenn zwischen Druck und Volumen bzw. Dichte folgender Zusammenhang besteht. K ist hierbei eine Konstante, der sogenannte Polytropenexponent:
Für eine solche Zustandsänderung existieren mehrere Sonderfälle. Mit = 0 bleibt der Druck konstant, es liegt dann eine isobare Zustandsänderung vor. Im Falle = 1 verhalten sich Druck und Volumen umgekehrt proportional zueinander, was einer isothermen Zustandsänderung entspricht. Wird der Polytropenexponent sehr groß, erkennt man anhand der Umstellung , dass dann das Volumen konstant bleibt, sich also eine isochore Zustandsänderung ergibt.
Für die Energiebilanz während der Kompression ist der Vergleich von mit dem Isentropenexponent entscheidend, welcher durch das Verhältnis der Wärmekapazitäten für isobare und isochore Zustandsänderungen gegeben ist. Ist = , so liegt eine adiabatische Zustandsänderung vor. In diesem Fall tauscht das Gas keine Energie mit seiner Umgebung aus. Für eine durch ihre eigene Gravitation kollabierende Gaswolke gilt < . In solch einem Fall muss man an dem Gas Arbeit verrichten, um diesem Wärme zuzuführen. Dies geschieht hier durch das Gravitationsfeld, in welchem durch die Kontraktion der Gaswolke potentielle Energie in Wärmeenergie überführt wird.
Um diesen Vorgang zu beschreiben, wird der Polytropenexponent oft in der Form geschrieben. Die von Aarseth und anderen (1974) [39] angegebene Dichteverteilung erhält man mit = 5 bzw. = 6/5, was in der Tat geringer als der Isentropenexponent für Wasserstoffgas ist. Ist dieses noch sehr kalt, so dass es in molekularer Form vorliegt, so ist = 7/5. Erhitzt sich der Wasserstoff, so dass die Moleküle in einzelne Atome zerfallen, wird = 5/3.
Allgemein gilt , wobei f die Anzahl der Freiheitsgrade eines Gasteilchens ist. Ein einzelnes Atom hat derer nur 3 entsprechend den 3 möglichen kartesischen Bewegungsrichtungen. Ein zweiatomiges Molekül besitzt zusätzlich 2 Freiheitsgrade der Rotation.
Geschwindigkeitsverteilung
BearbeitenDas Modell von Aarseth und anderen (1974) [39] macht auch Aussagen über die anfänglichen Geschwindigkeiten der Sterne in einem Haufen. Da Sternsysteme aus kollabierenden Gaswolken hervorgehen, darf man annehmen, dass unmittelbar nach dem Ende der Entstehungsphase noch kein Stern sich schneller als die lokale Fluchtgeschwindigkeit bewegt. Die Häufigkeit , mit welcher Geschwindigkeiten zwischen 0 und anzutreffen sind, lautet den Autoren zufolge:
Diese Verteilung ist durch untenstehendes Diagramm wiedergegeben. Der Faktor 23.282074 sorgt dafür, dass die Wahrscheinlichkeit, einen Stern mit beliebiger Geschwindigkeit herauszugreifen, gleich 1 ist. Die Form der initialen Geschwindigkeitsverteilung ist gemäß dem Modell überall im Haufen gleich, auch wenn die Fluchtgeschwindigkeit selbst natürlich vom Abstand zum Zentrum desselben abhängt.
Um die Geschwindigkeitsverteilung durch Zufallszahlen zu simulieren, muss man jetzt etwas trickreicher vorgehen. Man erzeugt zwei Zufallszahlen und zwischen 0 und 1, welche folgende Bedingung erfüllen müssen:
2.146859 ist der maximale Wert, den annehmen kann. Wird die Beziehung nicht eingehalten, muss man solange neue Zahlenpaare generieren, bis diese obiger Anforderung genügen.
Hat man geeignete Zufallszahlen erhalten, so gewinnt man mittels einen zufälligen Geschwindigkeitsbetrag. Um zufällige Bewegungsrichtungen festzulegen, erzeugt man wie für die Positionen zwei zufällige Winkel und , also abermals eine Darstellung in Kugelkoordinaten. Die Umrechnung in kartesische Koordinaten geschieht durch die gleichen Formeln wie schon für die Orte gezeigt.
Die anfänglichen Geschwindigkeiten deuten an, dass ein sehr junger Sternhaufen noch nicht mit einem in thermodynamischen Gleichgewicht sich befindlichen Gas vergleichbar ist. In einem solchen folgen die Teilchen der sogenannten Maxwellschen Geschwindigkeitsverteilung, welche im Gegensatz zum hier skizzierten Modell keine feste obere Schranke für die Geschwindigkeit aufweist, also auch zulässt. Ein junger soeben aus einer kontrahierten Gaswolke entstandener Haufen befindet sich noch weit weg von einem Gleichgewichtszustand, so dass im Laufe seines Lebens signifikante Änderungen nicht nur der Dichte-, sondern auch der Geschwindigkeitsverteilung zu erwarten sind.
Dynamische Entwicklung
BearbeitenIm folgenden sollen anhand eines Systems mit einigen hundert Mitgliedern typische während der Entwicklung eines Sternhaufens auftretende Effekte diskutiert werden. Eine wichtige Voraussetzung dafür ist nicht allein die korrekte Festlegung der Anfangsbedingungen, sondern auch eine adäquate Einstellung des im folgenden benutzten Barnes-Hut-Algorithmus.
Justierung des Barnes-Hut-Algorithmus
BearbeitenWie im vorausgegangenen Kapitel aufgezeigt, beschleunigt der Barnes-Hut-Algorithmus die Berechnung der auf einen Massenpunkt wirkenden Kraft erheblich, indem Würfel einer Kantenlänge definiert und alle von einem solchen eingeschlossenen Objekte durch ihren Schwerpunkt ersetzt werden. Eine solche Substitution wird als zulässig betrachtet, solange der Abstand eines derartigen Würfels deutlich größer als ist, das Verhältnis also eine vorgegebene Schwelle nicht überschreitet.
Anhand einfacher Konstellationen wurde abgeschätzt, dass der Fehler dieses Näherungsverfahrens für > 0.5 rasch zunimmt. Simulationen mit verschiedenen Werten für zeigen, dass die Energieerhaltung auf lange Sicht bereits für > 0.25 instabil werden kann. Als Beispiel sei ein kleiner Haufen von 100 Sternen mit 0.1 bis 10 Sonnenmassen und einem = 1 Parsec betrachtet, dessen Entwicklung über 35 Millionen Jahre (entsprechend dem 10-fachen seiner Relaxationszeit) verfolgt wird.
Für = 0, d.h. einen völligen Verzicht auf eine Raumhierarchie, weist die Simulation zumeist eine sehr gute Stabilität der Gesamtenergie auf. Gelegentlich kommt es zu kurzzeitigen Abweichungen, was darauf hindeutet, dass trotz Verwendung adaptiver Zeitschritte und einer Glättung der Gravitation mittels eines Plummerradius enge Begegnungen zweier Massenpunkte nicht immer korrekt behandelt werden. Zudem tritt auch eine langsame Drift der Gesamtenergie auf. Bis auf eine Ausnahme übersteigt der relative Fehler der Gesamtenergie 0.2% nicht.
Auf die Behandlung naher Vorübergänge zweier Haufenmitglieder hat das Einschalten des Bernes-Hut-Algorithmus kaum Einfluss. Mit = 0.1 bzw. 0.25 werden die kurzzeitigen Energieschwankungen weder häufiger noch stärker. Die Drift der Gesamtenergie verstärkt sich jedoch, es werden hier relative Fehler von bis zu 0.3 bzw. 0.5% beobachtet. Mit = 0.5 wird auf lange Sicht die vorliegende Simulation mit relativen Fehlern der Gesamtenergie von mehreren 10% bereits sehr instabil.
Nebst dem Parameter müssen auch die Zeitschritte als Bruchteil der dynamischen Zeitskala festgelegt werden. Das gleiche System wie oben wurde nun mit einem festen = 0.1 modelliert, aber mit verschiedenen Einstellungen für die dynamische Schrittweite. Als Lösungsmethode wurde abermals das Leapfrog-Verfahren herangezogen.
Mit Schritten von 1 / 200 der dynamischen Zeitskala ergibt sich eine sehr gute Energieerhaltung mit einem relativen Fehler von nicht mehr als 0.1%. Wird die Schrittweite auf 1 / 100 gesetzt, wird wie soeben skizziert eine Stabilität der Gesamtenergie auf einem Niveau von 0.3% erreicht. Erhöht man auf 3 / 100 der dynamischen Zeitskala, so verschlechtert sich die Energieerhaltung sowohl hinsichtlich der kurzzeitigen Schwankungen - welche merklich häufiger und intensiver auftreten - als auch der langsamen Drift schon enorm. Der relative Fehler der Gesamtenergie steigt auf bis zu fast 3%. Mit noch gröberen Zeitschritten von 1/10 wird die Gesamtenergie mit relativen Fehlern von erneut mehreren 10% wiederum sehr instabil.
Simulationen mit dem Barnes-Hut-Algorithmus
BearbeitenDie soeben skizzierten Beispiele legen nahe, dass nicht weiter als 0.01 und nicht größer als 0.1 eingestellt werden sollte. Gerade bei kleineren Systemen ist die Anzahl der Massenpunkte pro Würfel oft gering und damit der Barnes-Hut-Algorithmus empfindlich gegenüber der Verteilung der Einzelobjekte innerhalb eines solchen. Der recht kleine Wert für bedeutet andererseits, dass in der näheren Umgebung eines Massenpunktes auf eine Gruppierung der dort vorhandenen Körper verzichtet wird.
Dennoch können damit Systeme einer Größenordnung von mehreren 100 Körpern über mehrere 1-10 Relaxationszeiten hinweg auch auf einem Laptop noch mit annehmbarer Rechenzeit modelliert werden. Die Entwicklung eines solchen Haufens wird nun an einem Ensemble mit 250 Mitgliedern und einer Gesamtmasse von 137 Sonnenmassen sowie einem Skalenradius = 1 Parsec erörtert. Die entsprechende Relaxationszeit beträgt etwa 4.8 Millionen Jahre. Die Simulation erstreckt sich über das 10-fache dieser Zeitskala.
Als erstes sei der zeitliche Verlauf der Energieverhältnisse im Haufen dargestellt. Um die potentielle Energie zu ermitteln, müssen alle möglichen Sternpaare individuell betrachtet werden, d.h. der Aufwand dieser Berechnung ist proportional zu . Um eine zu lange Rechenzeit zu vermeiden, wurde die Energie nicht für jeden Simulationsschritt bestimmt, sondern nur in Zeitabständen von 1/50 von .
liegt zu Beginn der Simulation weit unter 0, d.h. unmittelbar nach der Sternentstehung aus einer sich zusammenziehenden Gaswolke liegt noch kein dynamisches Gleichgewicht vor. Anstatt sich von diesem Anfangswert aus mehr oder weniger asymptotisch 0 anzunähern, schießt das Virial vergleichbar einem Überschwinger zunächst rasch weit darüber hinaus. Erst dann fällt auf langer Zeitskala betrachtet allmählich gegen 0 ab, wobei dieses Abklingen jedoch von sehr heftigen kurzzeitigen Ausschlägen sowohl nach oben als auch nach unten begleitet ist. Der Zeitrahmen dieses Abfalls liegt mit einigen 10 Millionen Jahren deutlich über der aus dem Skalenradius abgeleiteten Relaxationszeit.
Betrachtet man die Energiekomponenten individuell, so findet man in der ersten Phase der Simulation einen erheblichen Abfall der potentiellen Energie, der gemäß der Energieerhaltung von einem äquivalenten Anstieg der kinetischen Energie begleitet ist. Anschließend steigt die potentielle Energie erneut leicht an, entsprechend geht die kinetische Energie wieder etwas zurück. Im weiteren Verlauf der Simulation kommt es immer wieder zu raschen intensiven Umwandlungen der einen in die andere Energieform.
Wie die nächste Abbildung zeigt, ist der anfängliche starke Verlust an potentieller Energie auf eine deutliche Zunahme der Dichte in der Zentralregion des Ensembles zurückzuführen. Um diesen Sachverhalt zu demonstrieren wird wie in der Praxis üblich der Radius betrachtet, welcher die Hälfte der Haufenmasse einschließt. Dieser kontrahiert von etwa 1.46 Parsec ausgehend zunächst rapide und erreicht nach circa 5.3 Millionen Jahren ein Minimum von ungefähr 0.77 Parsec. Danach dehnt sich der Haufen aber zunehmend aus, auch wenn dieser Vorgang mehrfach von Phasen erneuter Kontraktion unterbrochen wird. Nach 22 Millionen Jahren hat erstmals seinen Anfangswert wieder erreicht, am Ende der Modellierung beträgt der Halbmassenradius etwa 1.77 Parsec. Trotz der Expansion sogar über den initialen Wert von hinaus wird das anfängliche Niveau an potentieller Energie nicht mehr erreicht.
Der Eindruck einer anfänglichen Verdichtung und anschließenden Expansion des Haufens wird durch die Verteilung der Entfernungen vom Schwerpunkt bekräftigt. Zum Zeitpunkt maximaler Kontraktion halten sich im innersten Bereich ( < 0.5 Parsec) mehr als doppelt so viele Sterne auf als zu Beginn. Zum Schluss befinden sich dort aber nur noch halb so viele Körper wie am Anfang, wohingegen deutlich mehr Objekte große Abstände von mehr als 2 Parsec aufweisen.
Die Dynamik des Haufens beschränkt sich nicht auf eine Entwicklung der Anzahldichte, sondern umfasst auch die Ausbildung einer
Massenschichtung. Massereiche Objekte konzentrieren sich im Laufe der Zeit zur Mitte hin, während massearme sich bevorzugt am Rand des Systems aufhalten. Trägt man für jeden Stern einzeln seine Masse gegen die Entfernung auf, so erkennt man, dass zum Zeitpunkt stärkster Kontraktion und selbst noch zum Schluss die maximal vorkommende Masse nach außen hin zumeist deutlich abfällt.
Die Massensedimentation sorgt dafür, dass trotz rückläufiger Anzahldichte bis zum Ende die Massendichte im Zentrum hoch bleibt. Dies erklärt, warum es dem Haufen trotz erheblicher Ausdehnung sogar über die Ursprungsgröße hinaus nicht gelingt, die in der anfänglichen Kontraktionsphase verlorene potentielle Energie vollständig zurückzugewinnen.
Der deutliche Anstieg der Dichte im Innenbereich des Haufens nach dessen Entstehung setzt in erheblichem Maße potentielle Energie frei, so dass die anfänglich geringe kinetische Energie stark anwächst - hier auf circa das 3.5-fache des initialen Wertes. Dementsprechend nehmen auch die Geschwindigkeiten der einzelnen Sterne zu - die Höchstwerte um etwa das 2.5-fache. Auch die Form der Geschwindigkeitsverteilung ändert sich. Aus der anfänglich noch relativ symmetrischen wird eine klar schiefe Verteilung, die erst steil ansteigt und danach mit einem ausgeprägten Schwanz langsam zu hohen Geschwindigkeiten hin abfällt. Genau das ist auch für die Geschwindigkeiten der Moleküle in einem Gas typisch.
Sehr aufschlussreich ist schließlich auch die Gegenüberstellung von Geschwindigkeit und Entfernung. Ganz zu Anfang ist (abgesehen von der Beschränkung der Höchstgeschwindigkeit auf die Fluchtgeschwindigkeit) noch kein Trend sichtbar. Zur Zeit maximaler Zentraldichte liegt jedoch ein sehr starkes Gefälle vor. Bis auf wenige Ausnahmen zeigen die Sterne mit zunehmendem Abstand vom Schwerpunkt immer geringere Geschwindigkeiten, wie man das für an ein Schwerezentrum gebundene Objekte aber auch erwartet. Bis zuletzt bleibt diese Geschwindigkeitsschichtung sehr präsent. Zugleich treten jenseits von etwa 6 Parsec jedoch auch Körper auf, deren Geschwindigkeit mit zunehmender Entfernung zu- anstatt abnimmt.
Die im dichten Zentrum sich aufhaltenden Sterne laufen auf chaotischen Bahnen weitgehend regellos wie die Moleküle in einem Gas. In mittlerer Entfernung kann man die Orbits als allerdings stark gestörte Ellipsen betrachten. Die am Rand mit abnorm hoher Geschwindigkeit sich bewegenden Objekte weisen Hyperbelbahnen auf, sind nicht mehr an das Ensemble gebunden. Es handelt sich um Sterne, die durch enge Passagen mit einem zweiten Haufenmitglied stark beschleunigt und so aus dem System herausgeschleudert wurden. Je höher die Geschwindigkeit nach einer solchen Beinahekollision ausfällt, umso mehr kann der betroffene Körper während einer gewissen Zeit sich vom Zentrum entfernen.
Trotz aller für die Simulation benutzen Näherungen (Glättung der Gravitation durch Plummerradius, Zusammenfassung mehrerer Massenpunkte gemäß des Barnes-Hut-Algorithmus) handelt es sich bei solchen Hinauswürfen um realistische Vorgänge, die wiederum den Vergleich mit einem Gas zulassen. So können z.B. einzelne Gasmoleküle der Erdanziehungskraft entkommen, wenn sie nach Stößen untereinander zufällig stark vom Erdmittelpunkt weg beschleunigt werden. So wie überwiegend massearme Sterne aus einem Haufen entweichen, verliert die Erde vor allem leichte Moleküle, weshalb nach der Erdentstehung noch vorhandene leichte Elemente wie Wasserstoff und Helium längst in den Weltraum entkommen sind.
Das "Verdampfen" einzelner Mitglieder sorgt dafür, dass Sternhaufen im Laufe der Zeit sich von selbst auflösen. Laut Röser und Tscharnuter (2012) [40] beläuft sich der Verlust pro Relaxationszeit auf 0.7 % der ursprünglich vorhandenen Sterne. Im vorliegenden Beispiel sollten nach 10 Relaxationszeiten 7% aller Körper (18 von 250) davon betroffen sein. Obiges Diagramm erweckt den Eindruck, dass trotz der Glättung der Anziehungskraft mit einem Plummerradius und der Verwendung dynamischer Zeitschritte die Anzahl dem System verlustig gegangener Mitglieder etwas überschätzt wird - sie liegt hier mit 25 Haufenmitgliedern bei 10%.
Besondere Effekte
BearbeitenObwohl von einfachen Simulationen vorhergesagte Vorgänge in Sternhaufen wie die Verdichtung der Zentralregion durch eine dort zunehmende Konzentration massereicher Sterne oder das Entkommen einzelner Mitglieder infolge von Beinahekollisionen mit jeweils einem zweiten Stern in der Natur tatsächlich beobachtet werden, können solche Modelle nur als grobe Wiedergabe der Realität betrachtet werden. Tatsächlich lassen sie viele Details außer acht, die einen erheblichen Einfluss auf die dynamische Entwicklung von Haufen ausüben und so für eine korrekte quantitative Beschreibung unerlässlich sind.
Endliche Ausdehnung der Sternkörper
BearbeitenBislang wurden in diesem Buch Himmelskörper ausnahmslos als Massenpunkte betrachtet. Tatsächlich aber weisen solche natürlich eine endliche Ausdehnung auf. Kommen sich zwei Körper bis auf einen Abstand nahe, der nicht mehr sehr groß im Vergleich zu ihren eigenen Abmessungen ist, dürfen diese nicht mehr als punktförmig behandelt werden. Wie man es von Erde und Mond kennt, üben sie dann erhebliche Gezeitenkräfte aufeinander aus, was anhand folgender Abbildung erläuert werden soll.
Man betrachte zwei Massen und mit Radien und , die sich bis auf einnen Abstand genähert haben. Ein Teilchen, das sich im Mittelpunkt von befindet, erleidet dann durch eine Beschleunigung . Sitzt das Teilchen jedoch ganz rechts an der Oberfläche von , so liegt wegen der geringeren Entfernung zu eine größere Beschleunigung vor. Umgekehrt spürt man ganz links auf infolge eines größeren Abstandes zu eine verminderte Beschleunigung . Solange die Radien der sich begegnenden Sterne noch relativ klein im Vergleich zu ihrem Abstand sind, darf man die Näherungen und benutzen. Für die Beschleunigungsdifferenz zwischen Mittelpunkt und Oberfläche von ergibt sich damit:
Analog gilt für die Beschleunigungsdifferenz auf :
Ausgedehnte Körper in einem Doppelsystem spüren nicht nur unterschiedliche Anziehungskräfte durch ihren jeweiligen Partner, sondern auch verschiedene Fliehkräfte infolge der Bahnbewegung um ihren gemeinsamen Schwerpunkt S. Nur an den Mittelpunkten der beiden Massen halten Fliehkraft und Schwerkraft einander die Waage. Auf den (jeweils dem anderen Stern zugewandten) Vorderseiten liegen unterdurchschnittliche Zentripetalkräfte vor, welche die überdurchschnittlichen Schwerkräfte nicht kompensieren können. Dementsprechend bilden sich dort Erhebungen aus, welche völlig den irdischen Flutbergen entsprechen. Auf den Rückseiten ist die Kraftbilanz genau umgekehrt. Zu große Fliehkräfte treffen auf zu kleine Anziehungskräfte, so dass auch dort Erhebungen entstehen, welche den vorderseitigen genau entgegengesetzt sind.
Die auf einen Körper endlicher Ausdehnung wirkende Beschleunigungsdifferenz und damit Gezeitenkraft ist direkt proportional zu seinem Radius und umgekehrt proportional zur 3. Potenz der Distanz zu seinem Partner. Kommen sich zwei Sterne bis auf einen Abstand von nur noch wenigen ihrer eigenen Radien nahe, so kann die Gezeitenkraft fast das Niveau der gegenseitig ausgeübten Schwerkraft erreichen. In den sehr dichten Zentren von Kugelhaufen treten derartige Beinahezusammenstöße tatsächlich mit signifikanter Häufigkeit auf.
Wird ein Körper durch Gezeiten verformt, entsteht Wärme, wofür im Sonnensystem eindrucksvolle Beispiele wie der Jupitermond Io existieren. Die dafür erforderliche Energie wird der Bahnbewegung entnommen, wodurch die Gesamtenergie definiert als Summe von kinetischer und potentieller Energie nicht mehr konstant ist, sondern vielmehr abnimmt.
Bei sehr engen Vorübergängen laufen Sterne häufig auf Hyperbeln, deren Exzentrizität nur wenig über 1 liegt. Dann reicht schon ein geringer Energieentzug aus, um die Orbits in langgestreckte Ellipsen mit einer Exzentrizität von knapp unter 1 zu verwandeln. Wie verschiedene sehr detaillierte Simulationen (z.B. von Mardling (1995) [41]) gezeigt haben, reicht bei einer Mindestentfernung von wenigen Sternradien die von einer Hyperbelbahn nur einmal gebotene Chance in der Tat aus, um durch gezeitenbedingten Energieverlust ein gebundenes Doppelsternsystem zu bilden.
Diese Art des Einfangs sowie die darauffolgende Entwicklung des neuen Doppelsystems stellen äußerst komplexe Prozesse dar. Man muss die Verformung der Sternköper durch ein hydrodynamisches Modell genau berücksichtigen, um die daraus resultierende Umwandlung von Bahnenergie in Wärme korrekt zu bestimmen. Die Verformung wirkt zudem nicht nur durch Energieentzug, sondern auch eine modifizierte Gravitation auf die Bahnen zurück. Die Massenverteilungen innerhalb der Körper sind während der Begegnung nicht mehr kugelsymmetrisch, so dass diese zur Berechnung der gegenseitigen Anziehungskräfte nicht mehr durch ihre Massenmittelpunkte ersetzt werden dürfen.
Erschwerend kommt hinzu, dass ein Stern nicht beliebig verformbar ist. Ein Flutberg kann maximal bis zum sogenannten 1. Librationspunkt L aufsteigen, an welchem die von den beiden Massen und ausgeübten Gravitationskräfte sich exakt einander aufheben. Ein Teilchen, das sich an dieser Stelle befindet, fällt bei der geringsten Störung auf seinen Ursprungskörper zurück, oder auf den Partner, oder entkommt sogar ganz dem System. Bei einer Beinahekollision ist vor allem der Partner mit dem größeren Volumen von derart ausgedehnten Erhebungen betroffen. Er verliert dadurch Masse, teils an seinen Begleiter, teils an den Weltraum. Erstrecken sich auch auf dem kleineren Stoßpartner Flutberge bis zu L, berühren sich dort sogar die beiden Sterne.
Mardling (1995) [41] zeigte, dass das Geschehen nach der Einfang sich in zwei Stadien unterteilen lässt. Die erste Phase ist, da die Körper auf sehr exzentrischen Ellipsen umlaufen, von wiederholten engen Passagen und dementsprechend starken Verformungen und Energieverlusten gekennzeichnet. Die Bahnen sind chaotisch (d.h. sehr empfindlich gegenüber Störungen) und starken raschen Veränderungen unterworfen. So kann z.B. die Exzentrizität um einige 0.1 auf einer Skala von nur wenigen 10-100 Umläufen variieren, wobei die Umlaufsperiode u.U. nur in der Größenordnung von Tagen oder gar Stunden liegt. Wiederholt kommt diese dabei nahe an 1 heran, so dass schon eine geringe Störung die Bahn wieder in eine Hyperbel umwandeln, d.h. das System wieder trennen kann. Umgekehrt kann der Mindestabstand derart gering werden, dass die beiden Sterne fast direkt miteinander kollidieren und infolgedessen zu einem einzigen Körper verschmelzen.
Sofern das Doppelsternsystem den chaotischen Beginn übersteht, schließt sich nach typischerweise mehreren 100-1000 Umläufen ein stabiles Stadium an, währenddessen die elliptischen Orbits sich mehr und mehr Kreisbahnen annähern, auf denen beide Mitglieder sich stets die gleiche Seite zukehren (deren Rotationsperiode entspricht dann der Bahnperiode, was als gebundene Rotation bezeichnet wird). Auf elliptischen Bahnen sind die Körper weiterhin wegen der wechselnden Abstände voneinander permanenten Formänderungen unterworfen, wodurch nach wie vor, wenn auch im Vergleich zum ersten Stadium geringe Energieverluste pro Umlauf auftreten. Auch auf Kreisbahnen entziehen die Gezeiten dem Doppelsystem Energie, solange Rotation und Bahnumlauf noch nicht im Takt sind. Zwar ändert sich dann nicht mehr die Höhe der Flutberge, doch laufen diese noch periodisch um die Oberflächen der Körper herum (wie dies auch bei den irdischen Gezeiten für die Erde noch der Fall ist). Erst wenn zusätzlich zur Kreisbahn eine gebundene Rotation vorliegt, bleiben die Formen der beiden Körper stabil, so dass der Energieverlust zum Stillstand kommen kann. Dieses Abklingstadium dauert sehr viel länger als die chaotische Anfangsphase, es erstreckt sich üblicherweise über 1-10 Millionen Jahre.
Am Ende liegt ein sehr enges Doppelsystem vor, dessen Bahnen eine Ausdehnung von nur wenigen Sternradien aufweisen. Von den übrigen Mitgliedern des Haufens aus betrachtet, kann man dieses als einen einzigen Körper betrachten (d.h. anstelle der beiden Massen und eine einzige Punktmasse am Schwerpunkt S annehmen), sofern sich nicht ein dritter Stern den beiden Körpern nähert.
Die Entstehung und Entwicklung von Doppelsternsystemen infolge von Gezeiten ist viel zu komplex, als dass man jedes derartge Ereignis im Verlauf einer Sternhaufensimulation im Detail berücksichtigen könnte. Mardling und Aarseth (2001)[42] konnten durch eine Vielzahl von Doppelsternsimulationen und theoretische Überlegungen jedoch handliche Regeln ableiten, mit welchen die Dauer des chaotischen Stadiums, der dabei auftretende Energieverlust und die am Ende dieser Phase vorliegenden Bahnelemente in Abhängigkeit von den Massen der Stoßpartner, ihrem Minimalabstand und der dabei herrschenden Relativgeschwindigkeit ausreichend genau abgeschätzt werden können. Ebenso kann anhand solcher Faustregeln auch die zweite Phase mit akzeptabler Genauigkeit verfolgt werden.
Primordiale Doppelsterne und Dreierstöße
BearbeitenDie meisten Doppelsterne bilden sich nicht durch Beinahezusammenstöße von Einzelsternen, sondern bereits während der Entstehung eines Haufens aus einer sich zusammenziehenden Gaswolke. Einzelne Teilwolken können aufgrund ihrer im Vergleich zu fertigen Sternen viel größeren Abmessungen viel leichter sich einander begegnen und dadurch gravitativ gegenseitig binden. Ein Sternhaufen weist somit von Anfang an einen gewissen Anteil von Doppelsystemen auf, welche dementsprechend als primordial bezeichnet werden.
Bedingt durch die Entstehung aus großen Teilwolken sind die Orbits solcher Doppelsterne viel ausgedehnter als für nachträglich aus Gezeiteneinfang hervorgegangene Systeme - typischerweise weisen sie die gleichen Dimensionen auf wie die Bahnen der Planeten und Kleinplaneten in unserem Sonnensystem. Dies bedeutet aber, dass vor allem im dichten Zentrum eines Haufens nahe Vorübergänge eines dritten Sterns an einem Doppelsystem (d.h. mit einem Mindestabstand, der nicht mehr sehr groß im Vergleich zum Abstand der beiden Partner untereinander ist) recht häufig sind. Es liegt dann eine Begegnung von drei Massen zumeist gleicher Größenordnung vor, bei welcher die dritte Masse das Doppelsystem erheblich stört. Schließlich können selbst zwei Doppelsterne aufeinander treffen, wobei die beide Systeme sich massiv gegenseitig beeinflussen.
Detaillierte Untersuchungen zeigen, dass solche Dreier- und Viererstöße die Struktur eines Haufens deutlich modifizieren. Um derartige Ereignisse nicht mit sehr kleinen dynamischen Zeitschritten behandeln zu müssen, sind insbesondere für Dreierstöße Lösungsverfahren entwickelt worden, welche wie die Berechnung der Planetenbahnen auf dem gestörten Zwei-Körper-Problem beruhen. Während die Bahn eines Planeten jedoch fast völlig durch die überwältigende Masse der Sonne dominiert wird, steht einem Doppelsternsystem bei einem Dreierstoß ein gleichwertiger Störer gegenüber, so dass die Behandlung dieses Problems wesentlich schwieriger ist.
Ein möglicher Weg zur Beschreibung einer Dreierbegegnung ist die Verwendung eines hierarchischen Koordinatensystems, wie Mardling (2001) [43] diskutiert hat. Die untere Ebene ist durch den Doppelstern repräsentiert, dessen beide Komponenten untereinander den Abstand und die Relativgeschwindigkeit aufweisen. Die Bewegung des dritten Sterns wird relativ zum Schwerpunkt des Doppelsystems betrachtet. Er weist einen Abstand und eine Geschwindigkeit in Bezug auf diesen auf, bildet also zusammen mit die obere Ebene. Ein dritter Koordinatensatz ist nicht erforderlich - der Schwerpunkt des gesamten Dreierensembles wird einfach unbeweglich in den Koordinatenursprung gesetzt.
Physikalisch bedeutet diese Koordinatenwahl, das Drei-Körper-System als eine Überlagerung von zwei gestörten Zwei-Körper-Systemen aufzufassen. Der Doppelstern wird durch den dritten Körper gestört. Umgekehrt wird dieser gestört, weil die beiden Mitglieder des Doppelsystems eben nicht in ihrem Schwerpunkt vereint, sondern räumlich voneinander getrennt sind.
Nebst dieser Zurückführung des Drei-Körper-Problems auf zwei gestörte Zwei-Körper-Probleme nutzt die Autorin für ihr Lösungsverfahren auch charakteristische Phänomene von Dreierbegegnungen aus. Um solche zu veranschaulichen, genügt erneut eine Standardmethode wie das Hermite-Polynome-Verfahren. Als Beispiel sollen im Folgenden drei Sterne von je 1 Sonnenmasse dienen, die sich zu Beginn an den Positionen (10 AE / 0 / 0), (-10 AE / 0 / 0) und (1000 AE / 0 / 0) befinden. Die Ausgangsgeschwindigkeiten betragen (0 / 5 km/s / 0), (0 / -5 km/s / 0) und (0 / 0.5 km/s / 0.1 km/s). Die dynamische Schrittweite wird auf 0.5% des Verhältnisses Beschleunigung / Ruck gesetzt.
Solange der dritte Stern sich weit entfernt vom Doppelsystem aufhält, bleiben dessen Bahnelemente stabil (die in untenstehenden Diagrammen auf den Relativkoordinaten beruhen). Mit zunehmender Annäherung dieses Stoßpartners - er kommt an den Schwerpunkt des Doppelsterns bis auf etwa 60 AE heran - unterliegen diese aber immer stärkeren quasiperiodischen Oszillationen. Ein Vergleich mit den Störungen der Planetenbahnen in unserem Sonnensystem zeigt, dass die bei einem Dreierstoß ebenbürtiger Massen auftretenden Schwankungen sehr viel heftiger ausfallen. Während die großen Halbachsen der Planetenorbits sich über Äonen kaum ändern, variiert im vorliegenden Beispiel dieser Parameter für das Doppelsystem um etwa 10% seines Absolutwertes in nur wenigen Jahrzehnten, wobei der Orbit letztendlich von etwa 23 AE auf 21 AE schrumpft. Ebenso abrupt steigt die Exzentrizität der Bahn von etwa 0.11 auf 0.36. Im Sonnensystem hingegen vergehen selbst bei den massearmen inneren Planeten Jahrtausende, ehe sich die Exzentrizität auch nur um 0.01 ändert.
Noch dramatischer wirkt sich die enge Begegnung auf den Orbit des dritten Körpers auf (was hier nicht graphisch dargestellt ist). Dessen große Halbachse beträgt zunächst etwas mehr als 500 AE, liegt aber nach dem Stoß bei fast 3600 AE, d.h. die Bahn weitet sich enorm. Zugleich wächst deren Exzentrizität von etwa 0.90 auf fast 0.99.
Die Störung des Doppelsterns und diejenige des Stoßpartners sind komplementär zueinander. Sie treten einander in Resonanz wie häufig auch die Planeten des Sonnensystems, tun dies jedoch ungleich stärker. Genau an dieser Resonanzeigenschaft setzt Mardling (2001) [43] an.
Erklären lässt sich die intensive Resonanz durch einen erheblichen Energieaustausch zwischen dem Doppelsystem und seinem Störer. Die durch eine Kepler-Bahn repräsentierte Energie ist umgekehrt proportional zu deren großen Halbachse , denn es gilt:
bezieht sich erneut auf die Relativbewegung der beiden Massen und . Die geschrumpfte Bahn des inneren Doppelsterns bedeutet also, dass dieser Energie verloren hat. Der Stoßpartner geht aus dem Ereignis mit einem ausgedehnteren Orbit hervor entsprechend einem Gewinn an Energie.
Dieser Energietransfer von Doppelsystem zu Störer ist für Dreierbegegnungen charakteristisch, wie z.B. von Heggie und anderen (2006) [44] erörtert wurde. Er verleiht Einzelsternen, die Doppelsysteme passieren, mehr Energie. Verwendet man abermals das Vergleichsbild des Gases, entspricht dies einer Aufheizung, welche der Gravitation entgegenwirkt. Die Verdichtung der Zentralregion wird durch das Vorhandensein primordialer Doppelsterne abgeschwächt.
Die Mitnahme von Energie durch einen Stoßpartner kann (wie der Gezeitenanfang) nachträglich Doppelsterne entstehen lassen. Kommen sich zwei Körper auf einer Hyperbelbahn mit einer Exzentrizität von nur wenig über 1 nahe, reicht eine relativ geringfügige Störung durch einen dritten Stern aus, diese auf einer langgestreckten Ellipse aneinander zu binden.
Obige Autoren weisen jedoch daraufhin, dass andererseits viele Doppelsysteme im Laufe der Zeit durch enge Passagen eines dritten Sterns oder gar eines anderen Doppelsterns zerstört werden. Liegt schon vor solch einer Begegnung eine stark exzentrische Bahn vor, so reicht eine kurzzeitige Energiezufuhr aus, um die Komponenten des Doppelsystems voneinander zu trennen. In einem solchen Fall jedoch erleidet der Stoßpartner einen Energieverlust, was gemäß der Metapher des Gases eine Abkühlung und damit einen Trend hin zu einer stärkeren Verdichtung bedeutet.
Einschub für Fortgeschrittene: Mathematische Beschreibung eines Dreierstoßes
Die von Mardling (2001) [43] eingeführten Relativvektoren und zur Aufteilung des Dreikörperproblems in ein inneres und äußeres Zweikörperproblem stellen Jacobi-Koordinaten dar, wie sie auch im Verfahren von Wisdom und Holman (1991) [45] zur Berechnung der Planetenbahnen benutzt werden. Ebenso wie für jene Autoren stellen auch für Mardling die Hamilton-Funktion und die daraus abgeleiteten Hamiltonschen Gleichungen die Grundlage der Lösung dar.
Die Hamilton-Funktion besteht nun aus einer inneren Komponente und einer äußeren . ist durch die Relativbewegung der beiden inneren Massen und zueinander gegeben:
Komplizierter verhält es sich mit . Der kinetische Anteil ist durch die Bewegung der Masse relativ zum Schwerpunkt der beiden inneren Körper gegeben. Um die potentielle Energie korrekt zu beschreiben, müssen aber die exakten Abstände von zu und genommen werden. Diese können jedoch auf und zurückgeführt werden. Die inneren Massen weisen von ihrem Schwerpunkt die Entfernungen und auf. Somit hat der äußere Körper einen Abstand zu und einen solchen zu ( soll dabei von der 1. zur 2.Masse zeigen). Aus alledem ergibt sich:
Vergleichbar dem Problem der Planetenbahnen, muss auch jetzt die Hamilton-Funktion in ungestörten Anteil und Störfunktion aufgeteilt werden. Diese Trennung muss sowohl für als auch vorgenommen werden.
Für die Zerlegung der inneren Hamilton-Funktion betrachtet die Autorin den Betrag des Relativvektors sowie die Winkelgeschwindigkeit auf der relativen Umlaufbahn und benutzt den Ansatz sowie . und beschreiben die ungestörte Bewegung, und die Störung derselben. Wie Wisdom und Holman für die Planetenbahnen geht Mardling für den Dreierstoß davon aus, dass mit genügend klein gehaltenen Zeitschritten die Störung als klein im Vergleich zur ungestörten Bewegung angenommen werden darf. Unter dieser Voraussetzung darf als Taylorreihe um und entwickelt und diese Darstellung nach den linearen Gliedern abgebrochen werden.
Der entscheidende Unterschied zwischen dem Planetenproblem und dem Dreierstoß liegt in der Behandlung der Störfunktion. Bei ersterem ist die Störung so gering, dass diese wie schon erläutert durch kleine periodische Stöße modelliert werden darf, und so als Delta-Funktion nur zu diskreten Zeitpunkten in der Hamilton-Funktion auftaucht, ansonsten aber auf 0 gesetzt bleibt. Im Falle des Dreierstoßes aber muss die viel stärkere Störung als permanent betrachtet werden. Dem quasiperiodischen Verhalten der Bahnelemente des inneren Systems Rechnung tragend, behandelt Mardling die Störung als Überlagerung harmonischer Schwingungen:
und stellen die zeitabhängigen Amplituden dar, mit welchen der Relativabstand und die relative Winkelgeschwindigkeit der beiden inneren Massen um die ungestörten Größen oszillieren. Man beachte dabei, dass die Fourierentwicklung nicht nach der Zeit, sondern dem Polarwinkel erfolgt. Die Autorin stellt die Störung des inneren Systems somit als Überlagerung stehender Wellen dar. Das Schwingungsmuster ist gleichwohl nicht stationär, da die Amplituden sich zeitlich verändern und nicht nur der Relativabstand, sondern auch die relative Winkelgeschwindigkeit an der Oszillation teilhat.
Um die äußere Hamilton-Funktion zu separieren, fügt man das Glied ein und zieht es wieder ab:
Die beiden ersten Terme geben die ungestörte Bewegung von relativ zu wieder. Die nachfolgenden Terme geben die Störung an, welche die äußere Masse erleidet, weil die beiden inneren Körper räumlich voneinander getrennt sind. Man kann sie als Gezeitenkraft interpretieren, welche inneres und äußeres Systems aufeinander ausüben.
Durch ihre räumliche Trennung erscheinen die inneren Komponenten der äußeren als Dipol, welcher jedoch sich selbst und seine Lage relativ zu fortlaufend ändert. Dies hat zur Folge, dass der äußere Körper effektiv eine Überlagerung von Multipolen spürt. Dies führt zu dem Ansatz:
Hierbei ist . Die stellen die sogenannten Kugelflächenfunktionen dar.
Wegen der komplizierten Störfunktionen und der Verschränkung zweier gestörter Zweikörperprobleme ist die mathematische Behandlung einer Begegnung von drei ebenbürtigen Massen viel schwieriger als diejenige einer nur leicht gestörten Planetenbahn. Trotz aller hier getroffenen Vereinfachungen ist das Problem des Dreierstoßes oft nicht geschlossen lösbar. Mardling hat die Voraussetzungen einer solchen Lösbarkeit detailliert untersucht und festgestellt, das Resonanzen zwischen innerem und äußerem System dabei eine fundamentale Rolle spielen.
Entwicklung der Sterne
BearbeitenSchließlich muss bei der Simulation eines Haufens berücksichtigt werden, dass die Sterne sich auch als Einzelobjekte im Laufe der Zeit verändern. Massereiche Sterne sind viel leuchtkräftiger als massearme, so dass sie ihren Wasserstoffvorrat in viel kürzerer Zeit aufbrauchen. Die Leuchtkraft eines Hauptreihensterns ist etwa proportional zur dritten Potenz seiner Masse, so dass seine Lebensdauer ungefähr umgekehrt proportional zum Quadrat derselben ist. Während ein sonnenähnlicher Körper etwa 10 Milliarden Jahre lang durch Kernfusion Energie gewinnen kann, kommt ein Stern mit 10 Sonnenmassen nur etwa 100 Millionen Jahre über die Runden. Die massereichsten Sterne - solche weisen mehr als 100 Sonnenmassen auf - überdauern gar nur etwa 1 Million Jahre. Die masseärmsten roten Zwerge, welche nur knapp 0.1 Sonnenmassen besitzen, weisen hingegen eine Lebenserwartung von etwa 1 Billion Jahren auf.
Geht im Kern eines Sterns die Energieerzeugung durch Fusion von Wasserstoff zu Helium zu Ende, beginnt sich dessen innere Struktur dramatisch zu verändern. Während die Zentralregion sich verdichtet, bis schließlich Helium zu Kohlenstoff fusionieren kann, dehnen sich die äußeren Schichten aus. Der Stern wird je nach seiner Ausgangsmasse zum Roten Riesen oder gar Überriesen. Wegen der soeben erwähnten Masse-Leuchtkraft-Beziehung können seit der Entstehung des Universums jedoch selbst die ältesten Sterne mit weniger als etwa 0.8 Sonnenmassen das Riesenstadium überhaupt noch nicht erreicht haben.
Bläht sich ein Stern zum (Über)riesen auf, so wird seine gravitativ nur noch schwach gebundene Hülle instabil. Er verliert einen signifikanten Teil seiner Masse durch sogenannte Sternwinde. Die Ausströmungsgeschwindigkeit liegt zumindest in der Größenordnung von 10 km/s und damit in der Regel deutlich über der Fluchtgeschwindigkeit in einem Haufen, so dass die abgegebene Materie dem Ensemble entkommt. Sehr massereiche Sterne (mit mehr als circa 8 Sonnenmassen) enden als Supernova, wenn nach dem Ende der Überriesenphase nach einigen weiteren Zwischenschritten mit Kernfusionen bis hin zum Eisen die thermonukleare Energiequelle endgültig versiegt. Der Kern kollabiert dabei zu einem Neutronenstern oder gar einem Schwarzen Lock, während zugleich die Hülle durch eine ungeheure Explosion abgestoßen wird. Die Auswurfgeschwindigkeit ist mit einer Größenordnung von 1000 km/s extrem hoch, so dass dieses Material einen Haufen schon in wenigen Jahrtausenden verlässt. Mit den Einzelobjekten verlieren also auch Sternhaufen an Masse, wobei sie vor allem die massereichen Sterne bis auf die zurückbleibenden Neutronensterne und Schwarzen Löcher rasch einbüßen.
Die Entwicklung eines Sterns wird erheblich modifiziert, wenn er einem engem Doppelsystem angehört. Beginnt er sich am Ende seines Lebens zum (Über)riesen auszudehnen, unterliegt er mehr und mehr der von seinem Partner ausgehenden Gezeitenkraft. Erstreckt er sich schließlich bis zum 1. Librationspunkt, beginnt er an dieser Stelle Masse zu verlieren und seine Aufblähung wird gestoppt. Dieser Massenverlust senkt die Leuchtkraft des Sterns und wirkt somit lebensverlängernd. Zugleich weitet sich infolge der schwächer werdenden Anziehungskraft der Orbit des Doppelsterns. Eine solche Expansion der Bahn tritt selbstverständlich auch dann auf, wenn ein Partner durch Sternwind anstatt gezeitenbedingter Verformung Masse verliert.
Endet ein Mitglied eines Doppelsystems als Supernova, so wird dieses durch den abrupten enormen Massenverlust zumeist zerstört. Der zurückbleibende Neutronenstern bzw. das Schwarze Loch und der Begleitstern fliegen oft mit hoher Geschwindigkeit auseinander und entkommen dem Gesamtsystem.
Ein zum (Über)riesen gewordener Stern kann wiederum viel leichter einen Beinahezusammenstoß mit einem zweiten Stern erleiden als ein Hauptreihenobjekt. Dem steht jedoch gegenüber, dass das (Über)riesenstadium etwa um eine Größenordnung kürzer ist die Verweildauer auf der Hauptreihe.
Die Entwicklung der Zustandsgrößen der Sterne im Laufe der Zeit - für ein Mehrkörperproblem sind vor allem Masse und Radius von zentraler Bedeutung - ist in zahlreichen Datenbanken in Abhängigkeit von der Anfangsmasse, der chemischen Zusammensetzung und anderen Parametern wie etwa der Rotationsgeschwindigkeit tabelliert. Entwicklungseffekte können daher zumeist mit nicht allzugroßem Aufwand in die Simulation eines Haufens eingebaut werden, zumindest solange man es nicht mit durch Gezeitenkräfte stark gestörten engen Doppelsternen zu tun hat. Allerdings beruhen diese Tabellen z.T. auf unterschiedlichen Modellen, welche sich vor allem hinsichtlich der Spätstadien nach der Hauptreihenphase unterscheiden.
Beispiel einer detaillierten Simulation
BearbeitenAls Beispiel einer Simulation, welche all die soeben geschilderten Effekte berücksichtigt, sei eine Arbeit von Giersz und Heggie (2011) [46] zitiert. Die Autoren versuchten mehrere große Haufen der Milchstraße zu modellieren, unter anderem 47 Tucanae. Um die Ergebnisse der Simulationen letztendlich mit Beobachtungen vergleichen zu können, gingen sie wie folgt vor.
Räumliche Dichteverteilungen innerhalb eines Sternsystems lassen sich nicht direkt beobachten. Sofern die einzelnen Mitglieder noch als voneinander getrennt beobachtet werden können, lässt sich durch die bereits erwähnte Methode der Sternzählung zumindest noch exakt ermitteln, wie viele Objekte pro Flächeneinheit auf der Ebene senkrecht zur Blickrichtung zu liegen scheinen. Ist dies nicht möglich, wie etwa für die extrem dichten Zentren von Kugelsternhaufen, muss man die Anzahl der auf ein Flächenstück fallenden Sterne anhand der Helligkeit desselben abschätzen. Dies wiederum setzt allerdings voraus, dass die Häufigkeit bekannt ist, mit welcher Sterne einer bestimmten Helligkeit vertreten sind. Da alle Mitglieder eines Haufens (abgesehen von nicht dazugehörenden Sternen im Vorder- oder Hintergrund) die gleiche Entfernung aufweisen, kann für die in Einzelsterne auflösbaren Bereiche eine solche Häufigkeitsverteilung jedoch mit hoher Genauigkeit ermittelt werden.
Auch Geschwindigkeiten lassen sich in der Regel nicht in voller Räumlichkeit erfassen. Wie schon in diesem Kapitel angedeutet, sind insbesondere Bewegungen senkrecht zur Blickrichtung ab einer gewissen Entfernung nicht mehr nachweisbar, wohingegen die Geschwindigkeit parallel zur Blickrichtung dank des Dopplereffekts für beliebig ferne Himmelskörper ermittelt werden kann. Dies setzt wiederum voraus, dass das Objekt als Individuum sichtbar (und für spektrale Beobachtungen noch genügend hell) ist. Besteht das für die Geschwindigkeitsmessung erforderliche Spektrum aus dem aufsummierten Licht vieler Sterne, kann man für deren Bewegungen nur statistische Größen angeben, z.B. den Mittelwert und die Streuung der Geschwindigkeiten.
Die für die Sonnenumgebung ermittelte Häufigkeit bestimmter Sternmassen lässt sich nicht ohne weiteres auf andere Systeme übertragen. Die Sterne von Kugelhaufen weisen im Vergleich zur solchen der galaktischen Scheibe einen deutlich geringeren Anteil von Elementen jenseits des Wasserstoffs und Heliums auf, was den Prozess der Sternentstehung und damit die Häufigkeit von Sternmassen signifikant beeinflusst. Die Autoren haben mehrere Simulationen mit plausiblen Massenverteilungen durchgeführt und deren Verlässlichkeit anhand der vorhergesagten Dichte- und Geschwindigkeitsverteilungen verifiziert. Sie kommen damit zum Schluss, dass 47 Tucanae von Anfang an vergleichsweise wenig massereiche Sterne aufwies - im Bereich zwischen 0.8 und 50 Sonnenmassen lag unmittelbar nach Entstehung des Haufens eine Häufigkeitsverteilung vor, wohingegen in der Sonnenumgebung gegeben ist. Der Anteil sehr massearmer Sterne war im Vergleich zu unserer Milchstraßenregion jedoch ebenfalls schon zu Beginn an unterdurchschnittlich. Giersz und Heggie geben für 47 Tucanae im Bereich zwischen 0.08 und 0.8 Sonnenmassen an. In der Sonnenumgebung gilt zwischen 0.5 und 0.8 Sonnemassen noch immer und anschließend .
Ein großer Unsicherheitsfaktor stellt den Autoren zufolge der Anteil von Doppelsternen dar. Zum Teil fallen solche durch eine abnorme Lage im sogenannten Farben-Helligkeits-Diagramm auf. Bedecken sich die beiden Komponenten immer wieder gegenseitig, weil man das Doppelsystem von der Kante sieht, zeigen sich periodische Helligkeitsschwankungen. Allerdings ist eine Hochrechnung von diesen wenigen Fällen auf die Gesamtzahl von Doppelsystemen sehr ungenau. Insgesamt setzen Giersz und Heggie den Anteil der Doppelsterne im Vergleich zur unserer Umgebung erstaunlich gering an. Unmittelbar nach Entstehung des Haufens betrug er demnach lediglich 2.2% und ist seitdem durch Dreier- und Viererstöße auf gar nur noch 0.8% gefallen. Für das Zentrum von 47 Tucanae finden die Autoren dennoch einen völlig gegensätzlichen Trend. Unter den innersten 1000 Sternen ist seit Entstehung des Haufens ein geradezu dramatischer Anstieg des Doppelsternanteils von etwa 2% auf circa 14% zu verzeichnen, vor allem aufgrund der zunehmenden Konzentration massereicher Objekte zum Zentrum hin. Insbesondere enge Doppelsysteme können von anderen Sternen aus gesehen oft als massereiche Einzelobjekte betrachtet werden und unterliegen so in besonderem Maße der Massensedimentation.
Fortschreitende Sternentwicklung spielt bei einem so alten Objekt wie 47 Tucanae - die Autoren geben sein Alter mit 12 Milliarden Jahren an - erwartungsgemäß eine sehr wichtige Rolle. Der Haufen hat Giersz und Heggie zufolge bereits fast die Hälfte seiner Ursprungsmasse von etwa 1.6 Millionen Sonnenmassen eingebüßt - nur etwa 900000 Sonnenmassen sind heute noch vorhanden. Immerhin ein Drittel davon liegt bereits in Weißen Zwergen vor. Angesichts der von Anfang an geringen Zahl sehr massereicher Sterne sind hingegen deren Überreste wie Neutronensterne oder gar Schwarze Löcher selten. Die Autoren erwarten nur 300 Sonnenmassen in Form von Neutronensternen und lediglich 1-2 Dutzend Schwarze Löcher.
Wie schon anhand der einfachen Simulationsbeispiele in diesem Kapitel demonstriert, tendiert die Zentralregion eines Haufens dazu, zumindest vorübergehend im Laufe der Zeit sich zu verdichten. Der im Laufe der Sternentwicklung auftretende Massenverlust steht dem jedoch entgegen. Den Autoren gemäß hat der Radius, welcher die Hälfte der Masse von 47 Tucanae einschließt, sich seit dessen Entstehung von 1.9 auf 5.0 Parsec ausgedehnt. Mittlerweile wird der Haufen von massearmen Sternen dominiert, so dass in Zukunft Massenverlust keine bedeutende Rolle mehr spielen wird. Giersz und Heggie erwarten daher, dass sich 47 Tucanae in den nächsten 20 Milliarden Jahren wieder verdichten wird. Ist eine genügend hohe Dichte im Zentrum erreicht, können dort häufiger neue Doppelsterne entstehen und diese den Mechanismus der Beschleunigung eines nahe vorüberziehenden dritten Sterns wieder verstärken. Die Kontraktion kommt dadurch erneut zum Stillstand.
Simulationen mit und ohne primordiale Doppelsterne deuten an, dass diese während des Stadiums heftigen Massenverlusts noch keinen starken Einfluss auf die dynamische Entwicklung eines Kugelsternhaufens haben. Lässt der Massenverlust nach, verzögern die Doppelsysteme die nun einsetzende Verdichtung aber erheblich.
Galaxien
BearbeitenCharakteristische Eigenschaften
BearbeitenGalaxien sind wie schon in der Einleitung dieses Buches angedeutet noch viel komplexere Strukturen als Sternhaufen. Sie treten in vielerlei Gestalt und Größe in Erscheinung und bestehen häufig wiederum aus sehr unterschiedlichen Komponenten. Die Zahl der in ihnen enthaltenen Sterne kann bis zu mehrere hundert Milliarden betragen und übertrifft so die Mitgliederzahl eines Haufens oft um viele Größenordnungen. Erschwerend kommt hinzu, dass der Löwenanteil der Masse einer Galaxie sich nur durch die von ihm ausgehende Schwerkraft bemerkbar macht, ansonsten aber völlig unsichtbar bleibt.
Doch selbst die sichtbare Materie liegt nicht nur in Form von Sternen, sondern auch als interstellares Gas und Staub vor. Sterne und interstellare Materie stehen dabei in einer komplizierten Wechselwirkung zueinander (aus Gas und Staub entstehen Sterne, während letztere vor allem in den Spätstadien ihrer Entwicklung wiederum Materie an ihrer Umgebung abgeben), welche durch eine klassische N-Körper-Simulation völlig außer acht gelassen wird. Als diffuse Gebilde sind Gas, Staub und auch die dunkle Materie zudem als kontinuierliche Massenverteilungen zu betrachten und nicht als Ansammlungen diskreter Objekte. Die Simulation einer solchen Verteilung erfordert jedoch, wie ebenfalls bereits skizziert, einen erheblichen mathematischen Aufwand.
Trotz dieser erheblichen Mängel können N-Körper-Simulationen einige Eigenschaften von Galaxien dennoch plausibel machen. Für die Festlegung der initialen Positionen und Geschwindigkeiten der einzelnen Massenpunkte geht man dabei ebenso vor wie bei einem Sternhaufen. Man definiert erneut Gesetzmäßigkeiten für die räumliche Verteilung der Dichte und die Häufigkeit bestimmter Geschwindigkeiten und generiert entsprechend diesen Modellen abermals zufällige Anfangsbedingungen. Wegen der extrem hohen Zahl von Sternen ist es im Gegensatz zu einem Haufen jedoch kaum möglich, für jeden einen individuellen Massenpunkt zu verwenden. Man ist stattdessen gezwungen, viele Sterne zu jeweils einem sehr massereichen Testobjekt zusammenzufassen. Hat z.B. ein solches Objekt 1 Million Sonnenmassen, besteht das Modell einer Galaxie mit 1 Billion Sonnenmassen aus 1 Million Testmassen.
Mit derartigen Massenpunkten besteht eine enorme Gefahr, dass bei engen Passagen viel zu hohe Anziehungskräfte prognostiziert werden, welche zwischen Sternen tatsächlich nie beobachtet werden. Auch dadurch ist wie schon geschildert der Ansatz von Power und anderen (2003) [47] begründet, für die Simulation von großräumigen Strukturen mit einer Gesamtmasse , einem Radius und sehr massiven Testobjekten den Plummerradius mit anzusetzen (und nicht mit , wenn lokale aus Körpern geringer Masse nachgebildete Strukturen erfasst werden sollen). Die maximal auftretende Beschleunigung eines Massenpunktes ist dann mit vollständig durch die Masse und Größe des ganzen Ensembles gegeben, d.h. von der Masse der einzelnen Testobjekte unabhängig.
Im Folgenden wird zunächst die Modellierung der Komponenten Scheibe, Linse (Bulge) und Halo beschrieben. Anschließend werden einige Simulationsbeispiele gezeigt, wobei der Halo stark vereinfacht lediglich als statisches Schwerefeld behandelt wird. Der letzte Abschnitt dieses Kapitels widmet sich Galaxienkollisionen. Realitätsnahe Simulationen dieser Art sind wegen des enormen Rechenaufwands mit einem Laptop jedoch kaum durchführbar.
Scheibe
BearbeitenDichteverteilung
BearbeitenSternhaufen können oft als kugelförmig betrachtet werden, so dass die lokale Dichte in einem solchen lediglich als Funktion des Abstandes vom Mittelpunkt des Ensembles diskutiert werden muss. Die Scheibe einer Galaxie kommt dagegen einem Zylinder nahe, so dass die Dichteverteilung jetzt in Abhängigkeit von zwei Variablen betrachtet wird: dem Abstand von der Rotationsachse und dem Abstand von der Äquatorebene.
Galaxien lassen sich abgesehen von wenigen sehr nahen Ausnahmen wie den Magellanschen Wolken nicht in Einzelsterne auflösen, so dass man die Verteilung der Materie aus derjenigen der Flächenhelligkeit ableiten muss. Beobachtungen im optischen Bereich zeigen die Verteilung der Sterne, Messungen im Radiobereich diejenige des interstellaren Gases an. Von großem Einfluss ist hierbei, unter welchem Blickwinkel man ein solches Sternsystem sieht. Bei Draufsicht kann man die radiale Dichteverteilungbestimmung, wobei zur Mitte hin aber sich Scheibe und Linse überlagern. Ein weiteres Handicap besteht darin, dass im Optischen das Erscheinungsbild einer Scheibengalaxie oft stark von den Spiralarmen dominiert wird. Im Radiobereich jedoch erscheint ein solches Ensemble homogener. Tatsächlich ist, wie später noch erläutert wird, die durchschnittliche Dichte in den Spiralarmen nicht viel höher als in deren Umgebung. Die schwache mittlere Verdichtung reicht dennoch aus, die Entstehung starker lokaler Dichtekonzentrationen und damit von massereichen, heißen Sternen anzustoßen, welche aufgrund ihrer hohen Leuchtkraft für die Auffälligkeit der Spiralen verantwortlich sind.
Bei einem Blick auf die Kante gewinnt man die Verteilung der Materie senkrecht zur Äquatorebene. Zudem lassen sich dann Scheibe und Linse besser unterscheiden. Im Optischen wird man aber nun in der Regel von einem sehr dunklen Band gestört, das auf die Absorption durch interstellaren Staub zurückzuführen ist. Für Radiowellen ist dieser dagegen durchlässig, so dass man erneut ein gleichförmigeres Bild gewinnt.
Nur bei unserer eigenen Milchstraße kann man wie für Sternhaufen zur Methode der Sternzählung greifen, um die Dichteverteilung zu bestimmen. Wiederum ermittelt man die Häufigkeit, mit der Sterne einer gewissen scheinbaren Helligkeit auftreten. Die Interpretation solcher Messungen ist jetzt aber viel schwieriger, da im Gegensatz zu den Mitgliedern eines Haufens die Entfernungen zu beliebigen Sternen der Galaxis sehr unterschiedlich sein können. Zudem müssen solche Beobachtungen für viele verschiedene Blickrichtungen durchgeführt werden, um zu einem repräsentativen Gesamtbild zu gelangen.
Um das Problem der Entfernungen in den Griff zu bekommen, muss man die Leuchtkraft der Sterne ermitteln. Für helle Sterne ist diese anhand einer schon vorhandenen Spektralklassifikation oft bekannt. Bei lichtschwachen Sternen vor allem gelber und roter Farbe darf man davon ausgehen, dass diese zumeist Hauptreihensterne sind. Dann kann man allein schon anhand der Farbe den Spektraltyp und damit die Leuchtkraft abschätzen.
Sowohl Helligkeit als auch Farbe werden durch den interstellaren Staub modifiziert. Die Sterne erscheinen schwächer und röter, als sie es tatsächlich sind. Bei gegebener Spektralklassifikation kann man aus dieser auf die unverfälschte Farbe (Eigenfarbe) schließen und so die Rötung ermitteln, welche wiederum mit der Lichtschwächung korreliert. Bei unbekannter Spektralklassifikation muss man für zumindest zwei unterschiedliche optische Wellenlängenbereiche Farbmessungen durchführen. Da sowohl die entsprechenden Eigenfarben als auch Rötungen miteinander korrelieren, kann man mit Hilfe von zwei Farbwerten wiederum die Rötung und damit die Lichtschwächung ermitteln.
Flächenhelligkeiten und Sternzählungen zeigen nur die sichtbare Materie an. Vor allem bei einer von der Kante gesehenen Galaxie kann man auf Grundlage des Dopplereffektes die Umlaufsgeschwindigkeit der Sterne und des Gases in Abhängigkeit vom Abstand zur Rotationsachse bestimmen und daraus auf die von solchen Kreisbahnen jeweils umschlossene Masse schließen. Es zeigt sich, dass diese von der Umlaufsgeschwindigkeit angezeigte Masse oft weit größer ist als die sichtbare.
Mit den obigen Verfahren ermittelte Dichteverteilungen galaktischer Scheiben zeigen, dass diese sich in guter Näherung sowohl in radialer Richtung als auch senkrecht zur Äquatorebene durch ein Exponentialgesetz beschreiben lassen.
Hierbei ist die Masse der Scheibe, deren Skalenradius und die Skalenhöhe, wobei letztere als unabhängig vom Abstand zur Rotationsachse angenommen wird. Betrachtet man einen Zylinder mit dem Volumen , welcher überall die Zentraldichte aufweist, so hat dieser genau die gleiche Masse wie die wirkliche Scheibe.
Mit dem exponentiellen Abfall der Dichte sowohl in - als auch -Richtung verhält sich eine galaktische Scheibe wie eine dünne Gasschicht gleichförmiger Temperatur, welche durch ihre eigene Schwerkraft stabilisiert wird. Tatsächlich kann jeder einen solchen Dichteabfall verspüren, wenn er einen hohen Berg besteigt. Der Luftdruck auf der Erde nimmt in guter Näherung auch exponentiell mit zunehmender Höhe ab (obwohl die Temperatur dabei nicht konstant bleibt, sondern ebenfalls mit zunehmender Höhe zurückgeht).
Für die Milchstraße liefern neuere Arbeiten, z.B. von McMillan (2011) [48], für einen Wert von etwa 3000 Parsec. Die Sonne ist mit einem Abstand von etwa 8300 Parsec fast 3 Mal so weit vom galaktischen Zentrum entfernt, so dass in deren Umgebung die Dichte der Scheibe nur noch etwa 1/15 des zentralen Wertes beträgt, d.h. sie befindet sich schon im Randbereich unserer Galaxie. Für gibt der Autor 300 Parsec an. Allerdings wurde schon im Rahmen früherer Untersuchungen, z.B. von Bahcall und Sonaira (1980) [49] darauf hingewiesen, dass junge Sterne und auch die interstellare Materie (aus der ja neue Sterne hervorgehen) wesentlich stärker zum Äquator hin konzentriert sind. Die Autoren nennen hierfür Werte von zwischen 100 und 125 Parsec.
Aktuelle Untersuchungen wie von McMillan legen zudem nahe, dass Scheibengalaxien neben der "klassischen" dünnen Scheibe zusätzlich eine wesentlich massenärmere dicke Scheibe aufweisen. Für die Milchstraße findet er bei dieser zweiten Scheibe eine sehr viel größere Skalenhöhe von 900 Parsec, wohingegen deren Skalenradius von 3300 Parsec mit demjenigen der dünnen Scheibe fast identisch ist.
Die Masse der stellaren Komponente unserer Galaxis liegt McMillan zufolge bei 66 Milliarden Sonnenmassen. Dabei entfallen jedoch 9 Milliarden auf die nachfolgend besprochene Linse, so dass 57 Milliarden für die beiden Scheiben verbleiben.
Für die Simulationsbeispiele dieses Kapitels wird die dicke Scheibe vernachlässigt und von einer einheitlichen Skalenhöhe der dünnen Scheibe ausgegangen. Die wesentlichen Aspekte der galaktischen Dynamik lassen sich auch mit einem derart vereinfachten Modell darstellen.
Um einem Massenpunkt zufällige Positionen zuzuweisen, muss man analog zu einem Sternhaufen die Masse betrachten, die sich innerhalb eines Kreises mit Radius um die Rotationsachse der Scheibe findet. Die Integralrechnung liefert dafür die Beziehung:
Wie im Falle des Sternhaufens lässt sich die Gleichung für nicht nach auflösen. Um das zu einem zufälligen zwischen 0 und 1 gehörende zu ermitteln, empfiehlt es sich abermals, als Tabelle vorzuhalten.
Um die Position in der Äquatorebene festzulegen, muss zusätzlich ein zufälliger Polarwinkel generiert werden, wobei alle Werte von 0 bis 2 gleich wahrscheinlich sind. Es gilt dann:
Für einen zufälligen Abstand vom Äquator wird die Masse benötigt, die sich vom Unendlichen bis erstreckt. Für diese ergibt sich ein sehr handlicher Ausdruck, wobei man aber zwischen den beiden Fällen entsprechend und entsprechend unterscheiden muss:
Einer Zufallszahl zwischen 0 und 1 entspricht damit ein Abstand
Geschwindigkeitsverteilung
BearbeitenRelativ einfach lassen sich die Geschwindigkeiten der Sterne senkrecht zum Äquator abhandeln. Das Modell der isothermen Scheibe liefert, dass diese einer Gaußverteilung folgen, deren Mittelwert gleich Null und deren Standardabweichung sowohl von der Dicke der Scheibe als auch der lokalen Dichte am Äquator abhängt:
Gemäß dem Dichtemodell von McMillan (2011) [48] liegt die Streuung der Geschwindigkeit senkrecht zum Äquator im Zentrum der Scheibe bei etwa 63 km/s und im Bereich der Sonne noch bei circa 16 km/s.
Die Geschwindigkeiten der Sterne parallel zur Äquatorebene sind viel schwieriger zu verstehen. Ganz grob betrachtet, laufen diese in der galaktischen Scheibe auf Kreisbahnen um das Zentrum. Dementsprechend ist die radiale Komponente gleich 0, die tangentiale Komponente (Umlaufsgeschwindigkeit) einfach durch die vom Kreis umschlossene Masse und dem Bahnradius gegeben:
Wieder seien einige auf dem Modell von McMillan beruhende Werte gegeben. Direkt an der Rotationsachse ist die Umlaufgeschwindigkeit gleich Null, da keine Masse eingeschlossen wird. Bis zu einem Abstand von etwa 5300 pc steigt sie monoton bis auf circa 155 km/s an, in diesem Bereich dominiert die Zunahme von über den wachsenden Abstand vom Gravitationszentrum. Danach nimmt wieder ab, da nur noch wenig zusätzlich umschlossene Masse hinzukommt. Für die Sonne sagt das reine Scheibenmodell eine Umlaufgeschwindigkeit von 149 km/s voraus. Tatsächlich bewegt sich diese jedoch nach McMillan mit etwa 239 km/s um die Rotationsachse. Innerhalb des Sonnenorbits muss sich somit viel mehr Masse befinden, als durch Beobachtungen im gesamten elektromagnetischen Spektrum sichtbar ist. Die Linse kann wegen ihrer im Vergleich zur Scheibe viel kleineren Masse die Differenz bei weitem nicht erklären, wie später aufgezeigt wird.
Aus der Umlaufsgeschwindigkeit folgt wiederum die Umlaufsdauer gemäß . Nahe dem Zentrum ist die Bahnperiode natürlich fast Null, für die Sonne ergibt sich wegen der unterschätzten Geschwindigkeit ein zu hoher Wert von ungefähr 330 Millionen Jahren (die korrekte Periode liegt bei etwa 200 Millionen Jahren).
Tatsächlich liegen keine echten Kreisbahnen vor, da sich die einzelnen Sterne ständig gegenseitig stören. Die bezüglich eines bestimmten Sterns näher zur Rotationsachse sich befindlichen Körper laufen schneller als dieser um das Zentrum, wodurch er immer wieder von solchen inneren Nachbarn überholt wird. Umgekehrt bewegt sich der Stern selbst rascher als die Objekte mit größerer Entfernung zur Rotationsachse, wodurch er seinerseits an solchen äußeren Nachbarn ständig vorbeizieht. Oort [50] konnte 1965 zeigen, dass sich bei einem solchen zirkularen Bewegungsmuster in guter Näherung Bahnen ausbilden, die an das ptolemäische Modell der Planetenbahnen erinnern! Die Sterne laufen demgemäß auf Epizykeln um die ideale Kreisbahn herum, welche im Gegensatz zu Ptolemäus aber nun in der Regel Ellipsen und keine Kreise sind.
Die epizyklische Bewegung hat zur Folge, dass der Abstand zur Mitte nicht mehr konstant ist. Die Sterne führen vielmehr harmonische Schwingungen um die Kreisbahnen aus. Damit ist die radiale Geschwindigkeit nur noch im Mittel gleich Null. Oort zufolge bildet sich eine Gaußverteilung mit einer gewissen Standardabweichung aus. Die tangentiale Komponente ist gleichfalls nicht mehr konstant, sondern folgt ebenfalls einer Normalverteilung mit einer Streuung . Die beiden Standardabweichungen sind eng miteinander korreliert, ihr Verhältnis zueinander bestimmt die Exzentrizität des Epizykels. Nimmt man noch die Streuung senkrecht zum Äquator hinzu, so wird aus dem elliptischen Epizykel ein sogenanntes Geschwindigkeitsellipsoid.
Um das Verhältnis zwischen und zu gewinnen, muss man zunächst die Umlaufsperiode bzw. die dazugehörige Winkelgeschwindigkeit betrachten, mit welcher ein Stern um seinen Epizykel läuft. ist wiederum mit der Winkelgeschwindigkeit auf der Kreisbahn um das Zentrum folgendermaßen verknüpft:
gibt dabei an, wie sehr sich lokal jeweils pro Parsec ändert. Die Winkelgeschwindigkeit auf der Kreisbahn nimmt nach außen hin ab, so dass die Änderung und damit der zweite Term unter der Wurzel immer negativ sind. Mit dem exponentiellen Dichtegesetz ergibt sich, dass die Winkelgeschwindigkeiten (und damit auch die Umlaufsperioden) auf Epizykel und Kreisbahn fast gleich sind, d.h. während eines Umlaufs um das Zentrum auch fast genau ein Umlauf um den Epizykel stattfindet. Die beiden Perioden und sind nachfolgend in Abh. von der Distanz zur Rotationsachse dargestellt.
Nach Oort ist die gesuchte Exzentrizität des Epizykels (das Verhältnis der Streuungen der radialen und tangentialen Geschwindigkeitskomponente) direkt dem Verhältnis der Winkelgeschwindigkeiten und proportional. Da ein Umlauf um einen Epizykel beinahe einem Umlauf um die Mitte entspricht, liegt gemäß folgender Beziehung das Verhältnis : fast genau bei 1 : 2.
Schließlich wird noch das Verhältnis von zu benötigt, welches die Tiefenerstreckung des Geschwindigkeitsellipsoids senkrecht zur Äquatorebene kennzeichnet. Laut Bottema (2003) [51] gilt:
ist eine Korrekturfunktion, die leider sehr schwierig zu bestimmen ist, glücklicherweise aber relativ nahe bei 1 liegt. Obiger Autor gibt je nach Entfernung zum Zentrum Werte zwischen 0.6 und 0.9 an. Diese Ortsabhängigkeit wird hier vernachlässigt und stattdessen ein Mittelwert von 0.75 angenommen, wodurch sich für ein Wert von 0.45 ergibt. Für liefert das nahe der Rotationsachse einen sehr hohen Wert von etwa 141 km/s, in der Sonnenumgebung noch von ungefähr 35 km/s.
Die Zahlenbeispiele ergeben, dass das Modell von Oort nahe dem galaktischen Zentrum eine außerordentliche Streuung der Geschwindigkeit vorhersagt, welche weit höher ist als die mittlere Umlaufgeschwindigkeit. Tatsächlich zeigen Beobachtungen (welche im Abschnitt über die Linse ausführlicher dargestellt werden), dass dort die Streuung der Geschwindigkeit wesentlich niedriger ist. Nahe der Rotationsachse darf das Oortsche Modell somit nicht mehr verwendet werden. In der Praxis werden daher häufig, wo die Linse mehrheitlich die Gesamtdichte dominiert, alle Massenpunkte pauschal dieser zugeordnet.
Parallel zu Oort befasste sich Toomre (1964) [52] mit der bemerkenswerten Tatsache, dass die im Vergleich zu ihrem effektiven Durchmesser sehr dünnen Scheiben von Galaxien offensichtlich über sehr lange Zeiträume stabil sind. Er legte dar, dass gerade die von den Epizykelbahnen herrührenden Schwankungen der Geschwindigkeiten hierfür eine wichtige Rolle spielen. Wäre eine solche Streuung nicht vorhanden, würden sich rasch Bereiche hoher Dichte bilden, d.h. die Scheibe in einzelne Klumpen zerfallen, welche durch ihre gegenseitige Anziehungskraft wiederum verschmelzen und letztendlich einen Gravitationskollaps erleiden würden. Um die Voraussetzungen für Stabilität zu beschreiben, führte der Autor folgenden Ausdruck ein:
beschreibt die Flächendichte in Abh. vom Abstand von der Rotationsachse (man gewinnt diese aus der räumlichen Dichte, indem man die sowohl über als auch unter einem Flächenstück der Äquatorebene sich befindliche Masse aufsummiert).
Laut Toomre muss mindestens 1 sein, damit die Scheibe nicht unter ihrer eigenen Schwerkraft zusammenbricht. Dies bedeutet zugleich, dass für eine stabile Scheibe einen gewissen von der Entfernung vom Zentrum abhängigen Mindestwert aufweisen muss. gibt die tatsächliche Geschwindigkeitsstreuung als ein Vielfaches dieser Mindestanforderung an. Der aus dem Modell von Bottema folgende Verlauf von ist durch untenstehende Abbildung gegeben.
Nahe der Mitte liegt vor allem wegen der hohen Winkelgeschwindigkeit um das Zentrum (und damit auch auf dem Epizykel) mit Werten von bis über 60 weit über 1, was jedoch wegen der Ungültigkeit des Modells von Oort in diesem Bereich nicht mehr als realistisch betrachtet werden darf. Aber auch ansonsten zeigt für ein reines Scheibenmodell eine deutliche Stabilität an, wobei bis zum Bereich der Sonne hin jedoch ein Abfall bis auf etwa 4 erfolgt. Vollständige Modelle einschließlich Linse und Halo wie von Bottema liefern noch geringere Werte für von oft nur noch 1-2, d.h. lediglich knapp über der Stabilitätsgrenze. Nach außen hin zeigt das reine Scheibenmodell wieder einen Anstieg bis auf ungefähr 11.
Nur die Sterne folgen dem Geschwindigkeitsellipsoid. Die interstellare Materie nimmt zwar ebenfalls an der Rotation der Scheibe teil, so dass man die für die Sterne abgeleiteten Kreisbahngeschwindigkeiten übernehmen darf. Das Gas stellt jedoch ein Medium mit innerer Reibung dar, so dass sich für Objekte wie etwa Gasnebel eine viel geringere Streuung der Geschwindigkeit einstellt. Den hier zitierten Modellen zufolge beträgt sie nur wenige km/s.
Linse
BearbeitenDichteverteilung
BearbeitenGrob betrachtet erscheinen die Linsen von Galaxien wie überdimensionale Sternhaufen, die stark zu deren Zentren hin konzentriert sind. Im Gegensatz zu Kugelhaufen wie 47 Tucanae sind Linsen oft etwas abgeplattet, was hier jedoch nicht berücksichtigt werden soll. Mit dieser Vereinfachung genügt es, wie für einen Haufen die Dichte als Funktion des Abstandes vom Koordinatenursprung zu beschreiben (und nicht wie bei der Scheibe in Abhängigkeit von der Entfernung zur Rotationsachse sowie zur Äquatorebene). Neueren Untersuchungen gemäß folgt die Dichteverteilung nahe der Mitte einem Potenzgesetz, weiter außen dagegen einem Exponentialgesetz. McMillan (2011) [48] gibt an:
ist der Skalenradius für die Potenzfunktion, derjenige für die Exponentialfunktion. Die Werte für die beiden Radien betragen für die Milchstraße laut McMillan 75 Parsec und 2100 Parsec. Für den Exponenten nennt der Autor einen Wert von 1.8.
Um Mitgliedern der Linse zufällige Anfangspositionen zuzuordnen, muss man ein weiteres Mal wie bei einem Sternhaufen vorgehen, insbesondere wieder die von einer Kugel mit Radius eingeschlossene Masse bestimmen. Leider lässt sich für das vorliegende Dichtegesetz dafür keine geschlossene Formel angeben, und somit auch nicht für die Proportionalitätskonstante . Man kann jedoch näherungsweise gewinnen, indem man über dünne Kugelschalen mit einer Dicke schrittweise aufsummiert. Die in einer solchen Schale vorhandene Masse ist durch gegeben. sollte wesentlich kleiner als gewählt werden, mit erzielt man bereits zuverlässige Ergebnisse. Nimmt man alle Schalen bis zu einem Abstand von 3 , so erfasst man 99.99 % der Gesamtmasse der Linse.
Ein Problem bei diesem Vorgehen stellt natürlich die zunächst unbekannte Konstante dar. Man kann aber eine Testrechnung z.B. mit = 1 durchführen und die so ermittelte Testmasse mit der tatsächlichen Masse der Linse vergleichen. ist dann durch das Verhältnis gegeben. Die Linse weist McMillan zufolge etwa 9 Milliarden Sonnenmassen auf.
Geschwindigkeitsverteilung
BearbeitenIm Gegensatz zur Scheibe existiert für die Linse hinsichtlich der Häufigkeiten bestimmter Sterngeschwindigkeiten leider kein anschauliches Modell. Messungen der Radialgeschwindigkeiten (der vom Dopplereffekt gelieferten Geschwindigkeit in Blickrichtung) tausender Roter Riesen, wie sie z.B. von Howard und anderen (2008) [53] begonnen und von Kunder und anderen (2012) [54] abgeschlossen wurden, ergeben für unsere Galaxis dennoch ein zuverlässiges und präzises Bild. Demnach bewegen sich die Sterne der Linse keineswegs völlig regellos wie in einem Haufen, sondern nehmen an der Rotation der Milchstraße teil. Die Umlaufgeschwindigkeit nimmt zunächst steil mit dem Abstand von der Rotationsachse zu (pro 1000 Parsec etwa um 100 km/s), so dass bei einer Distanz von 500 Parsec vom Zentrum ein Wert von etwa 50 km/s erreicht ist. Danach flacht dieser Anstieg jedoch deutlich ab, am Rand der Linse (ungefähr 1400 Parsec von der Rotationsachse entfernt) beträgt die Umlaufsgeschwindigkeit circa 75 km/s. Die mittlere Geschwindigkeit wird von einer Gaußverteilung überlagert, deren Streuung gemäß obigen Autoren im Mittel bei 107 km/s liegt, wobei entsprechend einer nach außen hin abfallenden Dichte auch hier regionale Unterschiede auftreten. Direkt an der Rotationsachse ist die Streuung mit zumeist 100-120 km/s am höchsten, am Rand der Linse mit typischerweise 70-90 km/s am niedrigsten. Die Schwankungsbreite ist also vor allem in der Mitte der Linse doch noch deutlich größer als die Rotationsgeschwindigkeit selbst, bleibt aber klar unter dem vom Oortschen Modell gelieferten Niveau. Insgesamt überwiegt der ungeordnete Sternhaufencharakter noch der Rotation.
Die hier zitierten Autoren bekräftigen frühere Hinweise auf die Existenz einer Balkenstruktur, weshalb sich für die Linse der Milchstraße in der Fachliteratur gelegentlich auch die Bezeichnung "Pseudo-Bulge" findet. Auf diese Details soll aber nicht weiter eingegangen werden.
Halo
BearbeitenDichteverteilung
BearbeitenUm die selbst am Rand der Scheibe noch sehr hohen Umlaufgeschwindigkeiten um das galaktische Zentrum zu erklären (ein Phänomen, dass nicht nur der Milchstraße, sondern den meisten Scheibengalaxien eigen ist), wird schon seit Ende der 1970er Jahre die Existenz eines außerordentlich massereichen Halos aus unsichtbarer Materie diskutiert. Bis heute ist diese sogenannte dunkle Materie nicht identifiziert, doch lässt sich aus der Rotation der Scheibe indirekt dennoch eine Dichteverteilung ableiten. Der dunkle Halo wird in der Regel als kugelsymmetrisch und nur schwach zum Zentrum hin verdichtet angenommen. Dem Modell von McMillan (2011) [48] zufolge gilt.
Die Dichte folgt nun also nicht einem Exponentialgesetz, sondern einem viel langsamer nach außen hin abfallenden Potenzgesetz. Der Skalenradius des galaktischen Halos ist gemäß dem Modell mit 20200 Parsec enorm.
Ungeachtet der diffusen Verteilung seiner Materie wird der Halo in der Praxis nicht selten durch diskrete Massenpunkte dargestellt, wodurch erneut diskutiert werden muss. Für die hier zugrunde gelegte Dichteverteilung ist eine geschlossene Darstellung möglich:
Nun taucht jedoch die Schwierigkeit auf, dass diese Massenverteilung nicht bis ins Unendliche fortgeführt werden kann, da ansonsten unendlich wird. Man ist somit gezwungen, einen maximalen Abstand in das Modell einzuführen. Dann lässt sich die Konstante folgendermaßen berechnen:
Laut McMillan weist der dunkle Halo der Milchstraße bis zu einem Abstand von 50000 Parsec die ungeheure Masse von 540 Milliarden Sonnenmassen auf. Seine Gesamtmasse soll sogar bei etwa 1400 Milliarden Sonnenmassen liegen, was gemäß dem Modell des Autors einen Radius von circa 180000 Parsec erforderte.
Nachfolgend sind alle drei Milchstraßenkomponenten nochmals zusammengefasst. Im Innersten der Galaxis, bis zu einem Abstand von ungefähr 1000 Parsec vom Zentrum, dominiert die Linse die Gesamtdichte. Danach ist über einen sehr weiten Bereich bis hin zu etwa 20000 Parsec die Scheibe vorherrschend. Noch weiter draußen stellt der dunkle Halo den Löwenanteil der Dichte.
Schließlich seien auch die von dem Dichtemodell von McMillan vorhergesagten Kreisbahngeschwindigkeiten in der galaktischen Ebene gezeigt. Erneut erweist sich unmittelbar am Zentrum die Linse als Hauptkomponente. Für die Scheibe gilt dies jetzt nur bis zu einer Entfernung von circa 6000 Parsec von der Mitte. Danach wird die insgesamt umschlossene Masse schon vom dunklen Halo dominiert. Für die Sonne liefert das vollständige Modell eine Umlaufsgeschwindigkeit von 233 km/s in guter Übereinstimmung mit dem Meßwert von 239 km/s.
Obiges Dichtegesetz gibt die Massenverteilung des galaktischen Halos nur grob wieder. Die Bewegungen der Sterne in Zwerggalaxien weisen darauf hin, dass diese noch stärker von dunkler Materie dominiert werden als die Milchstraße selbst. Sie sind in kleineren sogenannten "Subhalos" eingebettet, die lokale Verdichtungen innerhalb des großen Milchstraßenhalos darstellen.
Geschwindigkeitsverteilung
BearbeitenWoraus die dunkle Materie besteht, ist bis heute ungeklärt. Es erscheint somit verblüffend, dass sich dennoch Aussagen über die Geschwindigkeit machen lassen, mit welcher sich diese bewegt. Mit der durch die Zwerggalaxien demonstrierten Neigung, sich in kleinere Unterstrukturen größerer Dichte zu gliedern, erinnert die dunkle Materie jedoch an kaltes interstellares Gas, aus welchem durch fortschreitende Fragmentierung Sternhaufen und schließlich einzelne Sterne hervorgehen. Im Englischen hat sich für dieses Verhalten die Bezeichnung "Cold Dark Matter" - kalte dunkle Materie - eingebürgert, dementsprechend die Abkürzung CDM.
Die Teilchen, aus denen die dunkle Materie besteht, unterliegen der Schwerkraft und wohl auch der sogenannten schwachen Wechselwirkung (welche unter anderem für den radioaktiven Zerfall verantwortlich ist), nicht aber der elektromagnetischen und der sogenannten starken Wechselwirkung (welche z.B. den Zusammenhalt der Atomkerne trotz gegenseitig sich abstoßender positiver Ladungen der Protonen erklärt). Neutrinos kämen damit als Träger der dunklen Materie in Frage, doch reicht deren Gesamtmasse nach heutigem Verständnis nicht aus, um die Dynamik von Galaxien zu erklären. Man vermutet daher, dass es bislang noch nicht nachgewiesene massereiche Teilchen gibt, welche allein auf die beiden erstgenannten Kräfte reagieren. Sie werden im Englischen als "Weak Interacting Massive Particles" - schwach wechselwirkende massereiche Teilchen - bezeichnet, abgekürzt als WIMPs.
Um auch ohne die Möglichkeit direkter Beobachtung die Geschwindigkeit der dunklen Materie zumindest abschätzen zu können, greift man oft auf Mehrkörpersimulationen zurück. Man stellt den Halo durch ein Ensemble von Massenpunkten dar, wobei man für die Zuweisung zufälliger Anfangspositionen ein einfaches Dichtegesetz wie z.B. nach Mc Millan wählt. Um für jeden auch eine Geschwindigkeit zu definieren, ist der Vergleich mit dem Gas außerordentlich nützlich. Das naheliegendste Modell besteht darin, die dunkle Materie als ein isothermes Medium aufzufassen, d.h. zufällige Geschwindigkeiten entsprechend einer Maxwellschen Verteilung einer bestimmten Temperatur festzulegen. Dabei ist allerdings zu beachten, dass sich die dunkle Materie nicht frei, sondern in einem Schwerefeld bewegt. Dies kann dadurch geschehen, indem man die Massenpunkte zu Beginn im Mittel auf Kreisbahnen beliebiger Orientierung laufen lässt. Die Umlaufsgeschwindigkeit wird hierbei durch die Masse festgelegt, welche durch die vom Bahnradius definierte Kugel eingeschlossen wird. Um den Probekörpern darüber hinaus eine thermische Bewegung zu verleihen, wird zu jeder Komponente des durch die Kreisbahn festgelegten Geschwindigkeitsvektors ein Zufallsbetrag hinzuaddiert, welcher einer Gaußverteilung folgt. Die Breite dieser Verteilung ist für ein gleichmäßig temperierten Gas überall in allen Richtungen gleich.
Nun beobachtet man, in wieweit mit der anfänglichen Geschwindigkeitsverteilung im Verlauf der Simulation im Halo lokale Verdichtungen entstehen. Die Anzahl und die Massen solcher Verdichtungen lassen sich anschließend mit der Häufigkeit und den Massen von Zwerggalaxien vergleichen. Wählt man eine zu hohe Temperatur (zu starke Streuung der Geschwindigkeiten), bilden sich gar keine oder zumindest zu wenige Subhalos aus. Wird die Temperatur zu niedrig angesetzt, treten zu viele und zu dichte Klumpen auf. Im Extremfall kollabiert gar der Halo durch die sukzessive Verschmelzung einzelner Verdichtungen zu immer massereicheren Ensembles.
Der Aufwand für derartige Simulationen ist enorm. Um Zwerggalaxien entsprechenden Verdichtungen noch auflösen zu können, ist eine sehr hohe Zahl von Probekörpern erforderlich. So verwendeten Ling und andere (2010) [55] etwa 20 Millionen, Diemand und Moore (2011) [56] sogar circa 230 Millionen Massenpunkte! Realitätsnahe Modelle können leider nur auf sehr leistungsfähigen Rechnern zum Einsatz kommen.
Ausgehend von der Metapher des Gases finden Ling und andere, dass in der Umgebung der Sonne die dunkle Materie eine Durchschnittsgeschwindigkeit von etwa 270 km/s aufweist, mit einer Streuung von circa 100 km/s. Die am häufigsten vorkommende Geschwindigkeit beträgt ungefähr 240 km/s. Um das anhand der Zwerggalaxien beobachtete Klumpungsverhalten zu erklären, reicht das einfache Modell eines Mediums gleichförmiger Temperatur aber nicht aus. Den Autoren zufolge muss man mit einer Geschwindigkeitsverteilung arbeiten, die signifikant von einer Maxwell-Verteilung abweicht, weil auch die dunkle Materie in geringem Maße an der galaktischen Rotation teilnimmt. Am ausgeprägtesten ist diese in der Milchstraßenebene, für die Sonnenumgebung nennen Ling und andere eine Rotationsgeschwindigkeit von etwa 30 km/s. Mit zunehmendem Abstand vom Äquator nimmt diese ab, jenseits von 15000 Parsec über oder unter der Ebene ist keine Rotation des Halos mehr nachweisbar. Die Rotationsgeschwindigkeit hängt der hier zitierten Arbeit zufolge auch vom Abstand von der Rotationsachse ab. Unmittelbar an der Achse liegt sie demgemäß bei circa 60 km/s, in einer Entfernung von 100000 Parsec noch bei etwa 10-15 km/s.
Getrennt nach Richtungskomponenten finden obige Autoren infolge der Überlagerung von thermischer Bewegung und Rotation z.T. recht komplexe Verteilungen der Geschwindigkeit. Die radiale Komponente ist in der Sonnenumgebung im Mittel 0, d.h. im Durchschnitt bewegt sich die dunkle Materie tatsächlich auf Kreisbahnen. Die Streuung beträgt ungefähr 90 km/s. Die Verteilung ist symmetrisch, weicht aber dennoch von einer Gaußverteilung merklich ab. Für die tangentiale Komponente (Umlaufgeschwindigkeit) finden die Autoren eine stark asymmetrische Verteilung, welche sie durch die Überlagerung der Bewegungsmuster der dunklen Materie in der dünnen und dicken Scheibe erklären. In der dünnen Scheibe - also sehr nahe der Äquatorebene - liegt die Tangentialgeschwindigkeit im Mittel bei circa 270 km/s. Die Streuung ist auffallend gering mit nur etwa 30 km/s. In der dicken Scheibe findet sich ein Mittel von circa 180 km/s, begleitet von einer Streuung von etwa 70 km/s. Vor allem in der dünnen Scheibe ist die Streuung der Geschwindigkeit also je nach Blickrichtung sehr unterschiedlich - ganz im Gegensatz zum Modell eines isothermen Gases.
Simulationsbeispiele
BearbeitenScheibe und Linse
BearbeitenDie hier besprochenen Modelle für Scheibe, Linse und Halo sollen nun auf einfache Simulationen angewandt werden. Um solche auch noch mit der vergleichsweise bescheidenen Rechenkapazität eines Laptops durchführen zu können, müssen vor allem hinsichtlich des Halos erhebliche Vereinfachungen in Kauf genommen werden. Um die Bildung von Strukturen in der Scheibe und Linse aber noch kenntlich machen zu können, sollte die sichtbare Materie mit zumindest mehreren 1000 Massenpunkten dargestellt werden. Für die folgenden Beispiele werden jeweils 5000 Probekörper gleicher Masse verwendet.
Um die von den Massenpunkten wechselseitig ausgeübten Kräfte zu bestimmen, wird wie für die Sternhaufen-Beispiele der Barnes-Hut-Algorithmus verwendet. Im Gegensatz zu einem Haufen darf nun für den Parameter ein höherer Wert von 0.25 eingestellt werden. Um schrittweise neue Positionen und Geschwindigkeiten vorherzusagen, wird abermals das Leapfrog-Verfahren herangezogen. Die dynamische Schrittweite darf ebenfalls großzügiger gehandhabt werden, anstatt 0.01 genügt die Festlegung 0.03 . Die Energieerhaltung wird dennoch mit hoher Genauigkeit befolgt, weil durch einen Plummerradius anstelle von im Falle einer engen Begegnung zweier Massenpunkte die Gravitation viel stärker geglättet wird. Durch die Verwendung von Probekörpern jeweils gleicher Masse treten zudem im Gegensatz zu einer Sternhaufensimulation (wo im Extremfall ein brauner Zwerg mit 0.01 Sonnenmassen auf einen Stern mit 100 Sonnenmassen treffen kann) keine asymmetrischen Beschleunigungen auf. Trotz der Zugeständnisse hinsichtlich und weisen die folgenden Simulationsbeispiele eine Energieerhaltung mit einem mittleren Fehler von nur 0.1% auf.
Der Ansatz für den Plummerradius gewährt nicht nur eine wesentlich bessere Stabilität der Simulation, er verringert auch dramatisch die Anzahl erforderlicher Simulationsschritte auf einer bestimmten Zeitskala. Im Gegensatz zu einem Sternhaufen ist es hier angebracht, die dynamische Zeitskala mit der typischen Rotationsperiode zu vergleichen und nicht mit der Relaxationszeit (welche für Galaxien sehr viel größer ist als selbst das Alter des Universums). Mit dem größeren Plummerradius gilt (siehe Kapitel "Enge Begegnungen von Massenpunkten" - Unterkapitel "Dynamische Zeitskalen") und wegen schließlich . Die Rotationsperiode folgt wiederum der Beziehung . Daraus gewinnt man letztendlich:
Analog zu einem Sternhaufen hängt die Anzahl der für eine Galaxien-Simulation notwendigen Zeitschritte nur von der Anzahl der dafür verwendeten Massenpunkte ab, nicht aber von der Masse oder der Größe des Systems. Die Abhängigkeit von ist jetzt aber sehr viel schwächer, mit der 10-fachen Anzahl an Massenpunkten werden noch nicht einmal doppelt so viele Zeitschritte gebraucht.
Wie bereits angedeutet, stellt der dunkle Halo aufgrund seiner enormen Masse und Ausdehnung eine erhebliche Hürde hinsichtlich der für eine realistische Simulation erforderlichen Rechnerkapazität dar. Da der Milchstraßenhalo etwa 20 Mal mehr Masse aufweist als Scheibe und Linse zusammen, müsste er hier mit 20 * 5000 = 100000 Massenpunkten wiedergegeben werden, um ihn mit derselben Granularität zu modellieren wie die sichtbaren Komponenten. Dies übersteigt jedoch die Möglichkeiten eines Laptops bereits bei weitem, so dass für die nachfolgenden Beispiele eine drastische Vereinfachung getroffen wird. Der Halo wird einfach als statisches Kraftfeld dargestellt, in welchem die Testkörper von Scheibe und Linse sich bewegen. Die Zusatzkraft, die ein Massenpunkt mit einer Entfernung vom galaktischen Zentrum durch die dunkle Materie spürt, ist damit direkt durch die innerhalb dieses Radius gelegene Halomasse gegeben.
Zunächst sei als Beispiel die Entwicklung einer reinen Scheibengalaxie ohne Linse vorgestellt, anschließend einer Galaxie mit Linse. In letzterem Fall werden die 5000 Massenpunkte entsprechend dem Massenverhältnis von Scheibe und Linse aufgeteilt, so dass etwa 4300 Probekörper auf die Scheibe und 700 auf die Linse entfallen. Die Simulationen erstrecken sich jeweils über 850 Millionen Jahre, entsprechend 10 Umlaufsperioden im Abstand eines Skalenradius der Scheibe von der Rotationsachse. Die Kantenlänge der untenstehenden Abbildungen entspricht jeweils etwa 38000 Parsec.
Schon im reinen Scheibenmodell treten im Laufe der Zeit immer wieder an Spiralarme erinnernde Strukturen auf. Die Existenz solcher Spiralen kann also bereits durch eine relativ einfache Mehrkörpersimulation plausibel gemacht werden. Gemäß der Dichtewellentheorie (siehe z.B. Scheffler und Elsässer (1992) [57]) reichen bereits zufällige Anhäufungen von Sternen aus, um die Entstehung einer Dichtewelle anzustoßen, die nicht an der Rotation der Scheibe teilnimmt (man beachte z.B. in der nächsten Abbildung den sowohl nach 340 as auch 510 Millionen Jahren nach links zeigenden Arm), so dass sich Sterne und interstellare Materie während ihres Umlaufs um das galaktische Zentrum vielmehr durch diese hindurchbewegen. Die Welle stört das Schwerefeld in ihrer Umgebung und damit wiederum die Bewegung und Verteilung der dort sich befindlichen Materie. Wie bei einem Stau auf der Autobahn halten die in die Welle hineinlaufenden Sterne und Gaswolken sich dort überproportional lange auf, ehe sie das Gebiet erhöhter Dichte wieder verlassen.
Um das prägnante Erscheinungsbild der Spiralarme zu erklären, muss man allerdings über das Konzept eines nur durch die Gravitation beherrschten Mehrkörperensembles hinausgehen und die dynamischen Eigenschaften des interstellaren Gases mit berücksichtigen. Trifft interstellare Materie auf eine Dichtewelle, so bildet sich aufgrund der zunächst hohen Relativgeschwindigkeit eine Stoßfront aus vergleichbar einem Überschallknall. In einer solchen Front können lokal sehr hohe Dichten auftreten und diese wiederum die Entstehung von Sternen anregen. Im Mittel genügt bereits ein Dichteunterschied von nur 5% zwischen Welle und Umgebung, um bei einem "Auffahrunfall" einer interstellaren Gaswolke eine Stoßfront zu erzeugen. Es ist somit nicht verwunderlich, wenn die in einer reinen Mehrkörpersimulation (wo die lokal sehr dichten Stoßfronten fehlen) entstehenden Spiralarme längst nicht so prägnant erscheinen wie auf einer Photographie einer realen Galaxie, wo die weit überdurchschnittliche Leuchtkraft junger heißer Sterne die Fronten innerhalb der Arme anzeigt.
Ein Blick auf die Kante der Scheibe zeigt, dass diese senkrecht zur Äquatorebene weitgehend stabil bleibt. Sie wird im Laufe der Simulation etwas dicker, doch bis auf wenige Ausnahmen bleiben alle Massenpunkte dem Äquator recht nahe (weniger als 2000 Parsec).
Das Modell mit Linse bildet in der Scheibe ebenfalls Spiralarme aus. Die Linse selbst dehnt sich im Laufe der Simulation aus, mitunter erscheint sie auch leicht zu länglicher Gestalt deformiert.
Die seitliche Perspektive macht die Expansion der Linse besonders deutlich. Etliche Massenpunkte entfernen sich weit von der galaktischen Ebene und bilden einen dünnen Halo aus sichtbarer Materie aus. Tatsächlich wird der sichtbare Halo der Milchstraße, welcher neben alten Einzelsternen die Kugelsternhaufen enthält, oft als Erweiterung der Linse gedeutet.
Am Ende dieses Abschnitts soll noch auf ein weiteres Modell für die Entstehung der Spiralarme hingewiesen werden, welches auch der schon zitierten Arbeit von Bottema (2003) [51] zugrunde liegt - sich selbst fortpflanzende Sternentstehung. Auch dieses geht über eine einfache Mehrkörpersimulation hinaus und verlangt eine Einbeziehung der Gasdynamik. Explodiert ein massereicher Stern als Supernova, stößt er seine äußere Hülle mit einer enormen Geschwindigkeit in der Größenordnung von 1000 km/s ab, wodurch sich analog zu einer irdischen Explosion eine Druckwelle ausbildet. Wird eine interstellare Gaswolke von einer solchen Welle getroffen, kann sie kollabieren und so neue Sterne bilden. Die massereichsten unter diesen enden wiederum als Supernovae, wodurch neue Schockwellen auf noch unversehrte Gaswolken stoßen können.
Während das Dichtewellenmodell die Spiralarme als Ergebnis eines großräumigen Vorgangs deutet, reichen gemäß dem Bild einer von sich aus fortschreitenden Sternentstehung schon lokale Ereignisse aus, um so ausgedehnte Strukturen wie die Spiralen hervorzubringen. Der Vorteil dieser Sichtweise besteht darin, dass sie das oft körnige Aussehen der Spiralarme einfach als Summe mehrerer lokaler Sternentstehungsepisoden erklären kann.
Halo
BearbeitenWie schon angedeutet, können die in den letzten Jahren neu entdeckten Eigenschaften der dunklen Halos von Galaxien mit der Rechenleistung eines gewöhnlichen Laptops nicht mehr dargestellt werden. Neben der schon diskutierten Arbeit von Ling und anderen (2010) [55] sollen als weiteres Beispiel daher die von Diemand und Moore (2011) [56] erörterten Simulationen genannt werden, welche die Tendenz der dunklen Materie, wie die sichtbare Materie Strukturen sehr unterschiedlicher Größe zu bilden, besonders klar hervorheben. Um auch kleine Ansammlungen von Materie nachweisen zu können, wurden Testkörper mit einer Masse bis herunter zu nur 1000 Sonnenmassen verwendet. Damit war es möglich, Strukturen bis herab zu etwa 100000 Sonnenmassen zu erkennen.
Schon auf dieser Skala zeigen die Simulationen, dass der Halo einer großen Galaxie wie die Milchstraße über 100000 "Subhalos" enthalten kann. Analog zur sichtbaren Materie sind dabei massearme Objekte dieser Art weit häufiger als massereiche. Den Autoren zufolge ist sogar die Existenz von extrem massearmen Subhalos mit nur etwa 1 Sonnemasse, ja sogar nur crca 1 Erdmasse zu erwarten. Gemäß der zum Zentrum hin zunehmenden Dichte des Haupthalos sind dort auch Subhalos häufiger anzutreffen.
Das Vorhandensein von Subhalos sehr unterschiedlicher Masse in solchen Modellrechnungen stimmt gut überein mit der Existenz von Zwerggalaxien sehr verschiedener Größe und Sternanzahl. Neben recht großen Systemen wie den Magellanschen Wolken mit bis zu einigen 100 Millionen Sternen finden sich sehr kleine Zwerggalaxien mit nur wenigen 100000 Mitgliedern. Die Häufigkeit gerade solcher Systeme zu ermitteln (um sie mit derjenigen der simulierten Subhalos zu vergleichen), ist jedoch ein sehr schwieriges Unterfangen. Stehen sie der Milchstraße sehr nahe, sind sie vom Sternfeld der Galaxis selbst kaum zu unterscheiden. Anderenfalls ist das Sternfeld der Zwerggalaxie an für sich dicht genug, jedoch sehr lichtschwach.
Diemand und Moore untersuchten ferner die Form sowohl des großen Milchstraßenhalos als auch der Subhalos. Sowohl der Haupthalo als auch die Subhalos sind nicht kugelförmig, sondern länglich vergleichbar z.B. einem Rugbyball. Nahe dem galaktischen Zentrum weichen die Subhalos dabei von der Kugelform weniger ab als am Rand des Haupthalos. Als ausgedehnte Objekte verspüren sie vom Haupthalo ausgeübte Gezeitenkräfte und nehmen dabei im Laufe der Zeit eine mehr rundliche Form an, zugleich richten sie ihre Hauptachse in Richtung des Zentrums aus.
Galaxienkollisionen
BearbeitenDie Kollision zweier Galaxien gehört zu den komplexesten Vorgängen im Universum. Schon lange bevor die Zentren der Stoßpartner sich begegnen, verformen sich diese aufgrund wechselseitig ausgeübter Gezeitenkräfte erheblich. Dies betrifft selbstverständlich nicht nur die sichtbaren Komponenten, sondern auch die dunklen Halos. Das für die Laptop-Simulationen einer isolierten Galaxie herangezogene sehr einfache Modell eines statischen Halos kommt damit endgültig nicht mehr in Frage. Eine weitere enorme Erschwernis bildet wiederum das interstellare Gas. Die Abstände zwischen den Sternen sind im Vergleich zu ihren Durchmessern so groß, dass auch für zusammenstoßende Galaxien Stern-Stern-Kollisionen gänzlich vernachlässigt werden dürfen. Ganz anders stellt sich hingegen die Situation für das diffus verteilte Gas und selbst für Verdichtungen in Form von Gaswolken dar. Hier treten sehr wohl Zusammenstöße auf, die Schockwellen und als Folge davon eine intensive Sternentstehung auslösen können. Schließlich muss berücksichtigt werden, dass in einem Galaxienhaufen auch der Raum zwischen den einzelnen Milchstraßensystemen keinesfalls leer ist, sondern ebenfalls dunkle Materie und intergalaktisches Gas enthält. Die davon ausgehende Schwerkraft beeinflusst die Bewegungen der Galaxien signifikant, zudem können deren Halos auf Kosten des intergalaktischen Materials anwachsen. Selbst zwei Galaxien, die aufgrund eines genügend großen Abstands voneinander sich noch nicht gegenseitig stören, dürfen somit nicht als ein simples Zweikörpersystem aufgefasst werden.
Als Beispiel für eine Simulation kollidierender Galaxien sei die Arbeit von Cox und Loeb (2008) [58] skizziert. Sie befassten sich mit der schon länger im Raum stehenden Vermutung, dass unsere Milchstraße und die Andromedagalaxie in einigen Milliarden Jahren zusammenstoßen und dabei zu einer einzigen sehr großen Galaxie verschmelzen könnten. Die beiden Systeme wurden durch insgesamt 1.3 Millionen Massenpunkte mit je 20 Millionen Sonnenmassen wiedergegeben, wobei diese entsprechend der Massen der Galaxien etwa im Verhältnis 500000 : 800000 aufgeteilt wurden. Der Löwenanteil entfiel dabei erwartungsgemäß auf die dunklen Halos, für die Linsen standen noch jeweils mehrere 1000 Probekörper zur Verfügung. Die Autoren gehen davon aus, dass ein beträchtlicher Teil der Masse der lokalen Gruppe auf die intergalaktische Komponente entfällt. Diese wurde durch zu Beginn der Simulation homogen verteilte Massenpunkte (erneut mit je 20 Millionen Sonnenmassen) modelliert. Die Masse der intergalaktischen Materie wurde so hoch veranschlagt wie diejenige beider Galaxien zusammen (!), d.h. es wurden dafür ebenfalls 1.3 Millionen Probekörper angesetzt.
Cox und Loeb zufolge fällt der intergalaktischen Komponente eine entscheidende Rolle beim Zusammenstoß von Milchstraße und Andromedagalaxie zu. Wird die Simulation ohne diese durchgeführt, kommen die derzeit etwa 2 Millionen Lichtjahre voneinander entfernten Systeme erst in circa 12 Milliarden Jahren sich erstmals nahe (bis auf etwa 600000 Lichtjahre). Die vollständige Verschmelzung ist dann erst in ungefähr 25 Milliarden Jahren erreicht. Die intergalaktische Materie beschleunigt die Kollision erheblich. Die von ihr ausgeübte Anziehungskraft wirkt wie eine Reibung, welche der Umlaufbahn der beiden Galaxien Energie entzieht und diese damit schrumpfen lässt. Infolgedessen treffen in einer entsprechenden Modellierung die Kerne von Milchstraße und Andromedanebel schon in etwa 2 Milliarden Jahren mit einer Minimaldistanz von nur circa 200000 Lichtjahren beinahe aufeinander, und sie fusionieren endgültig in ungefähr 5 Milliarden Jahren. Schon der erste Beinahezusammenstoß verändert die Struktur beider Systeme enorm, große Mengen an Materie werden aus den Scheiben herausgerissen und bilden lange Schweife aus. Solche Gezeitenarme werden tatsächlich beobachtet, ein schönes Exemplar ist z.B. NGC 4676. Am Ende des Kollisionsprozesses liegt eine elliptische Galaxie vor, welche jedoch eine deutlich geringere Dichte im Zentrum aufweist als heutzutage beobachtbare derartige Systeme.
Hinsichtlich der Sternentstehung erwarten die Autoren durch den Zusammenprall keinen großen Schub. Sie begründen dies damit, dass Milchstraße und Andromedagalaxie schon heute relativ arm an interstellarem Gas sind, welches ja den Vorrat für die Bildung neuer Sterne darstellt. Zudem zieht sich auch unter Berücksichtigung der intergalaktischen Materie der Verschmelzungsvorgang über einige Milliarden Jahre hin, so dass unterdessen weitere große Mengen an Gas durch gewöhnliche Sternentstehung aufgebraucht werden. Dieses Ausbleiben einer heftigen Sternentstehungsepisode erklärt die geringe Zentraldichte der schlussendlich resultierenden elliptischen Galaxie. Cox und Loeb kommen daher zum Schluss, dass heutige elliptische Systeme aus an Gas wesentlich reicheren (Balken)spiralgalaxien hervorgegangen sein müssen, als Milchstraße und Andromedanebel heute darstellen.
Großräumige Strukturen im Kosmos
BearbeitenGalaxien stellen keineswegs die oberste Ebene kosmischer Strukturbildung dar, sie schließen sich zu noch größeren Einheiten in Form von Galaxienhaufen und Superhaufen zusammen. Um diese Gebilde zu verstehen, erweist sich das im letzten Kapitel eingeführte Konzept dunkler Halos und Subhalos wiederum als sehr hilfreich. Wie nachfolgend gezeigt wird, bildet die dunkle Materie noch großräumigere Verdichtungen aus, welche sich als Träger der Galaxienhaufen erweisen, so wie die kleineren Halos und Subhalos große und kleine Galaxien repräsentieren.
Die Superhaufen wiederum zeigen ebenfalls keine gleichförmige Verteilung, sondern ordnen sich entlang von Filamenten an. Diese umschließen gewaltige nahezu leere Bereiche, welche kaum Galaxien enthalten. Auf dieser größten bekannten Skala für Mehrkörpersysteme kommt ein Phänomen ins Spiel, welches für die bisherigen Betrachtungen bedeutungslos war: Die Expansion des Universums. Die Bewegungen der Galaxien relativ zueinander sind nicht allein durch die wechselseitig ausgeübten Anziehungskräfte bestimmt, sondern auch dadurch, dass der Raum selbst sich ausdehnt. In den letzten Jahren hat sich herausgestellt, dass zum Verständnis dieser Ausdehnung neben der dunklen Materie eine noch mysteriösere Komponente benötigt wird, welche als dunkle Energie bezeichnet wird.
Wie Simulationen von Galaxien sind auch solche von großräumigen kosmischen Strukturen sehr aufwendig. Galaxienhaufen, Superhaufen und die von letzteren gebildeten Filamente stellen abermals Objekte sehr unterschiedlicher Ausdehnung dar, so dass wiederum Millionen von Testmassen benötigt werden, um die im Vergleich zu Filamenten viel kleineren Galaxienhaufen noch nachweisen zu können. Extrem hochaufgelösten Simulationen wie die am Ende des Kapitels vorgestellte Bolshoi-Simulation gelingt es sogar, die Bildung individueller Galaxien inmitten der Großstrukturen darzustellen. Die Anzahl der dabei beteiligten Massenpunkte erreicht hier die Größenordnung von Milliarden.
Die Expansion des Universums
BearbeitenCharakteristische Eigenschaften
BearbeitenIm Jahr 1922 beschrieb Wirtz [59], dass damals (auch vom Autor selbst) oft noch als "Nebel" bezeichnete Galaxien sich mit umso höherer Geschwindigkeit von uns entfernen, je lichtschwächer sie erscheinen. 1924 [60] stellte er fest, dass eine solche Abhängigkeit für die Radialgeschwindigkeit auch bezüglich der Winkeldurchmesser von "Spiralnebeln" vorliegt. Indem Wirtz diese als Kriterium für deren Entfernungen deutete (je weiter eine Galaxie entfernt ist, umso kleiner erscheint sie in der Regel dem Beobachter), gelangte er zu der Erkenntnis, dass "Spiralnebel" sich umso rascher von uns entfernen, je weiter entfernt diese sind. Durch Anwendung seiner Daten auf das kosmologische Modell von de Sitter (welches später in diesem Abschnitt noch erläutert wird) erkannte er zudem, dass die Bewegung der Galaxien weg von uns eine Ausdehnung des Universums anzeigt.
Die Wirtz zur Verfügung stehenden Messungen reichten noch nicht aus, um den Zusammenhang zwischen Radialgeschwindigkeit und Entfernung einer Galaxie quantitativ durch eine Gesetzmäßigkeit darzustellen. Dies unternahm erstmalig im Jahr 1929 Hubble [61], welcher herausfand, dass die Radialgeschwindigkeit einer Galaxie zu ihrer Entfernung direkt proportional ist:
Die Proportionalitätskonstante wird Hubble zu Ehren Hubble-Konstante genannt. Hubble selbst gab eine Zunahme von um 500 km/s pro 1 Million Parsec an, was später jedoch erheblich korrigiert werden musste. Moderne Arbeiten, wie z.B. auch die bereits im Galaxienkapitel zitierte von Ling und anderen (2010) [62], gehen von etwa 70 km/s pro 1 Million Parsec aus, d.h. die Galaxien entfernen sich im Allgemeinen weit langsamer von uns fort als ursprünglich von Hubble angenommen. Damals standen nur Beobachtungen sehr naher Galaxien zur Verfügung, deren Bewegungen - wie man erst nachträglich erkannte - jedoch sehr stark durch die Zugehörigkeit zum lokalen Galaxienhaufen beeinflusst werden.
Wie in diesem Abschnitt noch ausführlich diskutiert wird (und anhand kosmologischer Modelle rasch klar wurde), ist die Hubble-Konstante in Wahrheit nicht konstant, sondern verändert sich im Laufe der Zeit. Dies hat zur Folge, dass der lineare Zusammenhang zwischen und nur bis zu Entfernungen von etwa 1 Milliarde Parsec gültig ist. Wegen der zwar sehr großen, aber doch endlichen Lichtgeschwindigkeit sieht man ein Objekt niemals so, wie es aktuell beschaffen ist, sondern wie es ausgesehen hat, als es das soeben eintreffende Licht ausgesandt hat. Je weiter ein Objekt entfernt ist, umso mehr liegt dieser Zeitpunkt der Lichtaussendung zurück. Für sehr ferne Galaxien gewinnt man demgemäß ein Bild, welches tatsächlich vor Milliarden Jahren vorlag, als die Hubble-Konstante noch einen deutlich anderen Wert aufwies als heute.
Hubbles Gesetz einer direkten Proportionalität zwischen Radialgeschwindigkeit und Entfernung einer Galaxie lässt sich durch eine Kugeloberfläche veranschaulichen, welche gleichmäßig aufgeblasen wird. Man betrachte eine Kugel mit Radius , auf deren Fläche sich irgendwo ein Beobachter befindet (roter Punkt). Man nehme weiterhin zwei Punkte A und B mit Abständen und 2 vom Beobachter (auf einer Kugeloberfläche bedeutet der "Abstand" zweier Punkte die Länge des Großkreisbogens, welcher diese miteinander verbindet).
Die Kugel werde nun im Verlauf einer Zeit auf das Doppelte ihrer ursprünglichen Größe aufgeblasen. Damit verdoppeln sich auch die Entfernungen von A und B zum Beobachter auf 2 bzw. 4. Punkt A bewegt sich mit der Geschwindigkeit , der doppelt so weit entfernte Punkt B mit der doppelten Geschwindigkeit 2 vom Beobachter weg. Der Effekt ist vom Standort auf der Kugeloberfläche unabhängig und gilt für beliebige Beobachter und Orte A und B.
Auf den ersten Blick steht die Zunahme der Radialgeschwindigkeit mit der Entfernung zur Relativitätstheorie in Widerspruch. Auch unter Berücksichtigung der Zeitabhängigkeit der Hubble-Konstante treten ab einer gewissen Entfernung Geschwindigkeiten auf, welche die Lichtgeschwindigkeit übersteigen. Die "Flucht" der Galaxien weg von uns aufgrund der Expansion des Universums stellt jedoch keine Bewegung von einem Raumpunkt zum nächsten dar, sondern es ist der Raum selbst, welcher sich ausdehnt. In obigem Modell der Kugeloberfläche bleiben die Punkte A und B auf ihren Plätzen, ihre Längen- und Breitengrade ändern sich nicht. Die Lichtgeschwindigkeit stellt nur dann die Obergrenze dar, wenn ein Objekt sich von einem Raumpunkt zu einem anderen bewegt, in obigen Bild A und B also zu anderen Längen- und Breitengraden wandern.
Objekte, die aufgrund der Ausdehnung des Kosmos mit Überlichtgeschwindigkeit sich von uns wegbewegen, bleiben jedoch unsichtbar, da selbst das in unsere Richtung von diesen abgestrahlte Licht nach "außen" mitgerissen wird. Daraus folgt, dass das Universum nur bis zu einer gewissen Maximalentfernung beobachtbar ist. Der Wert dieses Horizonts ist unmittelbar mit dem zeitlichen Verhalten der Hubble-Konstanten verknüpft.
Darstellung in der Mehrkörpersimulation
BearbeitenAls Zusatzbeschleunigung
BearbeitenDer Mehrkörper-Pionier Aarseth wandte seine frühen Computersimulationen in den 1960-Jahren auch schon auf kosmologische Fragestellungen an. Um die Expansion des Universums zu beschreiben, führte er 1963 [63] folgendes Konzept ein.
Auf jedes Mitglied eines Ensembles wirken zwei Beschleunigungen, die durch die übrigen Körper ausgeübte Gravitationsbeschleunigung sowie eine Expansionsbeschleunigung . Die Gravitationsbeschleunigung wird berechnet wie üblich, wobei analog zur Simulation von Galaxien mit einem Plummerradius des Typs gearbeitet wird. Die Expansionsbeschleunigung eines Körpers ist erwartungsgemäß mit der Hubble-Konstante verknüpft, wobei sein aktueller Ort ist:
Mit diesem Ansatz einer Zusatzbeschleunigung verändern sich die Ortskoordinaten der Körper allein schon durch die Expansion, so dass mit zunehmender Ausdehnung des Kosmos deren Wertebereiche sich immer mehr erweitern. Dies aber ist inkonsistent mit dem soeben skizzierten Bild der aufgeblasenen Kugeloberfläche, wo die Koordinaten der Einzelobjekte von der Ausdehnung des Universums unberührt bleiben.
Aarseths Methode erlaubt jedoch eine sehr einfache Abschätzung, in wieweit ein Mehrkörpersystem mit einer Gesamtmasse und einer charakteristischen Ausdehnung durch die Ausdehnung des Universums gestört wird. Dazu vergleicht man die Schwerebeschleunigung am Rand des Ensembles mit der Änderung der Expansionsbeschleunigung von dessen Zentrum bis zum Rand (für die Stabilität des Systems ist nicht die absolute Expansionsbeschleunigung relevant, sondern nur, in wieweit sich diese zwischen dessen Mitgliedern unterscheidet). In folgender Tabelle sind verschiedene Typen von Mehrkörpersystemen sehr unterschiedlicher Größe und Masse zusammengefasst, wobei Massen in Sonnenmassen, Strecken in Parsec und Zeiten in Jahren gegeben sind. Wie schon erwähnt, gilt mit diesen Einheiten G = 4.49814 10-15. Die Hubble-Konstante nimmt dann den Wert H = 7.16 10-11 an.
System | Masse | Ausdehnung | |
Bahn der Erde um Sonne | 1 | 1 / 206265 | 1.3 10-22 |
Plejaden | 690 | 2.5 | 2.6 10-8 |
Bahn der Sonne um galaktisches Zentrum | 1.06 1011 | 8300 | 6.1 10-6 |
Lokale Galaxiengruppe | 2 1012 | 106 | 5.7 10-1 |
Virgo-Haufen | 1015 | 2.5 107 | 1.8 101 |
Die Störung der Planetenbahnen durch die kosmische Expansion liegt weit unter der Nachweisgrenze. Die Orbits der Sterne in Haufen und auch in Galaxien werden ebenfalls nur in sehr geringfügigem Maß durch diesen Vorgang beeinflusst. Anders verhält es sich dagegen für die Bewegung der Galaxien untereinander. Schon auf der Ebene kleiner Galaxienhaufen wie der lokalen Gruppe darf die Ausdehnung des Universums nicht mehr vernachlässigt werden. Sehr große Strukturen wie etwa der Virgo-Superhaufen werden in hohem Maße durch die Expansion dominiert.
Aarseths Modell gibt auch einen ersten Hinweis auf die Bevorzugung filamentartiger Strukturen auf den größten Skalen des Kosmos. Ein aus der Frühphase des Kosmos mit unregelmäßiger Gestalt hervorgegangenes genügend großes Mehrkörperensemble wurde seitdem in Richtung seiner größten Abmessung weit stärker auseinandergezogen als in Richtung seiner kleinsten Ausdehnung und dementsprechend abgeflacht.
Durch mitbewegte Koordinaten
BearbeitenEine mit dem Bild der aufgeblasenen Kugeloberfläche übereinstimmende Beschreibung gewinnt man, indem man Ortskoordinaten einführt, welche der Expansion folgen. Man stellt sich den Raum aus beliebig kleinen Elementen aufgebaut vor, die entsprechend der Expansion des Universums ebenfalls gedehnt werden.
Wie gewünscht, ändern sich solche Koordinaten eines Körpers durch die Ausdehnung des Kosmos nicht, sondern allein durch die auf ihm von anderen Massen ausgeübte Schwerebeschleunigung . Um diese zu bestimmen, muss man jedoch zunächst weiterhin von den physikalischen Koordinaten ausgehen, welche auch durch die Expansion modifiziert werden. Die beiden Koordinatensätze werden über den sogenannten Skalenfaktor miteinander verknüpft.
gibt an, wie groß das Weltall zu einer bestimmten Zeit im Vergleich zu einer gewissen Ausgangssituation = 0 ist. Um Strukturen kosmischen Ausmaßes deuten zu können, muss man die zeitliche Entwicklung dieses Faktors (d.h. des Expansionsverhaltens) verstehen, was im nachfolgenden Abschnitt ausführlich dargelegt wird.
Um im mitbewegten (aufgeblasenen) Koordinatensystem darzustellen, schreibt man das Newtonsche Gravitationsgesetz zuerst in den ortsfesten (physikalischen) Koordinaten auf. Vereinfachend wird hier angenommen, dass alle Probekörper einer Simulation die gleiche Masse aufweisen.
Anschließend rechnet man die Schwerebeschleunigung in die Koordinaten um, was leider nur mit Kenntnissen der Differentialrechnung möglich ist. Es stellt sich heraus, dass auch jetzt gegenüber dem originalen Newtonschen Gesetz Zusatzglieder auftauchen (also in obiger Formel nicht einfach nur die durch ersetzt werden). Der Vorteil gegenüber dem ursprünglichen Ansatz von Aarseth besteht darin, dass diese Extrabeschleunigungen unmittelbar aus der Definition der Koordinaten folgen und nicht mehr Ad-hoc eingeführt werden müssen. Zudem enthalten diese jetzt nicht nur die Hubble-Konstante , sondern auch einen sogenannten Beschleunigungsparameter . Während nur angibt, wie schnell sich der Kosmos zu einem bestimmten Zeitpunkt ausdehnt, liefert zusätzlich die Information, ob diese Expansion auch einer zeitlichen Änderung unterliegt. Aarseth's einfaches Modell einer Zusatzkraft in ortsfesten Koordinaten gilt nur für eine statische Ausdehnung, wohingegen der auf mitbewegten Koordinaten beruhende Ansatz auch auf eine mögliche Beschleunigung oder Abbremsung derselben Rücksicht nimmt.
Einschub für Fortgeschrittene: Newtonsches Gravitationsgesetz in mitbewegten Koordinaten
Wie soeben angedeutet, lautet im ortsfesten Koordinatensystem in einem Ensemble identischer Testmassen die auf einen Körper einwirkende Gravitationsbeschleunigung:
Mit Hilfe der Produktregel folgen aus der Definition der mitbewegten Koordinaten die entsprechenden Umrechnungsformeln zwischen den beiden Koordinatensätzen für Geschwindigkeiten und Beschleunigungen.
Setzt man diese Vorschriften in die ortsfeste Formulierung des Newtonschen Gravitationsgesetzes ein, so erhält man dessen Darstellung in mitbewegten Koordinaten (wobei zusätzlich noch alle Terme durch dividiert werden).
Der Ausdruck entspricht genau der Hubble-Konstante, denn er normiert die Änderung des Skalenfaktors mit der Zeit (entsprechend der Expansionsgeschwindigkeit) auf den Skalenfaktor selbst (entsprechend dem Abstand zum Beobachter). beschreibt die Beschleunigung von . Anstelle dieser wird in der Kosmologie oft der schon erwähnte Parameter benutzt, welcher die Beschleunigung sowohl auf den Skalenfaktor als auch auf die Hubble-Konstante normiert.
Unter Verwendung von und nimmt das Gravitationsgesetz schließlich folgende Gestalt an.
In der Praxis wird auch für kosmologische Simulationen die Gravitation mittels eines Plummerradius geglättet. wird wie die Positionen der Testmassen im mitbewegten Koordinatensystem betrachtet, d.h. der tatsächliche physikalsche Plummerradius der Ausdehnung des Universums angepasst.
Zeitabhängigkeit
BearbeitenBeschleunigungsgleichung
BearbeitenEin dynamisches Modell des ganzen Weltalls erfordert wie schon angedeutet die Kenntnis der Zeitabhängigkeit der Expansion, d.h. für alle drei Parameter , und . Die entsprechenden Zusammenhänge lassen sich nur mittels der Allgemeinen Relativitätstheorie korrekt herleiten, worauf hier verzichtet wird. Die wesentlichen Kerngedanken können auch anhand des folgenden Newtonschen Modells erörtert werden.
Es werde eine Kugel mit Radius betrachtet, deren Masse mit der Dichte gleichmäßig über das ganze Volumen verteilt ist. Die Bewegung der Teilchen in einem solchen als homogenes Fluid betrachtetes Universum ist allein durch die Expansion bestimmt, so dass deren mitbewegte Koordinaten sich nicht ändern, d.h. allein der Skalenfaktor von der Zeit abhängt.
Vergleichbar der Diskussion des Newtonschen Gravitationsgesetzes gibt man die Beschleunigung , welche ein Körper an der Oberfläche der Kugel erfährt, zuerst in ortsfesten Koordinaten an:
Dann überträgt man auch diese Beziehung in mitbewegte Koordinaten. Nach einigen weiteren Umformungen gewinnt man erwartungsgemäß als Resultat, dass die im Kosmos vorhandene Masse infolge der von ihr ausgehenden Gravitation eine negative Beschleunigung desselben zur Folge hat, seiner Ausdehnung also entgegenwirkt. Die Abbremsung ist dabei der Dichte des Weltalls direkt proportional.
Gemäß Friedmann, welcher die Expansion auf Grundlage der Allgemeinen Relativitätstheorie betrachtete, bremst auch der im Fluid herrschende Druck die Expansion. Auf den ersten Blick erscheint dies paradox, da ein unter Druck stehendes Gas dazu neigt, sich auszudehnen. Um der Expansion zu folgen, muss dieses jedoch Arbeit verrichten, was aufgrund der Energieerhaltung aber nur in endlichem Maße möglich ist.
An Friedmanns Darstellung der Beschleunigung des Universums fällt zudem auf, dass diese auch einen positiven Anteil enthält, die sogenannte kosmologische Konstante als eine der Gravitation entgegengesetzte Kraft. Sie wurde ursprünglich von Einstein möglicherweise aus rein weltanschaulichen Gründen eingeführt, um ein seinen Vorstellungen entsprechendes statisches Modell mit verschwindender Beschleunigung zu erhalten.
In den letzten 20 Jahren hat man allerdings erkannt, dass tatsächlich eine Existenzberechtigung besitzt. Supernovae des Typs Ia zeigen einen sehr stabilen Zusammenhang zwischen ihrer Maximalleuchtkraft und der Schnelligkeit des anschließenden Helligkeitsabfalls, so dass mit solchen auch sehr große Entfernungen zuverlässig bestimmt werden können. Beobachtungen z.B. von Reiss und anderen (1998) [64] oder Perlmutter und anderen (1998) [65] zeigten, dass bei gegebener Fluchtgeschwindigkeit einer Galaxie die scheinbare Helligkeit einer dort aufleuchtenden Supernova geringer - d.h. deren Entfernung größer ist - als man angesichts der seit dem Urknall wirkenden Massenanziehung erwarten würde. Eine überproportionale Entfernung im Vergleich zur Fluchtgeschwindigkeit bedeutet jedoch eine unerwartete Expansion. Diese aber erfordert wiederum, dass das Universum eine Komponente enthält, welche der Schwerkraft entgegen gerichtet ist. Dieser merkwürdige Bestandteil ist bis heute noch rätselhafter geblieben als die dunkle Materie und wird als dunkle Energie bezeichnet.
Einschub für Fortgeschrittene: Beschleunigungsgleichung der kosmischen Expansion
Wie schon skizziert, sind im Modell der homogenen, expandierenden Kugel die mitbewegten Koordinaten eines Teilchens von der Zeit unabhängig. Aus folgt so unmittelbar und .
Für ein an der Oberfläche der Kugel sich befindliches Teilchen herrscht in ruhenden Koordinaten eine Schwerebeschleunigung . In mitbewegten Koordinaten gilt damit für die Beschleunigung des Skalenfaktors:
Ersetzt man die Masse der Kugel durch deren Dichte gemäß , so fällt heraus und es ergibt sich die Newtonsche Beschleunigungsgleichung:
Die vollständige Friedmannsche Beschleunigungsgleichung lautet:
Bei der zu proportionalen Abbremsung des Kosmos muss selbstverständlich berücksichtigt werden, dass mit dem Skalenfaktor automatisch auch die Dichte einer Zeitabhängigkeit unterworfen ist. Dabei muss man zusätzlich bedenken, dass nicht nur die sichtbare und dunkle Materie zu beiträgt, sondern wegen der Äquivalenz von Energie und Masse auch die im All vorhandene Strahlung.
Das zeitliche Verhalten der Materiedichte ist unmittelbar einsichtig. ist umgekehrt proportional zum Volumen des Universums, so dass gilt:
Den Trend für die durch die Strahlung repräsentierte Dichte kann man mittels eines sehr einfachen Modells verständlich machen, wonach der Kosmos nur Strahlung enthält und die Zahl seiner Lichtquanten konstant bleibt. Deren Anzahldichte folgt wie die Materiedichte einer Proportionalität . Expandiert das Universum, wird jedoch auch die Wellenlänge der Lichtquanten dem Skalenfaktor folgend gedehnt, d.h. es gilt . Da Lichtquanten einen Impuls und damit auch eine Masse aufweisen, gilt wegen der Dehnung der Wellenlänge . Die der Strahlung entsprechende Masse fällt also umgekehrt proportional zum Skalenfaktor ab, womit zusammen mit dem Verhalten der Anzahldichte der Lichtquanten resultiert:
Im heutigen Kosmos ist der Beitrag von gegenüber der Materiedichte unbedeutend. Rechnet man jedoch in die Vergangenheit zu einem immer kleineren Skalenfaktor zurück, so findet man wegen der für die Strahlungsdichte steileren Abhängigkeit von einen Zeitpunkt, von welchem an die Strahlung über die Materie dominiert. Diese Strahlungsära wird im nächsten Unterkapitel noch ausführlicher beschrieben.
Mit fortschreitender Expansion dünnt das Weltall immer mehr aus, wodurch zugleich dessen Abbremsung durch Strahlung und Materie immer schwächer wird. Dies lässt bereits erahnen, dass eine gewisse Mindestdichte erforderlich ist, um die Ausdehnung in endlicher Zeit zum Stehen zu bringen. Diese Dichte wird kritische Dichte genannt und nachfolgend weiter diskutiert.
Auch die kosmologische Konstante wird oft durch ein Dichteäquivalent gemäß ausgedrückt. Gemäß heutiger Vorstellung dünnt die dunkle Energie im Gegensatz zu Materie und Strahlung nicht aus, d.h. ist konstant. Dies wiederum hat zur Folge, dass mit fortschreitender Expansion des Weltalls die dunkle Energie immer stärker dominiert, so dass die durch diese ausgeübte Beschleunigung schließlich der Abbremsung durch die Schwerkraft überwiegt. In der Frühphase des Universums hingegen spielte kaum eine Rolle.
Der Druck wiederum ist wie die Materie- und Strahlungsdichte von der Zeit abhängig, für ein auf Massenpunkte anstatt einer kontinuierlichen Massenverteilung beruhendes Modell jedoch per Definition gleich 0. Ein realistisches Modell muss aber zumindest den von der Strahlung ausgeübten Druck berücksichtigen, um den Übergang von der Strahlungs- zur Materieära korrekt zu beschreiben. ist der Strahlungsdichte direkt proportional, es ist . Der von der Materie ausgeübte Druck kann hingegen in der Tat zumeist vernachlässigt werden.
Formell lässt sich auch der dunklen Energie ein Druck zuordnen gemäß . Das Minuszeichen steht dabei für die abstoßende, der Schwerkraft entgegenwirkenden Kraftrichtung.
Bewegungsgleichung
BearbeitenDas Modell der sich ausdehnenden homogenen Kugel erlaubt nicht nur Aussagen über die Beschleunigung der Expansion, sondern auch über diese selbst, indem es eine Beziehung zwischen der Hubble-Konstanten und anderen fundamentalen Größen herstellt. Legt man ein weiteres Mal das Newtonsche Gravitationsgesetz zugrunde, zeigt sich, dass das Quadrat von wie die Abbremsung der Dichte des Kosmos proportional ist. Mit fortschreitender Ausdünnung desselben nähert sich in einem Newtonschen Weltall die Hubble-Konstante stetig dem Wert 0 an, was gleichbedeutend ist mit einer fortschreitend verlangsamten Ausdehnung.
Im Rahmen der Allgemeinen Relativitätstheorie tritt abermals die kosmologische Konstante in Erscheinung. Da die entsprechende Dichte sich nicht ändert, verschwindet für einen solchen Kosmos mit zunehmender Zeit die Hubble-Konstante nicht, sondern verharrt letztendlich auf einem gleichbleibenden Niveau. Für einen Raum, der permanent anschwillt, entspricht ein konstantes größer als 0 einer beschleunigten Expansion, denn mit immer größeren Entfernungen treten immer höhere Fluchtgeschwindigkeiten auf.
Als neuer, noch nicht genannten Beitrag, taucht in der Allgemeinen Relativitätstheorie die Krümmung auf, welche die Geometrie des Modells charakterisiert. Dabei ist zu beachten, dass die Relativitätstheorie aufgrund der Verknüpfung von Raum und Zeit ein vierdimensionales Konzept darstellt, so dass hier nicht von gekrümmten Flächen, sondern Räumen die Rede ist.
Der einfachste Fall = 0 entspricht einem Universum, dessen Geometrie sich wie in einer Ebene verhält. Die kürzeste Verbindung zwischen zwei Punkte ist eine Gerade, die Winkelsumme in einem Dreieck beträgt 180 Grad. In Analogie zur Ebene spricht man von einem flachen Raum, in welchem die Euklidische Geometrie gilt.
> 0 stellt ein Modell mit einem sogenannten positiv gekrümmten Raum dar, welcher durch die Riemannsche Geometrie gekennzeichnet ist. Die kürzeste Verbindung zwischen zwei Punkten ist nun keine Gerade, sondern eine krumme, als Geodäte bezeichnete Kurve. Die Winkelsumme in einem Dreieck, dessen Seiten von solchen Geodäten gebildet werden, ist größer als 180 Grad. Ein anschauliches Beispiel ist die schon ganz zu Beginn dieses Kapitels erwähnte Kugeloberfläche. Die kürzeste Verbindung zwischen zwei Orten ist dort ein Bogen auf einem Großkreis (ein Kreis, dessen Umfang dem der Kugel entspricht). Ein positiv gekrümmter Kosmos weist eine kleinere Hubble-Konstante auf als ein flacher, d.h. dehnt sich langsamer aus.
< 0 gibt ein Weltall mit einem negativ gekrümmten Raum wieder, welcher durch die Geometrie von Lobatschewski beschrieben wird. Auch hier ist die kürzeste Verbindung zwischen zwei Punkten durch eine krumme Geodäte gegeben, doch ist die Winkelsumme in einem Dreieck jetzt kleiner als 180 Grad. Ein zweidimensionales Beispiel ist die Fläche eines Sattels, auf welcher die kürzeste Verbindung zwischen zwei Orten durch ein Hyperbelstück dargestellt wird. Bei negativer Krümmung ist die Hubble-Konstante größer im Vergleich zu einem flachen Raum entsprechend einer schnelleren Expansion.
Einschub für Fortgeschrittene: Bewegungsgleichung der kosmischen Expansion
In mitbewegten Koordinaten lautet die Newtonsche Beschleunigungsgleichung:
Multipliziert man diese auf beiden Seiten mit und integriert jeweils über die Zeit, so gewinnt man den Ausdruck:
Ersetzt man ein weiteres Mal die Masse durch die Dichte, erhält man:
Um die Integrationskonstante zu bestimmen, ist man erneut auf die Allgemeine Relativitätstheorie angewiesen. Gemäß Friedmann lautet die vollständige Gleichung:
Krümmung und Dichte
BearbeitenDie Geometrie des Weltalls folgt unmittelbar aus dessen mittleren Dichte. Auf Grundlage der Bewegungsgleichung der kosmischen Expansion lässt sich darlegen, dass für ein flaches Universum eine sogenannte kritische Dichte erforderlich ist, und diese wiederum folgendermaßen aus der Hubble-Konstanten abgeleitet werden kann:
Überwiegt die mittlere Dichte der kritischen, liegt ein positiv gekrümmter Kosmos vor. Umgekehrt zieht eine kleinere mittlere Dichte einen negativ gekrümmten Raum nach sich.
Gegenwärtig geht man von einem flachen Universum aus. Die schon zitierten Arbeiten von Reiss und anderen (1998) [64] bzw. Perlmutter und anderen (1998) [65] legen nahe, dass die der dunklen Energie entsprechende Dichte etwa 70% der kritischen beträgt. Für einen flachen Kosmos muss dann die Dichte der dunklen und sichtbaren Materie zusammen bei circa 30% des kritischen Niveaus liegen. Die dunkle Energie stellt demgemäß schon heute den Löwenanteil der gesamten Dichte des Weltalls.
Einschub für Fortgeschrittene: Krümmung und Dichte
Um den Zusammenhang zwischen Krümmung und Dichte des Weltalls zu erkennen, drückt man die Friedmann-Gleichung in einer normierten Form aus, indem man die Werte der zeitabhängigen Größen zu einem beliebigen Zeitpunkt mit den gegenwärtigen vergleicht (letztere werden fortan mit einem Index 0 gekennzeichnet). Vernachlässigt man die Strahlung, so besteht zwischen beliebigen Dichten und der heutigen der Zusammenhang . Aus der Bewegungsgleichung folgt, dass der Ausdruck ebenfalls die Dimension einer Dichte hat. Das Verhältnis zwischen der tatsächlichen Dichte und wird für beliebige Zeiten mit bzw. für die Gegenwart mit gekennzeichnet. Die der kosmologischen Konstante entsprechende Dichte wird ebenfalls gegenübergestellt, die entsprechenden Verhältnisse lauten bzw. . Setzt man die in die Bewegungsgleichung ein, so nimmt diese folgende Gestalt an:
Die Friedmann-Gleichung lässt sich weiter vereinfachen, indem man sie für die heutigen Verhältnisse betrachtet. Dann gilt einfach und und somit
Dies ist genau der gesuchte Zusammenhang zwischen Krümmung und Dichte. Man betrachte zuerst ein Modell ohne kosmologische Konstante, also mit = 0. Um die Krümmung verschwinden zu lassen, muss dann exakt gleich 1 sein, d.h. die Dichte genau dem kritischen Wert entsprechen.
Wird die kosmologische Konstante berücksichtigt, so wird für eine ebene Geometrie für die Materie nur ein und dementsprechend eine Dichte benötigt. Ersetzt man in der Bewegungsgleichung die Krümmung durch die heutigen Dichteverhältnisse, so lautet diese schließlich:
Lösungen der Bewegungsgleichung
BearbeitenIm Folgenden seien die von Friedmann gefundenen Lösungen der Bewegungsgleichung qualitativ skizziert, wobei zunächst die kosmologische Konstante außer Acht gelassen wird.
Für ein flaches Universum zeigte er, dass ein solches bis in alle Ewigkeit expandiert. Seine Ausdehnung wird mehr und mehr abgebremst, kommt aber erst nach unendlich langer Zeit zum Stehen. Der einem solchen Kosmos zu Beginn mitgegebene Schub und die Gravitation halten einander exakt die Waage.
Ein Weltall negativer Krümmung dehnt sich angesichts seiner geringeren Dichte erst recht für alle Zeit aus. Die Schwerkraft kann die anfänglich mitgelieferte Bewegungsenergie nicht vollständig ausgleichen, so dass die Expansion sich zwar auch in diesem Fall verlangsamt, aber nie gänzlich zum Stillstand kommt. Im Extremfall einer von Anfang an verschwindenden Materiedichte findet überhaupt keine Abbremsung statt. Ein solches Modell liefert eine Ausdehnung mit konstanter Geschwindigkeit, d.h. eine lineare Aufblähung des Raumes mit der Zeit.
In einem Kosmos positiver Krümmung überwiegt die Gravitation der kinetischen Energie. Die Ausdehnung kommt nach endlicher Zeit zum Erliegen, so dass der Raum ein endliches Maximalvolumen annimmt. Danach kontrahiert ein solches Universum, bis sein Volumen wieder den Wert 0 erreicht. Dieser Zyklus von Expansion und Kontraktion wird beliebig oft durchlaufen.
In Modellen mit kosmologischer Konstante steht der Schwerkraft nicht nur die initial dem Weltall mitgelieferte Bewegungsenergie, sondern auch die dunkle Energie entgegen. Wegen ihrer merkwürdigen Eigenschaft, im Gegensatz zur dunklen und sichtbaren Materie nicht auszudünnen, wird deren abstoßende Kraft im Vergleich zur Gravitation umso stärker, je weiter der Kosmos sich ausdehnt. Infolgedessen stellt sich nicht nur eine fortwährende Expansion ein, sondern diese wird auch noch immer weiter beschleunigt.
Allen Lösungen Friedmanns ist gemeinsam, dass sie mit einem Raumvolumen gleich 0 starten. Im Falle positiver Krümmung und ohne kosmologische Konstante tritt dies zudem zyklisch immer wieder auf. Dies legt nahe, dass das Universum aus einem Zustand verschwindender Ausdehnung, d.h. unendlicher Dichte heraus entstanden ist. Diese Vorstellung widerspricht jedoch einer fundamentalen Aussage der Quantenmechanik. Gemäß der sogenannten Heisenbergschen Unschärferelation ist es nicht möglich, Ort und Impuls eines Teilchens gleichzeitig mit beliebiger Genauigkeit zu bestimmen, wodurch ein verschwindendes Volumen ausgeschlossen ist. Dieser Widerspruch zwischen Allgemeiner Relativitätstheorie und Quantenmechanik konnte bis heute nicht aufgelöst werden.
Da das Weltall flach zu sein scheint, seien die entsprechenden Lösungen Friedmanns ausführlicher dargestellt, sowohl ohne als auch mit kosmologischer Konstante . Dabei bedeuten im Folgenden der heutige Wert der Hubble-Konstante (70 km/s pro Mpc) und bzw. die heutigen Anteile der Materie bzw. dunklen Energie an der Gesamtdichte des Weltalls (0.3 bzw. 0.7). Weiterhin wird zwecks Vereinfachung der Formeln die Abkürzung benutzt. Der gegenwärtige Skalenfaktor wird auf 1 gesetzt, d.h. die Ausdehnung des Kosmos zu einem beliebigen Zeitpunkt auf die momentane normiert. Damit gilt:
Beide Modelle liefern einen Wert für die Zeit , welche seit der Entstehung des Kosmos ( = 0) verstrichen ist. Einsetzen von = 1 und Auflösen nach der Zeit liefern:
Ohne kosmologische Konstante ergibt sich mit der gegenwärtigen Hubble-Konstanten ein Weltalter von etwa 9.3 Milliarden Jahren. Dies widerspricht jedoch den heutigen Vorstellungen über die Entwicklung der Sterne, welche für Kugelsternhaufen ein Alter von bis zu fast 13 Milliarden Jahren anzeigen. Hingegen erhält man mit kosmologischer Konstante ein von circa 13.4 Milliarden Jahren, was mit den Entwicklungsmodellen der Kugelsternhaufen gut übereinstimmt. Das hohe Alter dieser Objekte ist so ein weiterer Hinweis auf die Existenz einer dunklen Energie. Das zeitliche Verhalten des Skalenfaktors in einem falchen Universum ist in untenstehender Abbildung zusammengefasst.
Aus der Definition der Hubble-Konstanten (Anstieg der Fluchtgeschwindigkeit mit der Entfernung, wobei erstere wiederum das Anwachsen des Raums mit der Zeit darstellt) folgt für beide hier diskutierten Fälle deren Zeitabhängigkeit :
Wie schon geschildert, kommt für ein flaches Weltall ohne kosmologische Konstante die Expansion mehr und mehr zum Stillstand, was sich in einer mit fortschreitender Zeit immer mehr dem Wert 0 annähernden Hubble-Konstanten manifestiert. Unter Einbeziehung der dunklen Energie strebt die Hubble-Konstante stattdessen gegen einen nicht verschwindenden Wert, was eine permanente Beschleunigung bedeutet. Auch seit hier graphisch wiedergegeben.
Zuletzt sei die Zeitabhängigkeit des Beschleunigungsparameters genannt:
Mit = 0 ist von der Zeit unabhängig. Der positive Wert steht für die Abbremsung eines solchen Universums. Im Falle ist der Beschleunigungsparameter nur für eine gewisse Zeit nach der Entstehung des Kosmos positiv. Im Laufe der Zeit gewinnt die dunkle Energie im Vergleich zur beobachtbaren und dunklen Materie mehr und mehr die Oberhand, wodurch die anfänglich abgebremste Expansion schließlich in eine
beschleunigte Ausdehnung umschlägt.
Die Lösungen mit kosmologischer Konstante enthalten stets sogenannte Hyperbelfunktionen. Während die trigonometrischen Funktionen aus auf dem Einheitskreis beruhenden geometrischen Konstruktionen hervorgehen, entstehen die Hyperbelfunktionen in analoger Weise aus der Einheitshyperbel . Sie sind unter der Wikipedia ausführlich beschrieben.
Anfangsbedingungen
BearbeitenWie für die Simulation eines Planetensystems, eines Sternhaufens oder einer Galaxie müssen auch für ein Modell des Weltalls als Ganzes Startbedingungen für die Verteilung der Materie und ihre charakteristischen Geschwindigkeiten festgelegt werden. Die aus der Friedmann-Gleichung folgende Vorstellung eines extrem dichten Anfangszustands lässt erwarten, dass das frühe Universum sich von den heute beobachtbaren Strukturen noch viel dramatischer unterschied als ein Sternhaufen oder eine Galaxie nach der Bildung erster Sterne von der jetztigen Gestalt. Angesichts der gleichzeitig zutage tretenden Widersprüche mit der Quantentheorie stellt sich dabei die Frage, in wie weit dieser Anfangszustand überhaupt rekonstruierbar ist und bis heute sichtbare Spuren hinterlassen hat.
Die kosmische Hintergrundstrahlung
BearbeitenWie im letzten Unterkapitel dargelegt, ist die Dichte der Strahlung im Universum umgekehrt proportional zur vierten Potenz des Skalenfaktors . Daraus lässt sich ableiten, dass mit kleinerem Skalenfaktor auch eine höhere Temperatur des Strahlungsfeldes einhergeht. ist nämlich der vierten Potenz von proportional, woraus wegen nmittelbar folgt
Die der Strahlung entsprechende Temperatur ist umgekehrt proportional dem Skalenfaktor. Der Kosmos war ursprünglich also nicht nur äußerst dicht, sondern auch extrem heiß. Mit den Konsequenzen eines solchen glühenden Urzustands befassten sich im Detail erstmals Alpher (1948) [66] sowie Alpher und andere (1948) [67] (diese Forschergruppe wurde von Gamow geleitet, welcher dem Doktoranden Alpher als Hauptautor den Vortritt ließ), sie nannten diesen in Anlehnung an Aristoteles' Idee einer Urmaterie Ylem. Als eine der bedeutsamsten Folgen dieses Ylems sagten die Autoren die Existenz eines homogenen Strahlungshintergrunds voraus, der infolge der fortschreitenden Ausdehnung des Weltalls sich seitdem immer weiter abgekühlt hat und dessen heutige Temperatur nur noch bei etwa 3 K liegen sollte. Tatsächlich stießen Penzias und Wilson (1965) [68] bei Arbeiten an einer Hornantenne völlig unbeabsichtigt auf ein nicht behebbares Störsignal, das laut Dicke und anderen (1965) [69] die von obigen Autoren geforderten Eigenschaften erfüllte.
Die von Penzias und Wilson entdeckte sogenannte kosmische Hintergrundstrahlung wurde in den letzten Jahrzehnten mit Hilfe von Satelliten mit hoher Genauigkeit vermessen. Der Cosmic Background Explorer COBE, die Wilkinson Microwave Anisotropy Probe WIMAP und das Planck-Weltraumteleskop bestimmten nicht nur das Spektrum und die Temperatur der Strahlung, sondern auch deren Verteilung am Himmel. Dabei stellte sich heraus, dass der Mikrowellenhintergrund nicht völlig gleichmäßig ist. Allerdings betragen die Schwankungen um die mittlere Temperatur von circa 2.7 K nur wenige hunderttausendstel K, wie Hinshaw und andere (2009) [70] aufgezeigt haben.
Die Entstehung der Hintergrundstrahlung kann man sich folgendermaßen klar machen. Rechnet man in die Vergangenheit zurück, so erreicht man aufgrund der stetig ansteigenden Temperatur des Strahlungsfeldes einen Zeitpunkt, bis zu dem kein nach außen hin elektrisch neutraler Wasserstoff, sondern nur ein aus freien Elektronen und Protonen bestehendes Plasma existieren konnte. In ionisierter Materie kann sich Licht jedoch aufgrund der sogenannten Thomson-Streuung nicht frei ausbreiten. Man kann sich diese als eine Abfolge elastischer Stöße der Lichtquanten an den geladenen Teilchen des Plasmas vorstellen, wodurch die Richtung der Lichtausbreitung bei unveränderter Wellenlänge ständig geändert wird. In der Regel stoßen sich die Lichtquanten dabei an Elektronen, da diese aufgrund ihrer viel geringeren Masse bei einer gegebenen Temperatur sich viel rascher bewegen als die Protonen. Der Kosmos war, solange er als Plasma vorlag, ein undurchsichtiger gleißender Nebel. Die Hintergrundstrahlung gibt genau jenen Moment wieder, als Elektronen und Protonen sich vereinigten und fortan elektromagnetische Strahlung ungehindert durch die Thomson-Streuung den Raum durchqueren konnte.
Um das Alter des Universums zu diesem Zeitpunkt zu bestimmen, muss man als erstes seine damalige Größe im Vergleich zur gegenwärtigen betrachten. Um Wasserstoff ionisieren zu können, ist eine Temperatur von etwa 3000 K erforderlich. Als die Hintergrundstrahlung entstand, war das Weltall somit etwa 1100 Mal heißer und dementsprechend kleiner als heute. Setzt man diesen Skalenfaktor in die soeben gegebene Lösung der Friedmann-Gleichung ein, so liefert diese ein damaliges Weltalter von ungefähr 460000 Jahren. Jedoch berücksichtigt diese Berechnung neben der dunklen Energie nur die Materie, nicht aber den Dichteanteil der Strahlung. Letztere hatte zu jener Zeit jedoch viel mehr Gewicht, wohingegen der Beitrag der dunkle Energie noch vernachlässigbar war.
Aus dem momentanen Wert der Hubble-Konstante, der flachen Geometrie und der kosmologischen Konstante folgt, dass die Materiedichte gegenwärtig bei ungefähr 2.8 10-27 kg/m3 liegt. Die Temperatur der Hintergrundstrahlung liefert eine Strahlungsdichte von etwa 4.5 10-31 kg/m3. Das Verhältnis der beiden Komponenten ist also heute circa 6200:1. Geht man zur Zeit der Entstehung der Hintergrundstrahlung zurück, so nimmt um einen Faktor (1100)3, aber um das (1100)4-fache zu. Das Verhältnis der beiden Dichten lag damals somit 1100 mal niedriger bei nur knapp 6:1.
Gemäß Bennett und anderen (2003) [71] entstand die Hintergrundstrahlung etwa 380000 Jahre nach dem durch = 0 definierten Urknall, d.h. das Modell einer expandierenden Kugel ohne Strahlung stimmt zum Zeitpunkt der Rekombination mit der exakten Theorie noch einigermaßen überein. Der Kosmos war gerade noch genügend stark von der Materie dominiert, um das vereinfachte Konzept anwenden zu dürfen. Noch früher aber war die Dichte der Strahlung (weit) höher als diejenige der Materie, so dass für diese Epoche das simple Szenario definitiv versagt.
Die fast gleichförmige Temperatur der Hintergrundstrahlung zeigt, dass das soeben durchsichtig gewordene Universum noch sehr homogen war und nur äußerst geringe Dichteunterschiede aufwies. Dabei entsprechen, wie z.B. Schneider (2008) [72] erörtert hat, Gebiete höherer Temperatur Bereichen geringerer Dichte und umgekehrt. Lichtquanten, die aus Gebieten höherer Dichte entkamen, erlitten durch die dort herrschende stärkere Gravitation eine größere Rotverschiebung entsprechend einer Strahlung niedrigerer Temperatur.
Die Rekonstruktion der damaligen Dichteverteilung aus der heute sichtbaren Temperaturverteilung ist mit einigen Problemen behaftet, da die ursprünglichen Eigenschaften der Lichtquanten der Hintergrundstrahlung durch nachträgliche Prozesse oft verfälscht wurden. Auch nach der Bildung neutralen Wasserstoffs waren (und sind auch heute noch) freie Elektronen vorhanden. Lichtquanten, die solche Elektronen passierten, verloren durch Thomson-Streuung ihre ursprüngliche Bewegungsrichtung. Gleiches widerfuhr Lichtquanten bei engen Vorübergängen an sehr massereichen Objekten wie etwa Galaxien oder gar Galaxienhaufen infolge der Lichtablenkung durch starke Gravitationsfelder. Beide Prozesse bewirkten eine Verschmierung ursprünglich vorhandener Ungleichmäßigkeiten der Hintergrundstrahlung, so dass diese jetzt glatter erscheint, als es der einstigen Dichteverteilung entspricht. Beim Durchlaufen von Galaxien(haufen) traten zudem wiederholt Blau- und Rotverschiebungen auf, welche in der Summe nicht immer sich gegenseitig aufhoben und somit die Temperatur des Strahlungsfeldes störten.
Dichteverteilung
BearbeitenSchon wenige Jahre nach der Entdeckung der Hintergrundstrahlung hatte Zeldovich (1970) [73] die Idee, das gerade durchsichtig gewordene Universum als ein Gas zu beschreiben, dessen homogene Dichteverteilung durch Schallwellen geringfügig gestört wurde, und die Entwicklung solcher Störungen aufgrund der Schwerkraft zu beobachten. Darauf aufbauend, stellten Efstathiou und andere (1985) [74] den frühen Kosmos durch Testmassen gleicher Masse dar, welche im ungestörten Zustand ein regelmäßiges Würfelgitter bildeten. Die Schallwellen wurden durch Versetzungen der Testmassen gegenüber dem idealen Gitter modelliert.
Als erstes stellt sich bei diesem Konzept die Frage nach der Größe einer solchen Testmasse. Um die Gravitation als alleinige Kraft zu betrachten, d.h. den Gasdruck vernachlässigen zu dürfen, muss wesentlich größer als die sogenannte Jeans-Masse sein. Letztere gibt an, welche Masse eine Gaswolke höchstens aufweisen darf, damit sie aufgrund des ihr innewohnenden Drucks - welcher wiederum von der Temperatur und Dichte des Gases abhängt - der Schwerkraft standhalten kann. Unmittelbar nach der Vereinigung der Elektronen mit den Protonen zu neutralem Wasserstoff betrug diese mehrere 100000 Sonnenmassen. Testmassen einer Größenordnung von 100 Millionen Sonnenmassen (wie sie bei der nachfolgend erörterten Bolshoi-Simulation zur Anwendung kamen) sind für eine N-Körper-Simulation des frühen Weltalls ohne Berücksichtigung des Gasdrucks also zulässig.
In der Praxis ist auch durch die verfügbare Rechenkapazität nach unten begrenzt. Geringe Testmassen erlauben, kleinräumige Strukturen zu modellieren, erfordern aber umgekehrt eine größere Anzahl von Testobjekten und dementsprechend einen höheren Rechenaufwand.
Als nächstes sind die Abmessungen des Würfelgitters zu diskutieren (siehe nächste Abbildung). Im ungestörten Zustand haben benachbarte Testmassen in jeder Richtung einen Abstand voneinander, welcher entsprechend der Dichte des frühen Universums und der Masse gewählt werden muss. Wie soeben geschildert, beläuft sich die gegenwärtige Dichte des Kosmos auf etwa 2.8 10-27 kg/m3 bzw. 1.4 10-7 Sonnenmassen pro Kubikparsec. Als die Hintergrundstrahlung entstand, war wie ebenfalls schon besprochen um das 11003-fache höher, entsprechend ungefähr 54 Sonnenmassen pro Kubikparsec. Mit Testobjekten von 100 Millionen Sonnenmassen ist ein Abstand von circa 123 Parsec zum jeweils nächsten Nachbarn erforderlich.
Die Ausdehnung des gesamten Gitters ist wie durch den maximal akzeptierten Rechenaufwand begrenzt. In jeder Richtung gibt es Testmassen, insgesamt also .
Der entscheidende Gedanke besteht nun darin, vor Beginn einer Simulation die regelmäßige Anordnung der Testobjekte durch Schallwellen zu stören, was zunächst eindimensional dargestellt werden soll. In nachfolgender Abbildung läuft eine solche Welle mit einer Amplitude und einer Länge durch das Gitter und versetzt jede Testmasse um einen Betrag , wodurch sich lokale Schwankungen der Dichte ausbilden.
Bei der Einführung solcher Wellen müssen wie eben angedeutet sowohl deren Amplituden als auch Längen festgelegt werden. In einem kontinuierlichen Medium wie einem Gas kann die Wellenlänge an und für sich beliebige Werte annehmen. Eine Computersimulation stützt sich jedoch stattdessen nur auf ein Ensemble endlich vieler Testmassen, die ungestört nur bestimmte diskrete Positionen einnehmen. Damit aber sind auch die möglichen auf wenige diskrete Werte beschränkt. Die größtmögliche Wellenlänge ist durch die Gesamtausdehnung des Gitters gegeben, die kleinstmögliche beträgt . Allgemein sind Wellenlängen möglich, wobei eine ganze Zahl, die sogenannte Wellenzahl darstellt. umfasst einen Wertebereich von 1 bis (hier und im Folgenden wird angenommen, dass ein geradzahliges Vielfaches von ist).
Mathematisch lässt sich die Störung , welche eine Testmasse durch eine Welle der Länge erleidet, einfach durch eine trigonometrische Funktion wiedergeben. stellt dabei deren Amplitude und deren Phase dar.
Da Wellen der zulässigen gleichzeitig in Erscheinung treten können, muss über alle diese summiert werden:
Der Fall wird aus der Summe ausgeschlossen. Die Summierung sowohl über positive als auch negative Wellenzahlen erklärt sich dadurch, dass sowohl nach rechts als auch nach links laufende Wellen berücksichtigt werden sollen.
Es lohnt sich, die mathematische Behandlung der Schallwellen mit der Analyse der Planetenbewegungen zu vergleichen. Tatsächlich kommt hier exakt die gleiche Technik - die Fourieranalyse - zum Einsatz. Der Unterschied besteht darin, dass für die Planetenbahnen nach einer zeitlichen Periodizität gesucht wird, für die Schallwellen hingegen nach einem periodischen Verhalten im Raum.
Die Phasen der einzelnen Wellenmoden können als Zufallsereignisse betrachtet werden und müssen daher nicht explizit definiert werden. Für jedes wird schlicht eine Zufallszahl zwischen 0 und 2 generiert. Um die Amplituden zu bestimmen, sind dagegen zusätzliche theoretische Überlegungen erforderlich. Ganz allgemein ist eine Funktion der Wellenzahl und nimmt mit zunehmendem ab, d.h. je kürzer die Wellenlänge, umso kleiner die Amplitude. Efstathiou und andere nahmen an, dass unter den Bedingungen eines flachen Kosmos mit kalter dunkler Materie sich Dichteschwankungen herausbildeten, die einer Gaußschen Normalverteilung folgten. Um solche Störungen mit Schallwellen zufälliger Phase nachzubilden, müssen deren Amplituden folgende Beziehung erfüllen.
Die Amplitude ist demgemäß umgekehrt proportional der Wellenzahl. ist ein freier Parameter, welcher an und für sich anhand der durch die Verteilung der kosmischen Hintergrundstrahlung angezeigten Dichteschwankungen festgelegt werden kann. Faktisch ist jedoch durch die endliche räumliche Auflösung der Simulation nach unten beschränkt. Um mittels des hier vorgestellten Verfahrens normalverteilte Dichtefluktuationen erzeugen zu können, darf nicht wesentlich kleiner als der Abstand benachbarter Testmassen im ungestörten Zustand sein. Das aber bedeutet, dass eine Simulation nicht mit den tatsächlich beobachteten extrem geringen Dichteunterschieden unmittelbar nach der Rekombination gestartet werden kann.
Glücklicherweise lässt sich dieses Problem umgehen. Zeldovich entwickelte ein Näherungsverfahren, das die zeitliche Verstärkung kleiner Dichteschwankungen durch Gleichungen beschreibt, welche durch Standardverfahren ohne die Notwendigkeit einer N-Körper-Simulation gelöst werden können. Dieses ist brauchbar, solange lokale Dichtedifferenzen kleiner als die mittlere Dichte bleiben. Die so für eine gewisse Zeit nach der Rekombination vorhergesagten stärkeren Amplituden können anschließend der Festlegung der Anfangsbedingungen der eigentlichen Mehrkörpersimulation dienen.
Ein realitätsnahes Modell muss selbstverständlich alle drei Raumdimensionen berücksichtigen. Aus der Verschiebung einer Testmasse wird damit ein Verschiebungsvektor , an Stelle der Wellenzahl k tritt der Wellenvektor , dessen einzelne Komponenten weiterhin Werte von 1 bis aufweisen können. Für die Bestimmung einer jeden Verschiebungskomponente muss nun eine Dreifachsumme gebildet werden, welche über alle Komponenten des Wellenvektors läuft (wobei der Nullvektor ausgeschlossen ist).
Das Produkt in der Cosinus-Funktion wird durch das Skalarprodukt von Orts- und Wellenvektor ersetzt. Jede Welle hat wieder eine Zufallsphase, welche nun aber für alle möglichen Kombinationen des Tripels erzeugt werden muss. Ebenso existiert für jedes Tripel eine Amplitude, welche nun dem Betrag des Wellenvektors umgekehrt proportional ist.
Abschließend sei ein Beispiel für die Methode von Efstathiou und anderen gezeigt. Untenstehende Abbildung zeigt ein zweidimensionales Ensemble mit einer Ausdehnung von 14 . Damit können die Komponenten des Wellenvektors Werte von 1 bis 7 annehmen. ist auf gesetzt. Tatsächlich liefert der Algorithmus erhebliche lokale Dichteschwankungen.
Schon Zeldovich erkannte, dass sich derartige Störungen unter dem Einfluss der Schwerkraft trotz der Expansion des Weltalls weiter verstärkten, so dass sein eigenes nur für schwache Fluktuationen gültiges Verfahren nicht mehr zulässig war. Efstathiou und andere konnten in Simulationen mit bis zu 643 = 262144 Testobjekten tatsächlich die Entstehung filamentartiger Strukturen aus anfänglich sehr geringen Dichteschwankungen beobachten. Moderne auf Milliarden von Testmassen beruhende Simulationen, wie sie im letzten Abschnitt dieses Kapitels behandelt werden, haben diese Ergebnisse erheblich verfeinert und die Richtigkeit von Zeldovich' Idee eindrucksvoll bestätigt.
Geschwindigkeitsverteilung
BearbeitenDie mittlere Anfangsgeschwindigkeit der Testmassen in obigem Würfelgitter ist gleich 0. Infolge der Schallwellen erleiden diese jedoch nicht nur eine Störung der Position, sondern auch der Geschwindigkeit. Die Geschwindigkeit, mit der Teilchen unter der Einwirkung einer Schallwelle sich hin- und herbewegen, wird als Schallschnelle bezeichnet und darf nicht mit der Schallgeschwindigkeit verwechselt werden. Letztere gibt an, wie schnell sich die in der Schallwelle vorhandene Energie ausbreitet. Die Amplitude der Schallschnelle ist mit der Amplitude der Auslenkung und der Frequenz der Schwingung folgendermaßen verknüpft:
Die Frequenz kann durch die Wellenlänge und die Schallgeschwindigkeit gemäß ausgedrückt werden. Für die Wellenlänge gilt im eindimensionalen Gitter wiederum . Die Amplitude der Auslenkung folgt gemäß dem hier benutzten Modell der Beziehung . Einsetzen in obige Formel liefert:
Die Amplitude der Schallschnelle ist für normalverteilte Dichteschwankungen von der Wellenzahl unabhängig, was auch für die dreidimensionale Erweiterung gilt. Für das obige Beispiel eines zweidimensionalen gestörten Gitters wurde = und = 14 verwendet, so dass sich hierfür = / 14 ergibt.
Um die Schallgeschwindigkeit nach der Rekombination abzuschätzen, wird das frühe Universum als ideales Gas behandelt. Die Gastheorie zeigt, dass die Schallgeschwindigkeit folgendermaßen von der Temperatur , der molaren Masse und dem Adiabatenkoeffizienten abhängt, wobei die universelle Gaskonstante bedeutet:
Aufgrund der hohen Temperatur von etwa 3000 K lag das Gas damals in atomarer, nicht molekularer Form vor, so dass = 5/3 war. Die molare Masse folgt aus den beiden Komponenten Wasserstoff und Helium (die ebenfalls kurz nach dem Urknall entstandenen geringen Mengen von Lithium werden hier vernachlässigt), deren Massenanteile etwa 75% bzw. 25% betrugen (also im Verhältnis 3:1 standen). Da ein Wasserstoffatom eine etwa 4 Mal kleinere Masse hat als ein Heliumatom, folgt aus dem Massenverhältnis, dass erstere ungefähr 12 Mal häufiger waren als letztere. Aus diesem Verhältnis folgt für das Gasgemisch aus den individuellen molaren Massen (1.008 g / Mol für Wasserstoff unf 4.003 g / Mol für Helium) eine molare Masse von circa 1.24 g pro Mol. Zusammen mit der Gaskonstante von 8.314 J / (Mol K) liefern diese Angaben eine Schallgeschwindigkeit von etwa 5.8 km/s für den gerade durchsichtig gewordenen Kosmos. Für das obige gestörte zweidimensionale Gitter wäre demnach eine Amplitude der Schallschnelle von circa 410 m/s anzusetzen.
Die Geschwindigkeit während einer Schwingung ist hinsichtlich ihrer Zeitabhängigkeit gegenüber der Auslenkung um 90 Grad phasenverschoben, so dass zur Beschreibung der Geschwindigkeitsstörung anstelle der Cosinus- Sinusfunktionen treten. Die eindimensionale Beschreibung lautet:
Für die dreidimensionale Darstellung gilt:
Endlichkeit und Grenzenlosigkeit des Kosmos
BearbeitenBei allen bisher behandelten Systemen - vom Planetensystem bis hin zu Galaxien - ist es zulässig, dass einzelne Mitglieder dem Ensemble entkommen. Für das Universum als Ganzes ist dies jedoch nicht möglich, da es gemäß der Friedmann-Gleichung einen endlichen, durch den Skalenfaktor definierten Raum umfasst. Zugleich hat es wie die Oberfläche einer Kugel dennoch keine Grenzen. Jeder Körper - egal wo er sich befindet - ist stets von allen Seiten von benachbarten Massen umgeben. Um diese fundamentalen Eigenschaften zu berücksichtigen, müssen an dem hier vorgestellten Konstrukt eines Würfelgitters einige wesentliche Änderungen vorgenommen werden. Im Folgenden wird dabei der Weg nachgezeichnet, den die Autoren der Bolshoi-Simulation (russisch: bolshoi = groß) Klypin und andere (2011) [75] gegangen sind, welche wiederum auf dem Algorithmus von Kravtsov und anderen (1997) [76] ruht.
Berücksichtgung der Endlichkeit
BearbeitenWerden für eine Simulation des Weltalls mitbewegte, der Expansion folgende Koordinaten verwendet, so bleibt die Kantenlänge des hier den Raum darstellenden Würfels unverändert. Die Endlichkeit des Kosmos verlangt, dass in diesem Modell kein einziger Massenpunkt einen Koordinatenwert größer als / 2 bzw. kleiner als / 2 aufweist. In der Praxis kann infolge enger Begegnungen einzelner Körper untereinander aber nicht vermieden werden, dass Massenpunkte gelegentlich diese Grenzen überschreiten. Um solche Ausreißer in den Würfel zurückzubeordern, wendeten die Autoren der Bolshoi-Simulation folgenden recht willkürlich erscheinenden, aber einfach zu handhabenden Trick an.
Verlässt ein Massenpunkt den Würfel, lässt man diesen auf der gegenüberliegenden Seite einfach wieder eintreten. In der Skizze hat der nach außen gewanderte Körper eine x-Koordinate kleiner als / 2. Um diesen wieder im Würfel unterzubringen, erhält er einen neuen x-Wert . Tritt umgekehrt eine x-Position größer als / 2 auf, wird diese durch ersetzt. Die y- und z-Koordinate bleiben in beiden Fällen unverändert. Ist eine der letzteren von einer Grenzverletzung betroffen, wird völlig analog vorgegangen.
Berücksichtigung der Grenzenlosigkeit
BearbeitenIm Würfelmodell sind nur Körper, die sich relativ nahe am Koordinatenursprung aufhalten, mehr oder weniger gleichmäßig von Nachbarn umgeben. Massenpunkte nahe der Seitenflächen weisen nur in Richtung des Zentrums Nachbarn auf. Solche Randlagen stehen jedoch im Widerspruch zur Grenzenlosigkeit des Kosmos. Um diesen Konflikt aufzulösen, verwendeten Klypin und andere ein Modell, in welchem der Original-Würfel in allen Richtungen im Prinzip unendlich viele Ebenbilder hat. Um die Kraft zu berechnen, welche auf einen Original-Körper einwirkt, werden diese Ebenbilder wie reale Massenpunkte behandelt.
In der Praxis muss man nur solche Ebenbilder berücksichtigen, welche sich in einem Würfel der Kantenlänge 2 um den Koordinatenursprung befinden. Diese werden definiert, indem die originalen Koordinaten eines Massenpunkts bei negativen Ausgangswerten um vergrößert und bei positiven um verringert werden. In dreidimensionaler Darstellung hat jeder Körper 7 Ebenbilder. 3 Ebenbilder entstehen, indem jeweils nur 1 Koordinate geändert wird, 3 weitere durch simultane Änderung von 2 Koordinaten und das letzte durch gleichzeitige Änderung aller 3 Koordinaten. Sind z.B. alle drei Koordinaten negativ, so lauten die Ebenbilder und .
Um die auf eine reale Testmasse ausgeübte Schwerkraft zu bestimmen, wird um diese ein Würfel der Kantenlänge aufgespannt. Nur reale Körper und Ebenbilder innerhalb dieses Würfels werden berücksichtigt, alle anderen ignoriert. Auf einen Probekörper mit einer x-Koordinate lässt man also nur solche Massenpunkte einwirken, deren x-Werte zwischen und liegen. Entsprechend wird mit der y- und z-Koordinate verfahren.
Simulationsbeispiele
BearbeitenEine Beschreibung der Bolshoi-Simulation soll dieses Kapitel und damit auch das Buch beschließen. Es handelt sich um die bislang umfangreichste Nachbildung der Strukturbildung im Universum. Sie beruht auf einem Würfelgitter mit nicht weniger als 20483 = 8589934592 Körpern, wobei jeder einzelne eine Masse von etwa 200 Millionen Sonnenmassen aufweist. Durch diese enorme Anzahl kommt die schon im Galaxienkapitel angesprochene Eigenschaft der dunklen Materie, sich zu Halos sehr unterschiedlicher Größe und Masse zu verdichten, hervorragend zur Geltung. Dank der relativ geringen Masse pro Testobjekt können auch kleine Materiekonzentrationen bis herab zu circa 20 Milliarden Sonnenmassen nachgewiesen werden, was einer Zwerggalaxie von der Größenordnung der Großen Magellanschen Wolke entspricht. Andererseits wird nicht nur die Bildung großer Galaxien, sondern auch von weiträumigen Galaxienhaufen sichtbar - es finden sich Halos bis hin zu einer Größenordnung von 1000 Billionen Sonnenmassen entsprechend etwa 1000 Galaxien vom Ausmaß der Milchstraße.
Die Bolshoi-Simulation beeindruckt nicht nur durch die Anzahl der Massenpunkte, sondern auch die betrachtete Zeitspanne, welche sich von der Frühzeit des Kosmos bis zur Gegenwart erstreckt. Sie startet zu einem Zeitpunkt, als die Schwankungsbreite der ursprünglich extrem geringen Dichteunterschiede bereits auf etwa 8.6% der mittleren Dichte angewachsen war. Mittels der Theorie von Zeldovich (1970) [73] kommen die Autoren der Simulation zu dem Schluß, dass das Universum damals circa 80 Mal kleiner war als heute. Gemäß dem in diesem Kapitel vorgestellten Modell eines flachen Kosmos mit einem heutigen Anteil der dunklen Energie von ungefähr 70% an der Gesamtdichte entspricht ein solcher Skalenfaktor einem Zeitpunkt von etwa 24 Millionen Jahre nach dem Urknall.
Für die Bolshoi-Simulation seien nicht nur die wichtigsten Resultate, sondern auch die erforderliche Rechnerkapazität genannt. Klypin und andere (2011) [75] führten sie auf dem sogenannten Pleiades-Computer am NASA Ames Research Center durch. Dieser war mit 13824 Core-Prozessoren und einem RAM-Speicher von circa 13 Terabyte ausgestattet. Die insgesamt gelieferte Datenmenge belief sich auf ungefähr 100 Terabyte.
Eine exzellente Statistik - für jede betrachtete Epoche wurden im Mittel etwa 10 Millionen Halos gefunden - erlaubt sehr detaillierte Aussagen über die Häufigkeit und Verteilung dieser Objekte und entsprechend zuverlässige Vergleiche mit Beobachtungen. Kleine Verdichtungen sind - wie auch schon im Galaxienkapitel angedeutet - wesentlich häufiger anzutreffen als große. Die Bildung großer Halos beansprucht viel Zeit, so dass solche im jungen Universum sehr selten oder gar nicht vorhanden sind. Zum Zeitpunkt eines Skalenfaktors von 1/11 gegenüber dem heutigen (Weltalter circa 500 Millionen Jahre) finden sich in der Bolshoi-Simulation Halos nur bis zu einer Größenordnung von 100 Milliarden Sonnenmassen, d.h. die Entstehung von Systemen wie der Milchstraße ist noch nicht abgeschlossen. Erst bei einem Skalenfaktor von 1/7 (ungefähr 900 Millionen Jahre nach dem Urknall) überschreiten manche Verdichtungen die für große Galaxien erforderliche Massenskala von 1 Billion Sonnenmassen. Stark bevölkerte Galaxienhaufen treten erst ab einem Skalenfaktor von 1/3.5 (Weltalter etwa 4 Milliarden Jahre) in Erscheinung, in Form von Halos mit bis zu einigen 10 Billionen Sonnenmassen.
Die gute Auflösung (100 Massenpunkte für die kleinsten Verdichtungen, mehrere Millionen für die größten) gestattet sogar eine genaue Analyse der inneren Struktur der Halos, welche sich ebenfalls im Laufe der Zeit verändert. Kleine Verdichtungen stammen oft noch aus der Frühzeit des Kosmos. Sie hatten so viel Zeit, sich zu ihren Zentren hin weiter zu konzentrieren. Vor allem sehr große Halos sind in der Regel weit jünger, so dass sie ungeachtet ihrer enormen Massen sich längst nicht in gleichem Maße weiter verdichten konnten. Im frühen Weltall war der Anschauung entsprechend in großen Halos, sofern solche überhaupt existierten, die Materie stärker zur Mitte hin konzentriert als in kleinen. Mit fortschreitendem Alter des Kosmos hat sich dies mehr und mehr umgekehrt. Kleine Verdichtungen werden heute von sehr alten Objekten mit sehr dichten Zentralregionen dominiert. Bei großen Halos überwiegen dagegen vergleichsweise junge Systeme mit weniger dichten Zentren. Die seltenen alten großen Halos fallen in der Statistik kaum ins Gewicht. Dieser Befund der Bolshoi-Simulation stimmt gut mit der Tatsache überein, dass Zwerggalaxien noch stärker von der dunklen Materie beherrscht erscheinen als große Sternsysteme.
Zusammenfassung wichtiger C-Prozeduren
BearbeitenViele der in diesem Buch entwickelten C-Prozeduren werden im Verlauf einer Mehrkörpersimulation immer wieder aufgerufen, da sie bei jedem Schritt aufs Neue benötigt werden. Sie stellen so fundamentale Bestandteile einer entsprechenden Software dar und werden deshalb hier abschließend noch einmal zusammengestellt.
Vektoroperationen
BearbeitenDie meisten dem Mitglied eines Mehrkörpersystems zugeordneten Größen stellen Vektoren dar, wie Ort, Geschwindigkeit und Beschleunigung. Dementsprechend erfordern praktisch alle damit zusammenhängenden Prozeduren die wiederholte Ausführung von Vektoroperationen, die seinerseits wiederum als Prozeduren definiert werden. Komplexere Operationen, die solche eigenständige Prozeduren erfordern, sind insbesondere der Betrag und Einheitsvektor eines Vektors, sowie das Skalarprodukt und Kreuzprodukt zweier Vektoren. Die Addition und Subtraktion zweier Vektoren kann hingegen durch eine gewöhnliche Addition bzw. Subtraktion ersetzt werden, welche mittels einer drei Mal durchlaufenen For-Schleife alle kartesischen Komponenten individuell erfasst.
Fast alle hier benutzten Variablen sind vom Datentyp Double. Für For-Schleifen verwendete Zähler stellen Unsigned Integer dar. Vektoren sind stets Arrays, welche drei Double enthalten.
Prozedur betrag (Betrag eines Vektors)
BearbeitenDiese Routine bestimmt den Betrag eines Vektors vektor und gibt diesen unmittelbar zurück.
double betrag (double *vektor)
{
return (sqrt (pow (vektor[0],2) + pow (vektor[1],2) + pow (vektor[2],2)));
}
Prozedur einheit (Einheitsvektor eines Vektors)
BearbeitenDiese Prozedur bildet für einen Vektor vektor den dazugehörigen Einheitsvektor. Dieser wird durch den Vektor einheitsvektor angegeben. Die Routine benutzt die Betragsoperation, baut also auf obiger Prozedur auf. Für den Sonderfall, dass der Eingabevektor gleich dem Nullvektor ist, wird als Einheitsvektor wiederum der Nullvektor zurückgegeben.
void einheit (double *vektor, double *einheitsvektor)
{
double laenge;
unsigned int k;
laenge = betrag (vektor);
for (k = 0;k < 3;k ++)
{
if (laenge > 0)
einheitsvektor[k] = vektor[k] / laenge;
else
einheitsvektor[k] = 0;
}
}
Prozedur skalarprodukt (Skalarprodukt zweier Vektoren)
BearbeitenDiese Routine berechnet das Skalarprodukt zweier Vektoren vektor1 und vektor2. Das Ergebnis wird von der Prozedur selbst direkt zurückgegeben.
double skalarprodukt (double *vektor1, double *vektor2)
{
return (vektor1[0] * vektor2[0] + vektor1[1] * vektor2[1] + vektor1[2] * vektor2[2]);
}
Prozedur kreuzprodukt (Kreuzprodukt zweier Vektoren)
BearbeitenDiese Prozedur ermittelt das Kreuzprodukt zweier Vektoren vektor1 und vektor2. Das Ergebnis wird durch den Vektor vektor3 dargestellt.
void kreuzprodukt (double *vektor1, double *vektor2, double *vektor3)
{
vektor3[0] = vektor1[1] * vektor2[2] - vektor1[2] * vektor2[1];
vektor3[1] = vektor1[2] * vektor2[0] - vektor1[0] * vektor2[2];
vektor3[2] = vektor1[0] * vektor2[1] - vektor1[1] * vektor2[0];
}
Beschleunigung, Ruck und Energie
BearbeitenEine Mehrkörpersimulation erfordert in jedem Schritt die Berechnung der auf die einzelnen Mitglieder ausgeübten Beschleunigungen auf Grundlage des Newtonschen Gravitationsgesetzes. Werden die nach einem solchen Schritt zu erwartenden neuen Positionen und Geschwindigkeit mittels Hermite-Polynome bestimmt, müssen auch die auf die Körper einwirkenden Rucks ermittelt werden. Für die Berechnung der einzelnen Bahnen wird die Gesamtenergie an für sich nicht benötigt, doch stellt diese aufgrund des Energieerhaltungssatzes ein gutes Kriterium dar, die Stabilität einer Simulation zu überprüfen.
Im Folgenden werden die für die Berechnung der auf individuelle Körper einwirkenden Beschleunigungen und Rucks eingeführten Prozeduren nochmals zusammengestellt, zusammen mit derjenigen für die Bestimmung der Gesamtenergie eines Mehrkörpersystems. In allen Fällen wird davon ausgegangen, dass das Gravitationsgesetz nach der einfachen Methode von Aarseth mittels eines endlichen Plummerradius geglättet wird. Fast alle Variablen sind erneut vom Typ Double, Zähler wiederum Unsigned Integer.
Die hier nochmals skizzierten Prozeduren für die Beschleunigung und den Ruck eines Körpers gelten für Simulationen, bei denen die Beiträge aller übrigen Mitglieder des Ensembles exakt aufsummiert werden (d.h. nicht für hierarchische Verfahren wie den Barnes-Hut-Algorithmus).
Prozedur beschleunigung
BearbeitenDiese Prozedur ermittelt die auf einen Körper objekt ausgeübte Beschleunigung. Weitere Eingabeparameter sind die Anzahl N der Mitglieder des Systems, der Plummerradius epsilon sowie die Massen m und Positionen r der einzelnen Mitglieder. m ist ein eindimensionales Array mit N Skalaren, r ein zweidimensionales Array mit N aus jeweils drei Komponenten bestehenden Vektoren. Das Resultat wird durch den dreikomponentigen Vektor a[objekt] wiedergegeben (für das ganze System ist a ebenfalls ein zweidimensionales Array mit N Vektoren).
/* Globale Variablen */
unsigned int objekt;
unsigned int N;
double epsilon;
double *m;
double **r;
double **a;
void beschleunigung (unsigned int objekt, unsigned int N, double epsilon, double *m, double **r,
double *a)
{
/* Lokale Variablen */
unsigned int i,k;
double dr[3];
double d3;
for (k = 0;k < 3;k ++)
a[k] = 0;
for (i = 0;i < N;i ++)
{
if (i != objekt)
{
for (k = 0;k < 3;k ++)
dr[k] = r[i][k] - r[objekt][k];
d3 = pow (pow (betrag (dr),2) + pow (epsilon,2),1.5);
for (k = 0;k < 3;k ++)
a[k] += G * m[i] * dr[k] / d3;
}
}
}
Prozedur ruck
BearbeitenDiese Routine gibt für einen Körper objekt sowohl dessen Beschleunigung als auch Ruck an. Im Vergleich zur Beschleunigungsprozedur tritt als zusätzlicher Eingabeparameter noch die Geschwindigkeit v aller Mitglieder hinzu, welche ein weiteres zweidimensionales Array mit N Vektoren darstellt. Als zweiter Rückgabeparameter taucht der Vektor j[objekt] auf, welcher den Ruck wiedergibt (und wie a für das ganze Ensemble ein zweidiensionales Array mit N Vektoren ist).
/* Globale Variablen */
unsigned int objekt;
unsigned int N;
double epsilon;
double *m;
double **r;
double **v;
double **a;
double **j;
void ruck (unsigned int objekt, unsigned int N, double epsilon, double *m, double **r, double **v,
double *a, double *j)
{
/* Lokale Variablen */
unsigned int i,k;
double dr[3];
double d3,d5;
double dv[3];
double skalar;
for (k = 0;k < 3;k ++)
{
a[k] = 0;
j[k] = 0;
}
for (i = 0;i < N;i ++)
{
if (i != objekt)
{
for (k = 0;k < 3;k ++)
{
dr[k] = r[i][k] - r[objekt][k];
dv[k] = v[i][k] - v[objekt][k];
}
d3 = pow (pow (betrag (dr),2) + pow (epsilon,2),1.5);
d5 = pow (pow (betrag (dr),2) + pow (epsilon,2),2.5);
skalar = skalarprodukt (dr,dv);
for (k = 0;k < 3;k ++)
{
a[k] += G * m[i] * dr[k] / d3;
j[k] += G * m[i] * (dv[k] / d3 - 3 * skalar * dr[k] / d5);
}
}
}
}
Prozedur energie
BearbeitenDiese Prozedur dient der Berechnung der kinetischen und potentiellen Energie eines Mehrkörpersystems. Die Eingabeparameter sind weitgehend die gleichen wie für die Ruck-Routine. Da aber nun das ganze Ensemble und nicht ein einzelnes Mitglied betrachtet wird, fällt der Eingabeparameter objekt weg. Zurückgegeben werden die beiden Energieformen durch die Skalare Ekin und Epot.
/* Globale Variablen */
unsigned int N;
double epsilon;
double *m;
double **r;
double **v;
double Ekin,Epot;
void energie (unsigned int N, double epsilon, double *m, double **r, double **v,
double *Ekin, double *Epot)
{
/* Lokale Variablen */
unsigned int i,j,k;
double dr[3];
double d;
*Ekin = 0;
for (i = 0;i < N;i ++)
*Ekin += m[i] * pow (betrag (v[i]),2) / 2;
*Epot = 0;
for (i = 0;i < N;i ++)
{
for (j = i + 1;j < N;j ++)
{
for (k = 0;k < 3;k ++)
dr[k] = r[j][k] - r[i][k];
d = betrag (dr);
*Epot -= G * m[i] * m[j] / epsilon * (pi / 2 - atan (d / epsilon));
}
}
}
Literaturverzeichnis
Bearbeiten- Aarseth S.J., Dynamical evolution of clusters in galaxies I, in: Monthly Notices of the Royal Astronomical Society Band 126, S.223 ff, 1963 (= Aarseth (1963))
- Aarseth S.J. und Hoyle F., An assessment of the present state of the gravitational N-body problem, in: Astrophysica Norvegica Band 9, S.313 ff, 1964 (= Aarseth und Hoyle (1964))
- Aarseth S.J., Henon M, Wielen R., A Comparison of Numerical Methods for the Study of Star Cluster Dynamics, in: Astronomy and Astrophyscia Band 37, S.183 ff, 1974 (= Aarseth und andere (1974))
- Aarseth S.J., in: Multiple Time Scales, Hrsg. Brackbill und Cohen, Academic Press, New York S.377 ff, 1985 (= Aarseth (1985))
- Alpher R.A., A neutron capture theory of the formation and relative abundance of the elements, in: Physical Review Letters Band 74, S.1577 ff, 1948 (= Alpher (1948))
- Alpher R.A., Hermann R., Gamow G.A., Thermonuclear reactions in the expanding Universe, in: Physical Review Letters Band 74, S.1198 ff, 1948 (= Alpher und andere (1948))
- Bahcall J.N., Soneira R.M., The universe at faint magnitudes. I. Models for the Galaxy and the predicted star counts, in: The Astrophysical Journal Supplement Series Band 44, S.73 ff, 1980 (= Bahcall und Soneira (1980))
- Barnes J., Hut P., A hierarchical O(N log N) force-calculation algorithm, in: Nature Band 324, S.446 ff., 1986 (= Barnes und Hut (1986))
- Barnes J., Hut P., Error analysis of a tree code, in: The Astrophysical Journal Supplement Series Band 70, S.389 ff, 1989 (= Barnes und Hut (1989))
- Benjamin R.A., The spiral structure of the Galaxy. Something old, something new, in: Massive star formation. Observation confronts theory, Astronomical Society of the Pacific Conference Series Band 387, S.375 ff, 2008 (= Benjamin (2008))
- Bennett C.L., Halpern M., Hinshaw G., Jarosik N., Kogut A., Limon M. und 15 weitere Autoren, First-year Wilkinson Microware Anisotropy Probe observations: Priliminary maps and basic results, in: The Astrophysical Journal Supplement Series Band 148, S.1 ff, 2003 (= Bennett und andere (2003))
- Bottema R., Simulations of normal spiral galaxies, in: Monthly Notices of the Royal Astronomical Society Band 344, S.358 ff, 2003 (= Bottema (2003))
- Boue G., Laskar J., Farago F., A simple model of the chaotic eccentricity of Mercury, in: Astronomy and Astrophyscis Band 548, S.43 ff, 2012 (= Boue und andere (2012))
- Bouy H., Bertin E., Sarro L.M., Barrado D., Moraux E., Bouvier J. und 4 weitere Autoren, The Seven Sisters DANCe. I - Empirical isochrones, luminosity and mass functions of the Pleiades cluster, in: Astronomy and Astrophysics Band 577, S.17 ff, 2015 (= Bouy und andere (2015))
- Cox T.J., Loeb A, The collision between the Milky Way and Andromeda, in: Monthly Notices of the Royal Astronomical Society Band 386, S.461 ff, 2008 (= Cox und Loeb (2008))
- Dehnen W., Read J.I., N-body simulations of gravitational dynamics, in: the European Physical Journal Plus, Band 126, 2011 (= Dehnen und Read (2011))
- Diemand J., Moore B., The structure and evolution of cold dark matter halos, in: Advanced Science Letters Band 4, S.297 ff, 2011 (= Diemand und Moore (2011))
- Dicke R.J., Peebles P.J.E., Roll P.G., Wilkinson D.T., Cosmic black body radiation, in: The Astrophysical Journal Band 142, S.414 ff, 1965 (= Dicke und andere (1965))
- Efstathiou G., Davis M., Frenk C.S., White S.D.M., Numerical Techniques for Large Cosmological N-Body Simulations, in: The Astrophysical Journal Supplement Series Band 57, S.241 ff., 1985 (= Efstathiou und andere (1985))
- Fuji M.S., Portegies Zwart S., The growth of massive stars via stellar collisions in ensemble star clusters, in: Monthly Notices of the Royal Astronomical Society Band 430, S.1018 ff, 2013 (= Fuji und Portegies Zwart (2013))
- Geisler R., Gravitativer Einfluss eines Begleitsterns auf LBV-Nebel, Diplomarbeit, Ruprecht-Karls-Universität Heidelberg, 2006 (= Geisler (2006))
- Giersz M., Heggie D.C., Monte Carlo simulations of star clusters - VII. The globular cluster 47 Tuc, in: Monthly Notices of the Royal Astronomical Society Band 410, S.2698 ff, 2011 (= Giersz und Heggie (2011))
- Heggie D.C., Trenti M., Hut P., Star clusters with primordial binaries - I. Dynamic evolution of isolated models, in: Monthly Notices of the Royal Astronomical Society Band 368, S.677 ff, 2006 (= Heggie und andere (2006))
- Hernquist L., Katz N., TREESPH. A unification of SPH with the hierarchical tree method, in: The Astrophysical Journal Supplement Series Band 70, S.419 ff, 1989 (= Hernquist und Katz (1989)
- Hinshaw G., Weiland J.L., Hill R.S., Odegard N., Larson D., Bennett C.L. und 15 weitere Autoren, Five-year Wilkinson Microware Anisotropy Probe observations: Data processing, sky maps and basic results, in: The Astrophysical Journal Supplement Series Band 180, S.225 ff, 2009 (= Hinshaw und andere (2009))
- Howard C.D., Rich R.M., Reitzel D.B., Koch A., De Propris R. und Zhao H.S., The bulge radial velocity assay. I. Sample selection and a rotation curve, in: The Astrophysical Journal Band 688, S.1060 ff, 2008 (= Howard und andere (2008))
- Hubble E., A relation between distance and radial velocity among extragalactic nebulae, in: Proceedings of the National Academy of Science of the USA Band 15, S.168 ff, 1929 (= Hubble (1929))
- Hut P., Makino J., McMillan S., Building a better Leapftog, in: The Astrophysical Journal 443, S.L93 ff, 1995 (= Hut und andere (1995))
- Ito T., Tanikawa K., Long term integrations and stability of planetary orbits in our Solar system, in: Monthly Notices of the Royal Astronomical Society Band 336, S.483 ff, 2002 (= Ito und Tanikawa (2002))
- Jet Propulsion Laboratory, Asteroid Main Belt Distribution, http://ssd.jpl.nasa.gov/?histo_a_ast, 2007 (= Jet Propulsion Laboratory (2007))
- Jones B.F., Internal motions in the Pleiades, in: The Astronomical Journal Band 75, S.563 ff, 1970 (= Jones (1970))
- Kravtsov A.V., Klypin A.A., Khokhlov A.M, Adaptive Refinement Tree: A new High Resolution N-Body Code for Cosmological Simulations, in: The Astrophysical Journal Supplement Series Band 111, S.73 ff, 1997 (= Kravtsov und andere (1997))
- Klypin A.A., Trujillo-Gomez S., Primack J., Dark Matter Halos in the Standard Cosmological Model: Results from the Bolshoi Simulation, in: The Astrophysical Journal Band 740, S.102 ff, 2011 (= Klypin und andere (2011))
- Kroupa P., On the Variation of the Initial Mass Function, in: Monthly Notices of the Royal Astronomical Society Band 322, S.231 ff, 2001 (= Kroupa (2001))
- Kunder A., Koch A., Rich R.M., De Propries R., Howard C.D., Stubbs S.A. und 10 weitere Autoren, The bulge radial velocity assay. II. Complete sample and data release, in: The Astronomical Journal Band 143, S.57 ff, 2012 (= Kunder und andere (2012))
- Laskar J., Large-scale chaos in the Solar system, in: Astronomy and Astrophysics Band 287, S.L9 ff, 1994 (= Laskar (1994))
- Laskar J., Fienga A., Gastineau M., Manche H., La2010: a new orbital solution for the long-term motion of the Earth, in: Astronomy and Astrophyscis Band 532, S.89 ff, 2011 (= Laskar und andere (2011))
- Ling F.-S., Nezri E., Athanassoula E., Teyssier R., Dark matter direct detection signals inferred from a cosmological N-body simulation with baryons, in: Journal of Cosmology and Astroparticle Physics Band 2, 2010 (= Ling und andere (2010))
- Lopez D.J und Romay J.G., Implementing Adams methods with preassigned stepsize ratios, in: Mathematical Problems in Engineering Band 2010, 2010 (= Lopez und Romay (2010))
- 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 (= Makino (1991))
- Makino J., Aarseth S.J., On a Hermite integrator with Ahmad-Cohen-scheme for gravitational many-body problems, in: Publications of the Astronomical Society of Japan Band 44, S.141 ff, 1992 (= Makino und Aarseth (1992))
- Mardling R.A., The Role of Chaos in the Circularization of Tidal Capture Binaries. I - the Chaos Boundary, in: the Astrophysical Journal Band 450, S.722 ff, 1995 (= Mandling (1995))
- Mardling R.A., The Role of Chaos in the Circularization of Tidal Capture Binaries. II - Long Term Evolution in: the Astrophysical Journal Band 450, S.732 ff, 1995 (= Mandling (1995), direkte Fortsezung des oben genannten Artikels im gleichen Journal)
- Mardling R.A., Stability in the General Three Body Problem, in: Astronomical Society of the Pacific Conference Series Band 229, S.101 ff, 2001 (= Mardling (2001))
- Mardling R.A., Aarseth S.J., Tidal Interactions in Star Cluster Simulatios, in: Monthly Notices of the Royal Astronomical Society Band 321, S.398 ff, 2001 (= Mardling und Aarseth (2001))
- McMillan P.J., Mass models of the Milky Way, in: Monthly Notices of the Royal Astronomical Society Band 414, S.2446 ff, 2011 (= McMillan (2011))
- Milankovitch M., Kanon der Erdbestrahlung und seine Anwendung auf das Eiszeitenproblem, in: Spec. Acad. R. Serbe, Belgrade, 1941
- Oort J.H., Stellar Dynamics, in Stars and stellar systems Band V, Kap.21, S.455 ff, 1965 = (Oort (1965))
- Penzias A.A., Wilson R.W., A mwasurement at excess antenna temperature at 4080 Mc/s, in: The Astrophysical Journal Band 142, S.419 ff, 1965 (= Penzias und Wilson (1965))
- Perlmutter S, Aldering G, Boyle. B.J., Castro P.G., Couch W.J., Deustua S. und 27 weitere Autoren, Measurements of Omega and Lambda from 42 High-Redshift Supernovae, in: Abstracts of the 19th Texas Symposium on Relativistic Astrophysics and Cosmology, held in Paris, France, Dec. 14-18, 1998. Herausgeber: J. Paul, T. Montmerle und E. Aubourg (CEA Saclay) (= Perlmutter und andere (1998))
- Plummer H.C., On the problem of distribution in globular star clusters, in: Monthly Notices of the Royal Astronomical Society Band 71, S.460 ff, 1911 (= Plummer (1911))
- Power C., Navarro J.F., Jenkins A., Frenk C.S., White S.D.M., Springel V., Stadel J. und Quinn T., The inner structure of ΛCDM haloes - I. A numerical convergence study, in: Monthly Notices of the Royal Astronomical Society Band 338, S.14 ff, 2003 (= Power und andere (2003))
- Quinn T., Katz N., Stadel J., Lake G., Time stepping N-body simulations, in: eprint arXiv:astro-ph/9710043 (unter http://arxiv.org/abs/astro-ph/9710043), 1997 (= Quinn und andere (1997))
- Röser H.-J., Tscharnuter W., Abriss der Astronomie 6.Auflage, Wiley-VCH, Berlin, S.627 sowie 970-971, 2012 (= Röser und Tscharnuter (2012))
- Riess A.G., Filippenko A.V., Challis P., Clocchiatti A., Diercks A., Garnavich P.M. und 14 weitere Autoren, Observational Evidence from Supernovae for an Accelerating Universe and a Cosmological Constant, in: The Astronomical Journal Band 116, S.1009 ff, 1998 (= Riess und andere (1998))
- Salpeter E.E., The Luminosity Function and Stellar Evolution, in: Astrophysical Journal Band 121, S.161ff, 1955 (= Salpeter (1955))
- Scheffler H., Elsässer H., in: Bau und Physik der Galaxis 2.Auflage, Mannheim, Wien, Zürich, BI Wissenschaftsverlag 1992, S.475-476 (= Scheffler und Elsässer (1992))
- Schneider P., in: Extragalaktische Astronomie und Kosmologie, Springer-Verlag 2008 (= Schneider (2008))
- Struve O., The sextuple system of Casor, in: Sky and Telescope Band 11, S.302 ff, 1952 (= Struve (1952))
- Toomre A., On the gravitational stability of a disk of stars, in: The Astrophysical Journal Band 139, S.1217 ff, 1964 (= Toomre (1964))
- Voigt H.H., Abriss der Astronomie 4.Auflage, Mannheim, Wien, Zürich, BI Wissenschaftsverlag 1988, S.362 (= Voigt (1988))
- White S.D.M., Further simulations of merging galaxies, in: Monthly Notices of the Royal Astronomical Society Band 189, S.831 ff, 1979 (= White (1979))
- Wielen R., Dynamical evolution of star cluster models, in: Veröffentlichung des Astronomischen Recheninstituts Heidelberg Nr.19 (= Wielen (1967))
- Wirtz C., Einiges zur Statistik der Radialgeschwindigkeiten von Spiralnebeln und Kugelsternhaufen, in: Astronomische Nachrichten Band 215, S.349 ff, 1922 (= Wirtz (1922))
- Wirtz C., De Sitters Kosmologie und die Radialgeschwindigkeiten der Spiralnebel, in: Astronomische Nachrichten Band 222, S.21 ff, 1924 (= Wirtz (1924))
- Wisdom J., Holman M., Symplectic maps for the N-body problem, in: The Astronomical Journal Band 102, Nr.4, S.1528 ff, 1991 (= Wisdom und Holman (1991))
- Zemp M., Stadel J., Moore B. und Carollo C.M., An optimum time-stepping scheme for N-body simulations, in: Monthly Notices of the Royal Astronomical Society Band 376, S.273 ff, 2007 (= Zemp und andere (2007))
- Zeldovich Y.B., Gravitational Instability: An Approximate Theory for Large Density Pertubations, in: Astronomy and Astrophysics Band 5, S.84 ff, 1970 (= Zeldovich (1970))
- ↑ Struve O., The sextuple system of Casor, in: Sky and Telescope Band 11, S.302 ff, 1952
- ↑ Jones B.F., Internal motions in the Pleiades, in: The Astronomical Journal Band 75, S.563 ff, 1970
- ↑ Bouy H., Bertin E., Sarro L.M., Barrado D., Moraux E., Bouvier J. und 4 weitere Autoren, The Seven Sisters DANCe. I - Empirical isochrones, luminosity and mass functions of the Pleiades cluster, in: Astronomy and Astrophysics Band 577, S.17 ff, 2015
- ↑ Benjamin R.A., The spiral structure of the Galaxy. Something old, something new, in: Massive star formation. Observation confronts theory, Astronomical Society of the Pacific Conference Series Band 387, S.375 ff, 2008
- ↑ Fuji M.S., Portegies Zwart S., The growth of massive stars via stellar collisions in ensemble star clusters, in: Monthly Notices of the Royal Astronomical Society Band 430, S.1018 ff, 2013
- ↑ Geisler R., Gravitativer Einfluss eines Begleitsterns auf LBV-Nebel, Diplomarbeit, Ruprecht-Karls-Universität Heidelberg, 2006
- ↑ Hut P., Makino J., McMillan S., Building a better Leapftog, in: The Astrophysical Journal 443, S.L93 ff, 1995
- ↑ 8,0 8,1 Makino J., Aarseth S.J., On a Hermite integrator with Ahmad-Cohen-scheme for gravitational many-body problems, in: Publications of the Astronomical Society of Japan Band 44, S.141 ff, 1992
- ↑ Aarseth S.J., Dynamical evolution of clusters in galaxies I, in: Monthly Notices of the Royal Astronomical Society Band 126, S.223 ff, 1963
- ↑ Plummer H.C., On the problem of distribution in globular star clusters, in: Monthly Notices of the Royal Astronomical Society Band 71, S.460 ff, 1911
- ↑ 11,0 11,1 Dehnen W., Read J.I., N-body simulations of gravitational dynamics, in: the European Physical Journal Plus, Band 126, 2011
- ↑ Hernquist L., Katz N., TREESPH. A unification of SPH with the hierarchical tree method, in: The Astrophysical Journal Supplement Series Band 70, S.419 ff, 1989
- ↑ Aarseth S.J. und Hoyle F., An assessment of the present state of the gravitational N-body problem, in: Astrophysica Norvegica Band 9, S.313 ff, 1964
- ↑ White S.D.M., Further simulations of merging galaxies, in: Monthly Notices of the Royal Astronomical Society Band 189, S.831 ff, 1979
- ↑ Power C., Navarro J.F., Jenkins A., Frenk C.S., White S.D.M., Springel V., Stadel J. und Quinn T., The inner structure of ΛCDM haloes - I. A numerical convergence study, in: Monthly Notices of the Royal Astronomical Society Band 338, S.14 ff, 2003
- ↑ Aarseth S.J. und Hoyle F., An assessment of the present state of the gravitational N-body problem, in: Astrophysica Norvegica Band 9, S.313 ff, 1964
- ↑ Zemp M., Stadel J., Moore B. und Carollo C.M., An optimum time-stepping scheme for N-body simulations, in: Monthly Notices of the Royal Astronomical Society Band 376, S.273 ff, 2007
- ↑ Wielen R., Dynamical evolution of star cluster models, in: Veröffentlichung des Astronomischen Recheninstituts Heidelberg Nr.19, 1967
- ↑ 19,0 19,1 Aarseth S.J., in: Multiple Time Scales, Hrsg. Brackbill und Cohen, Academic Press, New York S.377 ff, 1985
- ↑ Makino J., Aarseth S.J., On a Hermite integrator with Ahmad-Cohen-scheme for gravitational many-body problems, in: Publications of the Astronomical Society of Japan Band 44, S.141 ff, 1992
- ↑ Hut P., Makino J., McMillan S., Building a better Leapftog, in: The Astrophysical Journal 443, S.L93 ff, 1995
- ↑ Quinn T., Katz N., Stadel J., Lake G., Time stepping N-body simulations, in: eprint arXiv:astro-ph/9710043 (unter http://arxiv.org/abs/astro-ph/9710043), 1997
- ↑ Lopez D.J und Romay J.G., Implementing Adams methods with preassigned stepsize ratios, in: Mathematical Problems in Engineering Band 2010, 2010
- ↑ 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
- ↑ Dehnen W., Read J.I., N-body simulations of gravitational dynamics, in: the European Physical Journal Plus, Band 126, 2011
- ↑ 26,0 26,1 26,2 Barnes J., Hut P., A hierarchical O(N log N) force-calculation algorithm, in: Nature Band 324, S.446 ff., 1986
- ↑ Barnes J., Hut P., Error analysis of a tree code, in: The Astrophysical Journal Supplement Series Band 70, S.389 ff, 1989
- ↑ Zemp M., Stadel J., Moore B. und Carollo C.M., An optimum time-stepping scheme for N-body simulations, in: Monthly Notices of the Royal Astronomical Society Band 376, S.273 ff, 2007
- ↑ 29,0 29,1 Ito T., Tanikawa K., Long term integrations and stability of planetary orbits in our Solar system, in: Monthly Notices of the Royal Astronomical Society Band 336, S.483 ff, 2002
- ↑ Boue G., Laskar J., Farago F., A simple model of the chaotic eccentricity of Mercury, in: Astronomy and Astrophyscis Band 548, S.43 ff, 2012
- ↑ 31,0 31,1 Laskar J., Large-scale chaos in the Solar system, in: Astronomy and Astrophysics Band 287, S.L9 ff, 1994
- ↑ 32,0 32,1 Laskar J., Fienga A., Gastineau M., Manche H., La2010: a new orbital solution for the long-term motion of the Earth, in: Astronomy and Astrophyscis Band 532, S.89 ff, 2011
- ↑ Milankovitch M., Kanon der Erdbestrahlung und seine Anwendung auf das Eiszeitenproblem, in: Spec. Acad. R. Serbe, Belgrade, 1941
- ↑ Jet Propulsion Laboratory, Asteroid Main Belt Distribution, http://ssd.jpl.nasa.gov/?histo_a_ast, 2007
- ↑ Wisdom J., Holman M., Symplectic maps for the N-body problem, in: The Astronomical Journal Band 102, Nr.4, S.1528 ff, 1991
- ↑ Röser H.-J., Tscharnuter W., Abriss der Astronomie 6.Auflage, Wiley-VCH, Berlin, S.970-971, 2012
- ↑ Salpeter E.E., The Luminosity Function and Stellar Evolution, in: Astrophysical Journal Band 121, S.161ff, 1955
- ↑ Kroupa P., On the Variation of the Initial Mass Function, in: Monthly Notices of the Royal Astronomical Society Band 322, S.231 ff, 2001
- ↑ 39,0 39,1 39,2 Aarseth S.J., Henon M, Wielen R., A Comparison of Numerical Methods for the Study of Star Cluster Dynamics, in: Astronomy and Astrophyscia Band 37, S.183 ff, 1974
- ↑ Röser H.-J., Tscharnuter W., Abriss der Astronomie 6.Auflage, Wiley-VCH, Berlin, S.627, 2012
- ↑ 41,0 41,1 Mardling R.A., The Role of Chaos in the Circularization of Tidal Capture Binaries. I - the Chaos Boundary, in: the Astrophysical Journal Band 450, S.722 ff, 1995 und Mardling R.A., The Role of Chaos in the Circularization of Tidal Capture Binaries. II - Long Term Evolution in: the Astrophysical Journal Band 450, S.732 ff, 1995
- ↑ Mardling R.A., Aarseth S.J., Tidal Interactions in Star Cluster Simulatios, in: Monthly Notices of the Royal Astronomical Society Band 321, S.398 ff, 2001
- ↑ 43,0 43,1 43,2 Mardling R.A., Stability in the General Three Body Problem, in: Astronomical Society of the Pacific Conference Series Band 229, S.101 ff, 2001
- ↑ Heggie D.C., Trenti M., Hut P., Star clusters with primordial binaries - I. Dynamic evolution of isolated models, in: Monthly Notices of the Royal Astronomical Society Band 368, S.677 ff, 2006
- ↑ Wisdom J., Holman M., Symplectic maps for the N-body problem, in: The Astronomical Journal Band 102, Nr.4, S.1528 ff, 1991
- ↑ Giersz M., Heggie D.C., Monte Carlo simulations of star clusters - VII. The globular cluster 47 Tuc, in: Monthly Notices of the Royal Astronomical Society Band 410, S.2698 ff, 2011
- ↑ Power C., Navarro J.F., Jenkins A., Frenk C.S., White S.D.M., Springel V., Stadel J. und Quinn T., The inner structure of ΛCDM haloes - I. A numerical convergence study, in: Monthly Notices of the Royal Astronomical Society Band 338, S.14 ff, 2003
- ↑ 48,0 48,1 48,2 48,3 McMillan P.J., Mass models of the Milky Way, in: Monthly Notices of the Royal Astronomical Society Band 414, S.2446 ff, 2011
- ↑ Bahcall J.N., Soneira R.M., The universe at faint magnitudes. I. Models for the Galaxy and the predicted star counts, in: The Astrophysical Journal Supplement Series Band 44, S.73 ff, 1980
- ↑ Oort J.H., Stellar Dynamics, in Stars and stellar systems Band V, Kap.21, S.455 ff, 1965
- ↑ 51,0 51,1 Bottema R., Simulations of normal spiral galaxies, in: Monthly Notices of the Royal Astronomical Society Band 344, S.358 ff, 2003
- ↑ Toomre A., On the gravitational stability of a disk of stars, in: The Astrophysical Journal Band 139, S.1217 ff, 1964
- ↑ Howard C.D., Rich R.M., Reitzel D.B., Koch A., De Propris R. und Zhao H.S., The bulge radial velocity assay. I. Sample selection and a rotation curve, in: The Astrophysical Journal Band 688, S.1060 ff, 2008
- ↑ Kunder A., Koch A., Rich R.M., De Propries R., Howard C.D., Stubbs S.A. und 10 weitere Autoren, The bulge radial velocity assay. II. Complete sample and data release, in: The Astronomical Journal Band 143, S.57 ff, 2012
- ↑ 55,0 55,1 Ling F.-S., Nezri E., Athanassoula E., Teyssier R., Dark matter direct detection signals inferred from a cosmological N-body simulation with baryons, in: Journal of Cosmology and Astroparticle Physics Band 2, 2010
- ↑ 56,0 56,1 Diemand J., Moore B., The structure and evolution of cold dark matter halos, in: Advanced Science Letters Band 4, S.297 ff, 2011
- ↑ Scheffler H., Elsässer H., in: Bau und Physik der Galaxis 2.Auflage, Mannheim, Wien, Zürich, BI Wissenschaftsverlag 1992, S.475-476
- ↑ Cox T.J., Loeb A, The collision between the Milky Way and Andromeda, in: Monthly Notices of the Royal Astronomical Society Band 386, S.461 ff, 2008
- ↑ Wirtz C., Einiges zur Statistik der Radialgeschwindigkeiten von Spiralnebeln und Kugelsternhaufen, in: Astronomische Nachrichten Band 215, S.349 ff, 1922
- ↑ Wirtz C., De Sitters Kosmologie und die Radialgeschwindigkeiten der Spiralnebel, in: Astronomische Nachrichten Band 222, S.21 ff, 1924
- ↑ Hubble E., A relation between distance and radial velocity among extragalactic nebulae, in: Proceedings of the National Academy of Science of the USA Band 15, S.168 ff, 1929
- ↑ Ling F.-S., Nezri E., Athanassoula E., Teyssier R., Dark matter direct detection signals inferred from a cosmological N-body simulation with baryons, in: Journal of Cosmology and Astroparticle Physics Band 2, 2010
- ↑ Aarseth S.J., Dynamical evolution of clusters in galaxies I, in: Monthly Notices of the Royal Astronomical Society Band 126, S.223 ff, 1963
- ↑ 64,0 64,1 Riess A.G., Filippenko A.V., Challis P., Clocchiatti A., Diercks A., Garnavich P.M. und 14 weitere Autoren, Observational Evidence from Supernovae for an Accelerating Universe and a Cosmological Constant, in: The Astronomical Journal Band 116, S.1009 ff, 1998
- ↑ 65,0 65,1 Perlmutter S, Aldering G, Boyle. B.J., Castro P.G., Couch W.J., Deustua S. und 27 weitere Autoren, Measurements of Omega and Lambda from 42 High-Redshift Supernovae, in: Abstracts of the 19th Texas Symposium on Relativistic Astrophysics and Cosmology, held in Paris, France, Dec. 14-18, 1998. Herausgeber: J. Paul, T. Montmerle und E. Aubourg (CEA Saclay)
- ↑ Alpher R.A., A neutron capture theory of the formation and relative abundance of the elements, in: Physical Review Letters Band 74, S.1577 ff, 1948
- ↑ Alpher R.A., Hermann R., Gamow G.A., Thermonuclear reactions in the expanding Universe, in: Physical Review Letters Band 74, S.1198 ff, 1948
- ↑ Penzias A.A., Wilson R.W., A mwasurement at excess antenna temperature at 4080 Mc/s, in: The Astrophysical Journal Band 142, S.419 ff, 1965
- ↑ Dicke R.J., Peebles P.J.E., Roll P.G., Wilkinson D.T., Cosmic black body radiation, in: The Astrophysical Journal Band 142, S.414 ff, 1965
- ↑ Hinshaw G., Weiland J.L., Hill R.S., Odegard N., Larson D., Bennett C.L. und 15 weitere Autoren, Five-year Wilkinson Microware Anisotropy Probe observations: Data processing, sky maps and basic results, in: The Astrophysical Journal Supplement Series Band 180, S.225 ff, 2009
- ↑ Bennett C.L., Halpern M., Hinshaw G., Jarosik N., Kogut A., Limon M. und 15 weitere Autoren, First-year Wilkinson Microware Anisotropy Probe observations: Priliminary maps and basic results, in: The Astrophysical Journal Supplement Series Band 148, S.1 ff, 2003
- ↑ Schneider P., in: Extragalaktische Astronomie und Kosmologie, Springer-Verlag 2008
- ↑ 73,0 73,1 Zeldovich Y.B., Gravitational Instability: An Approximate Theory for Large Density Pertubations, in: Astronomy and Astrophysics Band 5, S.84 ff, 1970
- ↑ Efstathiou G., Davis M., Frenk C.S., White S.D.M., Numerical Techniques for Large Cosmological N-Body Simulations, in: The Astrophysical Journal Supplement Series Band 57, S.241 ff., 1985
- ↑ 75,0 75,1 Klypin A.A., Trujillo-Gomez S., Primack J., Dark Matter Halos in the Standard Cosmological Model: Results from the Bolshoi Simulation, in: The Astrophysical Journal Band 740, S.102 ff, 2011
- ↑ Kravtsov A.V., Klypin A.A., Khokhlov A.M, Adaptive Refinement Tree: A new High Resolution N-Body Code for Cosmological Simulations, in: The Astrophysical Journal Supplement Series Band 111, S.73 ff, 1997