Table of Contents
Fetching ...

Symbolic construction of the chemical Jacobian of quasi-steady state (QSS) chemistries for Exascale computing platforms

Malik Hassanaly, Nicholas T. Wimer, Anne Felden, Lucas Esclapez, Julia Ream, Marc T. Henry de Frahan, Jon Rood, Marc Day

TL;DR

An approach to formulating the QSSA reduction that is coupled with a strategy to generate C++ source code to evaluate the net species production rate, and the chemical Jacobian is outlined, allowing portable application across a chemical model sizes and GPU capabilities.

Abstract

The Quasi-Steady State Approximation (QSSA) can be an effective tool for reducing the size and stiffness of chemical mechanisms for implementation in computational reacting flow solvers. However, for many applications, stiffness remains, and the resulting model requires implicit methods for efficient time integration. In this paper, we outline an approach to formulating the QSSA reduction that is coupled with a strategy to generate C++ source code to evaluate the net species production rate, and the chemical Jacobian. The code-generation component employs a symbolic approach enabling a simple and effective strategy to analytically compute the chemical Jacobian. For computational tractability, the symbolic approach needs to be paired with common subexpression elimination which can negatively affect memory usage. Several solutions are outlined and successfully tested on a 3D multipulse ignition problem, thus allowing portable application across a chemical model sizes and GPU capabilities. The implementation of the proposed method is available at https://github.com/AMReX-Combustion/PelePhysics under an open-source license.

Symbolic construction of the chemical Jacobian of quasi-steady state (QSS) chemistries for Exascale computing platforms

TL;DR

An approach to formulating the QSSA reduction that is coupled with a strategy to generate C++ source code to evaluate the net species production rate, and the chemical Jacobian is outlined, allowing portable application across a chemical model sizes and GPU capabilities.

Abstract

The Quasi-Steady State Approximation (QSSA) can be an effective tool for reducing the size and stiffness of chemical mechanisms for implementation in computational reacting flow solvers. However, for many applications, stiffness remains, and the resulting model requires implicit methods for efficient time integration. In this paper, we outline an approach to formulating the QSSA reduction that is coupled with a strategy to generate C++ source code to evaluate the net species production rate, and the chemical Jacobian. The code-generation component employs a symbolic approach enabling a simple and effective strategy to analytically compute the chemical Jacobian. For computational tractability, the symbolic approach needs to be paired with common subexpression elimination which can negatively affect memory usage. Several solutions are outlined and successfully tested on a 3D multipulse ignition problem, thus allowing portable application across a chemical model sizes and GPU capabilities. The implementation of the proposed method is available at https://github.com/AMReX-Combustion/PelePhysics under an open-source license.
Paper Structure (33 sections, 10 equations, 14 figures, 4 tables, 3 algorithms)

This paper contains 33 sections, 10 equations, 14 figures, 4 tables, 3 algorithms.

Figures (14)

  • Figure 1: Graph of the 35-species, QSSA reduced, n-dodecane mechanism borghesi2018direct. Textboxes correspond to species, and circles correspond to elementary reactions. The 35-non-QSSA are greyed out, and 11 QSS species involved in quadratic couplings are highlighted in red. Red circles highlight the elementary reactions that induce the quadratic couplings. Links between reaction nodes and species nodes are grayed out except for inducing couplings (i.e., links between red-highlighted reaction nodes and red-highlighted species nodes).
  • Figure 2: (a) QSS dependencies through a directed graph: connected components are determined by acyclic paths (e.g., S6 to S7) while strongly connected components (SCC) are determined by cyclic paths (blue, solid groupings). (b) After SCCs are identified, they can be considered as single nodes within a simplified directed graph containing only acyclic paths.
  • Figure 3: Average temperature error of 0D constant volume calculations, starting from 108 initial conditions, done with a direct solve requiring a numerical Jacobian (left contour) and a Krylov-based iterative method (right contour). White spaces denote that at least one of the 108 calculations failed to complete in under 7200s.
  • Figure 4: Average wall time ratio of 0D constant volume calculations starting from 108 initial conditions between a Krylov-based iterative method and a numerical Jacobian for absolute tolerance of $10^{-14}$.
  • Figure 5: Effect of simplified analytical Jacobian construction on QSS-reduced chemistries integration.
  • ...and 9 more figures