kleiner planetarer Simulator

Bernhard

Registriertes Mitglied
Hallo Yeti,

zu meiner Entlastung gebe ich hier das Ergebnis für drei kreisende Sonnen an:

KoordX KoordY Koordz v_X v_Y v_Z Masse Name dichte /1.15/20130721115300
7.48e10 0.0 0.0 0.0 32017.1979351182 0.0 1.99e30 Sonne1 1.408
-3.74e10 6.477870020308e10 0.0 -27727.7067698070344 -16008.5989675591 0.0 1.99e30 Sonne2 1.408
-3.74e10 -6.477870020308e10 0.0 27727.7067698070344 -16008.5989675591 0.0 1.99e30 Sonne3 1.408

Der Betrag der Geschwindgkeit jeder Sonne berechnet sich mit:

v = G * m / ( r * sqrt(3) )

Man muss bei dieser Aufgabe schon etwas rechnen, weil man immer wieder den 30° Winkel in der Startbedingung berücksichtigen muss.

Die Simulation ist aber auch nett anzusehen. Schrittweite als Empfehlung so 10000 bis 20000.
MfG
 

yetiholz

Registriertes Mitglied
Hallo Bernhard, ich könnte mir dass stundenlang anschauen. :)

(Wen's interessiert, einfach die Parameter in Planeten.txt einfügen)
brillantes Programm von Kibo:
https://sourceforge.net/projects/smallplanetarys/files/latest/download?source=files
(super Anleitung von Bernhard hier auf S.19[Beitrag#190{Programm}] & S.22[Beitrag#220{Berechnung}])
http://sourceforge.net/projects/smallplanetarys/
http://sourceforge.net/projects/smallplanetarys/files/latest/download
https://sourceforge.net/projects/smallplanetarys/files/latest/download?source=files
 

Bernhard

Registriertes Mitglied
Hallo Yeti,

Hallo Bernhard, ich könnte mir dass stundenlang anschauen. :)
ja, diese ursprünglich von SRMeister aufgeworfene Anregung ist wirklich ein netter Spezialfall des n-Körper-Problems. Ich finde es auch interessant, wie nach etlichen Umrundungen die numerischen Störungen das System verzerren. Die Sonnen vollführen dann recht ansprechende, elliptische Pirouetten.

Wer sich für die Mathematik dieses Spezialfalles interessiert und gerne rechnet, kann auch noch eine zusätzliche Sonne mit neuer Masse in den Ursprung setzen, oder (wie oben bereits erwähnt) einen Sitnikov-Planeten, der dann senkrecht zu der Ebene der Sonnen hin und her pendelt.
MfG
 

Bernhard

Registriertes Mitglied
Hallo zusammen,

hier die Formel für 8 Sonnen auf einer Kreisbahn:

v² = G*m/r * ( 1/4 + 1 / sqrt(2) + sqrt( 2 + sqrt(2) ) )

Sie ist (logischerweise) eine Erweiterung der Formel für 4, bzw. 2 Sonnen.

Wer es sich in Kibos Programm ansehen will, braucht nur die folgenden Zeilen in die Datei Planeten.txt zu kopieren:

Code:
KoordX KoordY Koordz v_X v_Y v_Z Masse Name dichte
-7.48e10 0.0 0.0 0.0 70569.929193167 0.0 1.99e30 Sonne1 1.408
-52891587232.75375482518 52891587232.75375482518 0.0 49900.4754803429 49900.4754803429 0.0 1.99e30 Sonne2 1.408
0.0 7.48e10 0.0 70569.929193167 0.0 0.0 1.99e30 Sonne3 1.408
52891587232.75375482518 52891587232.75375482518 0.0 49900.4754803429 -49900.4754803429 0.0 1.99e30 Sonne4 1.408  
7.48e10 0.0 0.0 0.0 -70569.929193167 0.0 1.99e30 Sonne5 1.408
52891587232.75375482518 -52891587232.75375482518 0.0 -49900.4754803429 -49900.4754803429 0.0 1.99e30 Sonne6 1.408
0.0 -7.48e10 0.0 -70569.929193167 0.0 0.0 1.99e30 Sonne7 1.408
-52891587232.75375482518 -52891587232.75375482518 0.0 -49900.4754803429 49900.4754803429 0.0 1.99e30 Sonne8 1.408
0.0 0.0 1.0e4 0.0 0.0 0.0 1.0e4 Sitnikov 1.408

BTW: Bei der Formel in Beitrag #221, also ganz oben, fehlt ein Quadrat. Es muss dort also v² = ... heißen.
MfG
 

yetiholz

Registriertes Mitglied
hier eine kleine Spielerei mit 12 Sonnen:
(das Programm ist eigentlich viel zu gut, um damit zu spielen :) )
(falls es nicht funktioniert, einfach Sitnikovia weglassen)
(Schrittweite runter auf 10000, vor dem Start)

KoordX KoordY Koordz v_X v_Y v_Z Masse Name dichte
-14.96e10 0.0 0.0 0.0 80000 0.0 1.99e30 Sonne1 1.408
-105783174465.50750965036631657089 105783174465.50750965036631657089 0.0 56568.542494923801952067548968388 56568.542494923801952067548968388 0.0 1.99e30 Sonne2 1.408
0.0 14.96e10 0.0 80000 0.0 0.0 1.99e30 Sonne3 1.408
105783174465.50750965036631657089 105783174465.50750965036631657089 0.0 56568.542494923801952067548968388 -56568.542494923801952067548968388 0.0 1.99e30 Sonne4 1.408
14.96e10 0.0 0.0 0.0 -80000 0.0 1.99e30 Sonne5 1.408
105783174465.50750965036631657089 -105783174465.50750965036631657089 0.0 -56568.542494923801952067548968388 -56568.542494923801952067548968388 0.0 1.99e30 Sonne6 1.408
0.0 -14.96e10 0.0 -80000 0.0 0.0 1.99e30 Sonne7 1.408
-105783174465.50750965036631657089 -105783174465.50750965036631657089 0.0 -56568.542494923801952067548968388 56568.542494923801952067548968388 0.0 1.99e30 Sonne8 1.408
-4.48e10 0.0 0.0 0.0 -50000 0.0 1.99e30 Sonne01 1.408
4.48e10 0.0 0.0 0.0 50000 0.0 1.99e30 Sonne02 1.408
0.0 -4.48e10 0.0 50000 0.0 0.0 1.99e30 Sonne03 1.408
0.0 4.48e10 0.0 -50000 0.0 0.0 1.99e30 Sonne04 1.408
0.0 0.0 0.0 0.0 0.0 0.0 1.0e4 Sitnikovia 1.408
 
Zuletzt bearbeitet:

yetiholz

Registriertes Mitglied
Hallo Bernhard,
~2h brauchte ich, bis ich dass kapierte. :)
(durchgehenden, kontinuierlichen, ununterbrochenen Ring)
mit freundlichen Grüßen
yetiholz
 

