DLBFoam: An open-source dynamic load balancing model for fast reacting flow simulations in OpenFOAM
Computational load imbalance is a well-known performance issue in multiprocessor reacting flow simulations utilizing directly integrated chemical kinetics. We introduce an open-source dynamic load balancing model named DLBFoam to address this issue within OpenFOAM, an open-source C++ library for Computational Fluid Dynamics (CFD). Due to the commonly applied operator splitting practice in reactive flow solvers, chemistry can be treated as an independent stiff ordinary differential equation (ODE) system within each computational cell. As a result of the highly non-linear characteristics of chemical kinetics, a large variation in the convergence rates of the ODE integrator may occur, leading to a high load imbalance across multiprocessor configurations. However, the independent nature of chemistry ODE systems leads to a problem that can be parallelized easily (called an embarrassingly parallel problem in the literature) during the flow solution. The presented model takes advantage of this feature and balances the chemistry load across available resources. Additionally, a reference mapping model is utilized to further speed-up the simulations. When DLBFoam it utilized with both these features enabled, a speed-up by a factor of 10 is reported for reactive flow benchmark cases. To the best of our knowledge, this model is the first open-source implementation of chemistry load balancing in the literature.