Abstract
Significant improvements in the computational performance of the lattice-Boltzmann (LB) model, coded in FORTRAN90, were achieved through application of enhancement techniques. Applied techniques include optimization of array memory layouts, data structure simplification, random number generation outside the simulation thread(s), code parallelization via OpenMP, and intra- and inter-timestep task pipelining. Effectiveness of these optimization techniques was measured on three benchmark problems: (i) transient flow of multiple particles in a Newtonian fluid in a heterogeneous fractured porous domain, (ii) thermal fluctuation of the fluid at the sub-micron scale and the resultant Brownian motion of a particle, and (iii) non-Newtonian fluid flow in a smooth-walled channel. Application of the aforementioned optimization techniques resulted in an average 21x performance improvement, which could significantly enhance practical uses of the LB models in diverse applications, focusing on the fate and transport of nano-size or micron-size particles in non-Newtonian fluids. (C) 2016 Elsevier B.V. All rights reserved.
Anno
2017
Tipo pubblicazione
Altri Autori
Basagaoglu, Hakan; Harwell, John R.; Hoa Nguyen; Succi, Sauro
Editore
North-Holland
Rivista
Computer physics communications