Simulation einer Rakete: Unterschied zwischen den Versionen

Aus Physik
Zur Navigation springen Zur Suche springen
Zeile 6: Zeile 6:
   
 
== Projektentwurf ==
 
== Projektentwurf ==
=== Architektur ===
+
=== Programmierung ===
  +
==== Architektur ====
 
Die verwendete Programmierumgebung ist Matlab, da Probleme wie grafische Anzeigen, Differentialgleichungen, ... in Matlab mittels bereits bestehenden Funktionen gelöst werden können.
 
Die verwendete Programmierumgebung ist Matlab, da Probleme wie grafische Anzeigen, Differentialgleichungen, ... in Matlab mittels bereits bestehenden Funktionen gelöst werden können.
   
=== Datenverwaltung ===
+
==== Datenverwaltung ====
 
Parameter, die vom Benutzer gespeichert und geladen werden können, werden als Typdateien persistiert.
 
Parameter, die vom Benutzer gespeichert und geladen werden können, werden als Typdateien persistiert.
 
Feste Konstanten wie zum Beispiel die Newton'sche Gravitationskonstante γ werden automatisch beim Ablauf des Skripts initialisiert und sind nicht veränderlich.
 
Feste Konstanten wie zum Beispiel die Newton'sche Gravitationskonstante γ werden automatisch beim Ablauf des Skripts initialisiert und sind nicht veränderlich.
   
=== Fachkonzept ===
+
==== Fachkonzept ====
 
Algorithmen, die öfter als einmal verwendet werden, werden als eigene Funktionen mit geeigneten Parametern ausgelagert, um Fehleranfälligkeit zu verringern bzw. die Übersichtlichkeit des Programms zu erhöhen.
 
Algorithmen, die öfter als einmal verwendet werden, werden als eigene Funktionen mit geeigneten Parametern ausgelagert, um Fehleranfälligkeit zu verringern bzw. die Übersichtlichkeit des Programms zu erhöhen.
  +
  +
=== Physikalische Probleme ===
  +
==== Raketenstart ====
  +
Die Startsquenz der Rakete wird mittels der Raketengleichung nach Konstantin Ziolkowski berechnet.<br>
  +
'''In ihrer allgemeinen Form lautet sie folgendermaßen:'''<br>
  +
<math>F = \dot{p} = m \cdot \frac{dv}{dt} + u \cdot \frac{dm}{dt} = 0</math><br>
  +
<math>\mbox{m...Masse der Rakete}</math><br>
  +
<math>\mbox{u...Austroemgeschwindigkeit der Gase}</math><br><br>
  +
  +
'''Für die Erd- bzw. Mondanziehungskräfte wird die Newton'sche Gravitationsformel verwendet:''' <br>
  +
<math>F = \gamma \cdot \frac{m1 \cdot m2}{r^2}</math><br>
  +
<math>\gamma \mbox{...Gravitationskonstante}</math><br>
  +
<math>\mbox{m1...Masse des Planeten}</math><br>
  +
<math>\mbox{m2...Masse der Rakete}</math><br>
  +
<math>\mbox{r...Abstand Rakete zu Planetenmittelpunkt}</math><br><br>
  +
  +
'''Schließlich ergibt sich durch Ausrechnen der Beschleunigungen für die Rakete folgende vektorielle Differentialgleichung:'''<br>
  +
<ul>
  +
<li>Zeitabhängigkeit: Schubbeschleunigung, da die Rakete während dem Treibstoffausstoß zeitlich linear an Masse verliert.</li>
  +
<li>Wegabhängigkeit: Gravitationskräfte, da diese abhängig vom Abstand der Körper sind.</li><br>
  +
</ul>
  +
<math>\vec a = \vec a_s(t) - \vec a_e(h) - \vec a_m(h)</math><br>
  +
<math>a_s \mbox{...Schubbeschleunigung}</math><br>
  +
<math>a_e \mbox{...Erdbeschleunigung}</math><br>
  +
<math>a_m \mbox{...Mondbeschleunigung}</math><br><br>
  +
  +
Um das Gravitationsfeld der Erde zu verlassen benötigt ein Objekt mindestens eine bestimmte Geschwindigkeit, die sich II. Kosmische Geschwindigkeit nennt. Diese beträgt für die Erde annähernd 11,2 km/s.
  +
Beim Vorbeiflug am Mond ist die Rakete deshalb viel zu schnell, um durch die Mondanziehungskraft wieder zurückgeschleudert zu werden. Deshalb ist ein Bremsmanöver in Mondnähe durchzuführen.
  +
Der Benutzer kann frei wählen, ob er die Parameter für den Bremsschub selbst eingeben möchte (Mondabstand und Zielgeschwindigkeit) oder ob das Programm eine automatische Geschwindigkeitskorrektur in Mondnähe vornehmen soll.
  +
Um in der Mondumlaufbahn zu bleiben ist die sogenannte I. Kosmische Geschwindigkeit einzuhalten. Diese errechnet sich durch Gleichsetzen der kinetischen mit der potentiellen Energie.<br><br>
  +
'''Die Berechnung für die I. Kosmische Geschwindigkeit ergibt:'''<br>
  +
