Gravitation - Planetenbahnen

In diesem Abschnitt wollen wir die Bewegung eines Planeten unter den Einfluss eines Zentralgestirns (der Sonne) modellieren. Die Kräfte, die die beiden Körper aufeinander ausüben, werden durch Newtons Gravitationsgesetz beschrieben. Wir betrachten ein vereinfachtes Modell, bei dem z.B. die große Masse M der Sonne ruht, dennoch sind wir in der Lage anhand dieses Modells z.B. das zweite Keplersche Gesetz zu überprüfen.


Der Abschnitt Einführung in die Numerik sollte bereits behandelt worden sein, um diesen Abschnitt verstehen zu können. Des Weiteren sollte die Behandlung des Inhaltes  Java Applet nicht zu lange zurückliegen.


Physikalische Grundlagen



Das Gravitationsgesetz

 

Kräfte sind Vektoren

Das Newtonsche Gravitationsgesetz beschreibt die Wechselwirkungskraft zwischen zwei Massenpunkten (hier ma und mb). Der vektorielle Charakter der Kraft muss in der Modellierung berücksichtigt werden.  Mit bezeichnen wir die Kraft, die von der Masse ma auf mb ausgeübt wird.  Dann gilt nach Newton:

Hier bezeichnet G = 6.67 10-11 m3 kg-1 s-2  die Gravitationskonstante. Wir erwähnen noch, dass die Kraft proportional zum Quadrat des Abstandes (~ 1/r²) ist und dass sie entlang der Verbindungsgeraden der beiden Massen gerichtet ist (das ist eine Eigenschaft, die sogenannte Zentralkräfte aufweisen).

Die obige Gleichung läßt sich ein wenig vereinfachen, wenn man davon ausgeht, dass sich die Masse ma im Nullpunkt des Koordinatensystems befindet (dann ist nämlich ra  = 0 ). Außerdem lassen wir die Indizes weg:

Dabei ist r/r der Einheitsvektor in Richtung von r. In dieser Form begegnet man dem Gravitationsgesetz häufig.

Das 2. Newtonsche Axiom

Vollständigkeitshalber notieren wir noch kurz das 2. Newtonsche Axiom. Es besagt, dass Kraft gleich Masse mal Beschleunigung ist.


Implementierung in Java

Wir wollen die Bewegung eines Planeten, der um die Sonne kreist, mit Java modellieren. Dafür brauchen wir im Grunde lediglich eine Tabelle, in der die Position (X- und Y-Koordinaten) für verschiedene Zeitpunkte eingetragen ist. Jedes Koordinatenpaar (x|y) wird dann graphisch dargestellt.

X Position
Y Position
Zeitpunkt
x(t0) y(t0) t0
x(t1) y(t1) t1
x(t2) y(t2) t2
..... ...... ... weitere simulierte Datenpunkte
x(tn) y(tn) tn - der letze simulierte Zeitschritt
Tabelle 1: Fiktive Tabelle zur Darstellung der Planetenbahn

Es stellt sich also die Frage, wie wir die benötigten Koordinaten erzeugen können.

Modellbeschreibung


Die Planetenbahnen werden durch das Newtonsche Gesetz beschrieben.

Die Kraft F besitzt als Vektor drei Komponenten F=(Fx, Fy,Fz). Da die Bewegung aber nur in der Ebene stattfindet, brauchen wir lediglich zwei der drei Komponenten berücksichtigen, d.h. wir setzen die Komponente  Fz = 0.  Mit ma = M bezeichnen wir ab jetzt die Masse der Sonne und mit mb=m  die des Planeten.

Die beiden resultierenden Gleichungen für die X- und Y-Komponente der Gravitationskraft lauten dann:

m ax = m  dvx/dt  =   -G m M x/r³
m ay   =   m  dvy/dt =    - G m M y/r³


Mit ax bezeichnen wir die X-Komponente der Beschleunigung und mit vx  wird die X-Komponente der Geschwindigkeit bezeichnet. Dementsprechend ist x die erste Komponente des Vektors r. Entsprechendes gilt auch für die zweite Zeile mit y.
Der Abstand des Planeten von der Sonne ist

\[ r= \sqrt{x^2 + y^2} \]



Diese Gleichung diskretisieren wir jetzt, um die Geschwindigkeiten im nächsten Iterationsschritt zu erhalten:
vx(t + Δt) = vx(t) - (G  M x/r3) Δt
vy(t +
Δt) = vy(t) - (G M y/r3) Δt


Für die Bahnkoordinaten verwenden wir den Euler-Cromer-Algorithmus

x(t + Δt) = x(t) + vx(t + Δt) Δt
y(t + Δt) = y(t) + vy(t + Δt) Δt.


Heuristische Herleitung
Die Diskretisierung entspricht einem Übergang vom Differentialquotienten zum Differenzenquotienten.
Die Schrittweite Δt darf nicht zu groß gewählt werden.

 

 
Die letzten Gleichungen liefern uns die Positionen (x und y) in Abhändigkeit  einer gewählten Schrittweite (Δt).