Bernhard

Registriertes Mitglied
Hallo Kibo,

da bekommt man vermutlich die Bahnelemente der galileischen Monde etwas leichter und bekommt damit dann auch stabile Keplerbahnen. Das "Gefummel" mit den Horizons-Vektoren tue ich mir auf jeden Fall nicht an, und zwar auch deshalb, weil ich da neulich für Ralfs Thema ganz eigenartige Werte bekommen habe.
MfG
 

Kibo

Registriertes Mitglied
Hallo Bernhard,

ja, auf der Horizons Seite war ich heute morgen. Nach 5 Minuten habe ich diese Möglichkeit dann auch ersteinmal verworfen. Wenn es hart auf hart kommt und keiner Bahndaten hat, werde ich wohl was programmieren müssen. Das wäre eigentlich ziemlich geil, ein Programm, das aus Ephemeriden stabile Bahndaten ableitet. (Oder besser "aufleitet" XD)
 

Bernhard

Registriertes Mitglied
das aus Ephemeriden stabile Bahndaten ableitet. (Oder besser "aufleitet" XD)
Hallo Kibo,

die Ephemeriden sind die Zahlen, die man unmittelbar in eine Sternkarte eintragen kann, also Rektaszension und Deklination. Die wirklichen Eingabedaten sind eigentlich das Datum, sowie das Äquinoktium der Sternkarte, eventuell noch der Beobachtungsort und Zeitzone des Beobachters, je nachdem wieviel Arbeit man sich machen will.

