Was macht der Informatikstudent bei den Physikern?

Ganz einfach: Im Studium der Informatik muss man sowohl im Bachelor als auch im Master ein Nebenfach wählen. Für eine bestimmte Anzahl an Leistungspunkten (LP) belegt man in einem fachfremden Feld einige Fächer.

Für das Masterstudium fiel meine Wahl auf die Physik. Nicht nur interessehalber, sondern auch, weil man bei diesem Nebenfach alle zehn verlangten LP mit nur einer Lehrveranstaltung erhält. Natürlich ist davon auszugehen, dass die gewählte Veranstaltung entsprechend anspruchsvoll sein wird.
Die Auswahl für das Nebenfach Physik hält sich arg in Grenzen: „Stochastische Prozesse in den Naturwissenschaften“ und „Computational Science“. Ersteres klang für mich ziemlich mathematiklastig, was sich im Laufe meines Studiums nicht gerade als meine Stärke herausgebildet hat. Letzteres war schon eher etwas für mich.

„Computational Science“ bedeutet folgendes:
Mit dem Aufkommen von immer leistungsfähigeren Rechnern gehören neben der Theorie und Experimenten heutzutage auch (numerische) Simulationen zu den wichtigsten Hilfsmitteln der Naturwissenschaften. Je nach Genauigkeit der vorher erstellten Modelle lassen sich dadurch Vorhersagen über das Verhalten eines physikalischen Systems zu bestimmten Anfangsbedingungen erstellen – zum Beispiel der Wetterbericht, der manchmal stimmt. Durch Visualisierung der Ergebnisse kann man entsprechend Muster erkennen. Die Exaktheit der Simulationen wird letztendlich nur durch die Präzision der Gleitkommadarstellung im Prozessor begrenzt und dadurch, wie viel Zeit die Berechnung in Anspruch nehmen darf.
Das Ganze fasst man unter dem Begriff „Wissenschaftliches Rechnen“ zusammen oder eben auf Englisch „Computational Science“.

Neben Studenten des gleichnamigen Studiengangs verirren sich nur sehr wenige Nebenfächler hierher, die zudem bloß das erste von zwei Semestern dieses Fachs zu belegen haben. Wenn man in der Lehrveranstaltung zu fünft ist, ist das schon viel.
Organisatorisch besteht die Veranstaltung aus zwei Doppeleinheiten pro Woche. In der Vorlesung wird zunächst die Theorie besprochen und man kann eine ganze Menge an Formeln bestaunen. Anschließend folgt die Übung. Hier geht es darum, das Gelernte in Form von numerischen Simulationen zu programmieren und zu beobachten.

Ein Beispiel gefällig? Nehmen wir den schrägen Wurf.
Rot dargestellt ist ein Wurf ohne Luftwiderstand. Dieser ergibt eine Wurfparabel, wie schon im Physikunterricht in der Schule gelernt. Grün und Blau verwenden zwei mögliche Modelle für den Widerstand. Man sieht, dass diese sich nicht nur von der roten Bahn, sondern auch untereinander stark unterscheiden, wobei alle drei denselben Anfangsbedingungen unterliegen.
Die Bewegungsgleichungen dazu erspare ich uns an dieser Stelle. Doch in der Übung geht es darum, aus ihnen (Theorie) und den Graphen (Simulation) Erklärungen für das beobachtete Verhalten zu finden.
Wurf

Existiert zu einem physikalischen Problem eine so genannte analytische Lösung, dann kann man mit einer Formel sagen „Das System hat nach der Zeit t genau diesen Zustand“; ohne dass es einer Simulation bedarf.

Ein numerisches Verfahren hingegen rückt das Ganze zeitschrittweise bildlich gesehen in Form von einzelnen geraden Strecken nach vorn. Man stelle sich vor, dass man diese Kurven nur mithilfe von Stift und Lineal nachbilden muss. Hier sind sie deshalb als „rund“ erkennbar, weil die Weite der Zeitschritte dt klein genug ist. Bei der Animation wird die x-Achse automatisch nach oben skaliert. Schaut man sich also den Anfang genau an, sieht man noch die Abstände der einzelnen Punkte, die dann aber schnell immer kleiner werden. Wären die Zeitschritte groß genug, würde man statt einer „glatten“ Kurve nur noch ein kantiges Etwas wahrnehmen. Darunter leidet allerdings die Genauigkeit der Simulation entsprechend.

