Home»Blogs»Porous Rock Simulations and Lattice Boltzmann on GPUs
Porous Rock Simulations and Lattice Boltzmann on GPUs
Investigating how fluids flow inside the complicated geometries of porous rocks is an important problem in the petroleum industry. The lattice Boltzmann method (LBM) can be used to calculate porous rocks’ permeability. In this paper, we show how to implement this method efficiently on modern GPUs. Both a sequential CPU implementation and a parallelized GPU implementation is developed. Both implementations were tested using three porous data sets with known permeabilities. Our work shows that it is possible to calculate the permeability of porous rocks of simulations sizes up to 3683, which fit into the 4 GB memory of the NVIDIA Quadro FX 5800 card. Our single floating-point precision simulation resulted in respectbale 0.95-1.59 MLUPS whereas our GPU implentation achieved remarkable 180+ MLUPS for several lattices in the 1603 to 3683 range allowing calculations that would take hours on the CPU to be done in minutes on the GPU. Techniques for reducing round-off errors are also discussed and implemented.