Student Projects: Difference between revisions
No edit summary |
No edit summary |
||
Line 53: | Line 53: | ||
Further information on possible projects: [http://www5.in.tum.de/lehre/CFD_projects_en.html Concrete project topics in Computational Fluid Dynamics (CFD)] | Further information on possible projects: [[Concrete project topics in Computational Fluid Dynamics (CFD)|Concrete project topics in Computational Fluid Dynamics (CFD)]] | ||
<!--[http://www5.in.tum.de/lehre/CFD_projects_en.html Concrete project topics in Computational Fluid Dynamics (CFD)]--> | |||
'''Beside the listed topics for diploma and master theses, individual topics and suggestions are appreciated and welcome as well! Just contact one of our team so that we can discuss your ideas!''' | '''Beside the listed topics for diploma and master theses, individual topics and suggestions are appreciated and welcome as well! Just contact one of our team so that we can discuss your ideas!''' |
Revision as of 06:52, 22 June 2010
(English text follows below)
Diese Seite wendet sich an alle, die sich vorstellen können, am Lehrstuhl SCCS eine
- studentische Arbeit jeglicher Art
- (Bachelor-/Master-/Diplomarbeit, PSE, SEP, Studienarbeit, IDP, Forschungsprojekt unter Anleitung, ...)
- in nahezu jedem Studiengang
- (Informatik, Mathematik, CSE)
zu beginnen oder als studentische Hilfskraft zu arbeiten.
Da uns individuelle Präferenzen und das konkrete Interesse für Themen wichtiger sind als der formale Rahmen, schreiben wir im Regelfall keine konkreten Arbeiten aus, sondern stellen im Folgenden Themen vor, in denen wir Euch Arbeiten anbieten können.
Falls Ihr Euch für eines davon interessiert: einfach per Mail anfragen (Fragen kostet nix und verpflichtet zu nix!).
(Das SCCS Kolloquium ist eine weitere gute Gelegenheit, etwas über Themen zu lernen, die bei uns bearbeitet werden; Gäste sind immer willkommen!)
Beispiele für vergangene studentische Projekte findet Ihr unter der Rubrik Publications unter den Rubriken Master and Bachelor Thesis sowie Student Theses/SEP/IDP
This page is intended for all students who would like to do
- any kind of student project
- (Bachelor/Master/Diploma thesis, semester project, guided research, ...)
- in (almost) any kind of program
- (Informatics, Mathematics, CSE)
or work as a student research assistant at our chair.
As we consider individual preferences and interests for specific topics more important than formal frameworks, we usually do not announce specific projects, but provide a list of topics, instead, where you could work on.
Hence, if you're interested in one of the topics listed below, just contact us by email!
(The SCCS Colloquium is a further opportunity to inform yourself about current topics for projects at our chair; guests are always welcome!)
For examples of previous student projects, see our page on Publications, in particular Master and Bachelor Thesis and Student Theses/SEP/IDP
Computational Fluid Dynamics (CFD)
Error creating thumbnail: Unable to save thumbnail to destination |
Error creating thumbnail: Unable to save thumbnail to destination |
The simulation of various flow phenomena and the development of software for this purpose are among the core subjects of our group. We offer topics for projects (such as PSE) and theses (BA/MA/Diploma) from various application areas such as turbulence, particle transport, effects on a microscale (Brownian motion etc.), and fluid-structure interaction.
To achieve efficient and accurate codes, we apply mathematical methods (finite element method, multigrid, numerical time integration schemes, Lattice Boltzmann method, etc.) as well as computer science techniques (parallelisation, cache- and runtime-optimisation, high performance computing, grid computing, etc.). The focus of a project or a thesis can be chosen to be either in one or both of these two fields.
Further information on possible projects: Concrete project topics in Computational Fluid Dynamics (CFD)
Beside the listed topics for diploma and master theses, individual topics and suggestions are appreciated and welcome as well! Just contact one of our team so that we can discuss your ideas!
Contact:
- Dr. rer. nat. Miriam Mehl: multiphysics simulations, multigrid, finite element methods, high performance computing
- Dr. rer. nat. Tobias Neckel: fluid-structure interaction, particle transport, finite element method, turbulence, multigrid, high performance computing,
- Dr. rer. nat. Tobias Weinzierl: particle transport, multigrid, parallelisation, cache- and runtime-optimisation, high performance computing,
- Philipp Neumann: Lattice Boltzmann fluid simulations, micro- and mesoscale simulation approaches.
- Marion Bendig: multigrid methods, visualisation
Programming of Supercomputers: from Algorithms to Applications
For various systems, ranging from multicore machines to supercomputers (comprising tens of thousands of processors), parallelization and hardware awareness are THE WAY to achieve outstanding performance. Load balancing, minimization of the interprocess communication, or software tuning are just some of the issues playing a decisive role in the development of efficient application software for high performance computers.
Students will typically adapt existing algorithms of practical interest to the requirements of concrete systems, such as shared-memory computers or clusters. The applications in focus are mainly from the field of computational science and engineering (yet not restricted to it!), such as flows and fluid - structure interaction, molecular dynamics or traffic simulation.
Prerequisites:
- Interest in the development of parallel programs for simulations, intended to be run on supercomputers
- Interest in numerical algorithms of practical value in computational applications
- MPI or thread programming basic skills
Some keywords: HPC, load balancing, optimization, MPI, OpenMP
Contact persons:
Efficient (Hardware-aware, Parallel, ...) Implementation of Matrix Operations
Operations on matrices, such as matrix multiplication or solving systems of linear equations (in matrix notation), are fundamental operations that are required in many application scenarios. The respective algorithms might not be too complicated at first sight, however it is a major challenge to implement them on modern hardware - be it multi- or many-core processors or massively parallel supercomputers - in a way as to fully exploit the available performance.
In this field, we explore approaches that distribute matrices recursively into blocks, using special data structures and memory layouts that are based on so-called space-filling curves.
Prerequisites: Lecture "Algorithmen des Wissenschaftlichen Rechnens" (useful, but not strictly required); a certain desire to exploit given hardware up to the last bit of performance is also definitely helpful.
Further information:
- TifaMMy isn't the fastest Matrix Multiplication, yet!
Ansprechpartner: Michael Bader
Tsunami Simulation - Wave Propagation on Adaptive Grids
The propagation of oceanic waves, such as Tsunamis generated by earth quakes, can be modelled by 2D fluid equations (so-called shallow water equations). To numerically solve these models, we use a discretisation on adaptive triangular grids. Adaptivity, i.e. refinement of the grid in critical regions (esp. along the propagating wave front) but also coarsening in less interesting areas, is critical to achieve the desired accuracy in acceptable time.
Such adaptive grids require memory-efficient data structures to store them, but also efficient algorithms and implementations working on these data structures. Our approach is based on Sierpinski space-filling curves, which allows an inherently local (and therefore cache-efficient) algorithm based on stack and stream data structures.
Further aspects are efficient implementation of the discretised equations - including parallelisation -, higher order accurate discretisations, modelling of boundary conditions, etc.
Prerequisites:
- Lecture "Algorithmen des Wissenschaftlichen Rechnens" or "Modellbildung und Simulation" (or similar lectures).
- A certain interest in the simulation of physical phenomena.
Contact: Michael Bader
Further Information: Tsunami Simulation
Grid Computing Applications
Within the field of Grid Computing, multiple disciplines interplay, such as distributed systems, networking, security, software engineering, scientific computing etc. The projects span over a wide range of informatics assignments, comprising the development of grid services, of middleware components for Grid, the implementation of various security mechanisms or of different applications for Grid. The students have the chance to work on challenging topics, that offer an applied perspective to the theoretical concepts learned throughout their study.
Prerequisites:
- Interest in the design and development of distributed simulation programs, intended to be run on supercomputers
- Basic programming skills
Some keywords: C/C++, Java, Python, Globus Toolkit 4, LRZ, GridSFEA, HPC
Contact person: Ekaterina Elts, M.Sc
Further information: Topics in Grid Computing Applications
Dünngitterverfahren zur effizienten Bearbeitung hochdimensionaler Daten
Mehrdimensionale Datensätze erzeugen gewaltige Datenmengen - schon bei zwei oder drei Dimensionen, wie etwa bei räumlich aufgelösten Simulationen, aber erst recht, wenn etwa bei Problemen des Data Minings oder der Finanzmathematik einige dutzend oder auch hundert Dimensionen auftreten.
Dünngitterverfahren, deren Aufwand wesentlich moderater mit Zahl der Dimensionen steigt als bei klassischen Diskretisierungen, bieten hier ein großes Einsparpotential und treiben so die Grenze der handhabbaren Probleme signifikant voran.
Dünngitterverfahren werden in den verschiedensten Anwendungsgebieten, die mit mehreren Dimensionen arbeiten, benötigt: Nicht nur in Ingenieur- und physikalischen Anwendungen muss optimiert, approximiert und integriert werden, auch in KI-Anwendungen wie der Klassifikation müssen beispielsweise zugrunde liegende Zusammenhänge rekonstruiert und angenähert werden. In finanzmathematischen Aufgabenstellungen muss integriert werden, bei Simulationsaufgaben müssen Kennfelder effizient abgelegt werden, ... - die Einsatzmöglichkeiten sind vielfältig.
Error creating thumbnail: Unable to save thumbnail to destination
Aufgaben für studentische Arbeiten ergeben sich einerseits durch den Einsatz dieser Techniken in neuen Anwendungsfeldern - andererseits ist die Methodik dieser relativ neuen Technik noch alles andere als abschließend geklärt: Neben Fragen der richtigen Auswahl von Gitterpunkten und Ansatzfunktionen gibt es auch beliebig viel zu tun, um die teilweise verzwickt-rekursiven Algorithmen, die sich aus diesen Datenstrukturen ergeben, besser in den Griff zu bekommen.
Vorkenntnisse: Eine gewisse Freude an numerischen Fragestellungen sollte man hier mitbringen; optimal, aber nicht notwendig, wären Kenntnisse aus der Vorlesung Algorithmen des Wissenschaftlichen Rechnens.
Kontakt: Dirk Pflüger, Stefan Zimmer
Partielle DGLn und dünne Gitter für die Optionspreisbewertung (PDEs & Sparse Grids for Option Pricing)
Im Rahmen des Forschungsprojekts FIDEUM beschäftigen wir uns mit der effizienten Bewertung von Finanzprodukten (Finanzderivaten). Dies hört sich zunächst sehr finanzlastig an, ist es aber nicht! Die Grundlage zur Berechnung der Preise der Finanzprodukte bildet nämlich eine partielle Differentialgleichung, die sog. Black-Scholes-Gleichung. Diese gilt es effizient zu lösen. Dazu wird in der Regel ein Finite-Elemente- oder ein Finite-Differenzen-Ansatz gewählt. Da Probleme in der Finanzwelt meist höherdimensional sind, bieten sich hier insbesondere dünne Gitter als Grundlage für beide Methoden an.
Um nun möglichst viele verschiedene Finanzprodukte zu bewerten, wird dieser Löser in ein Programm eingebettet, das die unterschiedlichen Finanzprodukte automatisiert (basierend auf der Black-Scholes-Gleichung) bewertet. Dazu wird das jeweilige Finanzprodukt in der von unserem Kooperationspartner Thetaris entwickelten Skriptsprache ThetaML formuliert und eingelesen. Anschließend wird daraus eine Sequenz von Operatoren (z.B. "Warten", "Transaktion", etc.) generiert, die für die Bewertung abgearbeitet werden muss. Alle für die anschließende Berechnungen notwendigen Variablen sowie die Gittergrößen sollen ebenfalls automatisch aus dem Eingabeskript bestimmt werden.
Error creating thumbnail: Unable to save thumbnail to destination
Studentische Arbeiten können sich je nach Studienfach (Informatik, Mathematik, CSE, ...) und Vorlieben in den unterschiedlichsten Bereichen (computational finance, dünne Gitter, Numerik) ergeben. Insbesondere im Bereich der Numerik partieller Differentialgleichungen gibt es vielfältige Aufgabenstellungen, die sich auch sehr gut für Mathematik-Studenten eignen (sowohl als DA/MA als auch als BA bzw. Projekt).
Folgende Themen werden oder wurden bereits bearbeitet:
- Hiwi: Weiterentwicklung der Automatisierung
- Mathe-Projekt: Lösen der Black-Scholes-Gleichung mittels Kombi-Technik
- DAAD-Projekt: Implementierung eines Mehrgitterlösers für die Black-Scholes-Gleichung
- Masterarbeit Informatik: Ein Dünngitter-Löser für die Black-Scholes-Gleichung
- Masterarbeit FIM: Erweiterung des Dünngitter-Lösers um Adaptivität
- Hiwi: Implementierung einer GUI
- Masterarbeit CSE: Entwicklung und Implementierung eines PDE-Lösers basierend auf dem Hull-White-Modell
Weitere Themen sind zum Beispiel:
- Entwicklung und Implementierung eines PDE-Lösers auf der Basis von finiten Elementen für reguläre Gitter
- Weiterentwicklung eines Dünngitterlösers
- Entwicklung und Implementierung anderer stochastischer Modelle als Alternative zu Black-Scholes
- Analyse und Implementierung von Adaptionskriterien bei Anwendung des Transaktionsoperators auf dünne Gitter
- Zeitschrittweitensteuerung für den Black-Scholes-Löser (auf dünnen Gittern)
- Analyse-Tool für dünne Gitter (z.B. als Bachelor-Arbeit)
- automatisches Generieren von partiellen DGLn aus Skripten mit Zufallszahlen
Zudem besteht die Möglichkeit von Praktika beim Kooperationspartner Thetaris.
Vorkenntnisse: Grundkenntnisse im Bereich der Numerik sind bei den meisten Aufgabenstellungen hilfreich. Kenntnisse über dünne Gitter und Finanzmathematik können sich während der Bearbeitung leicht angeeignet werden. Allgemeine Programmierkenntnisse sollten vorhanden sein.
Kontakt: Stefanie Schraufstetter
Präkonditionierung linearer Gleichungssysteme
Zu einem linearen Gleichungssystem Ax=b mit n x n - Matrix A sucht man einen Präkonditionierer M mit der Eigenschaft, dass sich das äquivalente Gleichungssystem
MAx=Mb
besser iterativ lösen lässt, insbesondere soll die neue Matrix MA eine kleinere Kondition haben.
Schwerpunkt sind Präkonditionerer, die z.B. aus einer Normminimierung entstehen, z.B.
min || AM - I ||
für eine vorgegebene Dünnheitsstruktur von A und M. Dazu sind viele kleine Least-Squares-Probleme Cache-effizient zu lösen. Weiterhin können Präkonditionierer betrachtet werden, die - ähnlich wie ILU oder MILU (unvollständige LU-Zerlegungen) - aus einer unvollständigen Lösung von Dreiecksgleichungssystemen entstehen.
Zu bearbeiten sind hier die Definition und die mathematischen Eigenschaften von M, eine effiziente (parallele) Implementierung, und Anwendungen im Bereich Regularisierung und Glättung z.B. in der Bildverarbeitung oder bei der Lösung von PDE's.
File:StudentProjects orsirr.gif
Vorkenntnisse: Numerisches Programmieren oder Numerik, Lineare Algebra, ev. MPI
Kontakt: Univ.-Prof. Dr. Thomas Huckle
Numerische Probleme im Rahmen des Quantencomputing
Zur Implementierung effizienter Quantenalgorithmen müssen Quantenzustandsübergänge kontrolliert werden. Dazu benötigt wird die numerische Berechnung von Matrizen exp(i*H), wobei H eine dünnbesetzte, strukturierte Matrix (Hamiltonian) ist. Die Berechnung der Exponentialfunktion einer Matrix ist ein notorisch schlecht konditioniertes Problem. Hier sollen verschiedene Berechnungsmöglichkeiten hergeleitet, implementiert und verglichen werden.
Weiterhin werden von den Matrizen Aj=expm(i*Hj) alle Produkte A1 * ... * Am , m=1,2,...,n, benötigt. Diese Matrixprodukte müssen effizient und parallel berechnet werden. Dazu läuft z.Z. ein Projekt mit Implementierungen auf einem Infiniband-Cluster und auf dem HLRB II. Der Übergang zu Größeren Problemen erfordert hier auch einen Wechsel in der Parallelisierungsstrategie, da bei größeren Matrizen auch das Matrixprodukt selbst zu parallelisieren ist.
Vorkenntnisse: Numerisches Programmieren oder Numerik, Lineare Algebra, Analysis, ev. MPI
Kontakt: Univ.-Prof. Dr. Thomas Huckle
Untersuchung von Multigridverfahren
Multigridverfahren zur Lösung eines linearen Gleichungssystems verwenden zwei Techniken zur iterativen Lösung: Ein Iterationsverfahren (Glaettung) reduziert den hochfrequenten Fehler; dadurch kann das Problem auf ein gröberes lineares Gleichungssystem A2 reduziert werden, das mit weniger Aufwand gelöst werden kann. Das gegebene physikalische Problem wird dabei durch die Projektion von einem feinen Gitter (feinen Diskretisierung) auf ein grobes Gitter abgebildet:
A2 := PT A P
Zur Analyse solcher Verfahren kann die gegebene Matrix durch eine Funktion (Symbol) dargestellt werden. So wird z.B. die Matrix tridiag(-1,2,-1) dargestellt durch die Funktion
f(x) = -1*exp(ix) + 2 – 1*exp(-ix) = 2 – 2 cos(x) .
Durch diese Technik kann die gesamte Analyse eines Multigridverfahrens auf die Untersuchung kleiner Matrixfunktionen reduziert werden. Ziel dieser Untersuchungen ist es, eine Kombination von Glättungs- und Projektionsoperatoren zu bestimmen, die orthogonal zueinander sind, d.h. ein Glättungsschritt und eine Grobgitterlösung liefern bereits die gesuchte Lösung. Man spricht hierbei davon, dass in diesem Fall das Multigridverfahren, sogar ein direkter Löser ist.
Weiterhin können algebraische Multigridverfahren untersucht werden, die dadurch entstehen, dass einige benachbarte Punkte der gegebenen Diskretisierung zu einem neuen Grobpunkt verschmolzen werden. Man spricht hier von Aggregation Multigrid. Auch bei diesem Ansatz sollen durch Übergang zu der Funktionsdarstellung optimale Multigridverfahren bestimmt werden,.
Auch mittels matrix-abhängiger Projektionen lassen sich Black-Box-Mulrigridverfahren definieren. Hierbei wird durch Betrachtung der Matrix, bzw. der PDE, automatisch eine passende effiziente Projektionsmatrix generiert.
Error creating thumbnail: Unable to save thumbnail to destination
Vorkenntnisse: Numerisches Programmieren oder Numerik, Lineare Algebra
Kontakt: Univ.-Prof. Dr. Thomas Huckle
Regularisierungsmethoden in der Bildverarbeitung
Um gestörte Bilder wieder zu rekonstruieren, sind oft extrem schlecht gestellte Gleichungssysteme zu lösen. Dazu existieren verschiedene Regularisierungstechniken, um das Originalbild möglichst gut wiederherzustellen. Man kann z.B. das Gleichungssystem modifizieren (Tikhonov Regularisierung) oder auch iterative Verfahren verwenden. Im Rahmen des Projekts sollen verschiedene neue Regularisierungsverfahren entwickelt und getestet werden.
Vorkenntnisse: Numerisches Programmieren oder Numerik, Lineare Algebra
Kontakt: Univ.-Prof. Dr. Thomas Huckle
Molecular Dynamics Simulation
Molecular Dynamics Simulation deals with the simulation of materials (or mixtures of materials) on a molecular level. Even for a small simulation domains the number of particles in that domain (millions of particles) and therefore the computational effort is immense. What makes it even worse is that the molecules are often not evenly distributed in the simulation domain. Therefore, efficient algorithms and parallelisation strategies are necessary to deal with this computational challenge. The focus of student work in this field is mainly on data structures and parallelisation but can also be in any other field related to molecular dynamics.
Error creating thumbnail: Unable to save thumbnail to destination
Examples for challenges in this field are:
- Load-balanced parallelization using space-filling curves and KD-trees
- Adaptive data structures for finding neighbour particles
- Improved time stepping schemes
Prerequisites:
- Basic programming skills (in the best case C++)
Contact:
Verkehrssimulation
Verkehr spielt heutzutage eine immer größere und wichtigere Rolle. So ist Mobilität ein integraler Bestandteil unseres täglichen Lebens geworden. Zudem müssen Tag für Tag große Mengen an Waren um den ganzen Globus transportiert werden. Damit geht ein wachsendes Verkehrsaufkommen einher. Die Folgen kann jeder in Form von Staus, Umwelt- und Lärmbelastungen erleben.
Verkehrssimulationen sind ein geeignetes Mittel kostengünstig Engpässe und Probleme zu identifizieren und Lösungsstrategien zu entwickeln. Simulationen können dabei auf mikroskopischer Ebene, bei der die einzelnen Verkehrsteilnehmer und deren individuelles Verhalten betrachtet werden, oder auf makroskopischer Ebene durchgeführt werden. Hierbei werden lediglich Flüsse und Durchschnittswerte untersucht.
Studentische Arbeiten können sich dabei u.a. aus den folgenden Gebieten ableiten:
- Mikroskopische Simulationen mittels zellulärer Automaten
- Makroskopische Simulationen
- Parallelisierungsstrategien für verschiedene Simulationsmodelle
- Graphpartitionierungen und Hierarchisierungen für Verkehrsnetze
Vorkenntnisse:Kenntnisse in C++; ggf. Kenntnisse in MPI
Kontakt: Stefan Zimmer