Abstract

The lattice Boltzmann method (LBM) is an algorithm to simulate fluid flows with the advantage of locality and simplicity, which is suitable for GPU acceleration and simulation of complex flows. However, LBM simulations involving complex solid boundaries require each boundary node to be aware of the types of all its neighbor nodes, i.e., fluid or solid, during the execution of boundary conditions, which involves tremendous data transfer between global and local memory on GPU. Such data transfer operations constitute a large portion of consumed time and can significantly affect simulation efficiency. This article proposes a novel boundary processing scheme that encodes the neighbor nodes' information into a single integer and stores it on the local node. We choose two- and three-dimensional porous-medium flows to test the performance of the proposed scheme on complex boundary geometries and compare it with the usual schemes that retrieve information redundantly from neighbors. The comparison shows that our proposed scheme can improve the overall computing efficiency by up to 40% for 3D flow simulations through porous media. Such improvement is achieved by reducing time consumption on data transfer.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call