Choice of boundary condition and collision operator for lattice-Boltzmann simulation of moderate Reynolds number flow in complex domains
Modeling blood flow in larger vessels using lattice-Boltzmann methods comes with a challenging set of constraints: a complex geometry with walls and inlet/outlets at arbitrary orientations with respect to the lattice, intermediate Reynolds number, and unsteady flow. Simple bounce-back is one of the most commonly used, simplest, and most computationally efficient boundary conditions, but many others have been proposed. We implement three other methods applicable to complex geometries (Guo-Zheng-Shi, Bouzdi-Firdaouss-Lallemand, Junk-Yang) in our open-source application HemeLB. We use these to simulation Poiseuille and Womersley flow in a cylindrical pipe with an arbitrary orientation at physiologically relevant Reynolds (1--100) and Womersley (4--12) numbers and compare the accuracy to analytical solutions. We find that the Bouzidi-Firdaouss-Lallemand method offers the best accuracy and stability properties with first-order convergence in space. Simple bounce-back has similar behavior but with errors around 50% larger. The Guo-Zheng-Shi and Junk-Yang methods, while accurate at low Reynolds number, are unstable at Reynolds numbers $≥30$ and so cannot be recommended for use in hemodynamic simulation of larger arteries. The choice of collision operator (lattice Bhatnagar-Gross-Krook vs.\ multiple relaxation time) and velocity set (D3Q15 vs.\ D3Q19) does not significantly affect the accuracy in the problems studied.