gravitation_-_planetenbahnen
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Beide Seiten der vorigen RevisionVorhergehende ÜberarbeitungNächste Überarbeitung | Vorhergehende Überarbeitung | ||
gravitation_-_planetenbahnen [2024/01/13 15:35] – [Das Gravitationsgesetz - Kräfte sind Vektoren] torsten.roehl | gravitation_-_planetenbahnen [2024/01/13 17:37] (aktuell) – torsten.roehl | ||
---|---|---|---|
Zeile 20: | Zeile 20: | ||
Die obige Gleichung (Gl. 1) lässt sich ein wenig vereinfachen, | Die obige Gleichung (Gl. 1) lässt sich ein wenig vereinfachen, | ||
- | →F=Gmambr2⋅→rr | + | \begin{equation} \overrightarrow{F} = -G\; \frac{m_a\; m_b}{r^2} |
Dabei ist →rr der Einheitsvektor in Richtung von →r. In dieser Form begegnet man dem Gravitationsgesetz häufig. | Dabei ist →rr der Einheitsvektor in Richtung von →r. In dieser Form begegnet man dem Gravitationsgesetz häufig. | ||
Zeile 29: | Zeile 29: | ||
===== Implementierung in Java ===== | ===== 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 | | ||
+ | |//Tabelle 1: Fiktive Tabelle zur Darstellung der Planetenbahn// | ||
+ | <WRAP center round help 100%> | ||
+ | Es stellt sich also die Frage, wie wir die benötigten Koordinaten erzeugen können. | ||
+ | |||
+ | </ | ||
+ | |||
+ | |||
==== Modellbeschreibung ==== | ==== Modellbeschreibung ==== | ||
+ | Die Planetenbahnen werden durch das Newtonsche Gesetz beschrieben.\\ | ||
+ | |||
+ | Die Kraft ** F** besitzt als Vektor drei Komponenten **F**=(Fx, | ||
+ | \\ | ||
+ | \\ | ||
+ | Die beiden resultierenden Gleichungen für die X- und Y-Komponente der Gravitationskraft lauten dann: | ||
+ | m⋅ax=m⋅dvxdt=−G⋅m⋅Mxr3 | ||
+ | m⋅ay=m⋅dvydt=−G⋅m⋅Myr3 | ||
+ | |||
+ | 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=√x2+y2 | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Diese Gleichung diskretisieren wir jetzt, um die Geschwindigkeiten im nächsten Iterationsschritt zu erhalten: | ||
+ | vx(t+Δt)=vx(t)−(GMxr3)Δt | ||
+ | vy(t+Δt)=vy(t)−(GMyr3)Δ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 dabei nicht zu groß gewählt werden.//| | ||
+ | |||
+ | |||
+ | Die letzten Gleichungen (Gl. 8 und Gl. 9) liefern uns die Positionen (x und y) in Abhängigkeit | ||
+ | |||
+ | {{: | ||
+ | Diese Gleichungen benötigen, wie alle Differentialgleichungssysteme, | ||
+ | |||
+ | \\ | ||
+ | \\ | ||
+ | Die Anfangsbedingungen sind die Orte (Positionen x(0) und y(0)) zum Startzeitpunkt t=0 und die Geschwindigkeiten (vx(0), | ||
+ | |||
+ | |||
+ | |||
==== Algorithmus ==== | ==== Algorithmus ==== | ||
+ | Wir fassen alle benötigten Parameter und Gleichungen noch einmal zusammen, bevor wir einen Algorithmus zur Berechnung der Planetenbahnen angeben. | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | ^Parameter^Bedeutung^Bezeichnung in Java^Typische Anfangswerte^ | ||
+ | |G|Gravitationskonstante 6.67⋅10−11m3kg−1s−2|G|11.802378240000001| | ||
+ | |M|Sonnenmasse M ≈ 2⋅1030 kg|M|1.0| | ||
+ | |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 <color # | ||
+ | |Δt|Schrittweite|timeStep|0.005 < | ||
+ | |// | ||
+ | |||
+ | {{: | ||
+ | Vielleicht beunruhigt es den einen oder anderen, dass die Parameter in der Simulation scheinbar nicht mit denen in der Natur übereinstimmen, | ||
+ | |||
+ | {{: | ||
+ | Zeigen Sie, dass die Gravitationskonstante G in dem gewählten System (Tabelle) den Wert 11.802378240000001 annimmt. | ||
+ | |||
+ | {{: | ||
+ | |||
+ | |1 AE|= 150⋅109 m|→ 1 m = 1150⋅109 AE| | ||
+ | |1 M|= 2⋅1030 kg|→ 1 kg = 12⋅1030 M| | ||
+ | |1d|= 86400 s = 0.005 Δt|→ 1 s =0.00586400 Δt| | ||
+ | |||
+ | Den neuen Zahlenwert erhalten wir durch Einsetzen: | ||
+ | G=6.67⋅10−11⋅m3kg⋅s2→6.67⋅10−11⋅(1150⋅109)3(2⋅1030)(0.00586400)−2=11.802378240000001 | ||
+ | |||
+ | |||
+ | {{: | ||
+ | Welchen Zahlenwert | ||
+ | \\ | ||
+ | <color # | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | ^Gleichung^Bedeutung^ | ||
+ | |r=√x2+y2 |Abstand Sonne-Planet| | ||
+ | |vx(t+Δt)=vx(t)−(GMxr3)Δt |x-Komponente der Geschwindigkeit| | ||
+ | |vy(t+Δt)=vy(t)−(GMyr3)Δ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: Gleichungen für die Simulation|| | ||
+ | |||
+ | |||
+ | |||
+ | == Algorithmus == | ||
+ | - Wähle geeignete Startbedingungen und initialisiere alle Parameter (insbesondere die Schrittweite Δt) | ||
+ | - Zeichne die Position x(0) und y(0) in ein geeignetes Koordinatensystem. | ||
+ | - Berechne den Abstand Sonne-Planet. | ||
+ | - Berechne die Geschwindigkeiten vx und vy für den nächsten Zeitschritt. | ||
+ | - Berechne mit dem **Euler-Cromer-Algorithmus** die Positionen von x und y zum nächsten Zeitschritt. | ||
+ | - Zeichne die ermittelten Positionen x und y in ein geeignetes Koordinatensystem | ||
+ | - Wiederhole ab Schritt 3. bis das Programm abgebrochen wird oder die gewünschte Zahl an Iterationen erreicht wurde. | ||
gravitation_-_planetenbahnen.1705160138.txt.gz · Zuletzt geändert: 2024/01/13 15:35 von torsten.roehl