zur Startseite

Themen studentischer Arbeiten bei SGS und SSE

Wir haben in unseren beiden Abteilungen viele aktuelle und spannende Herausforderungen für studentische Arbeiten und Abschlussarbeiten zu bieten. Auf dieser Seite haben wir Themengebiete aufgeführt – wenn Ihnen davon etwas gefällt, fragen Sie am besten bei den dort genannten Ansprechpartnern nach, was für konkrete Themen derzeit verfügbar sind (Wie überall ist eine Anfrage nach einem Thema erfolgsversprechender, wenn sie konkret ist: Was für einschlägige Vorlesungen haben Sie gehört? Was für sonstige Fähigkeiten - etwa Programmieren in C++, CUDA,... - bringen Sie mit?  Sie dürfen natürlich auch selbst Themenvorschläge machen).

Inhaltsverzeichnis


NumStoch++ (Inhalt↑)

Du hast die Numerik- und/oder die Stochastik-Vorlesung nicht absolut schrecklich gefunden? Kein Problem, das kann vorkommen. Und bietet die Möglichkeit, in der Richtung weiterzumachen, zum Beispiel mit einem Bachelorprojekt Informatik.

Auch wenn die meisten der in der Vorlesung behandelten Dinge altbekannt sind und längst in den Lehrbüchern als Konserve vorgehalten werden, ist es von einigen der NumStoch-Themen nicht weit zu Fragestellungen aktueller Forschung. So kann man beispielsweise

  • Ursachen und Konsequenzen des Umstands nachspüren, dass Polynominterpolation in Tschebyscheff-Punkten so himmelweit besser ist als in äquidistanten Punkten,
  • sehen, dass man mit Splines noch coolere Dinge machen kann, als Saurier zu malen, und
  • lineare Gleichungssysteme in Größen kennenlernen, bei denen sich das Nachdenken über Effizienz lohnt.
  • Freunde der Stochastik schauen evtl. auch unten im Kapitel Uncertainty Quantification nach.
  • Oder man kann auch die Lehrmaterialien bauen, die man selber zum Lernen gerne gehabt hätte: Bunt, bewegt, evtl. aus dem 3D-Drucker.
Interpolation in äquidistanten Punkten Interpolation in Tschebyscheff-Punkten Hierarchische B-Spline-Basis

Kontakt: Stefan Zimmer, Michael Rehme, Julian Valentin, Malte Brunn

Stichworte: Funktionsapproximation, Splines, numerische lineare Algebra

