Gottfried Wilhelm Leibniz Universität Hannover
Institut für Mensch-Maschine-Kommunikation
FG Graphische Datenverarbeitung
Welfengarten 1 • 30167 Hannover
Curriculum Vitae
Maximilian Klein studied computer science at the Universität Hannover and wrote his bachelor thesis in 2008 about Numerical Solvers on the Cell B.E. Processor Architecture for Haptic Applications. He received the Preis des Präsidiums in 2009 as the highest ranking student of the graduating class in computer science. After his bachelor degree, Maximilian Klein continued his studies in Hannover in computer science. He received his master degree in 2011. In 2012 he was awarded the Preis of Präsidium for his outstanding Master thesis on Local Refinement Methods for Fluid Simulation.
Since 2011 Maximilian Klein works as an research affiliate at the department of Graphische Datenverarbeitung (graphical data processing) of the institute for Mensch Maschine Kommunikation (man machine communication) at the Leibniz Universität Hannover. Maximilian Klein has been active in teaching since 2007 holding lectures and seminars in "Datenstrukturen und Algorithmen" (data structures and algorithms), "Elektrotechnik" (electrical engineering), "Datenbanksysteme" (database systems), "Graphische Datenvisualisierung" (graphical data processing) and "Modelle für virtuelle Realität" (phyiscal modelling and virtual reality).
Maximilian Klein was one of the organizational chairs of the "Computer Graphics International 2013" (CGI2013). He received a "Best Boy Award" for his engagement and the excellent organization of the conference.
Research
My research focusses on the improvement of programming in general. I research new ways of writing programs that enable an easier notion, a less error prone procedure and a more focuessed development. This project aims to create an envirnoment to better create abstractions and communicate the intended idea behind software. A major research goal is to create a system that allows for reusability and good abstractions without sacrificing performance (perhaps even gaining performance in the end). After studiying methods for simulating fluids (e.g. FDM, FEM, Smoohted particle hydrodynamics and Lattice Boltzmann) and their applications especially in the field of cochlea implants, I understood that the structure of software systems always suffer when increasing performance. That sadly leads to code that is hard to understand and nearly impossible to maintain. I hope I can improve on this with my research.
Paper (aus vorherigen Forschungsprojekten)
Beiträge in Tagungsbänden |
2012 |
Felix Haase, Maximilian Klein, Andreas Tarnowsky, Franz-Erich Wolter Interactive Fractal Compositions 2012 Beschreibungstext anzeigen With the ever rising quality and complexity standards in computer graphics, the generation of detailed content has become a bottleneck. While high quality visualization can be achieved at comparatively low cost, content generation remains a labor intensive and expensive task. Procedural approaches can support this process by automating parts of it.
One common problem of procedural methods is that the variables controlling the result are difficult to adjust. Especially fractals may have unintuitive parameters, which make them difficult to handle in praxis.
In this paper we introduce the concept of a Region Tree to structure the workflow with these procedures and present a supporting framework. On top of this we show how we used GPU integration to make interactive editing possible.
With this approach it is easy to construct any number of procedural models from a set of user defined characteristics. We illustrate our method by creating an earth-like complex planet completely procedurally. Beschreibungstext verbergen |
2009 |
Guido Böttcher, Rasmus Buchmann, Maximilian Klein, Franz-Erich Wolter Aufbau eines VR-Systems zur multimodalen Interaktion mit komplexen physikalischen Modellen 6. Workshop der GI-Fachgruppe VR/AR 2009 Beschreibungstext anzeigen Wir stellen ein neuartiges, semi-immersives VR-System vor, welches neben visuellem auch haitisches Feedback in einem grossen Arbeitsbereich ermöglicht.
Stichworte: VR-System, Haptik, verteilte Systeme Beschreibungstext verbergen |
Talks
- Introduction to Lattice Boltzmann (2014, Slides)
- The Buggy Way of Programming (2014, Folien zu der Veranstaltung)
Supervised Theses and Seminars
2017 |
Masterarbeit
Nicola Gruhl
Grundlangen zur differentialgeometrischen Analyse von Power Flow und Power Grid Berechnungen
Beschreibungstext anzeigen
Im Kontext elektrischer Energietechnik befasst sich die Power Flow- bzw. die Power-Grid-Analyse mit der Energieversorung in komplexen Netzwerken. Übliche Herangehensweisen sind häufig algebraischer Natur und skalieren deswegen schlecht. Insbesondere in hochdimensionalen Parameterräumen sind die Berechnungen sehr aufwändig und numerisch problematisch. Ziel dieser Arbeit soll eine grundlegende differentialgeometrische Untersuchung des Problems sein. DIe hierraus resultierenden numerischen Methoden haben in natürlicher Weise bessere Skalierungseigenschaften und sind daher numerisch stabiler und effizienter. Betreuer: Maximilian Klein November 2016
Mai 2017
|
Bachelorarbeit
Tim Ebbeke
Automatisierte Typ Spezialisierungen
Beschreibungstext anzeigen
Am Welfenlab wird gerade eine Datenflussbasiertes System (Buggy) entwickelt das unter anderem das Ziel verfolgt das manuelle Optimieren von Code zu automatisieren. Ein Teil dieses Problems ist die Optimierung der Datentypen, die in einem Programm verwendet werden. Z.B. sind Ganzzahloperationen schneller als Floating-Point Operationen. Oft wird deswegen der Datentyp int verwendet, auch wenn ein Floating-Point Typ genau die selben Ergebnisse liefern würde. Die Entscheidung welcher Typ wann am geeignetsten ist wird üblicherweise intuitiv vom Programmierer getroffen. In dieser Arbeit soll dieser intuitive Entscheidungsprozess analysieret werden und im existierenden Buggy-System algorithmisch eine automatisierte Typentscheidung implementiert werden die zunächst Datentypen wie double und int gegeneinander abwägt. Denkbar wären auch kompliziertere Typentscheidungen wie z.B. SIMD Typen oder ähnliches. Betreuer: Maximilian Klein November 2016
März 2017
|
2016 |
Bachelorarbeit
Maik Marschner
Optimierung von Kontrollflussgraphen mit Graphersetzungssystemen
Beschreibungstext anzeigen
Die Optimierung von Programmen geschieht auf verschiedenen Abstraktionsebenen: Einerseits bei der Wahl des passenden Algorithmus, andererseits durch Transformationen des Programmquellcodes. Werden Transformationen angewandt so müssen diese ein äquivalentes Programm induzieren. Dies wird üblicherweise erreicht indem der Kontrollflussgraph des Programmes berechnet wird. In einem Kontrollflussgraphen sind alle Abhängigkeiten explizit gegeben wodurch äquivalente Programmtransformationen einfacher angegeben werden können. In den meisten Programmiersprachen wird dafür ein approximativer Kontrollflussgraph aus dem Programmquellcode berechnet.In dieser Arbeit wird ein Framework zum Erstellen und Anwenden von Graphersetzungssystemen erstellt, dass Programme die mit dem am Institut entwickelten System "Buggy" geschrieben sind, optimieren soll. Diese haben den Vorteil, dass der Kontrollflussgraph explizit und vollständig gegeben ist und überdies eine hierarchische Struktur vorhanden ist, die auch Optimierungen auf höheren Abstraktionsebenen ermöglichen können. Betreuer: Maximilian Klein April 2016
August 2016
|
Bachelorarbeit
Jannik Bertram
Semantische Abstraktion von Programmiermodellen
Beschreibungstext anzeigen
In der Bachelorarbeit wird eine Prozedur ausgearbeitet, die Probleme, welche auf gegebenen Daten eines bestimmten Datentyps formuliert sind, verschiedene Lösungsfunktionen auswählen kann. Der Benutzer definiert im Idealfall lediglich das Problem und übergibt eine optionale Menge an Eigenschaften, die von der zu verwendenden Funktion erfüllt sein sollen. Das zugrunde liegende System soll dann mit Hilfe der drei Komponenten Eingabedaten, Problemstellung und den zu erfüllenden Eigenschaften eine Entscheidung treffen können, welcher Algorithmus für das Problem am sinnvollsten anzuwenden ist. Die Entscheidungsfindung wird dafür in eine statische Komponente (zur Erzeugung des Programmes) und eine dynamische Komponente (beim Ausführen des Programmes) unterteilt werden. Betreuer: Maximilian Klein April 2016
August 2016
|
Bachelorarbeit
Frederik Nörmann
Interaktive Code Abstraktionen
Beschreibungstext anzeigen
Beim Schreiben von Code entstehen häufig Situationen in denen die verwendete Programmiersprache nicht optimal geeignet ist um den jeweiligen Sachverhalt darzustellen. Insbesondere graphische Repräsentationen des zugrundeliegenden Problems könnten beim Lesen des Codes oft hilfreich sein. Modernere Entwicklungsumgebungen sind so vielseitig, dass das Einbinden von graphischen Elementen kein Problem wäre. Dennoch gibt es nicht einmal die Möglichkeit in Kommentaren graphische Elemente einbinden zu können. Interaktive Elemente sind noch weniger verbreitet.Diese Arbeit beschäftigt sich mit der Entwicklung eines Editor-Plugins (für Atom), welches es zunächst ermöglichen soll graphische Elemente in Editoren einbinden zu können. Darauf aufbauend soll eine Abstraktion von gewissen Code Elementen durch grafische Bausteine ermöglicht werden. Z.B. Bezier Splines über entsprechende graphischen Interfaces eingegeben. Betreuer: Maximilian Klein November 2015
März 2016
|
2015 |
Bachelorarbeit
Sebastian Veitleder
Thin Shell Simulation der Basilarmembran
Beschreibungstext anzeigen
This work is researching the response of the basilar membrane of the human cochlear to different stimuli from the scala tympani. A triangle mesh of the basilar membrane is used to produce a shell model. On this model a three-dimensional thin shell simulation is performed by using a modified cloth simulator that accounts for flexural energy over the mesh edges. The force that the scala tympani would induce on the basilar membrane is directly applied to the simulated model. A Lattice-Boltzman fluid simulation generates reasonable forces to apply to the model and observe. Several examples show the validity of the simulation. Betreuer: Maximilian Klein Mai 2015
September 2015
|
Bachelorarbeit
Alexander Treptau
Cochleasimulation mit dem Lattice Boltzmann Verfahren
Beschreibungstext anzeigen
Die Cochlea ist der Teil des Innenohrs, der für die Aufnahme der auditiven Reize zuständig ist. Dabei breitet sich eine Schallwelle in einem Fluid aus und versetzt die Membran des Corti-Organs in Bewegung, sodass diese die mechanischen Schwingungen in Nervenimpulse umwandeln kann. Bei dem Lattice Boltzmann Verfahren wird ein Fluid mithilfe eines zellulären Automaten auf Teilchenebene diskretisiert. Unter Verwendung dieses Verfahrens kombiniert mit der Immersed Boundary Methode wird die Mechanik einer zweidimensionalen Cochlea modelliert und analysiert. Dabei soll insbesondere die Lokalisierung der eingehenden Schallwellen durch das ovale Fenster auf der Basilarmembran nachgebildet werden und mit den Ergebnissen von u.a. Gerstenberger et al 2013 verglichen werden. Betreuer: Maximilian Klein April 2015
August 2015
|
Bachelorarbeit
Thomas Winter
Die Immersed Boundary Methode für das Lattice Boltzmann Verfahren
Beschreibungstext anzeigen
In dieser Arbeit wird das Zusammenspiel der Lattice Boltzmann Methode mit dem Immersed Boundary Verfahren untersucht. Das Lattice Boltzmann Verfahren ist ein gribbasierter Fluid Löser der mit relativ einfachen lokalen Regeln die Boltzmanngleichung lösen kann. Um nun komplexe Geometrien die nicht am Gitter ausgerichtete sind zu unterstüzen soll das Immersed Boundary Verfahren verwendet werden. Dieses ermöglicht es Obejkte die physikalisch nicht auf dem Gitter simuliert werden mit dem Fluid zu koppeln. So können die Vorteile der Lattice Boltzmann Methode ausgenutzt werden (z.B. die hervoragende Parallelisierbarkeit) ohne dabei auf Modelle in Lagranger Sicht verzichten zu müssen. In dieser Arbeit wird dafür eine stabile Kopplung verschiedener Systeme mit dem Immersed Boundary Verfahren vorgestellt und soweit möglich mit Literaturwerten verglichen. Betreuer: Maximilian Klein November 2014
März 2015
|
Bachelorarbeit
Ferdinand Lange
Visualisierung von 3D Fluiden
Beschreibungstext anzeigen
Bei der Visualisierung von Fluiden in drei Dimensionen müssen viele Daten in verständlicher Form dargestellt werden. Da die große Menge an verschiedenen Daten in einer Grafik meist kompliziert und nicht unbedingt verständlich ist, beschäftigt sich diese Arbeit mit Möglichkeiten Fluide in drei Dimensionen anschaulich zu visualisieren. Um Fluide zu Visualisieren müssen grundsätzlich zwei Arten von Felder dargestellt werden können. Einmal skalare Felder wie z.B. der Druck oder die Dichte, andererseits Vektor Felder wie die Geschwindigkeit. Problematisch ist dabei oft die Überdeckung von Details die inmitten des beobachteten Volumens liegen. Dafür soll diese Bachelorarbeit Möglichkeiten schaffen Felder darzustellen und geeignet filtern zu können um spezifierte Regionen einzublenden und andere auszublenden. Betreuer: Maximilian Klein November 2014
März 2015
|
2014 |
Bachelorarbeit
Felix Schliephacke
Gebietszerlegung für die Lattice Boltzmann Methode auf verteilten Speicherarchitekturen
Beschreibungstext anzeigen
Das Lattice Boltzmann Verfahren ist ein Verfahren das die Boltzmanngleichung lösen kann, welches auf einem regulären Gitter mittels einfacher Evolutionsregeln, ähnlich derer eines Zellulären Automatens, arbeitet. Bei der Implementierung einer verteilten Simulation sind insbesondere die Latenzen ein den Speedup begrezender Faktor. Die Latenzen entstehen dabei hauptsächlich durch den Abgleich der Randbereiche. Deswegen versucht man beim Erstellen der einzelnen Subdomains die Randbereiche so klein wie möglich zu halten, dabei soll jedoch das Innere so groß wie möglich bleiben. Ziel dieser Arbeit ist es eine möglichst optimale Zerlegung einer Domäne in Teilbereiche zu finden. Dazu sind insbesondere die Rechengeschwindigkeit der einzelnen Rechner und die Geschwindigkeit der einzelnen Netzwerkverbindungen zu beachten. Betreuer: Maximilian Klein Mai 2014
Oktober 2014
|
Bachelorarbeit
Thilo Schnelle
Fluidsimulation mit dem Lattice Boltzmann Verfahren
Beschreibungstext anzeigen
In dieser Arbeit soll eine Fluidsimulation mit der Lattice Boltzmann Methode implementiert werden. Diese Methode diskretisiert das Fluid mit zellulären Automaten und erreicht dadurch eine hohe Parallelität. Teil dieser Arbeit ist die Beschreibung der Diskretisierung, die im Lattice Boltzmann Verfahren angewandt wird. Zusätzlich dazu soll das Verfahren implementiert werden und anhand üblicher Beispiele wie dem "Lid-Driven-Cavity-Flow" Beispiel mit bekannten Lösungsverfahren verglichen werden. Dabei sind insbesondere die Konvergenzraten, Parallelität, Einhaltung der Inkompressibilitätsbedingung und die Interaktion mit Objekten von Interesse. Betreuer: Maximilian Klein Mai 2014
September 2014
|
Bachelorarbeit
Wolff Bock von Wülfingen
Das Lattice Boltzmann Verfahren für Cluster Architekturen
Beschreibungstext anzeigen
Diese Arbeit befasst sich mit der Parallelisierung des Lattice Boltzmann Verfahrens. Das Lattice Boltzmann Verfahren löst die Boltzmanngleichung über eine reguläre Diskretisierung und verwendet Regeln ähnlich der von Zellulären Automaten. Diese Formulierung hat den großen Vorteil, dass sie lokal arbeitet und somit leicht parallelisierbar ist. In dieser Arbeit wird neben der Shared-Memory Parallelisierung auch die Parallelisierung auf ein Clustersystem untersucht. Dazu wird ein Protokoll zur Kommunikations der einzelnen Rechner entwickelt welches möglichst gut Latenzen überdecken soll. Betreuer: Maximilian Klein April 2014
August 2014
|
2013 |
Bachelorarbeit
Markus Schulze
Haptisches Heightfieldwater
Beschreibungstext anzeigen
Diese Arbeit befasst sich mit einem einfachen Wassermodell, das in der einfachsten Form nur aus Höhendaten besteht. Die Simulation eines solchen Wassers erweist sich als äußerst effizient, jedoch können einige Eigenschaften des Wassers nicht abgebildet werden. Für dieses sogenannte Heightfieldwater gibt es zahlreiche Publikationen über das Zusammenspiel mit starren Körpern. Diese erlauben es die Kräfte auf die Objekte realistisch zu berechnen.
Zusätzlich existieren am Institut haptische Eingabegeräte die es erlauben Kräfte auszugeben. Für eine natürliche Interaktion sind dafür hohe Wiederholraten (am besten 1000Hz) erfordertlich. Dies lässt sich nur über eine gescheite Wahl der Modelle realisieren. Im Bereich der Wassersimulation gilt das Heightfieldwater als am wenigsten aufwändig und ist deswegen ein interessanter Kandidat für eine haptische Interaktion.
In dieser Arbeit soll primär die Interaktion mit dem Wasser implementiert werden. Für die Interaktion der Körper untereinander soll Bullet verwendet werden.
Beschreibungstext verbergen
Betreuer: Maximilian Klein Mai 2013
September 2013
|
Bachelorarbeit
Volker Schmidt
Über den Einfluss von Kompressionen auf das paralle superkonvergente Multigrid Verfahren
Beschreibungstext anzeigen
Das Multigrid Verfahren ist eines der performantesten Verfahren zum Lösen von Linearen Gleichungssystemen. Insbesondere für physikalische Probleme hat sich das das Multigrid Verfahren bewährt [1].
Für das Multigrid Verfahren existieren einige Parallelisierungsmöglichkeiten. Der Großteil setzt dabei jedoch an den Lösern für die linearen Gleichungssysteme an, die auch Smoother genannt werden. Ein ganz anderen Ansatz verfolgt das PSMG (parallele superkonvergente Multigrid) Verfahren [2]. Das Multigrid Verfahren versucht die Lösung im feinen Grid durch eine grobe Approximation des Fehlers auszugleichen und damit die Konvergenz zu beschleunigen. Für das Erstellen des groben Problems gibt es mehrere Möglichkeiten von denen üblicherweise eine gewählt wird. Im PSMG werden dahingegen alle Möglichkeiten gewählt und all diese werden parallel gelöst. Das PSMG Verfahren besitzt eine deutlich höhere Konvergenzrate als herkömmliche Verfahren jedoch erfordert sie auch einen größeren Kommunikationsoverhead.
Ziel dieser Arbeit soll es sein, den Poisson Solver einer Fluid Simulation, zum Berechnen des Druckausgleiches, mittels PSMG zu realisieren. Dabei soll untersucht werden, ob Kompressionsalgorithmen den Kommunikationsaufwand signifikant zu verringern können.
Beschreibungstext verbergen
Betreuer: Maximilian Klein Juni 2013
August 2013
|
Bachelorarbeit
Roman Zimbelmann
Haptisches Modellieren
Beschreibungstext anzeigen
In dieser Arbeit soll ein haptisches Gerät (z.B. das Phantom) verwendet werden um ein haptische Virtual Clay Simulation zu entwickeln. Das haptische Gerät soll einem dabei die Möglichkeit geben ein virtuelles Objekt zu verformen und vielleicht auch topologisch zu ändern, um so verschiedenste Modelle fertigen zu können. Dazu sollen verschiedene Werkzeuge angeboten werden, die einem das Modellieren erleichtern sollen. Es soll zunächst recherchiert werden ob Mesh-based, Voxel-based oder gemischte Verfahren am besten geeignet für die haptische Interaktionen sind . Die große Herausforderung steckt dabei im Erreichen der haptischen Echtzeit, die 1000 fps benötigt. Technisch kann dieses über lokal-adaptive Verfahren erreicht werden. Ein Teil dieser Arbeit wird sein, die vorhandene Netzwerkschnittstelle für die haptischen Geräte zu vervollständigen. Eine Bachelorarbeit / Studienarbeit mit geringerem Umfang ist auch denkbar. Betreuer: Maximilian Klein November 2012
März 2013
|
Bachelorarbeit
Sven Röttering
Vegetationsgenerierung mittels Zellulärer Automaten und Spieltheorie
Beschreibungstext anzeigen
Der am Institut entwickelte prozedurale Planetengenerator kann Terrain-Daten für einen Planeten mit verschiedenen klimatischen Zonen aus einem einzelnem Seed erzeugen. Der daraus resultierende Planet verfügt jedoch noch über keine Vegetation. Ein manuelles setzen der Vegetation ist nicht nur aufwändig, sondern führt auch zu unrealistische wirkenden Regionen. Deshalb soll in dieser Arbeit ein System entworfen werden, welches eine Vegetation für einen zufällig generierten Planeten erzeugt und auch visualisiert. Technisch soll die Vegetation durch einen Zellulären Automaten unter Zuhilfenahme von spieltheoretischen Modellen erzeugt werden. Dazu muss ein Basisdatensatz an Vegetationsobjekten wie Bäumen, Kakteen, Sträuchern, etc. erzeugt werden und geeignet kategorisiert werden. Unter Zuhilfenahme dieses Datensatzes soll auf der Oberfläche ein Zellulärer Automat simuliert werden, dessen Regeln sich aus dem spieltheoretischen Modell und den klimatischen Gegebenheiten ableiten. Betreuer: Maximilian Klein Oktober 2012
Februar 2013
|
Seminararbeit
Volker Schmidt
Real Time Forest Rendering
Beschreibungstext anzeigen
Visualizing a huge amount of complex models can be a time consuming part of the rendering process. For many complex objects specialized methods exist. This seminartopic is about the realtime visualization of forests.
Rendering forests can be a time consuimg task making it hard to find a method that is capable of rendering many trees in real time while maintining a decent visual quality. To achieve interactive framerates many methods introduce simplifications that lead to so called popping artifacts that distract the user and lower the immersion.
In recent years many advances and the development of modern graphics hardware lead to more elaborated methods which are capable of processing and rendering millions of trees in real time and with popping artifacts and convincing lighting effects. Betreuer: Maximilian Klein Oktober 2012
Januar 2013
|
2012 |
Bachelorarbeit
Oliver Weidner
Implementation eines Echtzeitmodells für den Wasserkreislauf
Beschreibungstext anzeigen
Auf Basis der vorangegangen Bachelorarbeit "Prozedurale Multiskalen-Generierung von Planetenoberflächen" angefertigt von Felix Haase, soll in dieser Arbeit ein physikalisches Modell entwickelt werden, dass den Wasserkreislauf eines Planeten simuliert. Das Modell für den Wasserkreislauf arbeitet mit verschiedenen Schichten, die z.B. die Planetenoberfläche und die Atmosphäre darstellen. In diesen Schichten werden unterschiedliche Modelle simuliert, so soll für die Atmosphäre ein projiziertes SPH Fluid verwendet werden. Ziel dieser Arbeit ist die Implementierung einer interaktiven Simulation auf einer Planetenoberfläche, die neben einer plausiblen Wolkenmechanik in der Atmosphäre auch eine realistisch wirkende Entwicklung der Vegetation auf der Planetenoberfläche ermöglichen soll. Betreuer: Maximilian Klein Mai 2012
September 2012
|
Bachelorarbeit
Felix Haase
Prozedurale Multiskalen-Generierung von Planetenoberflächen
Beschreibungstext anzeigen
Ziel dieser Arbeit ist es Planetenoberflächen prozedural zu generieren. Dazu sollen insbesondere Fraktale verwendet werden die es ermöglichen sollen die Planeten auf verschiedenen Skalen mit unterschiedlichem Detailgrad darzustellen. Die zu entwickelnden Methoden sollen dabei klimatische Unterschiede bei der Generierung berücksichtigen. Neben der prozeduralen Generierung sollen auch verschiedene LOD (Level of Detail) Verfahren untersucht werden, um die Planeten in Echtzeit anzeigen und deren Detailgrad nahtlos anpassen zu können. Betreuer: Maximilian Klein Februar 2012
Juni 2012
|
Seminararbeit
Oliver Ilnicki
Grid-based Fluid Simulations
Beschreibungstext anzeigen
Diese Seminararbeit beschäftigt sich mit den Grundlagen der Fluid-Simulation. Zunächst wird die Navier-Stokes Gleichung hergeleitet und darauf aufbauend werden verschiedene Lösungsansätze diskutierter mit dem Fokus auf dem Marker and Cell (MAC) Ansatz, der zwei versetze Gitter für die Drücke und Geschwindigkeiten im Fluid verwendet. Mittels finiter Differenzen wird dann eine Diskretisierung beschrieben die effizient das Fluid simulieren kann und dabei über einen Projektionsmechanismus die Inkompressibilität der Flüssigkeit gewährt.
Beschreibungstext verbergen
Betreuer: Maximilian Klein April 2012
Mai 2012
|
Bachelorarbeit
Nicola Hauke
Entwicklung eines modularen Clusterframeworks
Beschreibungstext anzeigen
Ein Großteil der heutigen Anwendungen nutzen die parallele Ausführung von Programmen zum verringern der Rechenzeit. Die Parallelisierung erfolgt dabei meist in feinster Handarbeit und erfordert viel Zeit. Das Ziel dieser Arbeit ist die Erstellung eines Frameworks, dass die Parallelisierung von Programmen einerseits und den eigentlichen Entwicklungsprozess besser unterstüzen soll. Dabei soll das Framework mit einer Share-Nothing Architektur ein stabiles System bieten, dass ohne weiteren Aufwand die einzelnen Programmkomponenten parallel ausführen kann. Dazu soll das System modular gehalten werden, sodass die entwickelten Module leicht für jedermann verwendbar sind. Dafür werden klare Interfaces zur Kommunikation benötigt. Technisch wird das ganze über die ZeroMQ Bibliothek und einer Serialisierungsbibliothek wie Google Protocol Buffers implementiert werden. Dadurch wird es auch möglich sein Module in verschiedenen Programmiersprachen zu schreiben. Betreuer: Maximilian Klein November 2011
März 2012
|
Bachelorarbeit
Karoline Busse
Implementierung einer parallelen partikelbasierten Fluidsimulation
Beschreibungstext anzeigen
Ein gängiges Modell zur Fluidsimulation stellen die Navier-Stokes Gleichungen dar. Diese nicht linearen partiellen Differentialgleichungen lassen sich mittels verschiedener Diskretisierungsmethoden lösen, von denen einige auf Grids oder Dreiecks-Meshs arbeiten. Andere verfolgen einen Partikelansatz, wie die Smoothed Particle Hydrodynamics (SPH) Methode. Das SPH Verfahren bietet dabei im Echtzeitbereich einige Vorteile. Aufgrund der Struktur des SPH Verfahrens ist es möglich interaktive Simulationen zu schaffen die auch visuell ansprechend sind.
Beschreibungstext verbergen
Die Berechnung der kontinuierlichen Parameter im SPH Verfahren geschieht über sogenannte Smoothing Kernels. Diese ermöglichen das effiziente Berechnen des Druckes in jedem Raumpunkt, wenn die Nachbarschaft eines jeden Partikels schnell bestimmt werden kann. Dies geschiet üblicherweise über ein Spacial Hashing mit dem es möglich ist Fluide mit einigen tausend Partikeln zu simulieren. In dieser Arbeit soll, unter der Verwendung von Grafikhardware, die mögliche Anzahl an Partikeln durch Parallelisierungstechniken erhöht werden. Dabei soll die Parallelisierung mit OpenCL umgesetzt werden, um auch mögliche Portierungen auf andere Plattformen zu erleichtern. Betreuer: Maximilian Klein Oktober 2011
Februar 2012
|