Zur Überprüfung ihrer korrekten Umsetzung werden beide Ansätze miteinander verglichen: Man lässt die numerische Simulation mit Schrittweite dt laufen und setzt gleichzeitig in die Formel der analytischen Lösung für t die Zeiten 0, dt, 2*dt, 3*dt, … ein.

Für unsere Wurfparabeln – zumindest für die einfache rote – war das nur eine Einführung in die Welt der Simulationen, weil die Formeln dazu nicht kompliziert sind. Es gibt allerdings Probleme, für die es eine numerische aber keine analytische Lösung gibt. Eines davon ist die Bewegung von Planeten. Es gibt keine Formel für „Ein Planet unter diesen und jenen Anfangsbedingungen befindet sich nach der Zeit t genau dort“. Zum Glück sind – wenn man die Sonne als einzigen Einfluss betrachtet – die numerischen Bewegungsgleichungen dafür schön einfach:
Gleichungen

Endlich kommt der Auftritt der Informatik – als Java-Programm sieht es dann so aus:

public void getRate(double[] state, double[] rate) {
  // state[]: x, vx, y, vy, t
  double r2 = (state[0]*state[0])+(state[2]*state[2]); // r squared
  double r3 = r2*Math.sqrt(r2);                        // r cubed
  rate[0] = state[1];                                  // x rate
  rate[1] = (-GM*state[0])/r3;                         // vx rate
  rate[2] = state[3];                                  // y rate
  rate[3] = (-GM*state[2])/r3;                         // vy rate
  rate[4] = 1;                                         // time rate
}

Und am Ende darf man sein Werk bestaunen:
Planet
Mögliche Fragen hier:

  • Wie wirken sich die Anfangsbedingungen (Position, Flugrichtung) auf die Form der Bahn aus?
  • Wie ändert sich die Bahn, wenn man dem Planeten in Flugrichtung einen Schubs gibt?
  • Wie ändert sich die Bahn, wenn man ihm einen zur Flugrichtung rechtwinkligen Schubs gibt?

Neben diesen gibt es in der Veranstaltung auch komplexere Themen und Fragestellungen. Seien es Zufallsprozesse, chaotische Systeme, Vielteilchensysteme und all die Themen aus dem darauffolgenden Semester. Sie sind nicht minder interessant, doch man merkt an den zwei wöchentlichen Doppeleinheiten und dem Vorbereitungsaufwand daheim, dass dieses Fach definitiv zehn LP verdient hat.

Es folgt zum Schluss eine mündliche Prüfung. Den Nebenfächlern (zumindest den Informatikern) werden hierbei dankenswerterweise die Formeln erspart und man beschränkt sich auf das Erklären der Konzepte. Wenn man den Stoff verstanden hat, bleibt – wie bei mir – die übliche Nervosität bei mündlichen Prüfungen.

Auch, wenn ich froh bin, mein Nebenfach nach dem zweiten Versuch abgeschlossen zu haben, war es für mich ein durchaus lohnenswerter Exkurs. Das hierbei erworbene Wissen könnte sich vielleicht sogar nach dem Studium als nützlich erweisen, da meine informatische Ausrichtung eng mit dem wissenschaftlichen Rechnen verbunden ist.
Mangelnde Vorkenntnisse in der Physik erhöhen zwar den Arbeitsaufwand entsprechend, aber ich kann dieses Nebenfach allen interessierten Kommilitonen mit gutem Gewissen weiterempfehlen.

Zum Abschluss noch etwas zum Grübeln: Die Planetenbahnen sind grundsätzlich immer geschlossen wie in der Animation. Nur die Formen sind verschieden. In der Prüfung hat mich der Professor gefragt, ob es denn auch nicht-geschlossene Bahnen gibt. Sein Mitarbeiter meinte als Tipp: „Dann ist es gar kein Planet mehr“.
Also was dann? 😉

 

Eintrag von Michael, Masterstudium Informatik, 05.09.2017

2 Responses

  1. benedikt 6. September 2017 / 8:13

    ein Komet?

    • Michael Dietrich 6. September 2017 / 23:20

      Tatsächlich unterscheidet man zwischen Kometen, Asteroiden, Meteoren, Meteoriten und Meteoroiden, wobei die Abgrenzung nicht immer eindeutig ist.
      Aber ja, an einen Kometen dachte ich auch. 🙂

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.

Time limit is exhausted. Please reload CAPTCHA.