Simulation


Gravitation


Mit dem hier vorgestellten Sketch "Gravitation" kann man Bewegungen mehrer Massen in einem Schwerefeld simulieren. Es wird davon ausgegangen, dass der Zentralkörper (weiß) eine erheblich größere Masse hat, als die "Planete". Daher vernachlässigen wir die Wirkung der Gravitationskräfte der Planten untereinander. (Bei ähnlich großen Massen ist das System nicht einmal bei nur insgesamt drei Körpern lösbar. Siehe: Drei-Körper-Problem.)
Mit dem ersten Mausklick bestimmt man den Ort eines Planeten zu einem Zeitpunkt t0 . Mit einem zweiten Klick legt man seine Geschwindigkeit fest:
Je größer der Abstand der beiden Punkte, desto größer die Geschwindigkeit. Gleichzeitig wird dadurch auch die Richtung der Geschwindigkeit festgelegt. Die Anzahl der Körper wurde hier auf drei festgelegt. Also muss man noch weitere zwei mal durch je zwei Klicks die Anfangsbedingungen der restlichen beiden Köper festlegen. Im Bild links sind Anfangsbedingungen durch die drei Strecken noch erkennbar. (Der unten herunterladbare Sketch ist aber so konstruiert, dass "beliebig viele" Körper erzeugt werden können.) Ein letzter Mausklick startet das Programm.

Um das Zweikörperproblem zu lösen, muss man die obige Differenzialgleichung für die gegeben Anfangsgeschwindigkeit lösen. Das Verfahren wurde schon beim Doppelpendel angesprochen. (Siehe: "Runge-Kutta 4" ). Im Folgenden der Quellcode für das Runge-Kutta-4 Verfahren. Die Klasse vierDContainer wurde eingeführt, um auf bequeme Weise vier Rückgabewerte zu ermöglichen und um das Klassenkonzept zu wiederholen. ( Ein ArrayList hätte es natürlich auch getan.)

Man kann im unteren Teil erkennen, dass der Prozess auch mit Reibung (proportional zum Quadrat des Geschwindigkeitsbetrages) laufen kann. Mit hilfe der r -Taste kann man beliebig oft zwischen "Reibung" und "ohne Reibung" umschalten. Probieren Sie es aus:




Ohne Reibung erhalten wir als Laufbahn, je nach Anfangsbedingungen, Ellipsen, Parabeln und Hyperbeln gemäß den newtonschen Graviationsgesetzen. Schaltet man die Reibung ein, so sind die Laufbahnen erwartungsgemäß nicht stabil:


Mit und ohne Reibung kollidieren die Planete manchmal mit dem von der Masse her viele tausend mal größeren Zentralkörper und verschwinden damit von der Bildfläche. Die erste Idee, dies im Sketch zu verwirklichen wäre wohl die Methode remove() der ArrayList zu verwenden. Leider ist das aber eine ganz schlechte Idee. Weshalb? Probieren Sie es aus. Die Fehlermeldung gibt Ihnen dann an, was schief gegangen ist. Wir machen es uns einfach: Immer wenn ein Planet verschwinden soll, zeichnen wir ihn und seine Spur schwarz.

Wie würden die Laufbahnen aussehen, wenn die Gravitationskraft konstant wäre? Physikalisch eher sinnlos, mathematisch aber nicht uninteressant! Bild unten rechts zeigt bei den gegebenen Anfangsbedingungen den Bahnverlauf für einen Planeten. Links daneben werden fünf die Laufbahnen von fünf Planete dargestellt.



Auch das können Sie hier selbst testen. Wie oben müssen Sie lediglich drei Anfangsbedingunten durch Mausklicks festlegen. Ein letzter Klick startet das Programm.



Sketch Gravitation.

Sketch Konstante Punktkraft.

Zurück