FULL GPU Implementation of Lattice-Boltzmann Methods with Immersed Boundary Conditions for Fast Fluid Simulations
DOI:
https://doi.org/10.21152/1750-9548.11.1.1Abstract
Lattice Boltzmann Method (LBM) has shown great potential in fluid simulations, but performance issues and difficulties to manage complex boundary conditions have hindered a wider application. The upcoming of Graphic Processing Units (GPU) Computing offered a possible solution for the performance issue, and methods like the Immersed Boundary (IB) algorithm proved to be a flexible solution to boundaries. Unfortunately, the implicit IB algorithm makes the LBM implementation in GPU a non-trivial task. This work presents a fully parallel GPU implementation of LBM in combination with IB. The fluid-boundary interaction is implemented via GPU kernels, using execution configurations and data structures specifically designed to accelerate each code execution. Simulations were validated against experimental and analytical data showing good agreement and improving the computational time. Substantial reductions of calculation rates were achieved, lowering down the required time to execute the same model in a CPU to about two magnitude orders.
References
NVIDIA. NVIDIA CUDA C Programing Guide Version 4.0: http://developer.download.nvidia.com/compute/DevZone/docs/html/C/doc/CUDA_C_Programming_Guide.pdf. 2010. https://doi.org/10.2172/1532687
Mark WR, Glanville RS, Akeley K, Kilgard MJ. Cg: a system for programming graphics hardware in a c-like language. ACM Trans. Graph. 2003; 22(3): 896–907. https://doi.org/10.1145/882262.882362
NVIDIA. NVIDIA CUDA Home Page:http://developer.nvidia.com/category/zone/cuda-zone; 2007. https://doi.org/10.2172/1532687
PGI. PGI CUDA Fortran Compiler, The Portland Group: http://www.pgroup.com/resources/cudafortran.htm; 2011.
Zhao Y. Lattice Boltzmann based PDE Solver on the GPU. Vis. Comput. 2007; 24(5): 323-333. https://doi.org/10.1007/s00371-007-0191-y
Tölke J. Implementation of a lattice Boltzmann kernel using the compute unified device architecture developed by NVIDIA. Computing and Visualization in Science. 2010; 13(1): 29–39. https://doi.org/10.1007/s00791-008-0120-2
Rinaldi PR, Dari EA, Vénere MJ, Clausse A. A Lattice-Boltzmann solver for 3D fluid simulation on GPU. Simulation Modelling Practice and Theory. 2012; 25: 163-171. https://doi.org/10.1016/j.simpat.2012.03.004
Boroni G, Dottori J, Dalponte D, Rinaldi P, Clausse A. An improved Immersed-Boundary algorithm for fluid-solid interaction in Lattice-Boltzmann simulations. Latin American Applied Research, accepted 2013.
Valero-Lara P, Pinelli A, Prieto-Matias Manuel. Accelerating Solid-Fluid Interaction using Lattice-Boltzmann and Immersed Boundary Coupled Simulations on Heterogeneous Platforms. Procedia Computer Science. 2014; 29: 50-61. https://doi.org/10.1016/j.procs.2014.05.005
C. S. Peskin. The immersed boundary method. Acta Numerica, 2002; 11, 479-517. https://doi.org/10.1017/s0962492902000077
Chen S, Doolen GD (1998). Lattice Boltzmann Methods for Fluid Flows, Annu. Rev. Fluid Mech. 30: 329-364. https://doi.org/10.1146/annurev.fluid.30.1.329
Sukop M, Thorne D (2006). Lattice Boltzmann Modeling, 1st Edition. Springer.
Qian YH, d’Humie`res D, Lallemand P (1992). Lattice BGK models for Navier–Stokes equation. Europhys. Lett. 17: 479-484. https://doi.org/10.1209/0295-5075/17/6/001
Mohamad AA, Kuzmin A (2010). A critical evaluation of force term in lattice Boltzmann method, natural convection problem. Internation Journal of Heat and Mass Transfer 53(5-6): 990-996. https://doi.org/10.1016/j.ijheatmasstransfer.2009.11.014
Feng ZG, Michaelides EE (2004). The immersed boundary-lattice Boltzmann method for solving fluid–particles interaction problems. J Comp Phy 195: 602–28. https://doi.org/10.1016/j.jcp.2003.10.013
Cheng F, Zhang H (2010). Immersed boundary method and lattice Boltzmann method coupled FSI simulation of mitral leaflet flow. Computers & Fluid 39: 871-881. https://doi.org/10.1016/j.compfluid.2010.01.003
Peskin CS (2002). The immersed boundary method. Acta Numer 11: 479–517.
Kuznik F, Obrecht C, Rusaouën G, Roux JJ (2009). LBM based flow simulation using GPU computing processor. Comput. Math. Appl. 59(7): 2380-2392. https://doi.org/10.1016/j.camwa.2009.08.052
Lammers P, Küster U (2007). Recent Performance Results of the Lattice Boltzmann Method. High Performance Computing on Vector Systems 2006 Part 2, Springer, Stuttgart, 51-59. https://doi.org/10.1007/978-3-540-68743-6_3
Kaminsky A (2015). Big CPU, Big Data. Rochester Institute of Technology.
Fast Fluid-structure Interaction Using Lattice Boltzmann and Immersed Boundary Methods, M. Mawson, P. V. Lara, J. Favier, A. Pinelli, A. Revell
Accelerating Solid-Fluid Interaction using Lattice-Boltzmann and Immersed Boundary Coupled. Simulations on Heterogeneous Platforms. Pedro Valero-Lara1, Alfredo Pinelli2, and Manuel Prieto-Matias3. https://doi.org/10.1016/j.procs.2014.05.005
Von Karman T (1964). Aerodynamics, 1st Edition. McGraw-Hill.
Published
How to Cite
Issue
Section
Copyright (c) 2017 G Boroni, J Dottori, P Rinaldi

This work is licensed under a Creative Commons Attribution 4.0 International License.