RegistrierenRegistrieren   LoginLogin   FAQFAQ    SuchenSuchen   
Hilfe bei n-body simulation
 
Neue Frage »
Antworten »
    Foren-Übersicht -> Sonstiges
Autor Nachricht
FirstBorg



Anmeldungsdatum: 15.06.2004
Beiträge: 49

Beitrag FirstBorg Verfasst am: 08. Okt 2010 17:54    Titel: Hilfe bei n-body simulation Antworten mit Zitat

Hi!

Ich möchte zum Spaß eine N Body Simulation schreiben (in java) um einfach simulationen besser zu verstehen und weil programmieren spaß macht smile

Ich hab aber irgendwie grad ein verständnisproblem.

Also, ich fange mal mit 2 körpern an. Beide haben anfangswerte, wie z.b. eine geschwindigkeit, eine position, eine masse, und eine anfangsbeschleunigung (jeweils 0).

Grundlegend muss ich ja nun so vorgehen:
Kräfte des Systems bestimmen.
Auf 1 wirkt nur 2, auf 2 nur 1.
D.h. ich weiss nun wie und in welche Richtung 1 bzw. 2 beschleunigt wird.
mittels:

Aus kann ich ja jetzt nun die Beschleunigung errechnen die ein Objekt erfährt.

Nun der simulationsteil.
Ich möchte, zum lösen der DGL das Runge Kutta verfahren anwenden.

Ich versteh da nur ehrlich gesagt nicht ganz wie ich anfangen soll.

laut wiki steht da
a2 = ...
a3 = ...
a4 = ...

und aus den a's baut man dann im letzten schritt die position und die geschwindigkeit beim nächsten (beliebig kleinen) zeitschritt.

ist doch nun die abhängigkeit der beschleunigung von ort und zeit. Setze ich da für die geschwindigkeit a*dt ein?
An dem punkt komm ich Gedanklich irgendie nicht weiter....
schnudl
Moderator


Anmeldungsdatum: 15.11.2005
Beiträge: 6979
Wohnort: Wien

Beitrag schnudl Verfasst am: 09. Okt 2010 07:25    Titel: Antworten mit Zitat

Die primitivste Rekursion wäre:





Es gibt aber wahrscheinlich bessere Schemata, die auch für größere Zeitstufen gegen den richtigen Wert konvergieren. Mit dem hier driftest du schnell davon. Ich hab das in meiner Jugend mit dem Taschenrechner TI-58 implementiert und war enttäuscht, dass die Planetenbahnen Spiralen statt Ellipsen waren.

_________________
Wenn du eine weise Antwort verlangst, musst du vernünftig fragen (Goethe)
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5049

Beitrag DrStupid Verfasst am: 09. Okt 2010 14:04    Titel: Re: Hilfe bei n-body simulation Antworten mit Zitat

FirstBorg hat Folgendes geschrieben:
ist doch nun die abhängigkeit der beschleunigung von ort und zeit. Setze ich da für die geschwindigkeit a*dt ein?


Das geht so nicht. Wenn Du das normale Runge-Kutta-Verfahren verweden willst, musst Du das Differentialgleichungssystem zweiter Ordnung erst in ein System von Differentialgleichungen erster Ordnung umwandeln. Das verdoppelt aber den Rechenaufwand. Nimm lieber einen Integrator für Differentialgleichungen zweiter Ordnung, z.B.

Runge-Kutta-Nyström: http://theory.gsi.de/~vanhees/faq/gravitation/node62.html

Geschwindigkeits-Störmer-Verlet: http://de.wikipedia.org/wiki/Leapfrog-Verfahren

Letzteres ist trotz seiner Einfachheit und obwohl es nur ein Einschritt-Verfahren ist, erstaunlich präzise. Das liegt daran, dass es die Energie erhält, was beim Runge-Kutta-Nyström nicht der Fall ist.
Neue Frage »
Antworten »
    Foren-Übersicht -> Sonstiges