OpenSMOKE++: An object-oriented framework for the numerical modeling of reactive systems with detailed kinetic mechanisms - Cuoci, A.; Frassoldati, A.; Faravelli, T.; Ranzi, E. (Computer physics communications, 2015)
OpenSMOKE++ is a general framework for numerical simulations of reacting systems with detailed kinetic mechanisms, including thousands of chemical species and reactions. The framework is entirely written in object-oriented C++ and can be easily extended and customized by the user for specific systems, without having to modify the core functionality of the program. The OpenSMOKE++ framework can handle simulations of ideal chemical reactors (plug-flow, batch, and jet stirred reactors), shock-tubes, rapid compression machines, and can be easily incorporated into multi-dimensional CFD codes for the modeling of reacting flows. OpenSMOKE++ provides useful numerical tools such as the sensitivity and rate of production analyses, needed to recognize the main chemical paths and to interpret the numerical results from a kinetic point of view. Since simulations involving large kinetic mechanisms are very time consuming, OpenSMOKE++ adopts advanced numerical techniques able to reduce the computational cost, without sacrificing the accuracy and the robustness of the calculations. In the present paper we give a detailed description of the framework features, the numerical models available, and the implementation of the code. The possibility of coupling the OpenSMOKE++ functionality with existing numerical codes is discussed. The computational performances of the framework are presented, and the capabilities of OpenSMOKE++ in terms of integration of stiff ODE systems are discussed and analyzed with special emphasis. Some examples demonstrating the ability of the OpenSMOKE++ framework to successfully manage large kinetic mechanisms are eventually presented. Program title: OpenSMOKE++ Catalogue identifier: AEVY_v1_0 Program summary URL:http://cpc.cs.qub.ac.uk/summaries/AEVY_v1_0.html Program obtainable from: CPC Program Library, Queen’s University, Belfast, N. Ireland Licensing provisions: GNU General Public License, version 3 No. of lines in distributed program, including test data, etc.: 146353 No. of bytes in distributed program, including test data, etc.: 4890534 Distribution format: tar.gz Programming language: C++. Computer: Any computer that can run a C++ Compiler. Operating system: Tested on Microsoft Windows 7, Ubuntu 14.4. RAM: From a few Mb to several Gb depending on the size of the system being simulated. Classification: 22. External routines: Eigen, Boost C++ Libraries, RapidXML Nature of problem: Evolution of reacting gas mixtures with detailed description of thermodynamic, kinetic and transport data. Solution method: Stiff systems of Ordinary differential Equations, whose solution is obtained using methods based on the Backward Differentiation Formulas (BDF) (LU factorization of dense matrices is required). Additional comments: The code was specifically conceived for managing homogeneous, reacting mixtures including thousands of species and reactions. Running time: Problem-dependent, from seconds (small kinetics) to hours