• Lattice Boltzmann Method (LBM): LBM started in early 1990's, is a computer simulation approach for complex fluid flow systems and has growing interests from researchers in computational multi-physics field. Unlike the traditional CFD methods, which numerically solve the conservation equations describing macroscopic properties (e.g., mass, momentum, energy), LBM models the fluid-flow with a statistical particle distribution functions (single particle description in phase-space and time), and this algorithm performs consecutive propagation and collision processes over a discrete lattice mesh. Due to its locality of the dynamics and only near-neighbour shifts of distributions, LBM has several advantages over other CFD methods, especially in dealing with complex boundaries, incorporating of microscopic interactions for multi-physics flow problems, and scalability with high performance computing on CPUs and GPUs. The lattice Boltzmann equation is a discrete-velocity Boltzmann equation and hence susceptible to lose some features of the full Boltzmann equation from kinetic theory due to the use of only a finite set of lattice velocities. [Ref. Lallemand, P., & Luo, L.S. (2000). Theory of the lattice Boltzmann method: Dispersion, dissipation, isotropy, Galilean invariance, and stability. Physical Review E, 61(6), 6546; Benzi, R., Succi, S., & Vergassola, M. (1992). The lattice Boltzmann equation: theory and applications. Physics Reports, 222(3), 145-197].