A runtime based comparison of highly tuned lattice Boltzmann and finite difference solvers

The aim of this work is a fair and unbiased comparison of a lattice Boltzmann method (LBM) against a finite difference method (FDM) for the simulation of fluid flows. Rather than reporting metrics such as floating point operation rates or memory throughput, our work considers the engineering quest of reaching a desired solution quality with the least computational effort. The specific lattice Boltzmann and finite difference methods selected here are of a very basic nature to emphasize the influence of the fundamentally different approaches. To minimize the skew in the measurements, complex boundary condition schemes and further advanced techniques are avoided and instead both methods are fully explicit, weakly compressible approaches. Due to the highly optimized nature of both codes, different sets of restrictions are imposed by either method. Using the common set of features, two relatively simple test cases in terms of a duct flow and the flow in a lid driven cavity are considered and are tuned to perform optimally with both approaches. As a third test case, a transient flow around a square cylinder is used to demonstrate the applicability to engineering oriented settings and in a temporal domain. The performance of the two methods is found to be very similar with no full advantage for any of the approaches. Overall a tendency toward better performance of the LBM at larger target errors and for indirect benchmark quantities, such as lift and drag, is observed, while the FDM excels at smaller target errors and direct comparisons of velocity and pressure profiles to analytical solutions. Other factors such as the difficulty of setting consistent boundary conditions in the LBM or the effect of stabilization in the FDM are likely to be the most important criteria when searching for a very fast flow solver for practical applications.

[1]  Orestis Malaspinas,et al.  Straight velocity boundaries in the lattice Boltzmann method. , 2008, Physical review. E, Statistical, nonlinear, and soft matter physics.

[2]  Charles Merkle,et al.  Time-accurate unsteady incompressible flow algorithms based on artificial compressibility , 1987 .

[3]  Mauricio Araya-Polo,et al.  Algorithm 942 , 2014 .

[4]  Pierre Sagaut,et al.  Comparison between lattice Boltzmann method and Navier-Stokes high order schemes for computational aeroacoustics , 2009, J. Comput. Phys..

[5]  Zhaoxia Yang,et al.  Convergence of lattice Boltzmann methods for Navier–Stokes flows in periodic and bounded domains , 2009, Numerische Mathematik.

[6]  Rainald Löhner,et al.  Practical applicability of optimizations and performance models to complex stencil-based loop kernels in CFD , 2019, Int. J. High Perform. Comput. Appl..

[7]  Jan Linxweiler Ein integrierter Softwareansatz zur interaktiven Exploration und Steuerung von Strömungssimulationen auf Many-Core-Architekturen , 2011 .

[8]  C. Knisely STROUHAL NUMBERS OF RECTANGULAR CYLINDERS AT INCIDENCE: A REVIEW AND NEW DATA , 1990 .

[9]  F. Kummer,et al.  An extension of the SIMPLE based discontinuous Galerkin solver to unsteady incompressible flows , 2015 .

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

[11]  Franz Durst,et al.  Comparison of cellular automata and finite volume techniques for simulation of incompressible flows in complex geometries , 1999 .

[12]  A. Chorin A Numerical Method for Solving Incompressible Viscous Flow Problems , 1997 .

[13]  T. Papanastasiou,et al.  Viscous Fluid Flow , 1999 .

[14]  H. Hoefsloot,et al.  International Journal for Numerical Methods in Fluids Lattice-boltzmann and Finite Element Simulations of Fluid Flow in a Smrx Static Mixer Reactor , 2022 .

[15]  G. Biswas,et al.  Three-dimensional study of flow past a square cylinder at low Reynolds numbers , 2003 .

[16]  David R. Noble,et al.  Truncation error analysis of lattice Boltzmann methods , 2004 .

[17]  Martin Kronbichler,et al.  A fast massively parallel two-phase flow solver for microfluidic chip simulation , 2018, Int. J. High Perform. Comput. Appl..

[18]  Ulrich Rüde,et al.  Performance Evaluation of Parallel Large-Scale Lattice Boltzmann Applications on Three Supercomputing Architectures , 2004, Proceedings of the ACM/IEEE SC2004 Conference.

[19]  A. Okajima Strouhal numbers of rectangular cylinders , 1982, Journal of Fluid Mechanics.

[20]  M Cerrolaza,et al.  Analysis of 3D transient blood flow passing through an artificial aortic valve by Lattice-Boltzmann methods. , 1998, Journal of biomechanics.

[21]  M. Carpenter,et al.  Fourth-order 2N-storage Runge-Kutta schemes , 1994 .

[22]  Masato Yoshino,et al.  Comparison of Accuracy and Efficiency between the Lattice Boltzmann Method and the Finite Difference Method in Viscous/Thermal Fluid Flows , 2004 .

[23]  Nihar R. Mahapatra,et al.  The processor-memory bottleneck: problems and solutions , 1999, CROS.

[24]  M. Junk,et al.  Asymptotic analysis of the lattice Boltzmann equation , 2005 .

