pyJac: analytical Jacobian generator for chemical kinetics
arXiv:1605.03262 · doi:10.1016/j.cpc.2017.02.004
Abstract
Accurate simulations of combustion phenomena require the use of detailed chemical kinetics in order to capture limit phenomena such as ignition and extinction as well as predict pollutant formation. However, the chemical kinetic models for hydrocarbon fuels of practical interest typically have large numbers of species and reactions and exhibit high levels of mathematical stiffness in the governing differential equations, particularly for larger fuel molecules. In order to integrate the stiff equations governing chemical kinetics, generally reactive-flow simulations rely on implicit algorithms that require frequent Jacobian matrix evaluations. Some in situ and a posteriori computational diagnostics methods also require accurate Jacobian matrices, including computational singular perturbation and chemical explosive mode analysis. Typically, finite differences numerically approximate these, but for larger chemical kinetic models this poses significant computational demands since the number of chemical source term evaluations scales with the square of species count. Furthermore, existing analytical Jacobian tools do not optimize evaluations or support emerging SIMD processors such as GPUs. Here we introduce pyJac, a Python-based open-source program that generates analytical Jacobian matrices for use in chemical kinetics modeling and analysis. As a demonstration, we first establish the correctness of the Jacobian matrices for kinetic models of hydrogen, methane, ethylene, and isopentanol oxidation, then demonstrate the performance achievable on CPUs and GPUs using pyJac via matrix evaluation timing comparisons.
42 pages, 7 figures
References in corpus (5)
- The NumPy array: a structure for efficient numerical computation
- 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 automated target species selection method for dynamic adaptive chemistry simulations
Cited by in corpus (12)
- DLBFoam: An open-source dynamic load balancing model for fast reacting flow simulations in OpenFOAM
- Automatic differentiation in quantum chemistry with an application to fully variational Hartree-Fock
- A Conservative Discontinuous Galerkin Discretization for the Chemically Reacting Navier-Stokes Equations
- Fast reactive flow simulations using analytical Jacobian and dynamic load balancing in OpenFOAM
- A numerical study on combustion mode characterization for locally stratified dual-fuel mixtures
- Machine Learning Approaches to Learn HyChem Models
- An investigation of GPU-based stiff chemical kinetics integration methods
- Accelerating finite-rate chemical kinetics with coprocessors: comparing vectorization methods on GPUs, MICs, and CPUs
- Using SIMD and SIMT vectorization to evaluate sparse chemical kinetic Jacobian matrices and thermochemical source terms
- Flame-wall interaction of thermodiffusively unstable hydrogen/air flames -- Part I: Characterization of governing physical phenomena
- Accelerating reactive-flow simulations using vectorized chemistry integration
- KinetiX: A performance portable code generator for chemical kinetics and transport properties