gravitation_-_planetenbahnen
Unterschiede
Hier werden die Unterschiede zwischen zwei Versionen angezeigt.
Nächste Überarbeitung | Vorhergehende Überarbeitung | ||
gravitation_-_planetenbahnen [2024/01/13 15:14] – angelegt torsten.roehl | gravitation_-_planetenbahnen [2024/01/13 17:37] (aktuell) – torsten.roehl | ||
---|---|---|---|
Zeile 1: | Zeile 1: | ||
====== Gravitation - Planetenbahnen | ====== 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 | ||
+ | |||
+ | ===== Physikalische Grundlagen ===== | ||
+ | ==== Das Gravitationsgesetz - Kräfte sind Vektoren ==== | ||
+ | {{: | ||
+ | |||
+ | Das Newtonsche Gravitationsgesetz beschreibt die Wechselwirkungskraft zwischen zwei Massenpunkten (hier $m_a$ und $m_b$). Der vektorielle Charakter der Kraft muss in der Modellierung berücksichtigt werden. | ||
+ | |||
+ | \begin{equation} \overrightarrow{F_{ab}} = G\; m_a\; m_b \frac{\overrightarrow{r_a} - \overrightarrow{r_b}}{ | \overrightarrow{r}_a - \overrightarrow{r_b} |^3} \end{equation} | ||
+ | |||
+ | Hier bezeichnet $G =6.67 \cdot 10^{-11} m^3 kg^{-1} s^{-2}$ | ||
+ | \\ | ||
+ | \\ | ||
+ | Die obige Gleichung (Gl. 1) lässt sich ein wenig vereinfachen, | ||
+ | |||
+ | \begin{equation} \overrightarrow{F} = -G\; \frac{m_a\; m_b}{r^2} | ||
+ | |||
+ | 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 ==== | ||
+ | Vollständigkeitshalber notieren wir noch kurz das 2. Newtonsche Axiom. Es besagt, dass Kraft gleich Masse mal Beschleunigung ist. | ||
+ | $$\overrightarrow{F}= m \cdot \overrightarrow{a} $$ | ||
+ | |||
+ | ===== 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 ==== | ||
+ | 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 ==== | ||
+ | |||
+ | 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.1705158894.txt.gz · Zuletzt geändert: 2024/01/13 15:14 von torsten.roehl