Hardware-effiziente, hochparallele Implementierungen von Lattice-Boltzmann-Verfahren für komplexe Geometrien

Language
de
Document Type
Doctoral Thesis
Issue Date
2016-09-07
Issue Year
2016
Authors
Wittmann, Markus
Editor
Abstract

The lattice Boltzmann methods are established as an important approach in computational fluid dynamics. They provide a simple algorithmic procedure especially for parallel simulation of flows in complex geometries. Hence several different frameworks exist, which are used on the world largest HPC systems. For this class of algorithms it is therefore important to be prepared for current and future challenges of such systems by the scalability of all components and reaching the best possible hardware and energy efficiency.

This work covers two important aspects, which impact the scalability and parallel performance of lattice Boltzmann based flow solvers: scalable and efficient domain decomposition for the underlying application and high single node performance of the flow solver. In this work the ILBDC package is used, which has been employed for several years to simulate the flow through complex geometries, e.g. fixed bed reactors. The simulation geometry is represented inside the ILBDC flow solver as an adjacency list, where the neighborhood information of the fluid nodes is stored.

For the generation of the adjacency list a parallel and scalable algorithm is presented, which is independent of the number of subdomains which are to be generated. The increased performance and energy efficiency achieved in this work can be transferred to highly parallel simulations. Together with the scalable domain decomposition a highly performant fluid solver for current and future HPC systems is available.

Abstract

Die Lattice-Boltzmann-Methoden haben sich als wichtige Verfahren zur numerischen Strömungssimulation etabliert. Insbesondere für parallele Simulationen von Strömungen in komplexen Geometrien bieten sie einen relativ einfachen algorithmischen Ansatz. Es existieren daher verschiedene Programmpakete, die auf den weltweit größten HPC-Systemen eingesetzt werden. Für diese Algorithmenklasse ist es daher essentiell auf die aktuellen und zukünftigen Herausforderungen solcher Systeme hinsichtlich der Skalierbarkeit aller Komponenten sowie der bestmöglichen Hardware- und Energieeffizienz vorbereitet zu sein.

Die vorliegende Arbeit behandelt zwei wichtige Aspekte, welche die Skalierbarkeit und die parallele Performance Lattice-Boltzmann-basierter Strömungslöser wesentlich beeinflussen: eine skalierbare und effiziente Gebietszerlegung für die zugrunde liegende Anwendung und eine hohe Rechenknoten-Performance. In dieser Arbeit wird das ILBDC-Programmpaket genutzt, das seit vielen Jahren für die Simulation von Strömungen durch komplexe Geometrien, wie Festbettreaktoren, eingesetzt wird. Die Repräsentation einer Simulationsgeometrie erfolgt innerhalb des Strömungslösers des ILBDCs durch eine Adjazenzliste, in der die Nachbarschaftsbeziehungen der einzelnen Fluidzellen gespeichert werden.

Für die Erzeugung der Adjazenzliste wird ein paralleler und skalierbarer Algorithmus vorgestellt, der unabhängig von der Anzahl der zu erzeugenden Teilgebiete arbeitet. Die in dieser Arbeit erzielten Steigerungen hinsichtlich Performance und Energieeffizienz lassen sich auch auf hochparallele Simulationen transferieren. Zusammen mit der skalierbaren Gebietszerlegung steht somit ein hochperformanter Strömungslöser für aktuelle und zukünftige HPC-Systeme zur Verfügung.

DOI
Faculties & Collections
Zugehörige ORCIDs