Vorkenntnisse: Numerik, Stochastik, Grundlagen des wissenschaftlichen Rechnens (Letzteres ist bei Bachelor-Forschungsprojekten auch hilfreich, meistens kommt das Projekt aber früher im Studium als diese Vorlesung - dann geht's auch ohne).


Verfahren zur hochdimensionalen Funktionsdarstellung (Inhalt↑)

Wir lernen in der Numerik, Funktionen in einer Veränderlichen im Rechner zu approximieren (zum Beispiel durch Polynome oder Splines) und sehen in den Grundlagen des wissenschaftlichen Rechnens Beispiele für die Darstellung von Funktionen in zwei bis vier Dimensionen. Wer sich fragt, wieso dies spannend und praxisrelevant ist, muss nur daran denken, wie wichtig datengetriebene Verfahren geworden sind. Die brauchen genau das: Wir haben eine funktionale Abhängigkeit, die wir aber nicht in einen Algorithmus gießen können, sondern die wir aus den Daten extrahieren müssen. Ähnlich hängt das Verhealten eines Autos beim Crash-Test von einer Menge von Blechdicken, Krümmungen und Materialparametern ab.

Allerdings werden sich spannende Anwendungen nicht mit vier Veränderlichen begnügen und wir müssen uns fragen, ob mehr (viele!) Dimensionen auch möglich sind. Prinzipiell ginge das mit den bekannten Techniken schon, wird aber schnell astronomisch teuer („Fluch der Dimensionalität” nennt man das). Andererseits sind hochdimensionale Daten auch „anders” (hochdimensionale Hyperwürfel bestehen z. B. fast nur noch aus Oberfläche) und wir haben sowohl Bedarf als auch Ansatzpunkte für Verfahren, die mit Funktionen in vielen Veränderlichen arbeiten. Hochdimensionale Probleme treten in einer Vielzahl von Bereichen und Anwendungen auf: von Biophysik bis Formoptimierung, von Data Mining bis Plasmaphysik, von Crash-Simulationen bis zur Quantifizierung von Unsicherheiten (für letztere siehe Uncertainty Quantification), von Bruchsimulationen bis zur Finanzmathematik.

Funktion in zwei Veränderlichen

Ein Ansatz, der bei SGS intensiv verfolgt wird, sind (Hörer der Ausgewählten Kapitel des Wissenschaftlichen Rechnens wissen das) die so genannten Dünnen Gitter, bei denen wir durch geschickte Wahl der Ansatzfunktionen effiziente Funktionsdarstellungen bekommen. Besonders interessant dabei: Diese Ansatzfunktionen bringen eine Menge Herausforderungen mit sich, nicht zuletzt algorithmischer Art, die viele schöne Arbeiten ermöglichen! Und wer es anschaulicher mag: Das ist wie eine optimale Strategie für das Spiel Schiffe Versenken - nur eben in mehr als zwei oder drei Dimensionen.

Funktion in zwei Veränderlichen Hierarchische Teilraumzerlegung

Kontakt: Dirk Pflüger, Stefan Zimmer, Julian Valentin, Michael Rehme

Stichworte: Hochdimensionale Probleme, Funktionsapproximation

Vorkenntnisse: Numerik, Stochastik, Grundlagen des wissenschaftlichen Rechnens (Letzteres ist bei Bachelor-Forschungsprojekten auch hilfreich, meistens kommt das Projekt aber früher im Studium als diese Vorlesung - dann geht's auch ohne). Die Ausgewählten Kapitel des Wissenschaftlichen Rechnens wären eine perfekte Grundlage, sind aber nicht notwendig.


Höchstleistungsrechnen (High-Performance Computing) (Inhalt↑)

Schon seit einigen Jahren stagniert die Taktfrequenz der Prozessoren. Im Gegenzug werden immer mehr Kerne in einem Computer verbaut, um die Leistung der Hardware zu steigern. In Zeiten, in denen jedes Gerät von der Armbanduhr bis zum Rechenzentrum über mehr als einen Rechenkern verfügt, ist es nötig, die vorhandenen Ressourcen auch bestmöglich zu nutzen. Die Spanne an paralleler Hardware reicht von simplen Mehrkernprozessoren über Grafik- und Beschleunigerkarten sowie Computer mit mehreren CPUs zu Rechenzentren und Clustern aus vielen vernetzten Systemen. Entsprechend vielfältig sind die Parallelisierungsansätze, die in der Praxis zum Einsatz kommen: Verschiedene Probleme, Simulationen und Anwendungen benötigen, abhängig von der zu nutzenden Hardware, unterschiedliche Ansätze zur Parallelisierung.

Und wer es größer mag: Unsere Anwendungen sind so rechenaufwändig, dass selbst die größten Rechner der Welt (noch) nicht ausreichen und wir uns auf die nächste Generation an Exascale-Computern freuen. Und auf diesen wir alles noch eine Stufe komplizierter: Algorithmen müssen neu entworfen werden, damit sie auch auf zukünftigen Rechnern noch skalieren. Und sie müssen fehlertolerant sein, damit sie mit Hardwareausfällen während der Rechenzeit klarkommen!

Kontakt: Malte Brunn, Steffen Hirschmann, David Pfander, Dirk Pflüger

Stichworte: HPC, Grafikkarten, Kommunikation, Lastbalancierung, Fehlertoleranz, Skalierbarkeit

Vorkenntnisse: Programmierkenntnisse in C++


Partikelsimulationen (Inhalt↑)

Partikelsimulationen bieten die Möglichkeit reale Systeme sehr präzise zu beschreiben und haben daher ein sehr breites Anwendungsspektrum. Mit Hilfe eines Molekulardynamik-Ansatzes können wir beispielsweise Prozesse auf der Mikroskala besser verstehen. Dabei werden Kräfte zwischen einzelnen Molekülen oder auch gröberen Partikeln berechnet.

Diese genaue Betrachtung führt allerdings dazu, dass bereits bei kleinen Systemen eine Vielzahl von Partikeln vorhanden ist. Vor allem inhomogene Verteilungen stellen eine Herausforderung bezüglich der Lastbalancierung dar.
Ein weiterer Schwerpunkt aktueller Forschungsarbeiten liegt auf der Simulation von Partikeltransport in Fluiden (Kopplung mit Lattice-Boltzmann Methode). Aktuelle Herausforderung ist hierbei die physikalisch korrekte Modellierung von langreichweitigen Wechselwirkungen sowie Partikelkollisionen.

Aktuelle Anwendungsgebiete sind partikuläre Strömungen in Partikelfiltern oder Agglomerationsbildungen von Rußpartikeln.

Durchströmte Faserstruktur mit vergrößerter Darstellung ankommender Staubpartikel
Trajektorien elektrostatisch neutraler Partikel durch eine einfache Faserstruktur
Trajektorien elektrostatisch geladener Partikel durch eine einfache Faserstruktur
Zunehmende Imbalance mit Simulationsdauer verschlechtert parallele Performance
Beispiel einer nicht-regulären Unterteilung der Simulationsdomäne

Kontakt: Carolin Schober, Steffen Hirschmann

Stichworte: Molekulardynamik, 4-Wege-Kopplung, Lastbalancierung

Vorkenntnisse: Grundlagen des wissenschaftlichen Rechnens


Data Mining (Inhalt↑)

Data Mining beschäftigt sich mit dem Lernen von Mustern in Datensätzen und ist damit ein Teilgebiet des maschinellen Lernens. Im letzten Jahrzehnt ist dabei die Größe der Datensätze immer weiter gewachsen, sodass man von Big Data spricht. Damit sind neue Herausforderungen gemeint, die sich durch das drastische Wachstum der Datensätzen auf Millionen bis Milliarden von Datenpunkten ergeben haben. Im Zeitalter von Big Data wurde es erstmals möglich, komplexe Zusammenhänge nahezu vollautomatisch von Computern erlernen zu lassen.

Viele Probleme im Data Mining Umfeld lassen sich auf einige Schlüsseloperationen zurückführen. Dies sind insbesondere Regression, Klassifikation und Clustering. Wir arbeiten an neuen algorithmischen und mathematischen Methoden, die diese Data Mining Operationen weiter beschleunigen oder die Lernqualität verbessern. Von herausragender Wichtigkeit ist dabei die Methode der dünnen Gitter, die besonders für das Lernen höherdimensionaler Daten gut geeignet ist.

Zusätzlich zu den eher numerischen oder statistischen Aspekten beschäftigen wir uns auch mit der effizienten Implementierung der Data Mining Algorithmen. Dünngitter-basiertes Data Mining wurde schon auf Supercomputern mit vielen Tausend Rechenkerne sowie auf Grafikkarten eingesetzt.

Wir bieten studentische Arbeiten zu verschiedenen Schwerpunkten an:

  • Weiterentwicklung von Dünngitter-basiertem Data Mining, zum Beispiel durch ein neues Verfeinerungskriterium oder dem Lernen von zeitabhängigen Daten
  • Erstellen von effizienten Implementierungen für Grafikkarten, Vektorprozessoren, Smartphones, FPGAs, ...
Clustering Classification Hierarchische B-Spline-Basis

Kontakt: David Pfander, Dirk Pflüger

Stichworte: Data Mining, Big Data, Clustering, Klassifikation

Vorkenntnisse: Numerik und/oder Statistik, Bereitschaft sich mit mathematisch anspruchsvollen Methoden auseinanderzusetzen, gute Kenntnisse in C++ (nützlich: OpenCL, CUDA, OpenMP, MPI, ...)


Uncertainty Quantification (Inhalt↑)

Beeinflusst die Luftreibung unsere Experimente oder können wir sie ignorieren?

Wie modellieren wir einen Parameter, den wir nur schätzen können?

Versucht man Phänomene der realen Welt durch Simulationen zu approximieren, nimmt man zwangsläufig erhebliche Vereinfachungen in Kauf wodurch Vorhersagen ungenau werden. Im Bereich der
Quantifizierung von Unsicherheiten (UQ) will man diese Ungenauigkeiten bzw. Unsicherheiten bemessen bzw. quantifizieren. Beim frequentistischen Ansatz werden dafür Eingabeparameter der Simulation mit einem stochastischen Ansatz modelliert: Zufallsvariablen. Dadurch wird die Simulation zu einem stochastischen Modell und dessen Vorhersagen zu stochastischen Größen deren Verteilung wesentlich von den Verteilungen der Eingabeparameter abhängt. Datengetriebene Ansätze und Bayessche Kalibrierung tragen wesentlich zu einer objektiven stochastischen Beschreibung der Eingabeparameter bei.

Schließlich erhält man als Zielwerte keine Punktschätzungen mehr, sondern Erwartungswerte und Varianzen, die beschreiben was die wahrscheinlichsten Ergebnisse sind, abhängig von den unbekannten
Eingabedaten. Außerdem lässt sich quantifizieren, wie relevant welcher Parameter eigentlich für die Simulation ist und ob man eventuell auch auf ihn verzichten kann, ohne die Genauigkeit des Modells nennenswert zu reduzieren.

Kontakt: Michael Rehme, Dirk Pflüger

Stichworte: Stochastik, Modellierung

Vorkenntnisse: Numerik und Stochastik


Inverse Probleme (Inhalt↑)

Bei inversen Probleme wollen wir ausgehend von einer beobachteten Wirkung eines Systems auf die der Wirkung zugrunde liegende Ursache zurück schließen. Das Gegenteil eines inversen Problems ist das direkte (oder vorwärts) Problem. Angenommen wir haben ein mathematisches Modell, das abhängig von einigen Parametern die Wirkung eines Systems beschreibt. Das direkte Problem beschreibt dann die Simulation dieses Systems mit dem Wissen über die Modellparameter.Im inversen Problem wollen wir eben diese Modellparameter ermitteln, sodass die Simulation des direkten Problems best möglichst mit den Beobachtungen des realen Systems übereinstimmt.

Dies ist ungleich schwieriger und oftmals gar nicht lösbar (falls nicht einige Tricks angewandt werden). Inverse Probleme haben in der Regel keine eindeutige Lösung (mathematische Stabilität) und auch ihre numerische Lösung ist instabil. Um trotzdem eine Lösung des Problems zu ermöglichen verwenden wir Tricks wie beispielsweise Regularisierung, Kontinuitätsschemata und Multi-Level Ansätze.

Im speziellen betrachten wir zwei inverse Probleme 
  • medizinische Bildregistrierung und
  • Kalibrierung von bio-physikalischen Modellen zur Simulation von Gehirntumor Progression
die als nichtlineare Optimierungsprobleme mit PDGL Beschränkungen formuliert werden können. Damit nicht genug koppeln wir beide Probleme um ein Verfahren zur Prognose, Analyse, und Vorhersage von Gehirntumoren zu entwickeln.
Parameteridentifikation: Inverses Problem
Veranschaulichung der gekoppelten biophysikalischen Modellkalibrierung und medizinischen Bildregistrierung.
 
Die Lösung des Problems bedarf ausgereifte Verfahren in den verschiedensten Bereichen der numerischen Simulation und wirft interessante Themenstellungen auf, wie z.B.
  • Entwurf der Kopplungsschemata, nichtlineare PDGL beschränkte Optimierung
  • Entwicklung von parallelen, robusten und effizienten Lösern für das resultierende System von partiellen 
  • Differentialgleichungen; insbesondere matrixfreie, inexakte Newton Verfahren
  •  Optimierung von Berechnungskernen (FFT, Interpolation, Semi-Lagrangian) auf parallele Hardware (Haswell, GPU, KNL, etc.) 
  • Multilevel Ansätze und Kontinuitätsschemata um Konvergenz zu lokale Minima zu verhindern
  • Vorkonditionierer für die inexakten Newton Verfahren (Domain-Decomposition, Multilevel)
  • Visualisierungstechniken zur Aufbereitung der Daten
 


Kontakt:
Malte Brunn, Klaudius ScheufeleMiriam Mehl

Stichworte: Nichtlineare Optimierung, Optimalsteuerung, Biophysikalische Simulationen, Modellkalibrierung, Bildregistrierung

Vorkenntnisse: Grundlagen des wissenschaftlichen Rechnens, Numerische und Stochastische Grundlagen


Gekoppelte Simulationen und Multi-Physik (Inhalt↑)

Viele Vorgänge lassen sich nur verstehen, wenn sie durch eine umfassende Simulation, die alle Teilkomponenten abbildet, beschrieben werden. Da eine solche Simulation insgesamt extrem viele Rechenschritte und Datenoperationen ausführen, ist man häufig auf die Verwendung eines Rechenclusters angewiesen, das eine hohe Anzahl Prozesse nebenläufig abarbeiten kann. Beispielsweise verwendet der aktuelle Cluster "Hazel Hen" des HLRS 185088 Cores.

Beispiele sind die Geräusche eines Hubschraubers, für die sowohl die biegsamen Rotorblätter zusammen mit der hochturbulenten Luftströmung als auch das daraus resultierende akustische Fernfeld, also die Schallwellen betrachtet werden müssen. Für solche Multi-Physik-Simulationen sind häufig bereits hochparallele Programme vorhanden, die für die Berechnung eines Teilbereichs, wie z.B. nur der Verformung der Rotorblätter, besonders geeignet sind. Für die Gesamtsimulationen müssen alle Teilprogramme verknüpft werden:

  • in programmtechnischer Hinsicht, indem korrekter Datentransfer mit eventueller Konvertierung auf verschiedene Gitter zwischen den Komponenten durchgeführt wird
  • in numerischer Hinsicht, um Stabilität, Konvergenz und Effizienz sicherzustellen
  • im Hinblick auf eine effiziente Ausnutzung der Rechnerarchitektur des Rechenclusters.

Eine am Institut entwickelte Software-Bibliothek, die diese Funktionalität effizient umsetzt, ist preCICE. Die Struktur wird durch folgende Grafik beschrieben:

Ein weiterer Anwendungsfall ist der folgende: Ein menschlicher Muskel, wie beispielsweise der Biceps brachii, der zum Beugen des Unterarms benötigt wird, ist ein komplexes System, für das man für medizinische Anwendungen gerne ein genaues Simulationsmodell erstellen würde. Wie auf der folgenden Abbildung zu sehen, spielen mehrere Komponenten eine Rolle. Über eine elastische Sehne ist der Muskel typischerweise auf jeder Seite mit Knochen verbunden. Der Muskelbauch besteht aus in Bündeln vorkommenden Fasern, dessen Struktur man im Querschnitt von einem Stück Fleisch kennt. Die Fasern erzeugen Kraft und kontrahieren, indem sich die Sarkomere auf molekularer Ebene zusammenziehen. Außerdem ist wichtig, wie die Information, dass der Muskel aktiviert werden soll, bei den Sarkomeren ankommt. Dabei sind Nervenzellen und elektrische Potentiale wichtig. 

Für die Gesamtsimulation müsse diese Komponenten zusammenarbeiten. Auch hier können aussagekräftige Ergebnisse nur unter Anwendung von Höchstleistungsrechnen erzielt werden, was weitgehende Bedingungen an Numerik und Softwareumgebung stellt. Zur Reduktion des Rechenaufwands können sog. Model-Order Reduction-Verfahren angewendet werden.

 

 Kontakt:

preCICE Coupling Library: Florian Lindner, Amin Totounferoush

Muskelsimulation: Benjamin Maier, Nehzat Emamy

Stichworte: Mehrskalige Simulation, fluid-structure-interaction, HPC, MPI, interpolation, radial-basis functions, model-order reduction

Vorkenntnisse: Variiert je nach Aufgabengebiet, empfehlenswert z.B.: C++, Python, Höchstleistungsrechnen, numerische Grundlagen


Kontinuumsmechanik (Inhalt↑)

Für große Simulationsgebiete stoßen mikroskopische Simulationsmethoden schnell an ihre Grenzen, da im zu simulierenden Gebiet zu viele Partikel vorkommen. Daher sind meso- oder makroskopische Simulationsverfahren nötig, in dem nicht mehr individuelle Atome oder Moleküle simuliert werden. Stattdessen wird das simulierte Medium, beispielsweise eine Fluidströmung, durch Superpartikel oder eine kontinuierliche Darstellung repräsentiert.

Auf diesem Gebiet existiert eine Reihe verschiedener Verfahren, beispielsweise die Lattice-Boltzmann Methode (LBM), Smoothed Particle Hydrodynamics (SPH), finite Elemente Methode (FEM) oder finite Volumen Methode (FVM), die für verschiedene Anwendungen besser oder schlechter geeignet sind. LBM ist beispielsweise sehr leicht zu parallelisieren während FVM sehr leicht physikalische Erhaltungssätze erfüllt. FEM ist besonders für strukturmechanische Probleme, wie die Berechnung von Lastabtragung in Bauwerken, populär.

Um das Simulationsgebiet weiter vergrößern zu können, erlauben dynamisch-adaptive Gitter, die Hauptrechenlast auf die Gebiete zu beschränken, die von besonderem Interesse sind. Dies sind bei Strömungssimulationen beispielsweise die Bereiche um Hindernisse oder Regionen mit großen Geschwindigkeitsgradienten.

Kontinuumsmechanische Simulationen bilden eine Basis für Anknüpfungspunkte zu weiteren Themenbereichen: Sollen Partikelsimulationen von einer Hintergrundströmung beeinflusst werden, wird die Hintergrundströmung kontinuumsmechanisch simuliert und beispielsweise durch Kraftterme an die Partikelsimulation gekoppelt.

Kontakt: Carolin Schober

Stichworte: Strömungssimulation, adaptive räumliche Diskretisierung

Vorkenntnisse: Grundlagen des wissenschaftlichen Rechnens, möglichst auch Numerische Simulation, die Ausgewählten Kapitel des wissenschaftlichen Rechnens oder High Performance Computing.