DLBFoam: An open-source dynamic load balancing model for fast reacting flow simulations in OpenFOAM
Computational load imbalance due to direct integration of chemical kinetics is a well-known performance issue in parallel reacting flow simulations. We introduce an open-source dynamic load balancing model to address this problem 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 highly non-linear characteristics of chemical kinetics, a large variation in convergence rates of 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 (also termed embarrassingly parallel in the literature) during the flow solution. The presented model takes advantage of this feature and balances the chemistry load across available resources. When the load balancing is utilized together with a reference mapping model also introduced in this paper, a speed-up by a factor of 10 is reported for practical reactive flow simulations. To the best of our knowledge, this model is the first open-source implementation of chemistry load balancing in the literature.
READ FULL TEXT