Authors: Hakan Başağaoğlu, John R. Harwell, Hoa Nguyen, Sauro Succi
Journal: Computer Physics Communications, 2017, 213: 64-71.
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 21 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.