Am Anfang ist man für gewöhnlich schon mal froh, wenn man aus den Bahnelementen, die Draufsicht auf Jupiter in Abhängigkeit von der Zeit korrekt ausrechnet und das ist auch nicht sooo schwer:
Beschreibung des Berechnungsverfahrens
Siehe auch: http://de.wikipedia.org/wiki/Bahnelement
sowie die Bahnelemente der vier Monde:
http://de.wikipedia.org/wiki/Io_(Mond)
http://de.wikipedia.org/wiki/Europa_(Mond)
http://de.wikipedia.org/wiki/Ganymed_(Mond)
http://de.wikipedia.org/wiki/Kallisto_(Mond)

Erste Aufgabe:
Berechne die wahre Anomalie aus der mittleren Anomalie per Iteration
Zweite Aufgabe:
Übertrage den Ort des Mondes in ein geeignetes Koordinatensystem (deutlich aufwendiger mit offenem Ende)

EDIT: Will man diese ganze Rechnung deutlich abkürzen, kann man die Bahnen vorerst auch als Kreisbahnen annehmen und die berechneten Positionen mit Cartes Du Ciel o.ä. vergleichen. Für kleinere Zeiträume sollte das gut funktionieren, da alle Exzentrizitäten der Bahnen relativ klein sind.
 
Zuletzt bearbeitet:

Kibo

Registriertes Mitglied
OK bei der ersten aufgabe (EDIT: richtig??):eek::

Berechnung von der exzentrischen Anomalie E(t)

iterative Nullstellenberechnung nach Newtonverfahren

t=1; t0=0
e=0,041 (für Io)
U=1,769 tage


f(E) = E - e *sin(E) - 2*pi*(t-t0)/U
f'(E) = 1-0,041*cos(E)

Newtonverfahren:

x_{n+1}=x_n-\frac{f(x_n)}{f'(x_n)}

startwert:E=1

3,553063682
3,55394685
3,553942082
3,553942108
3,553942108
3,553942108
3,553942108
3,553942108
3,553942108
3,553942108
3,553942108
3,553942108

EDIT: sieht die Nullstelle da richtig aus?
 
Zuletzt bearbeitet:

Kibo

Registriertes Mitglied
für T:
tan (T/2) = sqrt((1+e)/(1-e)) *tan(E/2)

tan (T/2) = sqrt((1+0,041)/(1-0,041)) *tan(3,553942108/2)

tan (T/2)= -5,190166064 |arctan

T/2 = -1,380456687
T= -0,690228344


In der Zwischenzeit habe ich vergessen was ich da eigentlich rechne. Stimmt es denn wenigstens?
 

Kibo

Registriertes Mitglied
Oh, deinen Link "Beschreibung des Berechnungsverfahrens" habe ich übersehen. Gucke ich mir dann morgen an.

gute Nacht
 

Bernhard

Registriertes Mitglied
iterative Nullstellenberechnung nach Newtonverfahren
Hallo Kibo,

die Formeln hast Du korrekt angegeben, aber mit den Zahlenwerten für E geht schon beim ersten Wert etwas schief. Das korrekte Ergebnis für E lautet 3.53607147955... und gibt an, wo sich Io gerade auf der Ellipse befindet. Bei E = Pi befindet sich Io gerade im Aphel, bei E = 0 im Perihel der Ellipse. Werte dazwischen geben den Winkel bezüglich der großen Achse an. Man sollte das aber auch in den verlinkten Seiten nachlesen können.
MfG
 

Kibo

Registriertes Mitglied
Hi,

Die Ephemerien habe ich derzeit wieder vergessen, aber dafür gibt es ein Update, dass die Performance verbessert in dem es einen Teil der Berechnung in eine c dll auslagert. Ausserdem kann man die CPU Auslastung in den settings unter Performance einstellen.

mfg
 
Oben