Computational Astrophysics, SoSe 2015 H. Todt, W.-R. Hamann Übungsblatt 5 C/C++ Aspekte des Kepler-Problems (Ausgabe 19.05.2016) 1. Aufgabe Das Kepler-Problem II *** Das Programm zur Simulation der Bewegung eines Planeten um die Sonne soll nun weiter genutzt und ausgebaut werden. a) Ermitteln Sie durch eine einfache Testbedingung auch die Umlaufzeit P (für beliebige Abstände) numerisch. Finden Sie P für verschiedene Kreisbahnen und verifizieren Sie somit das 3. Keplersche Gesetz. Vergleichen Sie auch mit den Daten der Planeten unseres Sonnensystems. b) Simulieren Sie nun auch Ellipsen durch geeignete Wahl der Anfangsbedingungen. Finden Sie mittels Symmetrie den zweiten Fokus der Ellipse. Bestimmen Sie Umlaufperiode, große und kleine Halbachse und verifizieren Sie auch für Ellipsen-Bahnen das 3. Keplersche Gesetz. Berechnen Sie außerdem bei jedem Umlauf die Gesamtenergie. Welche Bedeutung hat dabei das Vorzeichen der Gesamtenergie? Wie kann man überprüfen, dass die Bahn wirklich eine Ellipse ist? c) Versuchen Sie, die Bahngeschwindigkeit in Perihel und Aphel zu ermitteln. Der Halleysche Komet hat eine Umlaufzeit von ca. 76 Jahren. Finden Sie durch Probieren die Bahngeschwindigkeit (in km/s) im Perihel, welches bei 0.59 AU liegt. Wo befindet sich das Aphel? Vergleichen Sie diese Entfernung auch mit bekannten Planetenbahnen. d) Ermitteln Sie ebenfalls durch Probieren, ab welcher Bahngeschwindigkeit ein Planet mit x(t = 0) = 1 AU der Sonne entkommt. Ermitteln Sie diese Geschwindigkeit auch für andere Abstände und finden Sie den funktionalen Zusammenhang. 2. Aufgabe Bahnstörungen *** Die folgende Aufgabe testet Ihr intuitives Verständnis der Newtonschen Bewegungsgleichungen. a) Wir untersuchen den Einfluss von kleinen Störungen auf die Bahn. Wir wollen dem Planeten dazu während der Bewegung i. einen radialen oder ii. einen tangentialen Stoß (kleiner zusätzlicher Impuls) erteilen. Überlegen Sie, wie sich die Form der Planetenbahn durch den Stoß in beiden Fällen jeweils ändert. b) Ist der neue Orbit stabil? c) Die Impulsänderung soll mithilfe der Maus (Cursor) erfolgen. H. Todt, W.-R. Hamann Computational Astrophysics, SoSe 2015 i. ii. Abbildung 1: Der Impuls in y-Richtung wird je nach Position radial (i.) oder tangential (ii.) erteilt. Dabei wird die Position der Maus bei einem Tastendruck in der Event-Loop mittels WGetMousePos(...) abgefragt1 . Wenn der Planet das nächste Mal diese Koordinaten erreicht, wird ein Stoß in y-Richtung in der Funktion euler einmalig(!) angewandt. Die angewandte Änderung der Geschwindigkeit (=Impuls/m) in y-Richtung soll hierbei 10% vom Betrag der aktuellen Geschwindigkeit sein. d) Eventuell finden Sie die Änderung der Bahnkurve antiintuitiv. Wie lässt sich die Änderung der Bahnkurve qualitativ anhand des 2. Newtonschen Gesetzes verstehen? 3. Aufgabe Alternative Gravitationsgesetze *** a) Betrachten wir zunächst eine modifizierte Gravitationskraft, die proportional zu Cm/r2+ ist, mit 1. Verwenden Sie wieder die Astronomischen Einheiten mit C ≡ 4π 2 . Nutzen Sie das Euler-Richardson-Verfahren. Wählen Sie = 0.05 und folgende Anfangsbedingungen: x(t = 0) = 1, y(t = 0) = 0, vx (t = 0) = 0, vy (t = 0) = 5. Verfolgen Sie den Planeten über mehrere Umläufe. Wie sieht der Orbit aus? Überzeugen Sie sich, dass das Ergebnis nicht von ∆t abhängt. Wie hängt die Änderung der Bahn pro Umlauf von der Größe der großen Halbachse ab (qualtitativ)? Welchen Einfluss hat der Wert von ? Welche praktische Bedeutung hat ein solches Gravitationsgesetz (Tipp: Bahn des Merkur)? b) Implementieren Sie analog ein Gravitationsgesetz, bei dem die Kraft ∝ 1/r3 ist. Wie muss die Startgeschwindigkeit gewählt werden, um eine Kreisbahn zu erhalten (analytische Formel)? Passen Sie ggf. ∆t an, sodass Sie eine stabile Kreisbahn über mehrere Umläufe erhalten. c) Wenden Sie auf den Planeten aus Aufgabe 3b wieder einen kleinen Stoß wie in Aufgabe 2 an, dieses Mal mit 0.01|v|. Ist die Bahn stabil gegenüber kleinen Störungen? 4. Aufgabe Ein Doppelsternsystem *** Modifizieren Sie Ihr Programm so, dass damit der Umlauf eines Planeten um einen Doppelstern simuliert werden kann. Beide Sterne sollten die gleiche Masse haben und jeweils eine feste Position. Der eine Stern sitzt im Ursprung bei (0; 0), der andere bei (2; 0). Sie müssen also lediglich die Funktion euler() so modifizieren, dass bei der Berechnung der Beschleunigung des Planeten die Kräfte beider Sterne auf den Planeten berücksichtigt werden. Der Planet starte bei (1.1; 1). Variieren sie die x- und y-Komponenten der Startgeschwindigkeit so, dass Sie verschiedene Bahnformen erhalten. Beschreiben Sie diese ungefähr. Versuchen Sie auch stabile Bahnen zu erhalten. 1 Achtung: In der modifizierten Xgraphics ist der Typ von x und y jeweils double * und nicht float *.