OpenSMOKE plus plus : An object-oriented framework for the numerical modeling of reactive systems with detailed kinetic mechanisms

被引:364
作者
Cuoci, A. [1 ]
Frassoldati, A. [1 ]
Faravelli, T. [1 ]
Ranzi, E. [1 ]
机构
[1] Dept Chem Mat & Chem Engn G Natta, I-20133 Milan, Italy
关键词
Detailed kinetics; Ideal reactor; Sensitivity analysis; Stiff ODE; Flame; LOW-TEMPERATURE OXIDATION; SENSITIVITY-ANALYSIS; LAMINAR FLAMES; PAH FORMATION; SHOCK-TUBE; COMBUSTION; REDUCTION; CHEMISTRY; IGNITION; HYDROCARBONS;
D O I
10.1016/j.cpc.2015.02.014
中图分类号
TP39 [计算机的应用];
学科分类号
081203 ; 0835 ;
摘要
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 summary 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 (C) 2015 Elsevier B.V. All rights reserved.
引用
收藏
页码:237 / 264
页数:28
相关论文
共 95 条
[1]  
Alexandrescu A., 2001, Modern C++ design: generic programming and design patterns applied
[2]  
[Anonymous], 1997, The C++ Programming Language
[3]  
[Anonymous], 2010, JETSURF VERSION 2 0
[4]  
[Anonymous], 1983, Scientific Computing
[5]  
Bird R B., 2002, Transportphenomena
[6]   Integration of large chemical kinetic mechanisms via exponential methods with Krylov approximations to Jacobian matrix functions [J].
Bisetti, Fabrizio .
COMBUSTION THEORY AND MODELLING, 2012, 16 (03) :387-418
[7]   USING KRYLOV METHODS IN THE SOLUTION OF LARGE-SCALE DIFFERENTIAL-ALGEBRAIC SYSTEMS [J].
BROWN, PN ;
HINDMARSH, AC ;
PETZOLD, LR .
SIAM JOURNAL ON SCIENTIFIC COMPUTING, 1994, 15 (06) :1467-1488
[8]   VODE - A VARIABLE-COEFFICIENT ODE SOLVER [J].
BROWN, PN ;
BYRNE, GD ;
HINDMARSH, AC .
SIAM JOURNAL ON SCIENTIFIC AND STATISTICAL COMPUTING, 1989, 10 (05) :1038-1051
[9]  
Buzzi-Ferraris G., 2010, Fundamentals and Linear Algebra for the Chemical Engineer: Solving Numerical Problems
[10]  
BUZZIFERRARIS G, 1998, COMPUT CHEM ENG, V22, P1595