Accelerating reactive-flow simulations using vectorized chemistry integration
arXiv:2205.05681 · doi:10.1016/j.cpc.2022.108409
Abstract
The high cost of chemistry integration is a significant computational bottleneck for realistic reactive-flow simulations using operator splitting. Here we present a methodology to accelerate the solution of the chemical kinetic ordinary differential equations using single-instruction, multiple-data vector processing on CPUs using the OpenCL framework. First, we compared several vectorized integration algorithms using chemical kinetic source terms and analytical Jacobians from the pyJac software against a widely used integration code, CVODEs. Next, we extended the OpenFOAM computational fluid dynamics library to incorporate the vectorized solvers, and we compared the accuracy of a fourth-order linearly implicit integrator -- both in vectorized form and a corresponding method native to OpenFOAM -- with the community standard chemical kinetics library Cantera. We then applied our methodology to a variety of chemical kinetic models, turbulent intensities, and simulation scales to examine a range of engineering and scientific scale problems, including (pseudo) steady-state as well as time-dependent Reynolds-averaged Navier--Stokes simulations of the Sandia flame D and the Volvo Flygmotor bluff-body stabilized, premixed flame. Subsequently, we compared the performance of the vectorized and native OpenFOAM integrators over the studied models and simulations and found that our vectorized approach performs up to 33--35x faster than the native OpenFOAM solver with high accuracy.
43 pages, 6 figures
References in corpus (4)
- Skeletal mechanism generation for surrogate fuels using directed relation graph with error propagation and sensitivity analysis
- Mechanism reduction for multicomponent surrogates: a case study using toluene reference fuels
- Reduced chemistry for a gasoline surrogate valid at engine-relevant conditions
- An investigation of GPU-based stiff chemical kinetics integration methods