A scalable interface-resolved simulation of particle-laden flow using the lattice Boltzmann method

Abstract We examine the scalable implementation of the lattice Boltzmann method (LBM) in the context of interface-resolved simulation of wall-bounded particle-laden flows. Three distinct aspects relevant to performance optimization of our lattice Boltzmann simulation are studied. First, we optimize the core sub-steps of LBM, the collision and the propagation (or streaming) sub-steps, by reviewing and implementing five different published algorithms to reduce memory loading and storing requirements to boost performance. For each, two different array storage formats are benchmarked to test effective cache utilization. Second, the vectorization of the multiple-relaxation-time collision model is discussed and our vectorized collision and propagation algorithm is presented. We find that careful use of Intel’s Advance Vector Extensions and appropriate array storage formats can significantly enhance performance. Third, in the presence of many finite-size, moving solid particles within the flow field, three different communication schemes are proposed and compared in order to optimize the treatment of fluid-solid interactions. These efforts together lead to a very efficient LBM simulation code for interface-resolved simulation of particle-laden flows. Overall, the optimized scalable code of particle-laden flow is a factor of 4.0-to-8.5 times faster than our previous implementation.

[1]  Cass T. Miller,et al.  An evaluation of lattice Boltzmann schemes for porous medium flow simulation , 2006 .

[2]  Ernst Rank,et al.  Parallelization Strategies and Efficiency of CFD Computations in Complex Geometries Using Lattice Boltzmann Methods on High-Performance Computers , 2002 .

[3]  Ulrich Rüde,et al.  Optimization and Profiling of the Cache Performance of Parallel Lattice Boltzmann Codes in 2 D and 3 D ∗ , 2003 .

[4]  Jianhua Li,et al.  High Performance Lattice Boltzmann Algorithms for Fluid Flows , 2008, 2008 International Symposium on Information Science and Engineering.

[5]  P. Lallemand,et al.  Lattice Boltzmann method for moving boundaries , 2003 .

[6]  F. Durst,et al.  Lattice BGK direct numerical simulation of fully developed turbulence in incompressible plane channel flow , 2006 .

[7]  B. Shi,et al.  Discrete lattice effects on the forcing term in the lattice Boltzmann method. , 2002, Physical review. E, Statistical, nonlinear, and soft matter physics.

[8]  Gerhard Wellein,et al.  On the single processor performance of simple lattice Boltzmann kernels , 2006 .

[9]  A. J. Clewett,et al.  Introduction to sequencing and scheduling , 1974 .

[10]  Hui Gao,et al.  Author's Personal Copy Computers and Mathematics with Applications Study of Forced Turbulence and Its Modulation by Finite-size Solid Particles Using the Lattice Boltzmann Approach Author's Personal Copy , 2022 .

[11]  Aniruddha G. Shet,et al.  On Vectorization For Lattice Based Simulations , 2013 .

[12]  Gerhard Wellein,et al.  Comparison of different propagation steps for lattice Boltzmann methods , 2011, Comput. Math. Appl..

[13]  D. d'Humières,et al.  Multiple–relaxation–time lattice Boltzmann models in three dimensions , 2002, Philosophical Transactions of the Royal Society of London. Series A: Mathematical, Physical and Engineering Sciences.

[14]  Bharat Kaul,et al.  Data structure and movement for lattice-based simulations. , 2013, Physical review. E, Statistical, nonlinear, and soft matter physics.

[15]  Hui Li,et al.  Lattice Boltzmann simulation of turbulent flow laden with finite-size particles , 2013, Comput. Math. Appl..

[16]  D. d'Humières,et al.  Two-relaxation-time Lattice Boltzmann scheme: About parametrization, velocity, pressure and mixed boundary conditions , 2008 .

[17]  François Bertrand,et al.  On improving the performance of large parallel lattice Boltzmann flow simulations in heterogeneous porous media , 2010 .

[18]  Peter J. Denning,et al.  The locality principle , 2005, CACM.

[19]  Shan,et al.  Lattice Boltzmann model for simulating flows with multiple phases and components. , 1993, Physical review. E, Statistical physics, plasmas, fluids, and related interdisciplinary topics.

[20]  Zhaoli Guo,et al.  Lattice Boltzmann simulation of particle-laden turbulent channel flow , 2016 .

[21]  Gerhard Wellein,et al.  Modeling and analyzing performance for highly optimized propagation steps of the lattice Boltzmann method on sparse lattices , 2014, ArXiv.

[22]  Zhaoli Guo,et al.  Flow Modulation by Finite-Size Neutrally Buoyant Particles in a Turbulent Channel Flow , 2016 .

[23]  Tuomo Rossi,et al.  Comparison of implementations of the lattice-Boltzmann method , 2008, Comput. Math. Appl..

[24]  J. Boon The Lattice Boltzmann Equation for Fluid Dynamics and Beyond , 2003 .

[25]  Samuel Williams,et al.  Lattice Boltzmann simulation optimization on leading multicore platforms , 2008, 2008 IEEE International Symposium on Parallel and Distributed Processing.

[26]  Ji Xu,et al.  Efficient 3D DNS of gas–solid flows on Fermi GPGPU , 2012 .

[27]  Ulrich Rüde,et al.  Cache Performance Optimizations for Parallel Lattice Boltzmann Codes , 2003, Euro-Par.

[28]  A. Ladd,et al.  Interpolated boundary condition for lattice Boltzmann simulations of flows in narrow gaps. , 2007, Physical review. E, Statistical, nonlinear, and soft matter physics.

[29]  Cyrus K. Aidun,et al.  Lattice-Boltzmann Method for Complex Flows , 2010 .

[30]  Cheng Peng,et al.  Implementation issues and benchmarking of lattice Boltzmann method for moving rigid particle simulations in a viscous flow , 2016, Comput. Math. Appl..

[31]  L. Luo,et al.  Lattice Boltzmann Model for the Incompressible Navier–Stokes Equation , 1997 .

[32]  Jan Westerholm,et al.  An efficient swap algorithm for the lattice Boltzmann method , 2007, Comput. Phys. Commun..

[33]  Thomas Zeiser,et al.  Performance evaluation of a parallel sparse lattice Boltzmann solver , 2008, J. Comput. Phys..

[34]  W. Shyy,et al.  Viscous flow computations with the method of lattice Boltzmann equation , 2003 .

[35]  Peter J. Denning The locality principle , 2005, Commun. ACM.

[36]  Alfonso Caiazzo,et al.  Analysis of lattice Boltzmann nodes initialisation in moving boundary problems , 2008 .

[37]  Peter Bailey,et al.  Accelerating Lattice Boltzmann Fluid Flow Simulations Using Graphics Processors , 2009, 2009 International Conference on Parallel Processing.

[38]  P. Lallemand,et al.  Momentum transfer of a Boltzmann-lattice fluid with boundaries , 2001 .

[39]  A. Ladd,et al.  Lattice-Boltzmann Simulations of Particle-Fluid Suspensions , 2001 .

[40]  Ignacio Pagonabarraga,et al.  Parallel simulation of particle suspensions with the lattice Boltzmann method , 2008, Comput. Math. Appl..

[41]  Orlando Ayala,et al.  Study of Local Turbulence Profiles Relative to the Particle Surface in Particle-Laden Turbulent Flows , 2016 .