Lattice Boltzmann Simulation of Binary Mixture Diffusion Using Modern Graphics Processors

A highly optimized implementation of binary mixture diffusion with no initial bulk velocity on graphics processors is presented. The lattice Boltzmann model is employed for simulating the binary diffusion of oxygen and nitrogen into each other with different initial concentration distributions. Simulations have been performed using the latest proposed lattice Boltzmann model that satisfies both the indifferentiability principle and the H-theorem for multi-component gas mixtures. Contemporary numerical optimization techniques such as memory alignment and increasing the multiprocessor occupancy are exploited along with some novel optimization strategies to enhance the computational performance on graphics processors using the C for CUDA programming language. Speedup of more than two orders of magnitude over single-core processors is achieved on a variety of Graphical Processing Unit (GPU) devices ranging from conventional graphics cards to advanced, high-end GPUs, while the numerical results are in excellent agreement with the available analytical and numerical data in the literature.




References:
[1] X. Shan and J. Doolen, "Diffusion in a multicomponent Lattice
Boltzmann model," in , Physical Review E., Vol. 54, 1996.
[2] L .S. Luo and S. S. Girimaji, "Theory of Lattice Boltzmann Method:
Two fluid model for binary," in Physical Review E., Vol. 67, 2003.
[3] M. E. McCracken and J. Abraham, "Lattice Boltzmann Method for
binary mixtures with different molecular weights," in Physical
Review E., Vol. 71, 2005.
[4] S. Arcidiacono, S. Ansumli, I. V. Karlin J. Mantzaras and K.B.
Boulouchos, "Entropic Lattice Boltzmann Method for simulation of
binary mixtures," in Mathematics and Computers in simulation, Vol.
72, No. 2-6, pp. 79-83, 2006.
[5] S. Arcidiacono, I. V. Karlin J. Mantzaras and C. Foruzakis, "Lattice
Boltzmann model for the simulation of multicomponent mixtures," in
Physical Review E., Vol. 78, No. 4, 2008.
[6] S. Arcidiacono, J. Mantzaras and I. V. Karlin "Lattice Boltzmann
simulation of catalytic reactions," in Physical Review E., Vol. 76, No. 4,
2007.
[7] W. Li, Z. Fan, X. Wei and A. Kaufman, "GPU-based flow simulation
with complex boundaries," in GPU Gems 2Pharr M., (ed) Addison
Wesley: Boston, MA, 747-764, 2005.
[8] H. Zhu, X. Liu, Y. Liu and E. Wu, "Simulation of miscible binary
mixtures based on Lattice Boltzmann method," in Comp. Anim. Virtual
Worlds, 17, 403-410, 2008.
[9] J. Tolke, "Implementation of a Lattice Boltzmann kernel using the
compute unified device architecture," in computing and Visualization in
Science, 2008.
[10] J. Tolke and M. Krafczyk, "TeraFLOP computing on a desktop PC with
GPUs for 3D CFD," in International Journal of Computational Fluid
Dynamics, Vol. 22, No. 7, 2008.
[11] A. Kaufman, Z. Fan and K. Petkof, "Implementing the Lattice
Boltzmann model on commodity graphics hardware," in Journal of
Statistical Mechanics: Theory and Experiment, 2009.
[12] F. Kuznik, C. Obrecht, G. Rusaouen and J. Roux, "LBM Based flow
simulation using GPU computing processor," in Comp. and Math. With
App. Volume 59, Issue 7, pp. 2380-2392, 2010.
[13] A. Zahehgol, M. Ashrafizaadeh, and M.A. Safi, "GPU implementation
of a lattice Boltzmann flow solver", in Proc. 18th Annual International
Conference on Mechanical Engineering, Sharif University of
Technology, Tehran, 2010.
[14] M. Bernasch, M. Fatica, S. Melchionna, S. Succi and E. Kaxiras, "A
flexible high-performance Lattice Boltzmann GPU code for simulation
of fluid flows in complex geometries," in Concurrency and
Computation: Prac. Exper. 22, pp 1-14, 2010.
[15] D. Ribbrock, M. Geveler, D. Goddeke and S. Turek, "Performance and
accuracy of Lattice Boltzmann kernels on multi- and manycore
architectures," in Procedia Computer science 1, pp 239-247, 2010.
[16] C. Obrecht, F. Kuznik, B. Tourancheau and J. Roux, "A new approach
to the lattice Boltzman method for graphics processing units," in Comp.
Math. with App. 2010, to be published.
[17] M. A. Safi, M. Ashrafizaadeh, and A. Zahehgol, "Implementing lattice
Boltzmann fluid flow simulations on graphics processors", in Proc. 13
Annual and 2nd international Fluid Dynamics Conference, University of
Shiraz, Shiraz, 2010, submitted for publication.
[18] Rastegari, A., "Simulation of gaseous mixtures in a packed bed of
unfixed particles," Msc. Thesis, Isfahan University of Technology, 2008.
[19] A.N. Ghorban and I. V. Karlin, in Physica A 206, 40, 1994.
[20] nVIDIA, CUDA Programming Guide V3.0, 2010.
[21] nVIDIA, CUDA Best Practice Guide V3.0, 2010.
[22] nVIDIA, CUDA Visual Profiler V3.0.23, 2010.
[23] S. S. Chikatamarla, S. Ansumali, and I. V. Karlin, in Europhys. Lett. 74,
215, 2006.