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

    Research output: Contribution to journalArticlepeer-review

    26 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. © 2010 The American Physical Society.

    Original languageEnglish
    Article number056702
    Number of pages12
    JournalPhysical Review E
    Issue number5
    Publication statusPublished - 6 May 2010


    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