Erlebnisbericht

Fraunhofer-Institut für Algorithmen und Wissenschaftliches Rechnen SCAI

Themen aus dem Sommerpraktikum

zusammengefasst von der Praktikantin Angelina Steffens (15)

Die ersten Schritte im SCAI-Sommerpraktikum waren Einführungen in wichtige Hilfsmittel, mit denen die SCAI-Forscher täglich arbeiten:

Einführung in Linux

Linux ist ein weniger verbreitetes Betriebssystem als Microsoft Windows, ist dafür aber ein Open-Source-Produkt. Das bedeutet, dass es frei zugänglich ist und von jedem User weiterentwickelt werden kann.

Programmieren mit Python

Python ist eine der vielen Programmiersprachen, wie C++, Pascal oder Java. Sie ist weniger bekannt, jedoch leicht zu erlernen.

Einführung in die numerische Behandlung partieller Differentialgleichungen

Die Basis für partielle Differentialgleichungen sind Ableitungen – ein Thema, das noch in der Oberstufe des Gymnasiums behandelt wird. Eine Ableitung, die auch Differentialquotient genannt wird, ist die Steigung der Tangente einer mathematischen Funktion. Ausführlicher erklärt: Funktionen kennt fast jeder aus der Schule. Bei einer linearen Funktion ist die erste Ableitung gleich die Steigung, denn wenn man eine Tangente an eine Gerade legt, so ist die Tangente gleich der Geraden und hat deren Steigung. Wenn man jetzt aber keine lineare Funktion hat, sondern eine Exponentialfunktion (das wären Funktionen mit einem „Bogen“), dann legt man eine Tangente an einen Punkt und liest daran die Steigung ab. Das ist dann die erste Ableitung der Funktion in diesem Punkt. Die Ableitung einer konstanten Funktion ist 0, denn hier existiert keine Steigung. Die zweite Ableitung einer linearen Funktion ist ebenfalls gleich 0, denn die erste Ableitung ist eine Konstante. Um die Ableitung einer allgemeineren Funktion berechnen zu können, muss man die Steigung der Tangente „annähern“. Ableitungen werden mit einem ‘ gekennzeichnet.

Neben Funktionen einer Unbekannten gibt es auch Funktionen, die von zwei Unbekannten abhängen.

Statt gewöhnlichen Ableitungen betrachtet man nun partielle Ableitungen. Wenn man die Ableitung von der ersten Variablen berechnen möchte, so geht man davon aus, dass die zweite Variable eine Konstante ist; umgekehrt verfährt man genauso.

Das bedeutet für Differentialgleichungen:

  • Gewöhnliche Differentialgleichungen (DGL) sind Gleichungen,
    in denen die n-te Ableitung einer Funktion vorkommt.
  • Partielle Differenzialgleichungen (PDE) sind Gleichungen,
    in denen partielle Ableitungen einer Funktion vorkommen.

Numerische Lösung großer Gleichungssysteme und Programmierung folgender Verfahren:

Gaußsches Eliminationsverfahren

Dieses Verfahren kennt manch einer vielleicht auch aus der Schule. Es ist jedoch nicht effizient genug, um bei wissenschaftlichen Berechnungen genutzt zu werden.

Man formt die Gleichungen in der Matrix so um, dass am Ende in jeder unten folgenden Gleichung eine Unbekannte weniger steht. Das bedeutet, dass am Ende eine Unbekannte gleich einer Zahl steht und in die Matrix von unten nach oben eingesetzt und diese somit gelöst werden kann. Der letzte Schritt wird auch Rückwärtseinsetzen genannt.

Gauß-Seidel-Verfahren

Dies ist ein „iteratives“ Verfahren, bei dem im Gegensatz zum Gaußschen Eliminationsverfahren mit irgendeiner Startnäherung begonnen wird, im Zweifelsfall mit 0. Der Fehler wird dann kontinuierlich reduziert. Hier werden, anders als bei sonstigen iterativen Verfahren, immer die neuen, schon berechneten Werte genutzt.

Mehrgitterverfahren

Das Mehrgitterverfahren ist das Schnellste aller zurzeit bekannten Verfahren zum Lösen großer Gleichungssysteme, eventuell mit Millionen von Unbekannten. Hierbei wird ausgenutzt, dass viele iterative Verfahren den Fehler glätten und außerdem glatte Größen auch auf gröberen Gittern gut angenährt werden können. Eine Mehrgitteriteration besteht aus einer Vorglättung auf dem feinen Gitter, der Berechnung des Defekts (Ein Maß für den Fehler), dem Transfer des Defekts auf ein gröberes Gitter, der dortigen Berechnung der Lösung, einer Übertragung auf das feinere Gitter und einer Nachglättung zur Korrektur der Lösung auf dem feinen Gitter.

Computerchemie

Wie der Name es schon sagt, hat dieses Thema mit dem Bereich Chemie zu tun. An Computern wird simuliert, wie sich bestimmte Materialien verhalten. Hierbei nähert sich der Computer der bestmöglichen Lösung und reduziert somit die Notwendigkeit gefährlicher und teurer Versuche. Es werden verschiedene Werte berechnet, zum Beispiel die Zustände, die Differenz der Entropie („Unordnung“) oder auch die Temperatur. Sowie das Experiment, kann auch die Computersimulation Messwerte erzeugen, die man sich anschließend anschauen und statistisch auswerten kann. Um Computersimulationen durchzuführen gibt es verschiedene Verfahren, wie die Molekulardynamik. Sie berechnet aus den Wechselwirkungen der Moleküle deren Bewegung und Position, um daraus beispielsweise den Druck und die Temperatur einzelner Teilchen zu bestimmen. Es werden meistens periodische Randbedingungen für die Simulation genutzt. Das bedeutet, dass ein Teilchen, das den Körper auf der einen Seite verlässt, auf der gegenüberliegenden Seite wieder eintritt. Ein einfaches Modell für gelöste Teilchen in Wasser ist die Brownsche Bewegung, die im Computer mithilfe einer einfachen Zufallsbewegung simuliert und analysiert werden kann. Auch kann die Löslichkeit von Laktose in Wasser bei Instant-Cappuccino oder die Elastizität von Autoreifen berechnet werden.

Numerische Strömungsmechanik (Programmpaket Fluent)

Bei der Strömungsmechanik wird das Verhalten von Strömungen simuliert. Dabei werden insbesondere für jeden Punkt der Strömung die Geschwindigkeit und der Druck in diesem Punkt berechnet. Am Computer kann man sich verschiedene Größen visualisieren lassen, beispielsweise den Betrag der Geschwindigkeit. Diese Strömungssimulationen werden häufig mit komplexen Gleichungen in realen Anwendungsbereichen verwendet, Beispiele sind Wettervorhersagen, die Flugzeugentwicklung Hochwassersimulationen. In einem laufenden Projekt von SCAI wurde die Strömung in einer Kammer mit Abmessungen von unter einem Zentimeter berechnet.

Ansprechpartner zum Sommerpraktikum

Dr. Anton Schüller

stv. Leiter der Abteilung Simulationsanwendungen

Tel.: 02241-14-2572

anton.schüller@scai.fraunhofer.de