[25]  P. Sagaut BOOK REVIEW: Large Eddy Simulation for Incompressible Flows. An Introduction , 2001 .

[26]  Michael Junk,et al.  A finite difference interpretation of the lattice Boltzmann method , 2001 .

[27]  Pietro Asinari,et al.  Artificial compressibility method and lattice Boltzmann method: Similarities and differences , 2011, Comput. Math. Appl..

[28]  Bradley Duncan,et al.  Validation of Lattice-Boltzmann Aerodynamics Simulation for Vehicle Lift Prediction , 2010 .

[29]  Samuel Williams,et al.  Optimization and Performance Modeling of Stencil Computations on Modern Microprocessors , 2007, SIAM Rev..

[30]  Pierre Lallemand,et al.  Lattice Gas Hydrodynamics in Two and Three Dimensions , 1987, Complex Syst..

[31]  R. Rannacher,et al.  Benchmark Computations of Laminar Flow Around a Cylinder , 1996 .

[32]  A. Jameson,et al.  Numerical solution of the Euler equations by finite volume methods using Runge Kutta time stepping schemes , 1981 .

[33]  Wolfgang A. Wall,et al.  A matrix‐free high‐order discontinuous Galerkin compressible Navier‐Stokes solver: A performance comparison of compressible and incompressible formulations for turbulent incompressible flows , 2018, International Journal for Numerical Methods in Fluids.

[34]  Georg Hager,et al.  Introducing a Performance Model for Bandwidth-Limited Loop Kernels , 2009, PPAM.

[35]  F. Durst,et al.  Accurate computations of the laminar flow past a square cylinder based on two different methods : lattice-Boltzmann and finite-volume , 2000 .

[36]  I. Karlin,et al.  Kinetic boundary conditions in the lattice Boltzmann method. , 2002, Physical review. E, Statistical, nonlinear, and soft matter physics.

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

[38]  Freddie D. Witherden,et al.  A high-order cross-platform incompressible Navier-Stokes solver via artificial compressibility with application to a turbulent jet , 2018, Comput. Phys. Commun..

[39]  Richard D. Sandberg,et al.  Efficient parallel computing with a compact finite difference scheme , 2011 .

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

[41]  David P. Lockard,et al.  Evaluation of the Lattice-Boltzmann Equation Solver PowerFLOW for Aerodynamic Applications , 2000 .

[42]  J. Williamson Low-storage Runge-Kutta schemes , 1980 .

[43]  S. Turek,et al.  Benchmark computations based on Lattice-Boltzmann, Finite Element and Finite Volume Methods for laminar Flows , 2006 .

[44]  David R. Noble,et al.  Comparison of Accuracy and Performance for Lattice Boltzmann and Finite Difference Simulations of Steady Viscous Flow , 1996 .

[45]  Jens Harting,et al.  Implementation of on-site velocity boundary conditions for D3Q19 lattice Boltzmann simulations , 2008, 0811.4593.

[46]  Wei Shyy,et al.  The Lattice Boltzmann Method for Flapping Wing Aerodynamics , 2010 .

[47]  Y. Qian,et al.  Lattice BGK Models for Navier-Stokes Equation , 1992 .

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

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

[50]  Gerhard Wellein,et al.  Benchmark Analysis and Application Results for Lattice Boltzmann Simulations on NEC SX Vector and Intel Nehalem Systems , 2009, Parallel Process. Lett..

[51]  L. Davidson,et al.  Simulation of three-dimensional flow around a square cylinder at moderate Reynolds numbers , 1999 .

[52]  Gerhard Wellein,et al.  Vector Computers in a World of Commodity Clusters, Massively Parallel Systems and Many-Core Many-Threaded CPUs: Recent Experience Based on an Advanced Lattice Boltzmann Flow Solver , 2008, High Performance Computing in Science and Engineering.

[53]  Dominique d'Humières,et al.  Multireflection boundary conditions for lattice Boltzmann models. , 2003, Physical review. E, Statistical, nonlinear, and soft matter physics.

[54]  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.

[55]  G. Doolen,et al.  Comparison of the Lattice Boltzmann Method and the Artificial Compressibility Method for Navier-Stokes Equations , 2002 .

[56]  D. d'Humières,et al.  Study of simple hydrodynamic solutions with the two-relaxation-times lattice Boltzmann scheme , 2008 .

[57]  Samuel Williams,et al.  Optimization of a lattice Boltzmann computation on state-of-the-art multicore platforms , 2009, J. Parallel Distributed Comput..

[58]  M. D. Deshpande,et al.  FLUID MECHANICS IN THE DRIVEN CAVITY , 2000 .

[59]  Sanjay Mittal,et al.  Flow past a square cylinder at low Reynolds numbers , 2011 .

[60]  Zhaoxia Yang,et al.  Asymptotic Analysis of Lattice Boltzmann Boundary Conditions , 2005 .

[61]  George Em Karniadakis,et al.  Predictability and uncertainty in CFD , 2003 .

[62]  Rainald Löhner,et al.  Comparison of Lattice-Boltzmann and Finite Difference Solvers , 2014 .

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