128 lines
4.9 KiB
Text
128 lines
4.9 KiB
Text
/**
|
|
|
|
\page matlab-tutorial MATLAB Cantera Tutorial
|
|
|
|
\section tut2 Tutorial 2: Working with input files
|
|
|
|
|
|
Topics:
|
|
|
|
- CTI files
|
|
- CTI files distributed with %Cantera
|
|
- using functions 'importPhase' and 'importInterface'
|
|
- input files distributed with %Cantera
|
|
- the %Cantera search path
|
|
- CTML files
|
|
- converting from CK format
|
|
|
|
\section cti-files CTI files
|
|
|
|
In the last tutorial, we used function GRI30 to create an object that models
|
|
an ideal gas mixture with the species and reactions of GRI-Mech 3.0. Another
|
|
way to do this is shown here, with statements added to measure how long this
|
|
takes:
|
|
|
|
\verbatim
|
|
gas1 = importPhase('gri30.cti', 'gri30');
|
|
\endverbatim
|
|
|
|
Function importPhase constructs an object representing a phase of matter by
|
|
reading in attributes of the phase from a file, which in this case is
|
|
'gri30.cti'. This file contains several phase specifications; the one we want
|
|
here is 'gri30', which is specified by the second argument. This file contains
|
|
a complete specification of the GRI-Mech 3.0 reaction mechanism, including
|
|
element data (name, atomic weight), species data (name, elemental composition,
|
|
coefficients to compute thermodynamic and transport properties), and reaction
|
|
data (stoichiometry, rate coefficient parameters). The file is written in a
|
|
format understood by %Cantera, which is described in the document "Defining
|
|
Phases and Interfaces."
|
|
|
|
On some systems, processing long CTI files like gri30.cti can be a little
|
|
slow. For example, using a typical laptop computer running Windows 2000, the
|
|
statement above takes more than 4 s, while on a Mac Powerbook G4 of similar
|
|
CPU speed it takes only 0.3 s. In any case, running it again takes much less
|
|
time, because %Cantera 'remembers' files it has already processed and doesn't
|
|
need to read them in again.
|
|
|
|
See also:
|
|
Cantera Input File Examples
|
|
|
|
\section cti-distrib CTI files distributed with %Cantera
|
|
|
|
Several reaction mechanism files in this format are included in the %Cantera
|
|
distribution, including ones that model high-temperature air, a
|
|
hydrogen/oxygen reaction mechanism, and a few surface reaction mechanisms.
|
|
Under Windows, these files may be located in 'C: Files Files', or in 'C:',
|
|
depending on how you installed %Cantera and the options you specified. On a
|
|
unix/linux/Mac OSX machine, they are usually kept in the 'data' subdirectory
|
|
within the %Cantera installation directory.
|
|
|
|
If for some reason %Cantera has difficulty finding where these files are on
|
|
your system, set environment variable CANTERA_DATA to the directory where they
|
|
are located. Alternatively, you can call function addDirectory to add a
|
|
directory to the %Cantera search path:
|
|
\verbatim
|
|
addDirectory('/usr/local/cantera/my_data_files');
|
|
\endverbatim
|
|
|
|
%Cantera input files are plain text files, and can be created with any text
|
|
editor. See the document 'Defining Phases and Interfaces' for more
|
|
information.
|
|
|
|
\section mat-import Importing multiple phases or interfaces
|
|
|
|
A %Cantera input file may contain more than one phase specification, or may
|
|
contain specifications of interfaces (surfaces). Here we import definitions of
|
|
two bulk phases and the interface between them from file diamond.cti:
|
|
|
|
\verbatim
|
|
gas2 = importPhase('diamond.cti', 'gas'); a gas
|
|
|
|
diamond = importPhase('diamond.cti','diamond'); bulk diamond
|
|
|
|
diamonnd_surf = importInterface('diamond.cti','diamond_100',...
|
|
gas2, diamond);
|
|
\endverbatim
|
|
|
|
Note that the bulk (i.e., 3D) phases that participate in the surface reactions
|
|
must also be passed as arguments to importInterface.
|
|
|
|
\section ctml-files CTML files
|
|
|
|
Note that when %Cantera reads a .cti input file, wherever it is located, it
|
|
always writes a file of the same name but with extension .xml *in the local
|
|
directory*. If you happen to have some other file by that name, it will be
|
|
overwritten. Once the XML file is created, you can use it instead of the .cti
|
|
file, which will result in somewhat faster startup.
|
|
|
|
\verbatim
|
|
gas4 = importPhase('gri30.xml','gri30');
|
|
\endverbatim
|
|
|
|
Interfaces can be imported from XML files too.
|
|
|
|
\verbatim
|
|
diamonnd_surf2 = importInterface('diamond.xml','diamond_100',...
|
|
gas2, diamond);
|
|
\endverbatim
|
|
|
|
\section ck-convert Converting CK-format files
|
|
|
|
Many existing reaction mechanism files are in "CK format," by which we mean
|
|
the input file format developed for use with the Chemkin-II software package.
|
|
[See R. J. Kee, F. M. Rupley, and J. A. Miller, Sandia National Laboratories
|
|
Report SAND89-8009 (1989).]
|
|
|
|
%Cantera comes with a converter utility program 'ck2cti' (or 'ck2cti.exe') that
|
|
converts CK format into %Cantera format. This program should be run from the
|
|
command line first to convert any CK files you plan to use into %Cantera
|
|
format. This utility program can also be downloaded from the %Cantera User's
|
|
Group web site.
|
|
|
|
Here's an example of how to use it:
|
|
|
|
\verbatim
|
|
ck2cti -i mech.inp -t therm.dat -tr tran.dat -id mymech > mech.cti
|
|
\endverbatim
|
|
|
|
*/
|