00001 /*---------------------------------------------------------------------------*\ 00002 ========= | 00003 \\ / F ield | OpenFOAM: The Open Source CFD Toolbox 00004 \\ / O peration | 00005 \\ / A nd | Copyright (C) 1991-2010 OpenCFD Ltd. 00006 \\/ M anipulation | 00007 ------------------------------------------------------------------------------- 00008 License 00009 This file is part of OpenFOAM. 00010 00011 OpenFOAM is free software: you can redistribute it and/or modify it 00012 under the terms of the GNU General Public License as published by 00013 the Free Software Foundation, either version 3 of the License, or 00014 (at your option) any later version. 00015 00016 OpenFOAM is distributed in the hope that it will be useful, but WITHOUT 00017 ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 00018 FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 00019 for more details. 00020 00021 You should have received a copy of the GNU General Public License 00022 along with OpenFOAM. If not, see <http://www.gnu.org/licenses/>. 00023 00024 Application 00025 chemkinToFoam 00026 00027 Description 00028 Converts CHEMKINIII thermodynamics and reaction data files into FOAM format 00029 00030 Usage 00031 00032 - chemkinToFoam [OPTIONS] <CHEMKINFile> <CHEMKINThermodynamicsFile> <FOAMChemistryFile> <FOAMThermodynamicsFile> 00033 00034 @param <CHEMKINFile> \n 00035 @todo Detailed description of argument. 00036 00037 @param <CHEMKINThermodynamicsFile> \n 00038 @todo Detailed description of argument. 00039 00040 @param <FOAMChemistryFile> \n 00041 @todo Detailed description of argument. 00042 00043 @param <FOAMThermodynamicsFile> \n 00044 @todo Detailed description of argument. 00045 00046 @param -case <dir>\n 00047 Case directory. 00048 00049 @param -parallel \n 00050 Run in parallel. 00051 00052 @param -help \n 00053 Display help message. 00054 00055 @param -doc \n 00056 Display Doxygen API documentation page for this application. 00057 00058 @param -srcDoc \n 00059 Display Doxygen source documentation page for this application. 00060 00061 \*---------------------------------------------------------------------------*/ 00062 00063 #include <OpenFOAM/argList.H> 00064 #include <reactionThermophysicalModels/chemkinReader.H> 00065 #include <OpenFOAM/OFstream.H> 00066 00067 using namespace Foam; 00068 00069 // * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * // 00070 // Main program: 00071 00072 int main(int argc, char *argv[]) 00073 { 00074 argList::validArgs.clear(); 00075 argList::validArgs.append("CHEMKINFile"); 00076 argList::validArgs.append("CHEMKINThermodynamicsFile"); 00077 argList::validArgs.append("FOAMChemistryFile"); 00078 argList::validArgs.append("FOAMThermodynamicsFile"); 00079 argList args(argc, argv); 00080 00081 fileName CHEMKINFileName(args.additionalArgs()[0]); 00082 fileName thermoFileName(args.additionalArgs()[1]); 00083 fileName FOAMChemistryFileName(args.additionalArgs()[2]); 00084 fileName FOAMThermodynamicsFileName(args.additionalArgs()[3]); 00085 00086 chemkinReader cr(CHEMKINFileName, thermoFileName); 00087 00088 OFstream reactionsFile(FOAMChemistryFileName); 00089 reactionsFile 00090 << "species" << cr.species() << ';' << endl << endl 00091 << "reactions" << cr.reactions() << ';' << endl; 00092 00093 OFstream thermoFile(FOAMThermodynamicsFileName); 00094 thermoFile<< cr.speciesThermo() << endl; 00095 00096 Info << "End\n" << endl; 00097 00098 return 0; 00099 } 00100 00101 00102 // ************************ vim: set sw=4 sts=4 et: ************************ //