Journal of Computational Physics 270 (2014) 577–586 Contents lists available at ScienceDirect Journal of Computational Physics www.elsevier.com/locate/jcp Parallel in time approximation of the lattice Boltzmann method for laminar flows Amanda Randles ∗ , Efthimios Kaxiras Department of Physics and School of Engineering and Applied Sciences, Harvard University, Cambridge, MA 02138, USA article info abstract Article history: Received 1 April 2013 Received in revised form 1 April 2014 Accepted 3 April 2014 Available online 13 April 2014 Keywords: Lattice Boltzmann Fluid dynamics Parareal algorithm Parallel in time methods High performance computing Fluid dynamics simulations using grid-based methods, such as the lattice Boltzmann equation, can benefit from parallel-in-space computation. However, for a fixed-size simulation of this type, the efficiency of larger processor counts will saturate when the number of grid points per core becomes too small. To overcome this fundamental strong scaling limit in space-parallel approaches, we present a novel time-parallel version of the lattice Boltzmann method using the parareal algorithm. This method is based on a predictor–corrector scheme combined with mesh refinement to enable the simulation of larger number of time steps. We present results of up to a 32× increase in speed for a model system consisting of a cylinder with conditions for laminar flow. The parallel gain obtainable is predicted with strong accuracy, providing a quantitative understanding of the potential impact of this method. 2014 Elsevier Inc. All rights reserved. 1. Introduction A large amount of work has been devoted to decomposing computational fluid dynamics methods spatially in an effort to enable large-scale simulations using high performance parallel computing. While such methods have been successful (cf. [1–4]), the speedup gained from spatial decomposition will inevitably reach a plateau for a fixed problem size: increasing the spatial discretization will lead to saturation of parallel speedup when the number of lattice points per core becomes too small. Increasingly, large simulations need to be completed on a short time scale in order to make a significant impact on scientific outcomes, making the wall-clock time a crucial component. In such cases, if there are sufficient computational resources, the introduction of temporal parallelization can help overcome the strong scaling limit of spatial parallelization and significantly extend the overall simulated time in a fixed amount of wall-clock time, or reduce the wall-clock time for a simulation of fixed duration. In this paper, we present an efficient method for time parallelization of the lattice Boltzmann method (LBM), one of the most efficient and versatile approaches for simulations of fluid dynamics (cf. [5–7]). We will focus on the parareal algorithm first introduced by Lions et al. [8], which consists of a coarse iterator calcu- lated serially to initialize data at discrete time steps that is used as the input for a fine grid iterator that runs in parallel. The coarse solver is based on a larger time step and typically a coarser space discretization. Iterative refinement enables the compute-intensive fine iterator to be handled by the temporal parallelization. This method can be viewed as a predictor– corrector scheme in which the coarse solver is used to predict initial values for the full time range and these initial guesses are iteratively refined through application of the fine solver, with the refinement (correction step) completed in parallel. * Corresponding author. Tel.: +1 617 858 1520. E-mail address: amanda.randles@post.harvard.edu (A. Randles). http://dx.doi.org/10.1016/j.jcp.2014.04.006 0021-9991/ 2014 Elsevier Inc. All rights reserved.