Benutzer-Werkzeuge

Webseiten-Werkzeuge


ws1718:raketensimulation

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
ws1718:raketensimulation [2018/04/02 22:51]
sunnyrogers
ws1718:raketensimulation [2018/04/07 20:12] (aktuell)
leogummersbach Physik näher betrachtet, Teil 2
Zeile 83: Zeile 83:
 Zuerst haben wir uns überlegt welche Kräfte in unserem Sonnensystem wirken. Wir haben beschlossen die Relativität nicht zu berücksichtigen. Außerdem haben wir festgestellt dass wir die wirkende Gravitation zwischen den Objekten in Vektorform benötigen, woraufhin wir dies so eingefügt haben. Die Berechnung sieht folgendermaßen aus: Zuerst haben wir uns überlegt welche Kräfte in unserem Sonnensystem wirken. Wir haben beschlossen die Relativität nicht zu berücksichtigen. Außerdem haben wir festgestellt dass wir die wirkende Gravitation zwischen den Objekten in Vektorform benötigen, woraufhin wir dies so eingefügt haben. Die Berechnung sieht folgendermaßen aus:
   - Es wird zu jedem anderen Objekt in der Welt die Gravitationskraft berechnet   - Es wird zu jedem anderen Objekt in der Welt die Gravitationskraft berechnet
-  - Daraus wird dann eine resultierende Kraft berechnet +  - Daraus wird dann eine resultierende Kraft berechnet, indem alle Gravitationskräfte in Vektorform addiert werden 
-  - Mit bestehenden Werten (Masse, Ort, Geschwindigkeit,​ Beschleunigung) wird der nächste Ort berechnet, wobei natürlich auch die Geschwindigkeit und die Beschleunigung aktualisiert werden +  - Mit bestehenden Werten (Masse, Ort, Geschwindigkeit,​ Beschleunigung) wird der nächste Ort berechnet, wobei natürlich auch die Geschwindigkeit und die Beschleunigung aktualisiert werden. Die Berechnung funktioniert folgendermaßen:​ 
-  - Am Ende wird das "​Leapfrog-Verfahren"​ angewendet, wodurch der nächste Ort deutlich genauer ist+    * **Beschleunigung:​**\\ Da Kraft gleich Masse mal Beschleunigung ist, folgt aus //F = a*m// die Gleichung //a = F/m//. Im Code wird //r// anstatt //F// geschrieben,​ da es sich dort um die resultierende Kraft handelt. Desweiteren wird //self.m// anstatt //m// geschrieben,​ weil die Masse des Objekts in der Klasse gespeichert ist. 
 +    * **Geschwindigkeit:​**\\ Es gilt //v = a*t//. Anstelle von //t// wird im Code //​zeitschritt//​ geschrieben. Es wird //self.v + v//, also die alte und neu berechnete Geschwindigkeit addiert, ausgegeben. 
 +    * **Ort:**\\ Laut dem ersten Newtonschen Gesetz bleibt die Geschwindigkeit eines Körpers unverändert bis eine Kraft auf ihn einwirkt. Deshalb ist es wichtig dass die Geschwindigkeit als fester Wert in der Klasse gespeichert wird. Dies geschiet mit //self.v = v//. Mit der Formel //s = v*t// wird die in der Zeit //t// zurückgelegte Strecke berechnet. Es wird wieder //​zeitschritt//​ im Code anstatt von //t// geschrieben. Wieder muss der alte Ort addiert mit dem neu berechneten Ort ausgegeben werden. 
 +  - Am Ende wird das "​Leapfrog-Verfahren"​ angewendet, wodurch der nächste Ort deutlich genauer ist. Bei diesem Verfahren wird zunächst eine Zwischenprognose nach einem halben Zeitschritt berechnet. Ausgehend von dieser wird dann eine Geschwindigkeit berechnet, bei der allerdings die alte Geschwindigkeit und die Beschleunigung der Zwischenprognose einfließen. Mit dieser neuen Geschwindigkeit wird dann der Ort nach einem weiteren halben Zeitschritt berechnet. Somit kommt man auf einen ganzen Zeitschritt,​ das Ergebnis ist jedoch wesentlich genauer. 
 + 
 +{{:​ws1718:​raketensimulation:​leapfrog_verfahren_prinzip.png?​nolink&​800|}} 
 +{{:​ws1718:​raketensimulation:​leapfrog_verfahren_kreisbahn.png?​nolink&​800|}}
  
 <code python> <code python>
ws1718/raketensimulation.1522702266.txt.gz · Zuletzt geändert: 2018/04/02 22:51 von sunnyrogers