<math>v_1 = \sqrt{\gamma \cdot \frac{m}{r}}</math><br>
  +
<math>\gamma \mbox{...Gravitationskonstante}</math><br>
  +
<math>\mbox{m...Masse des Mondes}</math><br>
  +
<math>\mbox{r...Radius der Umlaufbahn}</math><br>
   
 
== Projektrealisierung ==
 
== Projektrealisierung ==

Version vom 12. Juni 2006, 14:47 Uhr

Projektdefinition

Vision

Die Flugbahn einer auf der Erde startenden Rakete soll unter Berücksichtigung des Treibstoffverbrauchs, der Eigendrehung der Rakete, den Anziehungskräften zwischen Erde und Mond und so weiter, berechnet und angezeigt werden.

Strategie

Mittels einer geeigneten Programmierumgebung soll eine grafische Benutzeroberfläche (GUI) erstellt werden, über die Benutzerdaten eingelesen und an eine Berechnungsroutine weitergeleitet werden. Nach den Berechnungen soll die Flugbahn der Rakete mit diversen Daten (Geschwindigkeiten, Höhe, ...) angezeigt werden.

Projektentwurf

Programmierung

Architektur

Die verwendete Programmierumgebung ist Matlab, da Probleme wie grafische Anzeigen, Differentialgleichungen, ... in Matlab mittels bereits bestehenden Funktionen gelöst werden können.

Datenverwaltung

Parameter, die vom Benutzer gespeichert und geladen werden können, werden als Typdateien persistiert. Feste Konstanten wie zum Beispiel die Newton'sche Gravitationskonstante γ werden automatisch beim Ablauf des Skripts initialisiert und sind nicht veränderlich.

Fachkonzept

Algorithmen, die öfter als einmal verwendet werden, werden als eigene Funktionen mit geeigneten Parametern ausgelagert, um Fehleranfälligkeit zu verringern bzw. die Übersichtlichkeit des Programms zu erhöhen.

Physikalische Probleme

Raketenstart

Die Startsquenz der Rakete wird mittels der Raketengleichung nach Konstantin Ziolkowski berechnet.
In ihrer allgemeinen Form lautet sie folgendermaßen:
[math]F = \dot{p} = m \cdot \frac{dv}{dt} + u \cdot \frac{dm}{dt} = 0[/math]
[math]\mbox{m...Masse der Rakete}[/math]
[math]\mbox{u...Austroemgeschwindigkeit der Gase}[/math]

Für die Erd- bzw. Mondanziehungskräfte wird die Newton'sche Gravitationsformel verwendet:
[math]F = \gamma \cdot \frac{m1 \cdot m2}{r^2}[/math]
[math]\gamma \mbox{...Gravitationskonstante}[/math]
[math]\mbox{m1...Masse des Planeten}[/math]
[math]\mbox{m2...Masse der Rakete}[/math]
[math]\mbox{r...Abstand Rakete zu Planetenmittelpunkt}[/math]

Schließlich ergibt sich durch Ausrechnen der Beschleunigungen für die Rakete folgende vektorielle Differentialgleichung:

  • Zeitabhängigkeit: Schubbeschleunigung, da die Rakete während dem Treibstoffausstoß zeitlich linear an Masse verliert.
  • Wegabhängigkeit: Gravitationskräfte, da diese abhängig vom Abstand der Körper sind.

[math]\vec a = \vec a_s(t) - \vec a_e(h) - \vec a_m(h)[/math]
[math]a_s \mbox{...Schubbeschleunigung}[/math]
[math]a_e \mbox{...Erdbeschleunigung}[/math]
[math]a_m \mbox{...Mondbeschleunigung}[/math]

Um das Gravitationsfeld der Erde zu verlassen benötigt ein Objekt mindestens eine bestimmte Geschwindigkeit, die sich II. Kosmische Geschwindigkeit nennt. Diese beträgt für die Erde annähernd 11,2 km/s. Beim Vorbeiflug am Mond ist die Rakete deshalb viel zu schnell, um durch die Mondanziehungskraft wieder zurückgeschleudert zu werden. Deshalb ist ein Bremsmanöver in Mondnähe durchzuführen. Der Benutzer kann frei wählen, ob er die Parameter für den Bremsschub selbst eingeben möchte (Mondabstand und Zielgeschwindigkeit) oder ob das Programm eine automatische Geschwindigkeitskorrektur in Mondnähe vornehmen soll. Um in der Mondumlaufbahn zu bleiben ist die sogenannte I. Kosmische Geschwindigkeit einzuhalten. Diese errechnet sich durch Gleichsetzen der kinetischen mit der potentiellen Energie.

Die Berechnung für die I. Kosmische Geschwindigkeit ergibt:
[math]v_1 = \sqrt{\gamma \cdot \frac{m}{r}}[/math]
[math]\gamma \mbox{...Gravitationskonstante}[/math]
[math]\mbox{m...Masse des Mondes}[/math]
[math]\mbox{r...Radius der Umlaufbahn}[/math]

Projektrealisierung

In Progress...

Autor

gernot_k@sbox.tugraz.ac.at