RegistrierenRegistrieren   LoginLogin   FAQFAQ    SuchenSuchen   
Gravitation im Koordinatensystem
 
Neue Frage »
Antworten »
    Foren-Übersicht -> Astronomie
Autor Nachricht
ProfilerOne



Anmeldungsdatum: 06.10.2012
Beiträge: 4

Beitrag ProfilerOne Verfasst am: 06. Okt 2012 11:50    Titel: Gravitation im Koordinatensystem Antworten mit Zitat

Meine Frage:
Hallo Leute,
ich hab folgendes Probleme: Die Gravitation tut nicht, was sie sonst tut. Ich programmiere zur Zeit ein Spiel und möchte dafür die Physik zwischen Himmelskörpern simulieren. Momentan ist die Situation noch recht überschaulich - eine Sonne und ein weiteres Objekt von geringer Masse. Das Ganze muss natürlich in einem 3-dimensionalem Raum berechnet werden. Hier Beispielhaft die verwendeten Werte:








Meine Ideen:
Als Ansatz hab ich das Newtonsche Gravitationsgesetz gewählt, ich hab zwar Physik LK, aber wir haben die Gravitation nie im 3-dimensionalen Raum unter Berücksichtigung von v-Vektoren etc. besprochen, von daher hab ich versucht unser etwas einfachen Überlegungen und das was ich im Internet gefunden habe zu verbinden. Das sieht bis jetzt so aus (Beispielhaft an der x-Komponente):





Die erhaltene Geschwindigkeit wird dann dazu genutzt, die nächste Koordinate zu berechnen, welche wiederum als Grundlage für die nächste Rechnung genutzt wird.

Ich bin mir sehr unsicher, was diesen Ansatz angeht und, ich hab mir das alles grafisch anzeigen lassen, das Ergebnis gibt mir recht, das irgendwo ein Fehler sein muss, aber ich bin hier wirklich mit meiner Physik am Ende :/

Ich hoffe jemand hat da einen guten Rat und danke schonmal für eure Hilfe smile
Huggy



Anmeldungsdatum: 16.08.2012
Beiträge: 785

Beitrag Huggy Verfasst am: 06. Okt 2012 13:30    Titel: Antworten mit Zitat

Der Fehler steckt im Nenner der Kraft. Du hast dort hingeschrieben. Der richtige Nenner ist:



Dieser Nenner ist für alle 3 Kraftkomponenten gleich. Nur der Zähler ändert sich.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 18108

Beitrag TomS Verfasst am: 06. Okt 2012 13:39    Titel: Re: Gravitation im Koordinatensystem Antworten mit Zitat

Nun, das ganze sieht zunächst vernünftig aus:



wobei ich hier den Richtungsvektor zwischen den beiden Objekten einführe und dessen Einheitsvektor sowie dessen Betrag verwende. Das passt also.

Dann ist



wobei du das für x,y,z berechnen musst; insbs. musst du auf eine genügend kleine Schrittweite Delta t achten.

Die von dir verwendete "iterative" Lösung der Bewegungsgleichung ist der einfachste Ansatz - verbunden mit diversen Schwierigkeiten. Für kleine r und damit große F bzw. a müsste man z.B. die Schrittweite Delta t verringern, um eine bessere Genauigkeit zu erzielen. Es gibt viele Ansätze, die die numerische Behandlung sowohl effizienter als auch präziser implementieren; aber welche davon für deine Zwecke geeignet sind (und noch hinreichend einfach sind) kann ich nicht beurteilen.

_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.


Zuletzt bearbeitet von TomS am 06. Okt 2012 14:47, insgesamt einmal bearbeitet
Huggy



Anmeldungsdatum: 16.08.2012
Beiträge: 785

Beitrag Huggy Verfasst am: 06. Okt 2012 13:47    Titel: Antworten mit Zitat

@TomS

Ist dir nicht aufgefallen, dass beim Fragesteller der Nenner falsch ist? Da steht bei ihm nur das drin!
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 18108

Beitrag TomS Verfasst am: 06. Okt 2012 13:56    Titel: Antworten mit Zitat

Was soll daran falsch sein? Das ist doch nur eine Koordinatentransformation. Natürlich geht nur die Differenz der Koordinatenvektoren ein.
_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.
Huggy



Anmeldungsdatum: 16.08.2012
Beiträge: 785

Beitrag Huggy Verfasst am: 06. Okt 2012 13:58    Titel: Antworten mit Zitat

Aber er hat im Nenner nur die Differenz einer Koordinate eingehen lassen, nicht die aller 3 Koordinaten.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 18108

Beitrag TomS Verfasst am: 06. Okt 2012 13:59    Titel: Antworten mit Zitat

ah, ja, genau, da hast recht, das ist falsch

(EDIT: habe ich tatsächlich - genauso wie deine Korrektur - übersehen)

_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.


Zuletzt bearbeitet von TomS am 06. Okt 2012 14:48, insgesamt einmal bearbeitet
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5044

Beitrag DrStupid Verfasst am: 06. Okt 2012 14:41    Titel: Re: Gravitation im Koordinatensystem Antworten mit Zitat

ProfilerOne hat Folgendes geschrieben:
Meine Frage:





