M. Sc.
Maximilian Klein

Büro: B 415
Tel.: 0511 762 - 9064

Gottfried Wilhelm Leibniz Universität Hannover

Institut für Mensch-Maschine-Kommunikation
FG Graphische Datenverarbeitung

Welfengarten 1 • 30167 Hannover

Cur­ri­cu­lum Vitae

Ma­xi­mi­li­an Klein stu­di­ed com­pu­ter sci­ence at the Uni­ver­si­tät Han­no­ver and wrote his ba­che­lor the­sis in 2008 about Nu­me­ri­cal Sol­vers on the Cell B.E. Pro­ces­sor Ar­chi­tec­tu­re for Hap­tic Ap­p­li­ca­ti­ons. He re­cei­ved the Preis des Prä­si­di­ums  in 2009 as the hig­hest ran­king stu­dent of the gra­dua­ting class in com­pu­ter sci­ence. After his ba­che­lor de­gree, Ma­xi­mi­li­an Klein con­ti­nued his stu­dies in Han­no­ver in com­pu­ter sci­ence. He re­cei­ved his mas­ter de­gree in 2011. In 2012 he was awar­ded the Preis of Prä­si­di­um for his out­stan­ding Mas­ter the­sis on Local Re­fi­ne­ment Me­thods for Fluid Si­mu­la­ti­on.

Since 2011 Ma­xi­mi­li­an Klein works as an re­se­arch af­fi­lia­te at the de­part­ment of Gra­phi­sche Da­ten­ver­ar­bei­tung (gra­phi­cal data pro­ces­sing) of the in­sti­tu­te for Mensch Ma­schi­ne Kom­mu­ni­ka­ti­on (man ma­chi­ne com­mu­ni­ca­ti­on) at the Leib­niz Uni­ver­si­tät Han­no­ver. Ma­xi­mi­li­an Klein has been ac­tive in teaching since 2007 hol­ding lec­tu­res and se­mi­nars in "Da­ten­struk­tu­ren und Al­go­rith­men" (data struc­tu­res and al­go­rithms), "Elek­tro­tech­nik" (electri­cal en­gi­nee­ring), "Da­ten­bank­sys­te­me" (da­ta­ba­se sys­tems), "Gra­phi­sche Da­ten­vi­sua­li­sie­rung" (gra­phi­cal data pro­ces­sing) and "Mo­del­le für vir­tu­el­le Rea­li­tät" (phy­is­cal mo­del­ling and vir­tu­al rea­li­ty).

Ma­xi­mi­li­an Klein was one of the or­ga­niza­t­io­nal chairs of the "Com­pu­ter Gra­phics In­ter­na­tio­nal 2013" (CGI2013). He re­cei­ved a "Best Boy Award"  for his en­ga­ge­ment and the ex­cel­lent or­ga­niza­t­i­on of the con­fe­rence.

Re­se­arch

My re­se­arch fo­cus­ses on the im­pro­ve­ment of pro­gramming in ge­ne­ral. I re­se­arch new ways of wri­ting pro­grams that enable an ea­sier no­ti­on, a less error prone pro­ce­du­re and a more fo­cu­es­sed de­ve­lop­ment. This pro­ject aims to crea­te an en­virno­ment to bet­ter crea­te ab­strac­tions and com­mu­ni­ca­te the in­ten­ded idea be­hind soft­ware. A major re­se­arch goal is to crea­te a sys­tem that al­lows for reusa­bi­li­ty and good ab­strac­tions wi­thout sa­cri­fi­cing per­for­mance (per­haps even gai­ning per­for­mance in the end). After stu­diy­ing me­thods for si­mu­la­ting fluids (e.g. FDM, FEM, Smooh­ted par­ti­cle hydro­dy­na­mics and Lat­ti­ce Boltz­mann) and their ap­p­li­ca­ti­ons es­pe­cial­ly in the field of co­ch­lea im­plants, I un­ders­tood that the struc­tu­re of soft­ware sys­tems al­ways suf­fer when in­cre­a­sing per­for­mance. That sadly leads to code that is hard to un­der­stand and ne­ar­ly im­pos­si­ble to main­tain. I hope I can im­pro­ve on this with my re­se­arch.

Paper (aus vor­he­ri­gen For­schungs­pro­jek­ten)

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

Su­per­vi­sed The­ses and Se­mi­nars

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.

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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. 

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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.

Vorteil von diesem Verfahren ist, dass dieses sowohl gut parallelisierbar, als auch einen geringen Speicherverbrauch hat und sich daher eigenen sollte die dynamischen Strömungen innerhalb der Cochlea zu Analysieren.

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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
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.
  • [1] Trottenberg, Ulrich, Cornelius W. Oosterlee, and Anton Schuller. Multigrid. Academic press, 2000.
  • [2] Frederickson, Paul O., and Oliver A. McBryan. Recent developments for the PSMG multiscale method. No. CU-CS-524-91. COLORADO UNIV AT BOULDER DEPT OF COMPUTER SCIENCE, 1991. 
Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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.
Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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.

Beschreibungstext verbergen
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
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.

Beschreibungstext verbergen
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.

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.
Beschreibungstext verbergen
Oktober 2011
Februar 2012