Enhanced computational performance of the lattice Boltzmann model for simulating micron- and submicron-size particle flows and non-Newtonian fluid flows
Hakan Ba\c{s}a\u{g}ao\u{g}lu, John R. Harwell, Hoa Nguyen, Sauro Succi

TL;DR
This paper demonstrates a 21-fold performance enhancement of the lattice Boltzmann model through various optimization techniques, enabling more efficient simulations of micron- and submicron-scale particle and non-Newtonian fluid flows.
Contribution
The paper introduces specific optimization strategies for the lattice Boltzmann model, significantly improving computational efficiency for complex particle and non-Newtonian fluid flow simulations.
Findings
Average 21 performance improvement across benchmarks
Enhanced simulation capabilities for nano- and micron-scale particles
Improved modeling of non-Newtonian fluid flows
Abstract
Significant improvements in the computational performance of the lattice-Boltzmann (LB) model, coded in FORTRAN90, were achieved through application of enhancement techniques. Applied techniques include optimization of array memory layouts, data structure simplification, random number generation outside the simulation thread(s), code parallelization via OpenMP, and intra- and inter-timestep task pipelining. Effectiveness of these optimization techniques was measured on three benchmark problems: (i) transient flow of multiple particles in a Newtonian fluid in a heterogeneous fractured porous domain, (ii) thermal fluctuation of the fluid at the sub-micron scale and the resultant Brownian motion of a particle, and (iii) non-Newtonian fluid flow in a smooth-walled channel. Application of the aforementioned optimization techniques resulted in an average 21 performance improvement, which…
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
