Das 2-Körper-Problem ist exakt lösbar. Dazu wechselt man in das Massenschwerpunkt-System. Dadurch betrachtet man nur noch die Relativbewegung der beiden Körper. Dabei bewegt sich ein einziger Körper mit der reduzierten Masse
μ = m1·m2 / (m1+m2)
im Zentralkraftfeld (1-Körper-Problem). Die exakten Bahnkurven sind Kegelschnitte:
Dies bewies Isaac Newton 1687 in seinem Werk Philosophiae Naturalis Principia Mathematica.
Kommt jedoch ein dritter Körper hinzu, kann man das Problem nicht mehr exakt lösen.
Massen ziehen sich gegenseitig an. Je geringer der Abstand r, desto größer die Gravitationskraft F:
Ferner ist die Gravitationskraft zu beiden Massen m proportional. Damit alle Abhängigkeiten gleichzeitig zur Geltung kommen, sind die Parameter multiplikativ. Die Proportionalitäts-Konstante G heißt Gravitations-Konstante. Obiges Gesetz wurde von Isaac Newton entdeckt.
Die Bewegung dreier Körper kann nicht analytisch, sondern nur numerisch gelöst werden. Kleinste Änderung der Anfangsbedingungen führt zu verschiedenen Lösungen. Solche Systeme nennt man chaotisch. Ausnahmen sind periodische Bewegungen.
Zur Vereinfachung betrachten wir die Bewegungen der Körper nur in der Ebene.
Die Massen der Körper werden auf die Sonnenmasse bezogen:
mSonne ≈ 2×1030 kg
Die Masser der Erde ist wesentlich geringer:
mSonne / mErde ≈ 330.000
Die astronomische Einheit AE ist die mittlere Entfernung der Erde zur Sonne:
AE ≈ 149,6 Millionen km
| Grafik: |
3-koerper-problem.png
|
Hintergrund | |
|
Neues Bild:
|
Berechnungen:
|
Massen m, Orte r = (x, y) und
Geschwindigkeiten v = (vx, vy):
Zentralkörper:
2 gleichschwere Körper:
3 gleichschwere Körper:
Zentralkörper:
4 gleichschwere Körper:
| 100% | |||
Backstage Algorithmus
Bei dem obigen Programm werden die Orte der einzelnen Körper schrittweise berechnet:
Die gegenseitige Anziehungskräfte werden nach einer Flugphase Δt immer wieder neu berechnet. Während der Flugphase ist die Gravitation ausgeschaltet.
Die Gravitationskonstante G und die Sonnemasse M treten als Produkt G·M auf.
Dazu definieren wir:
GM
= 6,67·10−11 · 2·1030
≈ 1,327·1020
Wir verwenden metrische Einheiten: m, s, kg.
Jeder Körper wird beschrieben durch:
Die Funktion berechne_rv() berechnet den Ort r und die Geschwindigkeit v eines Körpers in Bezug auf die Gravitation durch alle anderen.
Wichtig dabei ist, dass erst alle neuen Orte und Geschwindigkeiten berechnet werden und danach erst den entsprechenden Variablen übergeben werden. Sonst werden die Berechnungen verzerrt.
Im Folgenden der Quellcode in der Programmiersprache Javascript. Aus didaktischen Gründen ist der Quellcode einfach gestaltet:
KISS = Keep It Simple, Stupid.
Ein eleganter kompakter Quellcode ist oftmals schwer nachvollziehbar und somit fehlerhaft.
Für die Berechnungen für einen Tag mit 24 Stunden lautet der Quellcode des obigen Programms wie folgt:
- Orte r1, r2, r3 der drei Körper
- Geschwindigkeiten v1, v2, v3
- neue Daten rv = [ Ort r, Geschwindigkeit v]
Innerhalb der Zeitspannt dt
legt ein Körper den Weg v·dt zurück:
Hier werden die Komponeten für x und y als Array dargestellt. Bei der objektorientierten Programmierung würde man r.x und r.y schreiben.
Berechnung der Geschwindigkeit v
durch Einfluss eines anderen Körpers:
Berechnung der Geschwindigkeit v
durch Einfluss der beiden anderen Körper:
www.harald-blazy.de/astro/
3-koerper-problem.html