Journal of Computational Physics
An object oriented approach to lattice gas modeling
Future Generation Computer Systems - Special issue on high performance computing and networking Europe 1999
Efficiently using memory in lattice Boltzmann simulations
Future Generation Computer Systems - Special issue: Computational science of lattice Boltzmann modelling
Towards a hybrid parallelization of lattice Boltzmann methods
Computers & Mathematics with Applications
LBM based flow simulation using GPU computing processor
Computers & Mathematics with Applications
Optimization of a Computational Fluid Dynamics Code for the Memory Hierarchy: A Case Study
International Journal of High Performance Computing Applications
Hi-index | 0.09 |
Simplicity of coding is usually an appealing feature of the lattice-Boltzmann method (LBM). Conventional implementations of LBM are often based on the two-lattice or the two-step algorithm, which however suffer from high memory consumption and poor computational performance, respectively. The aim of this work was to identify implementations of LBM that would achieve high computational performance with low memory consumption. Effects of memory addressing schemes were investigated in particular. Data layouts for velocity distribution values were also considered, and they were found to be related to computational performance. A novel bundle data layout was therefore introduced. Addressing schemes and data layouts were implemented for the Lagrangian, compressed-grid (shift), swap, two-lattice, and two-step algorithms. Implementations were compared for a wide range of fluid volume fractions. Simulation results indicated that indirect addressing implementations yield high computational performance. However, they achieved low memory consumption only for very low fluid volume fractions. Semi-direct addressing implementations could also provide high computational performance. The bundle data layout was found to be competitive, sometimes by a wide margin, in all the cases considered.