Efficient LBM on GPUs for dense moving objects using immersed boundary condition
Abstract
There exists an increasing interest for using immersed boundary methods (IBMs) (Peskin 2000) to model moving objects in computational fluid dynamics. Indeed, this approach is particularly efficient, because the fluid mesh does not require to be bodyfitted or to adjust dynamically to the motion of the body. Frequently, IBMs are implemented in combination with the lattice Boltzmann methods (LBM) (Krüger 2016). They fit elegantly into the framework of this method, and yield impressive parallel performances. It has also become quite common to accelerate LBM simulations with the use of Graphics Processing Units (GPUs) (Tölke 2010), as the underlying algorithm adjusts naturally to the architecture of such platforms. It is not uncommon that speedups of an order of magnitude, or more, at equal financial cost or energy consumption are observed, as compared to classical CPUs. IBM algorithms are however more difficult to adapt to GPUs, because their complex memory access pattern conflicts with a GPU's strategy of broadcasting data to a large number of GPU cores in single memory accesses. In the existing literature, GPU implementations of LBMIBM codes are therefore restricted to situations in which the immersed surfaces are very small compared to the total number of fluid cells (ValeroLara 2014), as is often the case in exterior flow simulations around an obstacle. This assumption is however not valid in many other cases of interest. We propose a new method for the implementation of a LBMIBM on GPUs in the CUDA language, which allows to handle a substantially larger immersed surfaces with acceptable performance than previous implementations.
 Publication:

arXiv eprints
 Pub Date:
 March 2019
 arXiv:
 arXiv:1904.02108
 Bibcode:
 2019arXiv190402108B
 Keywords:

 Physics  Computational Physics;
 Computer Science  Performance