Diese Gleichungen benötigen, wie alle Differentialgleichungssysteme, genaue Anfangsbedingungen, um überhaupt mit der Berechnung starten zu können. Umgekehrt legen diese Anfangsbedingungen die Bahn des Planeten dann aber auch eindeutig fest. (siehe auch Abschnitt "Einführung in die Numerik") 
   
  
Die Anfangsbedingungen sind die Orte (Positionen x(0) und y(0))  zum Startzeitpunkt und die Geschwindigkeiten (vx(0), vy(0)).

Der Algorithmus

Wir fassen alle benötigten Parameter und Gleichungen noch einmal zusammen, bevor wir einen Algorithmus zur Berechnung der Planetenbahnen angeben.
Parameter
Bedeutung Parameterbezeichnung in Java
Typische Anfangswerte  
G
Gravitationskonstante (6.67 ·10-11 m3kg-1s-2) G
11.802378240000001  
M
Sonnenmasse  (M ≈ 2 ·1030 kg) M
1  
r
Abstand Sonne - Planeten
(für die Erde 1AE = 150 · 106 km).  AE ist die Abkürzung für Astronomische Einheit
r
1.0  
x0
X-Komponenten zum Startzeitpunkt x0
1.0  
y0
Y-Komponenten zum Startzeitpunkt y0
0.0  
vx0
X-Komponente der Geschwindigkeit zum Startzeitpunkt vx0
0.0  
vy0 Y-Komponente der Geschwindigkeit zum Startzeitpunkt vy0
3.43066 entspricht 29.78 km/s
Δt Schrittweite timeStep
0.005 entspricht 1 Tag (d)
Tabelle 2:  Parameter und deren Bedeutung
 
Vielleicht beunruhigt es den einen oder anderen, dass die Parameter in der Simulation scheinbar nicht mit denen in der Natur übereinstimmen, tatsächlich hängen aber die numerischen Werte dieser Parameter von der gewählten Maßeinheit ab. Für die Gravitationskonstante gilt, dass sie eine positive Konstante ist. Die Sonnenmasse wurde auf 1 skaliert, genau wie der Abstand Erde-Sonne. Der Wechsel zu anderen Einheiten kommt  unabhängig von der Numerik  auch in anderen Gebieten der Physik vor. So werden z.B. in der theoretischen Physik häufig ℏ=c=1 gesetzt (hier ist c die Lichtgeschwindigkeit und eine Naturkonstante, die in der Quantenphysik eine wichtige Rolle spielt). Unabhängig von diesen Parameterwerten muss wie immer ein geeigneter Maßstab von berechneten Koordinaten zu den Bildschirmkoordianten in der Java Anwendung definiert werden.



Zeigen Sie,  dass die Gravitationskonstante G in dem gewählten System (Tabelle 2) den Wert 11.802378240000001 annimmt.
1 AE = 150·109 m   1 m = (150·109)-1 AE
1 M 
= 2·1030 kg 1 kg = (2·1030)-1 M
1d
= 86400 s = 0.005 Δt 1 s = 0.005/86400 Δt

Den neuen Zahlenwert erhalten wir durch Einsetzen:
G = 6.67·10-11 m3 kg-1 s-2 → 6.67·10-11  ( (150·109)-1)3  (2·1030)  ( 0.005/86400)-2 = 11.802378240000001
 
 


ghost solution

Welchen Zahlenwert  nimmt  in diesem System eine Geschwindigkeit von 42.1 km/s (das ist die sogenannte 3. kosmische Geschwindigkeit)  an?  
  4.84992



Gleichung Bedeutung
r = √ (x²   + y² ) Abstand Sonne-Planet
vx(t + Δt) = vx(t) - (G  M x/r3) Δt
x-Komponente der Geschwindigkeit
vy(t + Δt) = vy(t) - (G M y/r3)Δt y-Komponente der Geschwindigkeit
x(t + Δt) = x(t) + vx(t + Δt) Δt x-Komponente des Ortes
y(t + Δt) = y(t) + vy(t + Δt) Δt y-Komponente des Ortes
Tabelle 3: Gleichungen für die Simulation
 

Algorithmus

  1. Wähle geeignete Startbedingungen und initialisiere alle Parameter (insbesondere die Schrittweite Δt)
  2. Zeichne die Position x(0) und y(0) in ein geeignetes Koordinatensystem.
  3. Berechne den Abstand Sonne-Planet.
  4. Berechne die Geschwindigkeiten vx  und vy  für den nächsten Zeitschritt.
  5. Berechne mit dem Euler-Cromer-Algorithmus die Positionen von x und y zum nächsten Zeitschritt.
  6. Zeiche die ermittelten Positionen x und y in ein geeignetes Koordinatensystem
  7. Wiederhole ab Schritt 3. bis das Programm abgebrochen wird oder die gewünschte Zahl an Iterationen erreicht wurde.



(Aufgaben u. Lösungen befinden sich wie immer unter dem Menüpunkt Aufgaben & Tests)