SHIFT: An implementation for lattice Boltzmann simulation in low-porosity porous media

Jingsheng Ma, Kejian Wu, Zeyun Jiang, Gary D. Couples

Research output: Contribution to journalArticlepeer-review

25 Citations (Scopus)


The lattice Boltzmann (LB) method has proven to be a promising method for simulating fluid dynamics in porous media. When fluid flow in pores is the only concern, a standard LB implementation, which stores one or two sets of particle distribution functions (PDFs) for both pore and solid cells, wastes a large amount of memory, especially for low-porosity media. This paper proposes a LB implementation scheme that stores a single set of PDFs for pore cells only and therefore makes it possible to simulate flow through larger and more-realistic porous models. A unique feature of this scheme is that it decomposes all PDFs into a set of 1D arrays in such a way that each array corresponds to a set of pore cells that connect one another along a pair of opposite LB velocity directions. This allows LB propagation and a standard bounce-back rule to be realized together as one or two circular shifting operations on every array. For this reason, this scheme is called SHIFT. Although PDFs are not stored in an efficient way for LB collision operation, it is shown that the incurred overhead could be reduced by properly arranging PDF arrays according to the pore structures. A D3Q15 LB implementation of SHIFT using the lattice Bhatnagar-Gross-Krook model is applied to simulate the Stokes flow through models of four natural and synthetic rock samples with porosities ranging from about 10% to 38%. Results show that SHIFT requires 36–82 % less memory than a comparable D3Q15 LB does, which stores a single set of PDF for both pore and solid cells. SHIFT achieves minimum performances of over 11 and 3.8 mega-lattice-updates-per-second (MLUPS) for the combined propagation and bounce-back operation and the collision operation, respectively, and therefore a minimum of 2.8 MLUPS in total on a computer with one AMD Opteron 2218. The performance of the collision operation is significantly improved for all cases when a simple
K -mean clustering technique is employed to rearrange PDF arrays. It is argued and shown that the number of PDF arrays per pore cell and the length frequency of PDF arrays are useful measurements on the geometry and topology of the pore structures and these characteristics are able to explain SHIFT performance variations.
Original languageEnglish
Article number056702
Number of pages12
JournalPhysical Review E
Issue number5
Publication statusPublished - 6 May 2010

Bibliographical note

The authors are grateful to Marinus I. J. van Dijke and Kenneth S. Sorbie at the Institute of Petroleum Engineering, Heriot-Watt University, UK, and two anonymous reviewers for their useful comments that helped to greatly improve the quality of our manuscript. The authors wish to thank Mark A. Knackstedt at the Department of Applied Mathematics, Research School of Physical Sciences and Engineering, Australian National University, Australia, for allowing us to use three porous models in this work. This work was supported in part by UK Engineering and Physical
Sciences Research Council EPSRC Grant No. EP/D002435/1.


Dive into the research topics of 'SHIFT: An implementation for lattice Boltzmann simulation in low-porosity porous media'. Together they form a unique fingerprint.

Cite this