Related Experiment Video
Updated: Jun 8, 2026

Multiscale Sampling of a Heterogeneous Water/Metal Catalyst Interface using Density Functional Theory and Force-Field Molecular Dynamics
Published on: April 12, 2019
SHIFT: an implementation for lattice Boltzmann simulation in low-porosity porous media
Jingsheng Ma1, Kejian Wu, Zeyun Jiang
1Institute of Petroleum Engineering, Heriot-Watt University, Edinburgh EH14 4AS, United Kingdom. jingsheng.ma@pet.hw.ac.uk
Abstract:
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.
Related Concept Videos
Fluid Mosaic Model
Poisson's And Laplace's Equation
Maxwell-Boltzmann Distribution: Problem Solving
This distribution function f(v) is defined by saying that the expected number N (v1,v2) of particles with speeds between v1 and v2 is given by
Steady, Laminar Flow Between Parallel Plates
Trends in Lattice Energy: Ion Size and Charge
Laminar and Turbulent Flow

