Hajos Homepage
Numerical Physics: Berechnen, nicht simulieren

Numerical Physics

In der physika­lischen Forschung spielen seit langem numerische Methoden eine wesentliche Rolle. Die Programmier­umgebung "Numerical Physics" soll helfen, dieses Thema auch im Schul­unterricht mithilfe einer einfachen Programmiersprache zu behandeln, die nicht durch Eingabe-, Ausgabe- und graphische Befehle unübersichtlich wird. Diese werden in einen gesonderten Programmvorspann ausgelagert und sind zum Verständnis des eigentlichen Programms nicht erforderlich. Im Gegensatz zu den üblichen Simulationen ist dadurch nachvoll­ziehbar, wie das Ergebnis über die bekannten einfachen Grundgleichungen zustande kommt.

Der Programmteil, den die Schülerinnen und Schüler verstehen müssen, enthält im Wesentlichen nur diese wenigen Gleichungen wie F = m a oder sn = sn+1 + v Δt. Damit kann z. B. der Verlauf einer Federschwingung dargestellt werden, als Graph wie auch als Simulation. Da das Programm Vektor­rechnung beherrscht, lassen sich ähnlich einfach auch Planeten­bewegungen, Elektronen­bahnen im Magnetfeld (einschließlich der möglichen Spiralbahn) oder das Rutherford-Experiment darstellen.

Selbst komplexe Themen wie unendlich hoher Potentialtopf oder Energie­verteilung in einem idealen Gas können behandelt werden, jedoch mit entsprechend höherem Programmier­aufwand. Auch in anderen Fächern wie Biologie kann z. B. die Räuber-Beute-Beziehung mit diesem Programm veranschaulicht werden.

Die genannten Beispiele werden unten kurz vorgestellt. Beispielprogramme und Erläuterungen dazu können im Abschnitt "Download" unter "Explanations DE.pdf", "Examples DE.zip" oder "AllInOne DE.zip" runtergeladen werden.
Ein einfaches Programm: Der schiefe Wurf
Einfacher geht es kaum: Lediglich die Gleichungen für geradlinige Bewegung und konstante Beschleunigung werden benötigt, allerdings in einer Schleife für jeweils einen sehr kurzen Zeitabschnitt Δt.
Aber bereits hier werden Stärken der Programmier­umgebung sichtbar: Trennung der Physik von Eingabe, Ausgabe und Graphik, Beherrschung der Vektor­rechnung, Anzeige einer Simulation statt Graphik, und bei der Simulation die Synchronisierung mit der Realzeit.

Noch ein einfaches Programm: Federschwingung

Benötigt werden die Definition von Geschwindigkeit und Beschleunigung, das Hooksche Gesetz und die Newtonsche Grundgleichung. Damit wird, ausgehend von den Startwerten, die nächste Position und Geschwindigkeit der schwingenden Masse berechnet. Dies wird in einer Schleife wiederholt.

Gedämpfte Schwingung:

Durch Hinzufügen eines Dämpfungsterms können auch gedämpfte Schwingungen veranschaulicht werden. Auch die Darstellung im Phasenraum kann einfach realisiert werden, indem im Befehl GRAPH die Zeit durch die zweite Variable (Impuls oder Geschwindigkeit ersetzt wird.

Gekoppelte Schwingungen:

Das gleiche Programm wie oben, aber zweimal. Dazu kommt die Kopplungskraft mit unterschiedlichen Vorzeichen für die beiden Federn (im Programmtext farbig markiert). Man sieht deutlich, wie die Energie zwischen den beiden Federn hin- und her wandert.

Gekoppelte Schwingungen als Animation:

Die ist im Wesentlichen das gleiche Programm wie zuvor. Der Unterschied zwischen der Anzeige als Graph bzw. Simulation besteht in einer einzigen Anweisung im Definitionsteil.
Zusätzlich kann der zeitliche Verlauf mit der wirklichen Zeit synchronisiert werden. Ohne Kopplung beträgt die Periode einer Masse hier 2.0 s.

Vektorrechnung: Lorentz-Kraft

Die Programmiersprache beherrscht Vektorrechnung. Damit lassen sich z. B. Planetenbahnen sowie Bahnen geladener Teilchen im Magnetfeld ähnlich einfach wie die Federschwingung mithilfe der Lorentzkraft berechnen. Hier sieht man die Spiralbahn eines Elektrons im Magnetfeld.
Der Operator für das Kreuzprodukt ist #.
Sonnensystem

Mithilfe der Vektorrechnung kann auch das 3-Körper-Problem behandelt werden. Wenn möglich zeigen Sie die Bilder mit Rechtsklick der Maus vergrößert an.

Im Programm links werden die gegenseitigen Kräfte von Sonne, Erde und Mond berechnet. (Die Auswirkung auf die Sonne kann wegen ihrer großen Masse ignoriert werden.) Der Abstand Erde-Mond wird als Differenz der Vektoren Sonne-Erde und Sonne Mond berechnet.

Im Programm rechts werden die gegenseitigen Kräfte von Erde und Mond berücksichtigt. Man sieht, wie die Erde um den gemeinsamen Schwerpunkt (weißer Punkt) rotiert. (Setzen Sie die Maus auf diesen Punkt, damit Sie sehen, dass er stabil bleibt. Vergrößern Sie das Bild, z. B. mit dem Mausrad.)

Quantenphysik:
Die Mathematik der DeBroglie-Wellen ist in der zeitunabhängigen Schroedingergleichung die gleiche wie für Federschwingungen. Der (unendlich hohe sowie der endliche) Potentialtopf lassen sich mit der gleichen Methode behandeln.
Allerdings ist das Programm aufwändiger: durch Iteration der Energie des Teilchens muss ein nicht divergierender Zustand gesucht werden.

Ideales Gas:
Numerical Physics erlaubt auch statistische Untersuchungen. Hier wird die Energieverteilung der Teilchen im idealen Gas berechnet. Zum Vergleich ist auch die theoretische Kurve gezeigt.
Alle np Teilchen erhalten eine der Temperatur T entsprechende Anfangsenergie, dann stößt jedes nc‑mal mit jedem. Die die Gleichungen für den elastischen Stoß liefern die neuen Energien.

Andere Naturwissenschaften
z. B. Biologie: Räuber-Beute Verhältnis:

Auch für andere Naturwissenschaften kann diese Programmierumgebung verwendet werden.

So lässt sich z. B. in der Biologie die Räuber-Beute Beziehung anhand der Lotka-Volterra-Gleichungen behandeln (Populationen in Abhängigkeit von der Zeit oder als Phasendiagramm).