Benutzer-Werkzeuge

Webseiten-Werkzeuge


Seitenleiste

ws1718:raketensimulation

Dies ist eine alte Version des Dokuments!


Raketensimulation

Das Ziel unseres Projektes war, eine Rakete, unter Berügsichtigung der Naturgesetze, von der Erde starten zu lassen, wobei die Rakete durch die Anziehungskräfte der Planeten beeinflusst werden soll.

Folgende Personen haben an dem Projekt mitgearbeitet:

Niklas Deffland
Aike Teichmann
Leo Gummersbach
Sebastian Sontag

Projektplanung:

Das Ziel der Raketensimulation:
Man hat die Erde, legt die Startposition einer Rakete sowie Werte für Beschleunigung, Masse, usw. fest und Simuliert dann graphisch die Flugbahn der Rakete und wie diese von anderen Himmelskörpern beeinflusst wird. Das ganze wird erst mal auf einfachster Basis zweidimensional oder auch dreidimensional umgesetzt, später kann man noch verschiedene Planeten hinzufügen. Als Beispielmission wäre dann möglich dass man eine Rakete konstruiert die von der Erde losfliegt und dann am Mars in eine stabilen Orbit kommt. Über die Art der graphischen Umsetzung müsste noch entschieden werden (z.B. Turtle oder andere Programme die besser geeignet wären) Relativität wird erst mal nicht mit einfließen, das wäre zu schwer.

Zwischenziele:

  • Erde die fest im Raum steht
  • Mond der die Erde umkreist, aber simuliert
  • Erde die die Sonne umkreist (simuliert)
  • Erde, welche die Sonne umkreist und gleichzeitig vom Mond umkreist wird
  • Die Planeten umkreisen die Sonne (fertiges Sonnensystem)
  • Eine Rakete fliegt mit den Naturgesetzen in dem fertigen Sonnensystem (mit Start auf der Erde)
  • Die Planeten befinden sich bei Simulationsstart auf den Originalpositionen

Literatur und Hilfsmittel:

Voraussichtliche Bestandteile unseres Projektes:

Unser Projekt soll aus einem Programm bestehen, welches sich aus verschiedenen Bereichen zusammensetzen wird:

  1. Die Berechnung der Orte (dabei ist die Klasse Himmelskoerper behilflich)
  2. Das Hinzufügen von Objekten, zum Beispiel Planeten (dabei ist die Klasse Welt behilflich)
  3. Der Ablauf der einzelnen Berechnungen, meist in Schleifen
  4. Die grafische Darstellung

Die Orte werden mithilfe des Leapfrogverfahrens unter Berücksichtigung der Gravitation und eventuellen Schubkräften berechnet. Die Grafische Darstellung erfolgt mit Matplotlib.

Protokolle

Dokumentation

Einführung
In unserem Projekt haben wir uns mit der Idee, eine Rakete in unserem Sonnensystem fliegen zu lassen, beschäftigt. Wir wollten anfänglich eine Rakete gezielt von einem Planeten, nämlich der Erde, zu einem beliebigen anderen Planeten in unserem System schicken. Dazu mussten wir uns also zuerst einmal mit den Planeten in unserem Sonnensystem auseinander setzen, also welche Kräfte auf diese einwirken und wie sie um die Sonne kreisen. Um das in ein Programm zu bekommen mussten wir uns auch überlegen, wie welche physikalischen Eigenschaften auf unser System wirken und vor allem wie wir diese berechnen lassen können. Das Problem der Berechnung war uns anfänglich gar nicht so bewusst.

Verlauf:
In den ersten Wochen haben wir uns mit Python vertraut gemacht. Danach ist die Entscheidung für eine Raketensimulation gefallen. Wir haben damit angefangen, dass wir die Physik nach bestem Wissen und Gewissen einprogrammiert haben. Danach konnten wir schon einen Mond um die Erde kreisen lassen. Dies war aber noch zu ungenau, deshalb haben wir das bisher verwendet Euler-Verfahren gegen das bessere Leapfrog-Verfahren ersetzt. Nun haben wir die zwei Objekte so ersetzt, dass eine Erde um die Sonne kreist. Danach haben wir die drei anderen inneren Planeten eingefügt. Als letztes haben wir eine Rakete im Erde-Mondsystem starten lassen.

Die physikalischen Eigenschaften:
Zu erst haben wir uns überlegt welche Kräfte in unserem Sonnensystem wirken. Dann haben wir beschlossen die Relativität nicht zu berücksichtigen. Wir haben festgestellt das wir die Gravitationskonstante benötigen also haben wir die Gravitationskonstante zwischen zwei Objekten berechnen lassen.

Quelltext

Dann haben wir mit Hilfe der Gravitationskonstanten und der gegebenen Werte (Massen, Startentfernungen und Zeitschritt) einen richtungsvektor berechnet.

Quelltext

Zu guter Letzt haben wir anhand dieses Richtungsvektors eine Bewegung erwirkt.

Quelltext

Die Objekte:
Als nächstes haben wir uns überlegt wie wir nun unsere Planeten in das System bekommen. Über die Klasse Welt und deren Methoden konnten wir zuerst nur Objekte ohne „Wirkung“ hinzufügen.

Quelltext

Durch eine for Schleife haben wir die Objekte immer wieder neu derechnen lassen, wodurch sich sich kreisend um die Sonne bewegten.

Fazit:
Abschließend ist festzustellen, dass so ein Projekt egal wie leicht es anfänglich wirkt und wie gut man glaubt mit dem Thema umgehen zu können doch sehr komplex und zeitaufwendig werden kann, und in unserem Fall auch geworden ist. Nichts desto trotz hat die Arbeit Spaß gemacht, vor allem dann wenn ein Problem behoben werden konnte oder ein großer Schritt in dem Projekt geschafft wurde. Zu unserm Projekt im Speziellem bleibt zu sagen, dass wir eine Menge im Bereich der Kreisbahnberechnung gelernt haben und dass wir sehr zufrieden mit dem Ergebnis sind, auch wenn wir nicht fertig wurden.

Das Ergebnis sind zwei ähnliche, wenn auch verschiedene Programme. Zum einen gibt es die eigentliche Raketensimulation, in der es aber nur die Rakete und die Erde als Objekte gibt. Zum anderen gibt es noch eine Simulation des inneren Sonnensystems. In der Zukunft könnte man Versuchen, diese beiden Teile zu einem zu verbinden. Ob dies sinnvoll ist bleibt allerdings offen, da sich die Bewegung einer Rakete und die von Planeten in ganz anderen Zeitdimensionen abspielen.

* Modulliste * Erde und Rakete * Inneres Sonnensystem

ws1718/raketensimulation.1521747680.txt.gz · Zuletzt geändert: 2018/03/22 20:41 von leogummersbach