Auf den Fehler im Nenner wurde ja schon hingewiesen. Davon abgesehen ist der Integrator ungeeignet. Mit dem Euler-Verfahren erhält man beispielsweise Spiralen anstelle von stabilen Umlaufbahnen. Kleinere Schrittweiten mildern das Problem zwar etwas ab (zu lasten der Rechenzeit), aber sie können es nicht wirklich lösen, weil sich die Fehler aller Schritte aufsummieren, anstatt sich gegenseitig auszugleichen.

Das beste mir bekannte Einschritt-Verfahren ist der Geschwindigkeits-Störmer-Verlet-Algoritmus:





Wenn die Zahl der Körper überschaubar bleibt, bevorzuge ich allerdings den Runge-Kutta-Nyström:

http://theory.gsi.de/~vanhees/faq/gravitation/node62.html

Im Gegensatz zum Geschwindigkeits-Störmer-Verlet ist der zwar nicht energieerhaltend, aber dafür so genau, dass die Fehler auch bei relativ großen Schrittweiten erträglich bleiben.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 18108

Beitrag TomS Verfasst am: 06. Okt 2012 14:50    Titel: Antworten mit Zitat

Na, das sind doch zwei wichtige Hinweise.

DrStupid: kannst du erklären, wieso du ein Verfahren bevorzugst, das die Energie nicht erhält, wenn du eines kennst, das m.E. numerisch sehr einfach umsetzbar ist und das sie Energie erhält?

Btw.: was bedeutet "Energieerhaltung" hier genau? bzw. bis zu welcher Ordnung gilt "Energieerhaltung"?

_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.
DrStupid



Anmeldungsdatum: 07.10.2009
Beiträge: 5044

Beitrag DrStupid Verfasst am: 06. Okt 2012 19:43    Titel: Antworten mit Zitat

TomS hat Folgendes geschrieben:
DrStupid: kannst du erklären, wieso du ein Verfahren bevorzugst, das die Energie nicht erhält, wenn du eines kennst, das m.E. numerisch sehr einfach umsetzbar ist und das sie Energie erhält?


Das ist leicht erklärt: Die Energieerhaltung allein genügt mir nicht. Ich will Ergebnisse, die Lösung der Bewegungsgleichungen sind und in der Beziehung ist der Runge-Kutta-Nyström dem Geschwindigkeits-Störmer-Verlet haushoch überlegen. Da die Energieerhaltung in den Bewegungsgleichungen steckt, wird sie mit einer möglichst guten Lösung automatisch mitgeliefert.

Symplektische Einschrittverfahren sind besser geeignet, wenn es nur auf eine möglichst gute Energieerhaltung und nicht auf möglichst exakte Bahnen einzelner Körper ankommt. Das ist zum Beispiel in der Moleküldynamik der Fall.

TomS hat Folgendes geschrieben:
Btw.: was bedeutet "Energieerhaltung" hier genau? bzw. bis zu welcher Ordnung gilt "Energieerhaltung"?


Das kann ich Dir aus dem Stehgreif nicht beantworten. Ich kann mich zwar dunkel an eine Herleitung des obigen Verfahrens erinnern, bei der schon Glieder zweiter Ordnung vernachlässigt wurden, aber dafür lege ich nicht meine Hand ins Feuer.
TomS
Moderator


Anmeldungsdatum: 20.03.2009
Beiträge: 18108

Beitrag TomS Verfasst am: 07. Okt 2012 01:01    Titel: Antworten mit Zitat

Danke
_________________
Niels Bohr brainwashed a whole generation of theorists into thinking that the job (interpreting quantum theory) was done 50 years ago.
ProfilerOne



Anmeldungsdatum: 06.10.2012
Beiträge: 4

Beitrag ProfilerOne Verfasst am: 07. Okt 2012 10:26    Titel: Antworten mit Zitat

Danke Leute für die vielen Antworten, das Problem mit den falsch berechneten Bahnen hab ich dank eurer Hilfe gelöst, es waren, wie von euch angemerkt, die fehlenden Kraftkomponenten bei Berechnung des Einheitsvektors, wäre ich im Leben nicht alleine drauf gekommen, danke smile

Ich habe aber noch eine Frage zu der angesprochenen Problematik bei der Berechnung der Geschwindigkeit. Momentan verwende ich immer noch Euler bei ca. 50 Berechnungen pro Sekunde, ist das präzise Genug, wenn wir von Dimensionen in unserem realen Sonnensystem ausgehen (Erde & Sonne) bei "Echtzeit", also keinem schnellerem Vorlauf?

Kann mir in dem Zusammenhang jemand erklären, wie viel mehr Rechenkapazität der Ströme-Verlet-Algortimus benötigt und ob es sich lohnt diesen einzusetzen, wenn es auch um die Berechnung von mehreren Körpern geht dessen Bahnen aber nicht zu 100% physikalisch korrekt sein müssen?

Ich weiß, dass diese Fragen nicht einfach zu beantworten sind, weil die Präzision eines Verfahrens davon abhängt unter welchen Bedingungen es angewandt wird, aber so eine grobe Richtung wäre toll und ob es sich tatsächlich lohnen würde ein anderes Verfahren anzuwenden.

Danke euch smile
Neue Frage »
Antworten »
    Foren-Übersicht -> Astronomie