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:31] – [Das Gravitationsgesetz - Kräfte sind Vektoren] torsten.roehl | gravitation_-_planetenbahnen [2024/01/13 17:37] (aktuell) – torsten.roehl | ||
---|---|---|---|
Zeile 19: | Zeile 19: | ||
\\ | \\ | ||
Die obige Gleichung (Gl. 1) lässt sich ein wenig vereinfachen, | Die obige Gleichung (Gl. 1) lässt sich ein wenig vereinfachen, | ||
- | \begin{equation}x\end{equation} | + | |
- | Dabei ist $\frac{\overrightarrow{r}/r}$ der Einheitsvektor in Richtung von $\overrightarrow{r}$. In dieser Form begegnet man dem Gravitationsgesetz häufig. | + | \begin{equation} |
+ | |||
+ | Dabei ist $\frac{\overrightarrow{r}}{r}$ der Einheitsvektor in Richtung von $\overrightarrow{r}$. In dieser Form begegnet man dem Gravitationsgesetz häufig. | ||
==== Das 2. Newtonsche Axion ==== | ==== Das 2. Newtonsche Axion ==== | ||
Vollständigkeitshalber notieren wir noch kurz das 2. Newtonsche Axiom. Es besagt, dass Kraft gleich Masse mal Beschleunigung ist. | Vollständigkeitshalber notieren wir noch kurz das 2. Newtonsche Axiom. Es besagt, dass Kraft gleich Masse mal Beschleunigung ist. | ||
Zeile 26: | 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(t_0$)| $y(t_0)$| $t_0$ | | ||
+ | |$x(t_1$)| $y(t_1)$| $t_1$ | | ||
+ | |$x(t_2$)| $y(t_2)$| $t_2$ | | ||
+ | | ..... | ..... | ... weitere simulierte Datenpunkte| | ||
+ | |$x(t_n$)| $y(t_n)$| $t_n$ | | ||
+ | |//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**=($F_x$, | ||
+ | \\ | ||
+ | \\ | ||
+ | Die beiden resultierenden Gleichungen für die X- und Y-Komponente der Gravitationskraft lauten dann: | ||
+ | \begin{equation} m\cdot a_x = m\cdot\frac{dv_x}{dt} = - G\cdot m\cdot M\frac{x}{r^3}\end{equation} | ||
+ | \begin{equation} m\cdot a_y = m\cdot\frac{dv_y}{dt} = - G\cdot m\cdot M\frac{y}{r^3}\end{equation} | ||
+ | |||
+ | Mit $a_x$ bezeichnen wir die X-Komponente der Beschleunigung und mit $v_x$ 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 | ||
+ | |||
+ | \begin{equation} r=\sqrt{x^2 + y^2} \end{equation} | ||
+ | |||
+ | |||
+ | |||
+ | |||
+ | |||
+ | Diese Gleichung diskretisieren wir jetzt, um die Geschwindigkeiten im nächsten Iterationsschritt zu erhalten: | ||
+ | \begin{equation} v_x(t + \Delta t) = v_x(t) - (G M \frac{x}{r^3}) \Delta t \end{equation} | ||
+ | \begin{equation}v_y(t + \Delta t) = v_y(t) - (G M \frac{y}{r^3}) \Delta t | ||
+ | |||
+ | |||
+ | Für die Bahnkoordinaten verwenden wir den Euler-Cromer-Algorithmus | ||
+ | \begin{equation} x(t + \Delta t) = x(t) + v_x(t + \Delta t) \Delta t \end{equation} | ||
+ | \begin{equation} y(t + \Delta t) = y(t) + v_y(t + \Delta t) \Delta t \end{equation} | ||
+ | |||
+ | ** | ||
+ | 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 ($v_x(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\cdot 10^{-11} m^3 kg^{-1}s^{-2}$|G|11.802378240000001| | ||
+ | |M|Sonnenmasse M ≈ $2\cdot 10^{30}$ kg|M|1.0| | ||
+ | |r|Abstand Sonne - Planeten (für die Erde 1AE = $150 \cdot 10^6$ km). AE ist die Abkürzung für Astronomische Einheit|r|1.0| | ||
+ | |$x_0$|X-Komponenten zum Startzeitpunkt|x0|1.0| | ||
+ | |$y_0$|Y-Komponenten zum Startzeitpunkt|y0|0.0| | ||
+ | |$v_{x_0}$|X-Komponente der Geschwindigkeit zum Startzeitpunkt|vx0|0.0| | ||
+ | |$v_{y_0}$|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\cdot 10^9$ m|→ 1 m = $\frac{1}{150\cdot 10^9}$ AE| | ||
+ | |1 M|= $2\cdot 10^{30}$ kg|→ 1 kg = $\frac{1}{2\cdot 10^{30}}$ M| | ||
+ | |1d|= 86400 s = 0.005 Δt|→ 1 s =$\frac{0.005}{86400}$ Δt| | ||
+ | |||
+ | Den neuen Zahlenwert erhalten wir durch Einsetzen: | ||
+ | $G = 6.67 \cdot 10^{-11}\cdot \frac{ m^3}{ kg \cdot s^{2}} \rightarrow \\ 6.67\cdot10^{-11} \cdot(\frac{1}{150\cdot 10^9})^3(2\cdot 10^{30}) | ||
+ | |||
+ | |||
+ | {{: | ||
+ | Welchen Zahlenwert | ||
+ | \\ | ||
+ | <color # | ||
+ | \\ | ||
+ | \\ | ||
+ | \\ | ||
+ | ^Gleichung^Bedeutung^ | ||
+ | |$r=\sqrt{x^2+y^2}$ |Abstand Sonne-Planet| | ||
+ | |$v_x(t + \Delta t) = v_x(t) - (G M \frac{x}{r^3}) \Delta t$ |x-Komponente der Geschwindigkeit| | ||
+ | |$v_y(t + \Delta t) = v_y(t) - (G M \frac{y}{r^3}) \Delta t$ |y-Komponente der Geschwindigkeit| | ||
+ | |$x(t + \Delta t) = x(t) + v_x(t + \Delta t) \Delta t $ |x-Komponente des Ortes| | ||
+ | |$y(t + \Delta t) = y(t) + v_y(t + \Delta t) \Delta 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 $v_x$ und $v_y$ 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.1705159914.txt.gz · Zuletzt geändert: 2024/01/13 15:31 von torsten.roehl