Implementation of a multispeed Lattice Boltzmann solver: Difference between revisions
No edit summary |
No edit summary |
||
Line 59: | Line 59: | ||
== Betreuer == | == Betreuer == | ||
[[Philipp Neumann]] | [[Philipp Neumann]] | ||
<center> | |||
[[Image:Single_vs_multispeed.png]] | |||
</center> | |||
Left: Lattice velocities of the standard D2Q9 model | |||
Right: Exemplary multispeed model for 2D simulations |
Revision as of 12:27, 5 June 2010
Diploma / Master thesis: Implementation of a multispeed Lattice Boltzmann solver
Introduction
Numerical simulation gets more and more important when developing or optimising applications in various fields. The simulation of flow plays a central role in this process, e.g. in the design of turbine plates or thermal flow problems. In the case of the latter, the simultaneous computation of the flow equations and an additional heat transport equation has to be accomplished. Within the research work on efficient flow simulation at the Chair of Scientific Computing in Computer Science, several assistents and students work on a C++-project called Peano (see also peano-homepage). The main focus lies on the computation of incompressible flow in two and three dimensions. Beside the existing finite-element solver, a second approach which is based on Lattice Boltzmann techniques is currently incorporated into the Peano-framework. At this, the flow is simulated by computing the probability for a fluid molecule to collide with other fluid molecules inside a certain fluid cell, afterwards leave the cell and enter its direct neighbour. The scope of this thesis is to establish a basis for Lattice Boltzmann simulations with respect to the usage of multispeed models. These models allow fluid molecules to travel even more than one cell per timestep and thus are used to recover thermal effects.
Summary of project steps
- Getting familiar with the problem, Lattice Boltzmann methods and the Peano-framework
- Implementation of access- and distribution routines for arbitrary multispeed models and respective specialisations
- Extension of the present collision models to multispeed compatibility
- Incorporation of boundary conditions
- Validation of the model/ implementation by benchmark-computations
Due to the size of the project Peano, software-engineering aspects such as modularity, encapsulation of functionality or good documentation of the code are very important. This does not represent any inconvenients for students who are not yet familiar with these topics but it is a chance to learn and directly apply them.
Prerequisites
Good programming skills in C++, interest in flow simulations.
If you already have some knowledge on Lattice Boltzmann methods or flow simulations, that's perfect! If not, it's definitely fine, too! :-)
Start
Anytime
Tutors
Diplom-/ Masterarbeit: Implementierung eines Multispeed Lattice Boltzmann-Lösers
Einführung
Numerische Simulation wird zu einem immer wichtigeren Werkzeug bei der erfolgreichen Entwicklung und Optimierung verschiedenster Anwendungen. Insbesondere der Simulation von Strömungen kommt dabei eine zentrale Rolle zu, z.B. beim Design von Turbinenschaufeln, Wärmetransportproblemen etc.
Gerade im letzteren Fall ist die gleichzeitige Lösung von sowohl Strömungsgleichungen als auch einer weiteren Energiegleichung notwendig.
Im Rahmen der Forschungsarbeit zu effizienten Strömungssimulationen wird am Lehrstuhl für Informatik V zur Zeit von mehreren Mitarbeitern und Studenten das C++-Projekt Peano entwickelt (siehe Peano-Homepage). Der Schwerpunkt liegt auf der Berechnung von inkompressiblen, laminaren Strömungen in zwei und drei Dimensionen; neben dem bereits implementierten Finite-Element-Löser wird derzeit für mikroskopische und Vergleichssimulationen ein weiterer Strömungslöser - beruhend auf der Lattice Boltzmann-Technik (LB) - in Peano integriert; dabei berechnet man die Wahrscheinlichkeit für ein Fluidmolekül, innerhalb einer bestimmten Fluidzelle mit anderen Molekülen zu kollidieren und sich anschliessend in eine benachbarte Zelle zu bewegen.
Im Rahmen des vorliegenden Projekts soll eine Basis für die LB-Simulation mit Multispeed-Modellen geschaffen werden; Multispeed-Modelle zeichnen sich dadurch aus, dass es den Fluidpartikeln erlaubt wird, innerhalb eines Zeitschritts auch mehrere Zellen weit zu fliegen. Auf diese Weise lassen sich u.a. Strömungen mit Energietransport berechnen.
Zusammenfassung der Arbeitsschritte
- Einarbeitung in die Problematik und das Peano-Projekt
- Implementierung geeigneter Zugriffs- und Verteilungsroutinen für beliebige Multispeed-Modelle sowie - falls notwendig - entsprechender Spezialisierungen
- Erweiterung der vorhandenen Kollisionsmodelle auf/ um Multispeed-Kompatibilität
- Erweiterung der Randbehandlung
- Benchmark-Rechnungen zur Validierung des Modells
Aufgrund der Projektgröße von Peano sind Software-Engineering-Aspekte wie Modularität, Kapselung der Funktionalität oder gute Dokumentation sehr wichtig. Für Studenten, die darin noch wenig Übung haben, ist das kein Nachteil sondern die Chance, die entsprechende Vorgehensweise an einem größeren praktischem Projekt kennenzulernen und direkt umzusetzen.
Voraussetzungen
Gute Kenntnisse in C++, Interesse an Strömungssimulationen.
Wenn du bereits Kenntnisse zu Lattice Boltzmann-Verfahren oder Strömungssimulationen hast, ist das super! Wenn nicht, sollte das aber definitiv auch kein Problem sein. :-)
Beginn
Jederzeit
Betreuer
Error creating thumbnail: Unable to save thumbnail to destination
Left: Lattice velocities of the standard D2Q9 model
Right: Exemplary multispeed model for 2D simulations