PyCSP is a Python package for the analysis and simplification of chemically reacting systems, using algorithms based on the Computational Singular Perturbation (CSP) theory. It provides tools for the local characterization of the chemical dynamics, enabled by the recognition of a convenient projection basis which carries out a timescale-based uncoupling. The tools supplied within the package allow one to identify the rate-controlling chemical reactions, the intrinsic chemical timescales, the driving chemical timescale and indicators of the system's explosive or dissipative propensity. Possible applications are the analysis of numerical simulations of reacting flows, and the reduction of chemical kinetics models, based on the CSP information. This manuscript provides a brief overview of the foundations of CSP, a description of the libraries, and demonstrations of the features implemented in PyCSP with code examples, along with practical advices and guidelines for users. Program summaryProgram Title:PyCSPCPC Library link to program files:https://doi.org/10.17632/59pw7pvkkb.1Developer's repository link:https://github.com/rmalpica/PyCSPLicensing provisions: MITProgramming language: PythonSupplementary material: Code documentation and Python scripts employed to generate the figures.Nature of problem: The evermore increasing availability of high-performance computing resources, and the compelling need for more advanced and sustainable energy conversion devices, based on unconventional combustion regimes and alternative fuels, are driving towards an unprecedented massive production of data in numerical simulations of reacting flows. The research questions behind the production of such huge datasets are typically related to (i) the fundamental understanding of combustion phenomena, and (ii) the development of reduced order models and/or turbulence-chemistry interaction sub-grid scale (closure) models, both with the aim of accelerating large scale simulations of real combustion devices.Solution method: Both categories of research questions can widely benefit from the numerical tools available in PyCSP. The computational singular perturbation (CSP) framework allows one to extract concise information from chemically reacting systems, automatically and at reasonable cost. This is especially useful when the dataset is so massive and the number of degrees of freedom so large, i.e., hundreds of species/reactions per cell, that even a visual inspection becomes unmanageable. PyCSP offers a fast, user-friendly implementation of numerous analysis tools, enabling a more systematic data processing and, ultimately, providing the user with a deeper physical understanding of the problem under investigation. Moreover, the CSP theoretical framework can be exploited to generate reduced order models (ROMs), tailored to and to be employed in specific applications, in order to drastically reduce the computational cost of a numerical simulation, while retaining accuracy in global observables. The ROM is in the form of a skeletal kinetic mechanism of adjustable fidelity, or an adaptive chemistry integrator.Additional comments including restrictions and unusual features:PyCSP relies on Cantera, an open-source suite of tools for problems involving chemical kinetics, thermodynamics, and transport processes, to efficiently incorporate detailed chemical thermo-kinetics models into the CSP calculations.
Read full abstract