Simulation unseres Sonnensystems: Unterschied zwischen den Versionen
Zeile 15: | Zeile 15: | ||
<UL> |
<UL> |
||
<LI>Kernfunktionalität ist die Modulation der physikalischen Beziehungen</LI> |
<LI>Kernfunktionalität ist die Modulation der physikalischen Beziehungen</LI> |
||
− | <LI>Lösung des |
+ | <LI>Lösung des Differentialgleichungssystems der Umlaufbahnen der Planeten</LI> |
<LI>Grafische Darstellung wahlweise in 2D oder 3D</LI> |
<LI>Grafische Darstellung wahlweise in 2D oder 3D</LI> |
||
</UL> |
</UL> |
||
Zeile 26: | Zeile 26: | ||
== Projektentwurf == |
== Projektentwurf == |
||
=== Physikalische Grundlagen === |
=== Physikalische Grundlagen === |
||
− | Damit die Planetenumlaufbahnen berechnet werden können, muss folgendes |
+ | Damit die Planetenumlaufbahnen berechnet werden können, muss folgendes Differentialgleichungssystem gelöst werden.<br> |
==== Anfangsbedingungen: ==== |
==== Anfangsbedingungen: ==== |
||
<UL> |
<UL> |
||
Zeile 33: | Zeile 33: | ||
</UL> |
</UL> |
||
− | ==== |
+ | ==== Differentialgleichungen: ==== |
− | Geschwindigkeiten<br> |
+ | '''Geschwindigkeiten'''<br> |
<math>\vec \dot{r_1}\;=\;\vec v_1</math><br> |
<math>\vec \dot{r_1}\;=\;\vec v_1</math><br> |
||
<math>\vec \dot{r_2}\;=\;\vec v_2</math><br> |
<math>\vec \dot{r_2}\;=\;\vec v_2</math><br> |
||
<math>\cdots\;</math><br> |
<math>\cdots\;</math><br> |
||
<math>\vec \dot{r_n}\;=\;\vec v_n</math><br><br> |
<math>\vec \dot{r_n}\;=\;\vec v_n</math><br><br> |
||
− | Beschleunigungen<br> |
+ | '''Beschleunigungen'''<br> |
<math>\vec \dot{v_1}\;=\;\vec a_1</math><br> |
<math>\vec \dot{v_1}\;=\;\vec a_1</math><br> |
||
<math>\vec \dot{v_2}\;=\;\vec a_2</math><br> |
<math>\vec \dot{v_2}\;=\;\vec a_2</math><br> |
||
Zeile 45: | Zeile 45: | ||
<math>\vec \dot{v_n}\;=\;\vec a_n</math><br><br> |
<math>\vec \dot{v_n}\;=\;\vec a_n</math><br><br> |
||
− | Die Teilbeschleunigungen, die ein Planet durch die Gravitationsfelder aller anderen Planeten erfährt, werden mit Hilfe des '''NEWTONschen |
+ | Die Teilbeschleunigungen, die ein Planet durch die Gravitationsfelder aller anderen Planeten erfährt, werden mit Hilfe des '''NEWTONschen Gravitationsgesetzes''', das die Anziehungskraft zweier Massepunkte bzw. zweier homogener Kugeln, wie es Planeten in diesem Modell näherungsweise sind, berechnet:<br><br> |
<math>\vec F_n\;=\;-\gamma\;\frac{m_nm_2}{r^2}\frac{\vec r}{\begin{Vmatrix} r \end{Vmatrix}} </math> und <math>\vec F_n\;=\;m_n\vec a_n </math> <math>\Longrightarrow \vec a_n\;=\;-\gamma\;\frac{m_2}{r^2}\frac{\vec r}{\begin{Vmatrix} r \end{Vmatrix}} </math> <br><br> |
<math>\vec F_n\;=\;-\gamma\;\frac{m_nm_2}{r^2}\frac{\vec r}{\begin{Vmatrix} r \end{Vmatrix}} </math> und <math>\vec F_n\;=\;m_n\vec a_n </math> <math>\Longrightarrow \vec a_n\;=\;-\gamma\;\frac{m_2}{r^2}\frac{\vec r}{\begin{Vmatrix} r \end{Vmatrix}} </math> <br><br> |
||
<table halign='right'> |
<table halign='right'> |
||
Zeile 51: | Zeile 51: | ||
<td><math>\vec F_n\;</math></td> |
<td><math>\vec F_n\;</math></td> |
||
<td><math>\cdots\;</math></td> |
<td><math>\cdots\;</math></td> |
||
− | <td><math>\mbox{Gravitationskraft, die auf Planeten n wirkt}\;</math></td> |
+ | <td><math>\mbox{Gravitationskraft, die auf Planeten }n\mbox{ wirkt}\;</math></td> |
</tr> |
</tr> |
||
<tr> |
<tr> |
||
<td><math>m_n\;</math></td> |
<td><math>m_n\;</math></td> |
||
<td><math>\cdots\;</math></td> |
<td><math>\cdots\;</math></td> |
||
− | <td><math>\mbox{Masse des Planeten |
+ | <td><math>\mbox{Masse des Planeten }n\;</math></td> |
</tr> |
</tr> |
||
<tr> |
<tr> |
||
Zeile 71: | Zeile 71: | ||
<td><math>\vec a_n\;</math></td> |
<td><math>\vec a_n\;</math></td> |
||
<td><math>\cdots\;</math></td> |
<td><math>\cdots\;</math></td> |
||
− | <td><math>\mbox{Gravitationsbeschleunigung des Planeten |
+ | <td><math>\mbox{Gravitationsbeschleunigung des Planeten }n\;</math></td> |
</tr> |
</tr> |
||
<tr> |
<tr> |
||
Zeile 79: | Zeile 79: | ||
</tr> |
</tr> |
||
</table> |
</table> |
||
− | <br><br>Um zur Gesamtbeschleunigung zu gelangen werden alle Teilbeschleunigungen vektoriell addiert: |
+ | <br><br>Um zur Gesamtbeschleunigung zu gelangen, werden alle Teilbeschleunigungen vektoriell addiert: |
<math>a_{ges}\;=\;a_1\;+\;a_2\;+\;\cdots\;+\;a_n</math> |
<math>a_{ges}\;=\;a_1\;+\;a_2\;+\;\cdots\;+\;a_n</math> |
||
<br><br> |
<br><br> |
||
Zeile 92: | Zeile 92: | ||
</table> |
</table> |
||
== Projektrealisierung == |
== Projektrealisierung == |
||
− | Die Lösung des |
+ | Die Lösung des Differentialgleichungssystem wird mit Hilfe des Solvers ode23 durchgeführt, da dieser geringere Toleranzwerte besitzt als ode45.<br> |
− | Die Zeit, die in der Simulation zwischen zwei dargestellten Frames vergeht beträgt <math>10^6\,</math> Sekunden (<math>\approx\,11,5</math> Tage). Außerdem ist es möglich das System auf eine beliebige Anzahl von Planeten zu erweitern oder zu reduzieren in dem man die Konfigurationsdatei überarbeitet.<br> |
+ | Die Zeit, die in der Simulation zwischen zwei dargestellten Frames vergeht, beträgt <math>10^6\,</math> Sekunden (<math>\approx\,11,5</math> Tage). Außerdem ist es möglich das System auf eine beliebige Anzahl von Planeten zu erweitern oder zu reduzieren, in dem man die Konfigurationsdatei überarbeitet.<br> |
Die Darstellelung kann entweder in drei oder in zwei Dimensionen erfolgen.<br><br> |
Die Darstellelung kann entweder in drei oder in zwei Dimensionen erfolgen.<br><br> |
||
== Ergebnisse == |
== Ergebnisse == |
||
Zeile 99: | Zeile 99: | ||
<table> |
<table> |
||
<tr valign=top> |
<tr valign=top> |
||
− | <td>In nebenstehender Abbildung ist das Ergebnis der Simulation in 2D zu sehen. Die Sonne hat den Startpunkt |
+ | <td>In nebenstehender Abbildung ist das Ergebnis der Simulation in 2D zu sehen. Die Sonne hat den Startpunkt <math>(x\,=\,0,\,y\,=\,0,\,z\,=\,0)</math>. Jedoch behält sie diesen über längere Zeit gesehen nicht exakt bei, da sie auch von den anderen Planeten - wenn auch auf Grund der weit größeren Masse nicht gravierend - angezogen wird. </td> |
<td>[[Image:interface.jpg|thumb|Ergebnis der Simulation unseres Sonnensystems]]</td> |
<td>[[Image:interface.jpg|thumb|Ergebnis der Simulation unseres Sonnensystems]]</td> |
||
</tr> |
</tr> |
Version vom 17. März 2005, 20:54 Uhr
Inhaltsverzeichnis
Projektdefinition
Projektentwurf
Physikalische Grundlagen
Damit die Planetenumlaufbahnen berechnet werden können, muss folgendes Differentialgleichungssystem gelöst werden.
Anfangsbedingungen:
- Startposition von n Planeten ([math]\vec r_1,\;\vec r_2,\;\cdots\;\vec r_n[/math])
- Startgeschwindigkeiten von n Planeten ([math]\vec v_1,\;\vec v_2,\;\cdots\;\vec v_n[/math])
Differentialgleichungen:
Geschwindigkeiten
[math]\vec \dot{r_1}\;=\;\vec v_1[/math]
[math]\vec \dot{r_2}\;=\;\vec v_2[/math]
[math]\cdots\;[/math]
[math]\vec \dot{r_n}\;=\;\vec v_n[/math]
Beschleunigungen
[math]\vec \dot{v_1}\;=\;\vec a_1[/math]
[math]\vec \dot{v_2}\;=\;\vec a_2[/math]
[math]\cdots\;[/math]
[math]\vec \dot{v_n}\;=\;\vec a_n[/math]
Die Teilbeschleunigungen, die ein Planet durch die Gravitationsfelder aller anderen Planeten erfährt, werden mit Hilfe des NEWTONschen Gravitationsgesetzes, das die Anziehungskraft zweier Massepunkte bzw. zweier homogener Kugeln, wie es Planeten in diesem Modell näherungsweise sind, berechnet:
[math]\vec F_n\;=\;-\gamma\;\frac{m_nm_2}{r^2}\frac{\vec r}{\begin{Vmatrix} r \end{Vmatrix}} [/math] und [math]\vec F_n\;=\;m_n\vec a_n [/math] [math]\Longrightarrow \vec a_n\;=\;-\gamma\;\frac{m_2}{r^2}\frac{\vec r}{\begin{Vmatrix} r \end{Vmatrix}} [/math]
[math]\vec F_n\;[/math] | [math]\cdots\;[/math] | [math]\mbox{Gravitationskraft, die auf Planeten }n\mbox{ wirkt}\;[/math] |
[math]m_n\;[/math] | [math]\cdots\;[/math] | [math]\mbox{Masse des Planeten }n\;[/math] |
[math]m_2\;[/math] | [math]\cdots\;[/math] | [math]\mbox{Masse des weiteren Planeten zu dem die Gravitationskraft gerichtet ist}\;[/math] |
[math]r\;[/math] | [math]\cdots\;[/math] | [math]\mbox{Abstand der beiden Planeten}\;[/math] |
[math]\vec a_n\;[/math] | [math]\cdots\;[/math] | [math]\mbox{Gravitationsbeschleunigung des Planeten }n\;[/math] |
[math]\gamma\;=\;6.67\;10^{-11}\;[/math] | [math]\cdots\;[/math] | [math]\mbox{Gravitationskonstante}\;[/math] |
Um zur Gesamtbeschleunigung zu gelangen, werden alle Teilbeschleunigungen vektoriell addiert:
[math]a_{ges}\;=\;a_1\;+\;a_2\;+\;\cdots\;+\;a_n[/math]
Sequenzdiagramme nach UML
Das Sequenzdiagramm zeigt schematisch den Ablauf des Systems. Grundsätzlich ist das Sequenzdiagramm der objektorientierten Programmierung vorbehalten, doch auch in der strukturierten Programmierung kann man dadurch ausgezeichnete Einblicke in das System erlangen. Das Sequenzdiagramm beschreibt in der Horizontalen die Funktionen, die aufgerufen werden, die Vertikale repräsentiert die Zeit. |
Projektrealisierung
Die Lösung des Differentialgleichungssystem wird mit Hilfe des Solvers ode23 durchgeführt, da dieser geringere Toleranzwerte besitzt als ode45.
Die Zeit, die in der Simulation zwischen zwei dargestellten Frames vergeht, beträgt [math]10^6\,[/math] Sekunden ([math]\approx\,11,5[/math] Tage). Außerdem ist es möglich das System auf eine beliebige Anzahl von Planeten zu erweitern oder zu reduzieren, in dem man die Konfigurationsdatei überarbeitet.
Die Darstellelung kann entweder in drei oder in zwei Dimensionen erfolgen.
Ergebnisse
In nebenstehender Abbildung ist das Ergebnis der Simulation in 2D zu sehen. Die Sonne hat den Startpunkt [math](x\,=\,0,\,y\,=\,0,\,z\,=\,0)[/math]. Jedoch behält sie diesen über längere Zeit gesehen nicht exakt bei, da sie auch von den anderen Planeten - wenn auch auf Grund der weit größeren Masse nicht gravierend - angezogen wird. |
Kontakt
Für Fragen oder Anregungen stehe ich gerne zur Verfügung (knami)