*** empty log message ***

This commit is contained in:
Dave Goodwin 2003-08-26 03:36:26 +00:00
parent 5d1b37c7aa
commit 5afa4f7102
75 changed files with 2119 additions and 7956 deletions

View file

@ -169,8 +169,6 @@ extern "C" {
}
//------------------ inlet domains ------------------------------
int DLL_EXPORT inlet_new() {
try {
Inlet1D* i = new Inlet1D();
@ -189,10 +187,11 @@ extern "C" {
int DLL_EXPORT reactingsurf_new() {
try {
ReactingSurf1D* i = new ReactingSurf1D();
writelog("in reactingsurf_new\n");
Domain1D* i = new ReactingSurf1D();
return Cabinet<Domain1D>::cabinet()->add(i);
}
catch (CanteraError) { return -1; }
catch (CanteraError) { writelog("error"); return -1; }
}
int DLL_EXPORT symm_new() {
@ -266,6 +265,16 @@ extern "C" {
catch (CanteraError) { return -1; }
}
int DLL_EXPORT reactingsurf_enableCoverageEqs(int i, int onoff) {
try {
ReactingSurf1D* srf = (ReactingSurf1D*)_bdry(i);
srf->enableCoverageEquations(onoff);
return 0;
}
catch (CanteraError) { return -1; }
}
//------------------ stagnation flow domains --------------------
int DLL_EXPORT stflow_new(int iph, int ikin, int itr) {
@ -424,9 +433,9 @@ extern "C" {
}
int DLL_EXPORT sim1D_setRefineCriteria(int i, int dom, double ratio,
double slope, double curve) {
double slope, double curve, double prune) {
try {
_sim1D(i)->setRefineCriteria(dom, ratio, slope, curve);
_sim1D(i)->setRefineCriteria(dom, ratio, slope, curve, prune);
return 0;
}
catch (CanteraError) { return -1; }
@ -491,4 +500,31 @@ extern "C" {
catch (CanteraError) { return -1; }
}
int DLL_EXPORT sim1D_setMaxJacAge(int i, int ss_age, int ts_age) {
try {
_sim1D(i)->setJacAge(ss_age, ts_age);
return 0;
}
catch (CanteraError) { return -1; }
}
int DLL_EXPORT sim1D_timeStepFactor(int i, double tfactor) {
try {
_sim1D(i)->setTimeStepFactor(tfactor);
return 0;
}
catch (CanteraError) { return -1; }
}
int DLL_EXPORT sim1D_setTimeStepLimits(int i, double tsmin, double tsmax) {
try {
if (tsmin > 0.0)
_sim1D(i)->setMinTimeStep(tsmin);
if (tsmax > 0.0)
_sim1D(i)->setMaxTimeStep(tsmax);
return 0;
}
catch (CanteraError) { return -1; }
}
}

View file

@ -28,7 +28,9 @@ extern "C" {
double DLL_IMPORT bdry_temperature(int i);
double DLL_IMPORT bdry_massFraction(int i, int k);
double DLL_IMPORT bdry_mdot(int i);
int DLL_IMPORT reactingsurf_setkineticsmgr(int i, int j);
int DLL_IMPORT reactingsurf_enableCoverageEqs(int i, int onoff);
int DLL_IMPORT inlet_new();
int DLL_IMPORT outlet_new();
@ -55,7 +57,7 @@ extern "C" {
int DLL_IMPORT sim1D_solve(int i, int loglevel, int refine_grid);
int DLL_IMPORT sim1D_refine(int i, int loglevel);
int DLL_IMPORT sim1D_setRefineCriteria(int i, int dom, double ratio,
double slope, double curve);
double slope, double curve, double prune);
int DLL_IMPORT sim1D_save(int i, char* fname, char* id,
char* desc);
int DLL_IMPORT sim1D_restore(int i, char* fname, char* id);
@ -65,6 +67,10 @@ extern "C" {
double DLL_IMPORT sim1D_workValue(int i, int idom,
int icomp, int localPoint);
int DLL_IMPORT sim1D_eval(int i, double rdt, int count);
int DLL_IMPORT sim1D_setMaxJacAge(int i, int ss_age, int ts_age);
int DLL_IMPORT sim1D_timeStepFactor(int i, double tfactor);
int DLL_IMPORT sim1D_setTimeStepLimits(int i, double tsmin, double tsmax);
}

View file

@ -65,6 +65,11 @@ extern "C" {
return 0;
}
int DLL_EXPORT surf_setcoveragesbyname(int i, char* c) {
_surfphase(i)->setCoveragesByName(string(c));
return 0;
}
int DLL_EXPORT surf_getcoverages(int i, double* c) {
_surfphase(i)->getCoverages(c);
return 0;

View file

@ -48,7 +48,7 @@ extern "C" {
double DLL_IMPORT surface_temperature(int i);
int DLL_IMPORT surface_settemperature(int i, double t);
int DLL_IMPORT surface_setcoverages(int i, double* c);
int DLL_EXPORT surf_setcoveragesbyname(int i, char* c);
}
#endif

View file

@ -29,7 +29,7 @@ LIB_DEPS = $(CANTERA_LIBDIR)/libcantera.a $(CANTERA_LIBDIR)/libzeroD.a \
all: cantera/ctmethods.@mex_ext@
cantera/ctmethods.@mex_ext@: $(SRCS) $(LIB_DEPS)
@PYTHON_CMD@ setup_matlab.py @buildlib@ @CT_SHARED_LIB@ '$(LIBS)'
@PYTHON_CMD@ setup_matlab.py @prefix@/bin @buildlib@ @CT_SHARED_LIB@ '$(LIBS)'
(@MATLAB_CMD@ -nodesktop -nojvm -nosplash -r setup)
rm -f setup.m

View file

@ -6,16 +6,27 @@ d.dom_id = -1;
if nargin == 1
d.dom_id = domain_methods(0, a);
elseif nargin == 2
% a stagnation flow
if a == 1
if isa(b,'Solution')
d.dom_id = domain_methods(0, 1, thermo_hndl(b), kinetics_hndl(b), ...
trans_hndl(b));
else
error('Wrong argument type. Expecting instance of class Solution.')
error('Wrong argument type. Expecting instance of class Solution.');
end
elseif a == 6
if isa(b,'Interface')
d.dom_id = domain_methods(0, 6, kinetics_hndl(b));
else
error('Wrong argument type. Expecting instance of class Interface.');
end
else
error('wrong object type');
end
end
if d.dom_id < 0
error(geterr);
end
d.domain_type = a;
d = class(d, 'Domain1D');

View file

@ -0,0 +1,20 @@
function d = setCoverageEqs(d,onoff)
% SETCOVERAGEEQS - Enable or disable solving the coverage equations.
%
if d.domain_type ~= 6
error('Wrong domain type. Expected a reacting surface domain.')
end
ion = -1;
if isa(onoff,'char')
if strcmp(onoff,'on') | strcmp(onoff,'yes')
ion = 1;
elseif strcmp(onoff,'off') | strcmp(onoff,'no')
ion = 0;
else
error(strcat('unknown option: ',onoff))
end
elseif isa(onoff,'numeric')
ion = onoff;
end
domain_methods(d.dom_id, 120, ion);

View file

@ -1,5 +1,7 @@
function display(s, fname)
% DISPLAY - show all domains.
% DISPLAY - show all domains.
%
% fname - file to write summary to. If omitted, output is to the screen.
%
if nargin == 1
fname = '-';

View file

@ -1,4 +1,4 @@
function v = stack_methods(n, job, a, b, c, d, e)
function v = stack_methods(n, job, a, b, c, d, e, f)
% STACK_METHODS - converter function for methods of class Stack
%
% All Cantera functions and methods are handled by the single MEX
@ -17,6 +17,9 @@ elseif nargin == 6
v = ctmethods(90, n, job, a, b, c, d);
elseif nargin == 7
v = ctmethods(90, n, job, a, b, c, d, e);
elseif nargin == 8
v = ctmethods(90, n, job, a, b, c, d, e, f);
else
error('wrong number of arguments');
error('too many arguments');
end

View file

@ -0,0 +1,8 @@
function setMaxJacAge(s, ss_age, ts_age)
% SETMAXJACAGE - Set the number of times the Jacobian will be used
% before it is recomputed.
%
if nargin == 2
ts_age = ss_age;
end
stack_methods(s.stack_id, 114, ss_age, ts_age);

View file

@ -1,5 +1,30 @@
function d = setRefineCriteria(d, n, ratio, slope, curve)
% SETREFINECRITERIA -
function d = setRefineCriteria(d, n, ratio, slope, curve, prune)
% SETREFINECRITERIA - Set the criteria used to refine the grid.
%
% n -- domain number beginning with domain 1 at the left
% ratio -- maximum size ratio between adjacent cells
% slope -- maximum relative difference in value between
% adjacent points
% curve -- maximum relative difference in slope between
% adjacent cells
% prune -- minimum value for slope or curve for which points
% will be retained in the grid. If the computed
% slope or curve value is below prune for all
% components, it will be deleted, unless either
% neighboring point is already marked for deletion.
%
stack_methods(d.stack_id, 106, n, ratio, slope, curve);
if nargin < 3
ratio = 10.0;
end
if nargin < 4
slope = 0.8;
end
if nargin < 5
curve = 0.8;
end
if nargin < 6
prune = -0.1;
end
stack_methods(d.stack_id, 106, n, ratio, slope, curve, prune);

View file

@ -0,0 +1,12 @@
function setTimeStep(s, stepsize, steps)
% SETTIMESTEP - Specify a sequence of time steps.
%
% stepsize - initial step size (s)
% steps - array of number of steps to take before
% re-attempting solution of steady-state problem. For
% example, steps = [1, 2, 5, 10] would cause one time
% step to be taken first the the steady-state
% solution attempted. If this failed, two time steps
% would be taken, etc.
stack_methods(s.stack_id, 112, stepsize, length(steps), steps)

View file

@ -1,9 +1,15 @@
function m = Surface(id)
function m = Surface(id, surface_mech)
% SURFACE - Return a Domain1D instance representing a non-reacting
% surface.
m = Domain1D(3);
if nargin == 0
setID(m,'surface');
% or reacting surface.
if nargin < 2
m = Domain1D(3);
if nargin == 0
setID(m,'surface');
elseif nargin == 1
setID(m,id);
end
else
m = Domain1D(6, surface_mech)
setID(m,id);
end

View file

@ -0,0 +1,2 @@
function n = nComponents(d)
n = domain_methods(d.dom_id, 11)

View file

@ -0,0 +1,117 @@
function flame = npflame_init(gas, left, flow, right, fuel, oxidizer, nuox)
% FLAME - create a non-premixed flame object.
%
% gas -- object representing the gas. This object will be used to
% compute all required thermodynamic, kinetic, and transport
% properties. The state of this object should be set
% to an estimate of the gas state emerging from the
% burner before calling StagnationFlame.
%
% left -- object representing the left inlet, which must be
% created using function Inlet.
%
% flow -- object representing the flow, created with
% function AxisymmetricFlow.
%
% right -- object representing the right inlet, which must be
% created using function Inlet.
%
% Check input parameters
if nargin ~= 7
error('wrong number of input arguments.');
end
if ~isIdealGas(gas)
error('gas object must represent an ideal gas mixture.');
end
if ~isInlet(left)
error('left inlet object of wrong type.');
end
if ~isFlow(flow)
error('flow object of wrong type.');
end
if ~isInlet(right)
error('right inlet object of wrong type.');
end
% create the container object
flame = Stack([left flow right]);
% set default initial profiles.
rho0 = density(gas);
wt = molecularWeights(gas);
% find the fuel and oxidizer
ifuel = speciesIndex(gas,fuel);
ioxidizer = speciesIndex(gas,oxidizer);
ih = speciesIndex(gas,'H');
s = nuox*wt(ioxidizer)/wt(ifuel);
y0f = massFraction(left,ifuel);
y0ox = massFraction(right,ioxidizer);
phi = s*y0f/y0ox;
zst = 1.0/(1.0 + phi);
% compute stoichiometric adiabatic flame temperature
nsp = nSpecies(gas);
tf = temperature(left);
tox = temperature(right);
for n = 1:nsp
yox(n) = massFraction(right,n);
yf(n) = massFraction(left,n);
ystoich(n) = zst*yf(n) + (1.0 - zst)*yox(n);
end
set(gas,'T',temperature(left),'P',pressure(gas),'Y',ystoich);
equilibrate(gas,'HP');
teq = temperature(gas);
yeq = massFractions(gas);
% estimated strain rate
zz = z(flow);
dz = zz(end) - zz(1);
vleft = massFlux(left)/rho0;
vright = massFlux(right)/rho0;
a = (abs(vleft) + abs(vright))/dz;
diff = mixDiffCoeffs(gas);
f = sqrt(a/(2.0*diff(ioxidizer)));
x0 = massFlux(left)*dz/(massFlux(left) + massFlux(right));
nz = nPoints(flow)
for j = 1:nz
x = zz(j);
zeta = f*(x - x0);
zmix = 0.5*(1.0 - erf(zeta));
zm(j) = zmix;
u(j) = a*(x0 - zz(j));
v(j) = a;
if zmix > zst
for n = 1:nsp
y(j,n) = yeq(n) + (zmix - zst)*(yf(n) - yeq(n))/(1.0 - zst);
end
t(j) = teq + (tf - teq)*(zmix - zst)/(1.0 - zst);
else
for n = 1:nsp
y(j,n) = yox(n) + zmix*(yeq(n) - yox(n))/zst;
end
t(j) = tox + zmix*(teq - tox)/zst;
end
end
zrel = zz/dz;
setProfile(flame, 2, {'u', 'V'}, [zrel; u; v]);
setProfile(flame, 2, 'T', [zrel; t] );
for n = 1:nsp
nm = speciesName(gas,n);
setProfile(flame, 2, nm, [zrel; transpose(y(:,n))])
end
% set minimal grid refinement criteria
setRefineCriteria(flame, 2, 10.0, 0.99, 0.99);

View file

@ -0,0 +1,27 @@
function s = Interface(src, id, p1, p2, p3, p4)
% Interface - class Interface constructor.
%
%
if nargin ~= 3
error('wrong number of arguments');
end
doc = XML_Node('doc',src);
node = findByID(doc,id);
t = ThermoPhase(node);
if nargin == 2
k = Kinetics(node,t);
elseif nargin == 3
k = Kinetics(node,t,p1);
elseif nargin == 4
k = Kinetics(node,t,p1,p2);
elseif nargin == 5
k = Kinetics(node,t,p1,p2,p3);
elseif nargin == 6
k = Kinetics(node,t,p1,p2,p3,p4);
end
s.kin = k;
s.th = t;
s = class(s,'Interface',t,k);

View file

@ -0,0 +1,17 @@
function c = concentrations(s)
% CONCENTRATIONS - Surface concentrations
%
c = surfmethods(thermo_hndl(s), 101);
if nargout == 0
figure
set(gcf,'Name','Concentrations')
bar(c);
colormap(summer);
nm = speciesNames(s);
legend(nm);
xlabel('Species Number');
ylabel('Concentration [kmol/m2]');
title('Surface Species Concentrations');
end

View file

@ -0,0 +1,17 @@
function c = coverages(s)
% COVERAGES - Surface coverages
%
c = surfmethods(thermo_hndl(s), 101);
if nargout == 0
figure
set(gcf,'Name','Coverages')
bar(c);
colormap(summer);
nm = speciesNames(s);
legend(nm);
xlabel('Species Number');
ylabel('Coverage');
title('Surface Species Coverages');
end

View file

@ -0,0 +1,25 @@
function v = surfmethods(n, job, a, b, c, d, e, f)
% SURFMETHODS - converter function for methods of class Stack
%
% All Cantera functions and methods are handled by the single MEX
% file 'ctmethods.' This function is provided only for convenience,
% and simply calls ctmethods with a flag associated with this class
% as the first parameter, followed by the input arguments.
if nargin == 2
v = ctmethods(100, n, job);
elseif nargin == 3
v = ctmethods(100, n, job, a);
elseif nargin == 4
v = ctmethods(100, n, job, a, b);
elseif nargin == 5
v = ctmethods(100, n, job, a, b, c);
elseif nargin == 6
v = ctmethods(100, n, job, a, b, c, d);
elseif nargin == 7
v = ctmethods(100, n, job, a, b, c, d, e);
elseif nargin == 8
v = ctmethods(100, n, job, a, b, c, d, e, f);
else
error('too many arguments');
end

View file

@ -0,0 +1,17 @@
function setCoverages(s,cov)
% SETCOVERAGES - set surface coverages
%
if isa(cov,'double')
sz = length(cov);
if sz == nSpecies(s)
surfmethods(thermo_hndl(s), 3, cov);
else
error('wrong size for coverage array');
end
elseif isa(cov,'char')
surfmethods(thermo_hndl(s), 5, cov);
end

View file

@ -33,15 +33,15 @@ end
k.owner = 1;
ixml = hndl(r);
iphase = hndl(ph)
iphase = thermo_hndl(ph);
if nargin > 2
ineighbor1 = hndl(neighbor1)
ineighbor1 = thermo_hndl(neighbor1)
if nargin > 3
ineighbor2 = hndl(neighbor2)
ineighbor2 = thermo_hndl(neighbor2)
if nargin > 4
ineighbor3 = hndl(neighbor3)
ineighbor3 = thermo_hndl(neighbor3)
if nargin > 5
ineighbor4 = hndl(neighbor4)
ineighbor4 = thermo_hndl(neighbor4)
end
end
end

View file

@ -0,0 +1,5 @@
function advanceCoverages(k, dt)
% ADVANCECOVERAGES - advance the surface coverages forward in time holding the bulk phase concentrations fixed.
%
kinetics_set(k.id, 5, 0, dt);

View file

@ -1,4 +1,4 @@
function setMultiplier(a,i,v)
function setMultiplier(a,irxn,v)
% SETMULTIPLIER Set the rate of progress multiplier.
%
% SETMULTIPLIER(K, IRXN, V) sets the multipler for reaction IRXN
@ -6,5 +6,19 @@ function setMultiplier(a,i,v)
%
% see also: MULTIPLIER
%
kinetics_set(a.id,1,i,v);
if nargin == 2
v = irxn;
m = nReactions(a);
irxn = [1:m]';
n = 1;
else
[m, n] = size(irxn);
end
for jm = 1:m
for jn = 1:n
kinetics_set(a.id,1,irxn(jm,jn),v);
end
end

View file

@ -1,4 +1,4 @@
function s = Solution(x, r)
function s = Solution(src, id)
% SOLUTION - class Solution constructor.
%
% Class Solution represents solutions of multiple species. A
@ -27,30 +27,17 @@ function s = Solution(x, r)
%
% See also: ThermoPhase, Kinetics, Transport
%
doc = XML_Node('doc',src);
if nargin == 1
trmodel = 'None';
elseif nargin == 2
trmodel = r;
node = findByName(doc,'phase');
else
error('wrong number of arguments');
node = findByID(doc,id);
end
if isa(x,'Solution')
s = x;
return
elseif isa(x,'XML_Node')
xp = x;
else
doc = XML_Node('doc');
build(doc, x, 1);
write(doc,'xp.out');
xp = child(doc,'ctml/phase');
end
t = ThermoPhase(xp);
k = Kinetics(xp,t);
t = ThermoPhase(node);
k = Kinetics(node,t);
s.kin = k;
s.th = t;
tr = Transport(trmodel,t,4);
tr = Transport(node,t,'default',4);
s.tr = tr;
s = class(s,'Solution',t,k,tr);

View file

@ -0,0 +1,19 @@
function x = moleFraction(s, species)
x = 0.0;
xarray = moleFractions(s);
if isa(species,'char')
k = speciesIndex(s, species);
if k > 0
x = xarray(k);
end
elseif isa(species,'cell')
n = length(species);
for j = 1:n
k = speciesIndex(s, species{j});
if k > 0
x(j) = xarray(k);
end
end
end

View file

@ -1,4 +1,4 @@
function tr = Transport(model, th, loglevel)
function tr = Transport(xml_phase, th, model, loglevel)
%TRANSPORT Transport class constructor.
%
% k = TRANSPORT(model, p, loglevel) creates a transport
@ -8,14 +8,23 @@ function tr = Transport(model, th, loglevel)
% model. The phase object must have already been created.
%
tr.id = 0;
if nargin == 3
if nargin == 4
tr.th = th;
tr.model = model;
tr.id = trans_get(hndl(th), -1, model, loglevel) ;
if model == 'default'
try
node = child(xml_phase,'transport');
tr.model = attrib(node,'model');
catch
tr.model = '';
end
else
tr.model = model;
end
tr.id = trans_get(hndl(th), -1, tr.model, loglevel) ;
tr = class(tr,'Transport');
elseif isa(model,'Transport')
tr = model;
else
error('syntax error')
error('syntax error');
end

View file

@ -0,0 +1,14 @@
function setKinetics(w, left, right)
% SETKINETICS - Specify the left and right surface reaction mechanisms.
%
ileft = 0;
iright = 0;
if isa(left,'Kinetics')
ileft = kinetics_hndl(left);
end
if isa(right,'Kinetics')
iright = kinetics_hndl(right);
end
wallmethods(12, wall_hndl(w), ileft, iright);

View file

@ -1,24 +1,19 @@
function x = XML_Node(name, src, root, wrap)
%XML_Node Cantera XML_Node class constructor
function x = XML_Node(name, src, wrap)
%
% XML_Node Cantera XML_Node class constructor
%
x.id = 0;
x.root = 0;
if nargin == 4
if nargin == 3
x.id = wrap;
x.root = root;
elseif nargin > 0
% create an empty node with name 'name'
x.id = ctmethods(10,0,0,name); % newxml(name)
elseif nargin == 2
% read tree from a file
x.id = ctmethods(10,15,0,src); % newxml(name)
if x.id < 0
error(geterr);
end
end
if nargin > 2
x.root = root;
elseif nargin == 1
x.id = ctmethods(10,0,0,name);
end
x = class(x,'XML_Node');
if nargin > 1 & nargin < 4
build(x, src);
end

View file

@ -0,0 +1,3 @@
function n = addChild(root, id)
%
n = ctmethods(10, 10, root.id, id);

View file

@ -1,9 +1,9 @@
function x = attrib(x, key)
function a = attrib(x, key)
if nargin ~= 2 | ~isa(key,'char')
error('Syntax error. Type "help attrib" for more information.')
end
iok = ctmethods(10, 20, x.id, key);
a = ctmethods(10, 20, x.id, key);

View file

@ -1,6 +1,6 @@
function v = child(x, loc)
id = ctmethods(10, 6, x.id, loc);
v = XML_Node('', '', x.root, id);
v = XML_Node('', '', id);

View file

@ -0,0 +1,6 @@
function x = findByID(root, id)
% FINDBYID - Find an XML element by ID
%
index = ctmethods(10, 8, root.id, id);
x = XML_Node('','', index);

View file

@ -0,0 +1,6 @@
function x = findByName(root, name)
% FINDBYNAME - Find an XML element by name
%
index = ctmethods(10, 9, root.id, name);
x = XML_Node('','', index);

View file

@ -0,0 +1,3 @@
function n = nChildren(root, id)
%
n = ctmethods(10, 10, root.id, id);

View file

@ -19,9 +19,13 @@ function s = GRI30(tr)
% g3 = GRI30('Multi') % miulticomponent transport properties
%
if nargin == 0
s = Solution('gri30.xml');
s = Solution('gri30.cti','gri30');
elseif nargin == 1
s = Solution('gri30.xml',tr);
if strcmp(tr,'Mix')
s = Solution('gri30.cti','gri30_mix');
elseif strcmp(tr,'Multi')
s = Solution('gri30.cti','gri30_multi');
end
else
error('wrong number of arguments')
error('wrong number of arguments');
end

View file

@ -1,4 +1,4 @@
function s = IdealGasMix(a,b,c,d)
function s = IdealGasMix(a,b,c)
% IDEALGASMIX - Create a Solution instance representing an ideal gas mixture.
%
% gas1 = IdealGasMix('ctml_file'[,'transport_model'])
@ -34,13 +34,12 @@ function s = IdealGasMix(a,b,c,d)
dotloc = findstr(a,'.');
if dotloc > 1
ext = a(dotloc:end);
if ext == '.xml';
if ~strcmp(ext,'.inp')
if nargin == 1
s = Solution(a);
elseif nargin == 2
s = Solution(a, b);
end
set(s,'P',oneatm);
return
end
end
@ -48,13 +47,9 @@ end
if nargin == 1
b = '-';
c = '-';
d = 'None';
elseif nargin == 2
c = '-';
d = 'None';
elseif nargin == 3
d = 'None';
end
xml = ck2ctml(a,b,c);
s = Solution(xml,d);
xml = ck2cti(a,b,c);
s = Solution(xml);
set(s,'P',oneatm);

View file

@ -0,0 +1,43 @@
function f = ck2cti(infile, thermo, transport)
% CK2CTI - Convert a Chemkin-compatible reaction mechanism file to
% Cantera format.
%
% f = ck2cti('chem.inp')
% f = ck2cti('chem.inp', 'therm.dat')
% f = ck2cti('chem.inp', 'therm.dat', 'tran.dat')
%
% These 3 statements all create a Cantera input file 'chem.cti.' In
% the first case, the CK-format file contains all required species
% thermo data, while in the second case some or all thermo data is
% read from file 'therm.dat.' In the third form, the input file
% created will also contain transport property parameters. The
% function return value is a string containing the output file
% name.
%
prog = [ctbin,'/ck2cti'];
if nargin == 0
error('input file name must be supplied')
elseif nargin == 1
thermo = '-';
transport = '-';
elseif nargin == 2
transport = '-';
end
dotloc = findstr(infile,'.');
if dotloc > 1
idtag = infile(1:dotloc-1);
outfile = [idtag '.cti'];
else
idtag = infile;
outfile = [infile '.cti'];
end
iok = system([prog,' -i ',infile,' -t ',thermo,' -tr ',transport, ...
' -id ',idtag,' > ',outfile]);
if iok
error(['Error occurred while running ck2cti. Check file ck2cti.log' ...
' for error messages.']);
end
f = outfile;

View file

@ -0,0 +1,4 @@
function cleanup()
% CLEANUP - Delete all stored Cantera objects and reclaim memory
%
ctmethods(0, 4);

View file

@ -209,7 +209,7 @@ disp(e);
%%%%%%%%%% make plots %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(1);
clf;
subplot(3,3,1);
plotSolution(sim1D, 'flow', 'T');
title('Temperature [K]');

View file

@ -0,0 +1,134 @@
% DIFFFLAME - A non-premixed opposed-jet flame.
%
%
help diffflame
disp('press any key to begin the simulation');
pause
t0 = cputime; % record the starting time
% parameter values
p = oneatm; % pressure
tin = 300.0; % inlet temperature
mdot_o = 0.72; % air, kg/m^2/s
mdot_f = 0.24; % fuel, kg/m^2/s
rxnmech = 'gri30.xml'; % reaction mechanism file
transport = 'Mix'; % transport model
comp1 = 'O2:0.21, N2:0.78, AR:0.01'; % air composition
comp2 = 'C2H6:1'; % fuel composition
initial_grid = 0.02*[0.0 0.2 0.4 0.6 0.8 1.0]; % m
tol_ss = [1.0e-5 1.0e-12]; % [rtol atol] for steady-state
% problem
tol_ts = [1.0e-3 1.0e-4]; % [rtol atol] for time stepping
loglevel = 1; % amount of diagnostic output (0
% to 5)
refine_grid = 1; % 1 to enable refinement, 0 to
% disable
%%%%%%%%%%%%%%%% create the gas object %%%%%%%%%%%%%%%%%%%%%%%%
%
% This object will be used to evaluate all thermodynamic, kinetic,
% and transport properties
%
gas = GRI30('Mix')
% set its state to that of the fuel (arbitrary)
set(gas,'T', tin, 'P', p, 'X', comp2);
%%%%%%%%%%%%%%%% create the flow object %%%%%%%%%%%%%%%%%%%%%%%
f = AxisymmetricFlow(gas,'flow');
set(f, 'P', p, 'grid', initial_grid);
set(f, 'tol', tol_ss, 'tol-time', tol_ts);
%%%%%%%%%%%%%%% create the air inlet %%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% The temperature, mass flux, and composition (relative molar) may be
% specified.
%
inlet_o = Inlet('air_inlet');
set(inlet_o, 'T', tin, 'MassFlux', mdot_o, 'X', comp1);
%%%%%%%%%%%%%% create the fuel inlet %%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
%
inlet_f = Inlet('fuel_inlet');
set(inlet_f, 'T', tin, 'MassFlux', mdot_f, 'X', comp2);
%%%%%%%%%%%%% create the flame object %%%%%%%%%%%%
%
% Once the component parts have been created, they can be assembled
% to create the flame object. Function npflame_init (in Cantera/1D)
% sets up the initial guess for the solution using a Burke-Schumann
% flame.
%
fl = npflame_init(gas, inlet_f, f, inlet_o, 'C2H6', 'O2', 3.5);
% if the starting solution is to be read from a previously-saved
% solution, uncomment this line and edit the file name and solution id.
%restore(fl,'h2flame2.xml', 'energy')
% solve with fixed temperature profile first
solve(fl, loglevel, 0); %refine_grid);
%%%%%%%%%%%% enable the energy equation %%%%%%%%%%%%%%%%%%%%%
%
% The energy equation will now be solved to compute the
% temperature profile. We also tighten the grid refinement
% criteria to get an accurate final solution.
%
enableEnergy(f);
setRefineCriteria(fl, 2, 200.0, 0.1, 0.1);
solve(fl, loglevel, refine_grid);
saveSoln(fl,'c2h6.xml','energy',['solution with energy' ...
' equation']);
%%%%%%%%%% show statistics %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
writeStats(fl);
elapsed = cputime - t0;
e = sprintf('Elapsed CPU time: %10.4g',elapsed);
disp(e);
%%%%%%%%%% make plots %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clf;
subplot(2,3,1);
plotSolution(fl, 'flow', 'T');
title('Temperature [K]');
subplot(2,3,2);
plotSolution(fl, 'flow', 'C2H6');
title('C2H6 Mass Fraction');
subplot(2,3,3);
plotSolution(fl, 'flow', 'O2');
title('O2 Mass Fraction');
subplot(2,3,4);
plotSolution(fl, 'flow', 'CH');
title('CH Mass Fraction');
subplot(2,3,5);
plotSolution(fl, 'flow', 'V');
title('Radial Velocity / Radius [s^-1]');
subplot(2,3,6);
plotSolution(fl, 'flow', 'u');
title('Axial Velocity [m/s]');

View file

@ -34,14 +34,14 @@ for i = 1:50
end
% make plots
figure(1);
clf;
subplot(1,2,1);
plot(phi,tad);
xlabel('Equivalence Ratio');
ylabel('Temperature (K)');
title('Adiabatic Flame Temperature');
figure(2);
subplot(1,2,2);
semilogy(phi,xeq);
axis([phi(1) phi(50) 1.0e-14 1]);
%legend(speciesName(gas,1:nsp),1);

View file

@ -58,6 +58,7 @@ mdot1 = massFlux(right);
t0 = temperature(left);
if flametype == 0
t1 = teq;
mdot1 = -mdot0;
else
t1 = temperature(right);
end
@ -72,7 +73,7 @@ for n = 1:nSpecies(gas)
nm = speciesName(gas,n);
if strcmp(nm,'H') | strcmp(nm,'OH') | strcmp(nm,'O') | ...
strcmp(nm,'HO2')
yint = 3.0*yeq(n);
yint = 1.0*yeq(n);
else
yint = yeq(n);
end

View file

@ -1,8 +1,11 @@
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% FLAME1 - A burner-stabilized flat flame
%
% A burner-stabilized flat flame
%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
% This script simulates a burner-stablized lean hydrogen-oxygen flame
% at low pressure.
help flame1;
disp('press any key to begin the simulation');
pause;
t0 = cputime; % record the starting time
@ -10,16 +13,15 @@ t0 = cputime; % record the starting time
% parameter values
p = 0.05*oneatm; % pressure
tburner = 373.0; % burner temperature
mdot = 0.04; % kg/m^2/s
mdot = 0.06; % kg/m^2/s
rxnmech = 'h2o2.xml'; % reaction mechanism file
transport = 'Mix'; % transport model
rxnmech = 'h2o2.cti'; % reaction mechanism file
comp = 'H2:1.8, O2:1, AR:7'; % premixed gas composition
initial_grid = [0.0 0.02 0.04 0.06 0.08 0.1 ...
0.15 0.2 0.49 0.5]; % m
0.15 0.2 0.4 0.49 0.5]; % m
tol_ss = [1.0e-5 1.0e-12]; % [rtol atol] for steady-state
tol_ss = [1.0e-5 1.0e-9]; % [rtol atol] for steady-state
% problem
tol_ts = [1.0e-3 1.0e-4]; % [rtol atol] for time stepping
@ -35,7 +37,7 @@ refine_grid = 1; % 1 to enable refinement, 0 to
% This object will be used to evaluate all thermodynamic, kinetic,
% and transport properties
%
gas = IdealGasMix(rxnmech, transport);
gas = IdealGasMix(rxnmech);
% set its state to that of the unburned gas at the burner
set(gas,'T', tburner, 'P', p, 'X', comp);
@ -83,8 +85,7 @@ fl = flame(gas, burner, f, s);
%restore(fl,'h2flame2.xml', 'energy')
solve(fl, loglevel, refine_grid);
solve(fl, 1, refine_grid);
%%%%%%%%%%%% enable the energy equation %%%%%%%%%%%%%%%%%%%%%
@ -110,7 +111,7 @@ disp(e);
%%%%%%%%%% make plots %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
figure(1);
clf;
subplot(2,2,1);
plotSolution(fl, 'flow', 'T');
title('Temperature [K]');

View file

@ -36,7 +36,7 @@ refine_grid = 1; % 1 to enable refinement, 0 to
% This object will be used to evaluate all thermodynamic, kinetic,
% and transport properties
%
gas = IdealGasMix(rxnmech, transport);
gas = GRI30('Mix'); %IdealGasMix(rxnmech, transport);
% set its state to that of the fuel (arbitrary)
set(gas,'T', tin, 'P', p, 'X', comp2);

View file

@ -50,7 +50,7 @@ a = a/amin;
% plot results
figure(1);
clf;
plot(mach,a);
ylabel('Area Ratio');
xlabel('Mach Number');

View file

@ -46,7 +46,7 @@ disp(['CPU time = ' num2str(cputime - t0)]);
% plot results
figure(1);
clf;
subplot(2,2,1);
surf(xo2,t,pr);
xlabel('Elemental O/(O+H)');

View file

@ -45,7 +45,7 @@ disp(['CPU time = ' num2str(cputime - t0)]);
% plot results
figure(1);
clf;
subplot(2,2,1);
surf(xo2,t,pr);
xlabel('Elemental O/(O+H)');

View file

@ -21,15 +21,13 @@ nsp = nSpecies(gas);
set(gas,'T',1001.0,'P',oneatm,'X','H2:2,O2:1,N2:4');
% create a reactor, and insert the gas
r = Reactor;
insert(r, gas);
r = Reactor(gas);
% create a reservoir to represent the environment
env = Reservoir;
a = IdealGasMix('air.xml');
insert(env, a);
a = IdealGasMix('air.cti');
env = Reservoir(a);
% Define a wall between the reactor and the environment, and
% Define a wall between the reactor and the environment and
% make it flexible, so that the pressure in the reactor is held
% at the environment pressure.
w = Wall;
@ -47,8 +45,28 @@ t0 = cputime;
for n = 1:100
t = t + dt;
advance(r, t);
disp([time(r) temperature(r)]);
tim(n) = time(r);
temp(n) = temperature(r);
x(n,1:3) = moleFraction(gas,{'OH','H','H2'});
end
disp(['CPU time = ' num2str(cputime - t0)]);
clf;
subplot(2,2,1);
plot(tim,temp);
xlabel('Time (s)');
ylabel('Temperature (K)');
subplot(2,2,2)
plot(tim,x(:,1));
xlabel('Time (s)');
ylabel('OH Mole Fraction (K)');
subplot(2,2,3)
plot(tim,x(:,2));
xlabel('Time (s)');
ylabel('H Mole Fraction (K)');
subplot(2,2,4)
plot(tim,x(:,3));
xlabel('Time (s)');
ylabel('H2 Mole Fraction (K)');
clear all
cleanup

View file

@ -20,8 +20,7 @@ nsp = nSpecies(gas);
set(gas,'T',1001.0,'P',oneatm,'X','H2:2,O2:1,N2:4');
% create a reactor, and insert the gas
r = Reactor;
insert(r, gas);
r = Reactor(gas);
t = 0;
dt = 1.0e-5;
@ -29,8 +28,28 @@ t0 = cputime;
for n = 1:100
t = t + dt;
advance(r, t);
disp([time(r) temperature(r)]);
tim(n) = time(r);
temp(n) = temperature(r);
x(n,1:3) = moleFraction(gas,{'OH','H','H2'});
end
disp(['CPU time = ' num2str(cputime - t0)]);
clf;
subplot(2,2,1);
plot(tim,temp);
xlabel('Time (s)');
ylabel('Temperature (K)');
subplot(2,2,2)
plot(tim,x(:,1));
xlabel('Time (s)');
ylabel('OH Mole Fraction (K)');
subplot(2,2,3)
plot(tim,x(:,2));
xlabel('Time (s)');
ylabel('H Mole Fraction (K)');
subplot(2,2,4)
plot(tim,x(:,3));
xlabel('Time (s)');
ylabel('H2 Mole Fraction (K)');
clear all
cleanup

View file

@ -1,44 +1,32 @@
function run_examples(g)
if nargin == 0 | ~isa(g,'solution')
gas = 0;
end
% runs all examples
%adddir([pwd '/../data']);
equil(gas);
equil(0);
disp('press any key to continue');
pause
set(1:2,'Visible','off');
isentropic(gas);
isentropic(0);
disp('press any key to continue');
pause
set(1:2,'Visible','off');
reactor1(gas);
reactor1(0);
disp('press any key to continue');
pause
set(1:2,'Visible','off');
reactor2(gas);
reactor2(0);
disp('press any key to continue');
pause
set(1:2,'Visible','off');
ignite(gas);
surfreactor;
disp('press any key to continue');
pause
set(1:2,'Visible','off');
ignite_hp(gas);
prandtl1(0);
disp('press any key to continue');
pause
set(1:2,'Visible','off');
ignite2(gas);
prandtl2(0);
disp('press any key to continue');
pause
set(1:2,'Visible','off');
ignite_uv(gas);
flame1
disp('press any key to continue');
pause
set(1:2,'Visible','off');
prandtl1(gas);
diffflame
disp('press any key to continue');
pause
set(1:2,'Visible','off');
prandtl2(gas);
catcomb
disp('press any key to continue');
pause
set(1:2,'Visible','off');

View file

@ -0,0 +1,78 @@
% SURFREACTOR Zero-dimensional reactor with surface chemistry
%
% This example illustrates how to use class 'Reactor' for
% zero-dimensional simulations including both homogeneous and
% heterogeneous chemistry.
help surfreactor
t = 870.0;
gas = importPhase('ptcombust.cti','gas');
% set the initial conditions
set(gas,'T',t,'P',oneatm,'X','CH4:0.01, O2:0.21, N2:0.78');
surf = importInterface('ptcombust.cti','Pt_surf', gas);
setTemperature(surf, t);
nsp = nSpecies(gas);
% create a reactor, and insert the gas
r = Reactor(gas);
setInitialVolume(r, 1.0e-6)
% create a reservoir to represent the environment
a = IdealGasMix('air.cti');
set(a,'T',t,'P',oneatm);
env = Reservoir(a);
% Define a wall between the reactor and the environment and
% make it flexible, so that the pressure in the reactor is held
% at the environment pressure.
w = Wall;
install(w,r,env);
% set the surface mechanism on the left side of the wall (facing
% reactor 'r' to 'surf'. No surface mechanism will be installed on
% the air side.
setKinetics(w, surf, 0);
% set the wall area and heat transfer coefficient.
setArea(w, 1.0e-4);
setHeatTransferCoeff(w,0.1);
% set expansion parameter. dV/dt = K(P_1 - P_2)
setExpansionRateCoeff(w, 1.0);
t = 0;
dt = 0.1;
t0 = cputime;
names = {'CH4','O2','CO','CO2','H2O'};
for n = 1:100
t = t + dt;
advance(r, t);
tim(n) = t;
temp(n) = temperature(r);
cov(n,:) = coverages(surf)';
x(n,:) = moleFraction(gas,names);
end
disp(['CPU time = ' num2str(cputime - t0)]);
clf;
subplot(2,2,1);
plot(tim,temp);
xlabel('Time (s)');
ylabel('Temperature (K)');
subplot(2,2,2);
semilogy(tim,cov);
xlabel('Time (s)');
ylabel('Coverages');
legend(speciesNames(surf));
subplot(2,2,3);
plot(tim,x);
xlabel('Time (s)');
ylabel('Mole Fractions');
legend(names);
clear all
cleanup

View file

@ -0,0 +1,10 @@
function s = importInterface(file, name, phase1, phase2)
% IMPORTINTERFACE - import an interface
%
if nargin == 3
s = Interface(file, name, phase1);
elseif nargin == 4
s = Interface(file, name, phase1, phase2);
else
error('importInterface only supports 2 bulk phases');
end

View file

@ -0,0 +1,8 @@
function s = importPhase(file, name)
% IMPORTPHASE - import a phase
%
if nargin == 1
s = Solution(file);
elseif nargin == 2
s = Solution(file, name);
end

View file

@ -59,7 +59,7 @@ void ctfunctions( int nlhs, mxArray *plhs[],
case 4:
iok = domain_clear();
iok = sim1D_clear();
//iok = xml_clear();
iok = xml_clear();
iok = clearStorage();
break;

View file

@ -27,6 +27,7 @@ const int REACTOR_CLASS = 60;
const int WALL_CLASS = 70;
const int FLOWDEVICE_CLASS = 80;
const int ONEDIM_CLASS = 90;
const int SURF_CLASS = 100;
void ctfunctions( int nlhs, mxArray *plhs[], int nrhs,
const mxArray *prhs[] );
@ -40,6 +41,9 @@ void thermomethods( int nlhs, mxArray *plhs[], int nrhs,
void phasemethods( int nlhs, mxArray *plhs[], int nrhs,
const mxArray *prhs[] );
void surfmethods( int nlhs, mxArray *plhs[], int nrhs,
const mxArray *prhs[] );
void kineticsmethods( int nlhs, mxArray *plhs[], int nrhs,
const mxArray *prhs[] );
@ -94,6 +98,8 @@ extern "C" {
flowdevicemethods(nlhs, plhs, nrhs, prhs); break;
case ONEDIM_CLASS:
onedimmethods(nlhs, plhs, nrhs, prhs); break;
case SURF_CLASS:
surfmethods(nlhs, plhs, nrhs, prhs); break;
default:
mexErrMsgTxt("unknown class");
}

View file

@ -146,11 +146,13 @@ void kineticsmethods( int nlhs, mxArray *plhs[],
iok = kin_setMultiplier(kin,irxn-1,v); break;
case 3:
iok = delKinetics(kin); break;
case 5:
iok = kin_advanceCoverages(kin,v); break;
default:
iok = -1;
mexErrMsgTxt("unknown job");
}
}
if (iok < 0) mexErrMsgTxt("error in kineticsmethods.");
if (iok < 0) reportError();
}
}

View file

@ -4,8 +4,15 @@
#include "../../../clib/src/ctonedim.h"
#include <iostream>
#include <string>
using namespace std;
namespace Cantera {
void writelog(const std::string& s);
}
using namespace Cantera;
void onedimmethods( int nlhs, mxArray *plhs[],
int nrhs, const mxArray *prhs[] ) {
double vv;
@ -82,7 +89,9 @@ void onedimmethods( int nlhs, mxArray *plhs[],
for (k = 0; k < sz; k++) {
ptrs[k] = int(dom_ids[k]);
}
writelog("calling sim1D_new\n");
indx = sim1D_new(sz, ptrs);
writelog("ret sim1D_new\n");
delete[] ptrs;
break;
@ -197,9 +206,10 @@ void onedimmethods( int nlhs, mxArray *plhs[],
int iok = -1;
double *lower, *upper, *rtol, *atol, *grid, *pos, *values,
mdot, t, p, val, *temp, ratio, slope, curve, tstep, *dts,
rdt;
rdt, prune;
int nlower, nupper, nr, na, npts, np, comp, localPoint, idom,
loglevel, refine_grid, n, flag, itime, ns, *nsteps, icount;
loglevel, refine_grid, n, flag, itime, ns, *nsteps, icount,
onoff, ss_age, ts_age;
char *xstr, *fname, *id, *desc, *name;
switch (job) {
case 51:
@ -309,12 +319,14 @@ void onedimmethods( int nlhs, mxArray *plhs[],
iok = sim1D_refine(dom, loglevel);
break;
case 106:
checkNArgs(7, nrhs);
checkNArgs(8, nrhs);
idom = getInt(prhs[3]) - 1;
ratio = getDouble(prhs[4]);
slope = getDouble(prhs[5]);
curve = getDouble(prhs[6]);
iok = sim1D_setRefineCriteria(dom, idom, ratio, slope, curve);
prune = getDouble(prhs[7]);
iok = sim1D_setRefineCriteria(dom, idom,
ratio, slope, curve, prune);
break;
case 107:
iok = 0;
@ -362,11 +374,23 @@ void onedimmethods( int nlhs, mxArray *plhs[],
icount = getInt(prhs[4]);
iok = sim1D_eval(dom, rdt, icount);
break;
case 114:
checkNArgs(5, nrhs);
ss_age = getInt(prhs[3]);
ts_age = getInt(prhs[4]);
iok = sim1D_setMaxJacAge(dom, ss_age, ts_age);
break;
//case 200:
//iok = domain1D_clear();
//iok = sim1D_clear();
//break;
case 120:
checkNArgs(4, nrhs);
onoff = getInt(prhs[3]);
iok = reactingsurf_enableCoverageEqs(dom, onoff);
break;
default:
mexPrintf(" job = %d ",job);
mexErrMsgTxt("unknown parameter");

View file

@ -0,0 +1,102 @@
#include "mex.h"
#include "ctmatutils.h"
#include "../../../clib/src/ctsurf.h"
#include "../../../clib/src/ct.h"
#include <iostream>
#include <string>
using namespace std;
namespace Cantera {
void writelog(const std::string& s);
}
using namespace Cantera;
void surfmethods( int nlhs, mxArray *plhs[],
int nrhs, const mxArray *prhs[] ) {
double vv;
int job = getInt(prhs[2]);
int n, m, iok;
double* ptr;
char* str;
int surf, nsp;
surf = getInt(prhs[1]);
// set parameters
if (job < 100) {
switch (job) {
case 1:
checkNArgs(4, nrhs);
vv = getDouble(prhs[3]);
iok = surf_setsitedensity(surf, vv);
break;
case 3:
checkNArgs(4, nrhs);
ptr = mxGetPr(prhs[3]);
m = mxGetM(prhs[3]);
n = mxGetN(prhs[3]);
nsp = phase_nSpecies(surf);
if ((m == nsp && n == 1) || (m == 1 && n == nsp)) {
iok = surf_setcoverages(surf, ptr);
}
else {
mexErrMsgTxt("wrong array size for coverages");
}
break;
case 5:
checkNArgs(4, nrhs);
str = getString(prhs[3]);
iok = surf_setcoveragesbyname(surf, str);
break;
default:
mexErrMsgTxt("unknown job");
}
if (iok < 0) reportError();
plhs[0] = mxCreateNumericMatrix(1,1,mxDOUBLE_CLASS,mxREAL);
double *h = mxGetPr(plhs[0]);
*h = double(iok);
return;
}
// return array parameters
else if (job < 200) {
nsp = phase_nSpecies(surf);
double* x = new double[nsp];
switch (job) {
case 101:
checkNArgs(3,nrhs);
iok = surf_getcoverages(surf,x);
break;
case 103:
iok = surf_getconcentrations(surf,x);
break;
default:
;
}
plhs[0] = mxCreateNumericMatrix(nsp,1,
mxDOUBLE_CLASS,mxREAL);
double *h = mxGetPr(plhs[0]);
if (iok >= 0) {
for (int i = 0; i < nsp; i++) h[i] = x[i];
delete x;
return;
}
else {
for (int i = 0; i < nsp; i++) h[i] = -999.99;
delete x;
reportError();
return;
}
}
else {
mexErrMsgTxt("unknown job");
}
}

View file

@ -68,6 +68,11 @@ const double Undef = -999.123;
case 11:
iok = wall_ready(i);
break;
case 12:
n = getInt(prhs[3]);
m = getInt(prhs[4]);
iok = wall_setkinetics(i, n, m);
break;
default:
mexErrMsgTxt("unknown job parameter");
}

View file

@ -105,7 +105,7 @@ void xmlmethods( int nlhs, mxArray *plhs[],
break;
case 15:
file = getString(prhs[3]);
iok = xml_preprocess_and_build(i, file);
iok = xml_get_XML_File(file); // xml_preprocess_and_build(i, file);
break;
default:
mexErrMsgTxt("unknown job parameter");

View file

@ -1,11 +1,12 @@
import sys
if len(sys.argv) >= 3:
libdir = sys.argv[1]
libs = '-l'+sys.argv[2]+' '+sys.argv[3]
if len(sys.argv) >= 4:
bindir = sys.argv[1]
libdir = sys.argv[2]
libs = '-l'+sys.argv[3]+' '+sys.argv[4]
else:
print 'usage: python setup_matlab.py <libdir> <lib>'
print 'usage: python setup_matlab.py <bindir> <libdir> <lib>'
sys.exit(0)
f = open('setup.m','w')
@ -20,7 +21,14 @@ mex private/ctmethods.cpp private/ctfunctions.cpp ...
private/thermomethods.cpp private/kineticsmethods.cpp ...
private/transportmethods.cpp private/reactormethods.cpp ...
private/wallmethods.cpp private/flowdevicemethods.cpp ...
private/onedimmethods.cpp private/write.cpp ...
private/onedimmethods.cpp private/surfmethods.cpp private/write.cpp ...
"""+' -L'+libdir+' '+libs+'\n'+"""disp('done.');
""")
fb.close()
fp = open('cantera/ctbin.m','w')
fp.write("""function path = ctbin
path = '"""+bindir+"""';
""")
fp.close()

View file

@ -23,12 +23,6 @@ SPECIES_SET = 20
COLLECTION = 30
THERMO = 40
# dictionary maps error conditions -> action
_handle_error = {}
_handle_error['undeclared_element'] = 'error'
_handle_error['undeclared_species'] = 'error'
_handle_error['negative_A'] = 'error'
# default units
_ulen = 'm'
_umol = 'kmol'
@ -54,7 +48,7 @@ _speciesnames = []
_phases = []
_reactions = []
_atw = {}
_mw = {}
#_mw = {}
_valsp = ''
_valrxn = ''
@ -88,20 +82,6 @@ def standard_pressure(p0):
global _pref
_pref = p0
def on_error(undeclared_element = '',
undeclared_species = '',
negative_A = ''):
"""specify an action when an error condition is encountered."""
global _handle_error
if undeclared_element:
_handle_error['undeclared_element'] = undeclared_element
if undeclared_species:
_handle_error['undeclared_species'] = undeclared_species
if negative_A:
_handle_error['negative_A'] = negative_A
def get_atomic_wts():
"""get the atomic weights from the elements database."""
global _atw
@ -250,19 +230,19 @@ class species(writer):
def __init__(self,
name = 'missing name!',
atoms = '',
comment = '',
note = '',
thermo = None,
transport = None,
charge = -999):
self._name = name
self._atoms = getAtomicComp(atoms)
mw = 0.0
for a in self._atoms.keys():
mw += self._atoms[a]*float(_atw[a])
self._mw = mw
global _mw
_mw[name] = mw
self._comment = comment
#mw = 0.0
#for a in self._atoms.keys():
# mw += self._atoms[a]*float(_atw[a])
#self._mw = mw
#global _mw
#_mw[name] = mw
self._comment = note
if thermo:
self._thermo = thermo
@ -789,13 +769,15 @@ class phase(writer):
elements = '',
species = '',
reactions = 'none',
initial_state = None):
initial_state = None,
options = []):
self._name = name
self._dim = dim
self._el = elements
self._sp = []
self._rx = []
self._options = options
#--------------------------------
# process species
@ -888,7 +870,7 @@ class phase(writer):
datasrc = r[0]
ra = p.addChild('reactionArray')
ra['datasrc'] = datasrc+'#reaction_data'
if _handle_error['undeclared_species'] == 'skip':
if 'skip_undeclared_species' in self._options:
rk = ra.addChild('skip')
rk['species'] = 'undeclared'
@ -921,7 +903,7 @@ class phase(writer):
sa = ph.addChild('speciesArray',names)
sa['datasrc'] = datasrc+'#species_data'
if _handle_error['undeclared_element'] == 'skip':
if 'skip_undeclared_elements' in self._options:
sk = sa.addChild('skip')
sk['element'] = 'undeclared'
@ -943,10 +925,11 @@ class ideal_gas(phase):
reactions = 'none',
kinetics = 'GasKinetics',
transport = 'None',
initial_state = None):
initial_state = None,
options = []):
phase.__init__(self, name, 3, elements, species, reactions,
initial_state)
initial_state, options)
self._pure = 0
self._kin = kinetics
self._tr = transport
@ -972,10 +955,11 @@ class pure_solid(phase):
species = '',
density = -1.0,
transport = 'None',
initial_state = None):
initial_state = None,
options = []):
phase.__init__(self, name, 3, elements, species, 'none',
initial_state)
initial_state, options)
self._dens = density
self._pure = 1
if self._dens < 0.0:
@ -1009,11 +993,12 @@ class ideal_interface(phase):
phases = [],
kinetics = 'Interface',
transport = 'None',
initial_state = None):
initial_state = None,
options = []):
self._type = 'surface'
phase.__init__(self, name, 2, elements, species, reactions,
initial_state)
initial_state, options)
self._pure = 0
self._kin = kinetics
self._tr = transport
@ -1176,7 +1161,7 @@ class Lindemann:
## tr.addChild('rotRelax',`self._params[4]`)
get_atomic_wts()
#get_atomic_wts()
validate()
@ -1197,7 +1182,10 @@ if __name__ == "__main__":
# $Revision$
# $Date$
# $Log$
# Revision 1.18 2003-08-21 14:29:53 dggoodwin
# Revision 1.19 2003-08-26 03:39:02 dggoodwin
# *** empty log message ***
#
# Revision 1.18 2003/08/21 14:29:53 dggoodwin
# *** empty log message ***
#
# Revision 1.17 2003/08/20 15:35:32 dggoodwin

View file

@ -1,38 +1,24 @@
#
# Generated from file air.inp
# by ck2ct on Fri Aug 8 20:22:22 2003
# by ck2cti on Mon Aug 25 09:52:58 2003
#
# Transport data from file ../transport/gri30_tran.dat.
#-------------------------------------------------------------------------------
#
# The default units. These will be used for dimensional quantities
# with unspecified units.
#-------------------------------------------------------------------------------
units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
#-------------------------------------------------------------------------------
#
# The phase definition. This specifies an ideal gas mixture that
# includes all species and reactions defined in this file.
#
#-------------------------------------------------------------------------------
ideal_gas(name = "air",
elements = " O N Ar ",
species = """ O O2 N NO NO2 N2O N2 AR """,
reactions = "all" )
reactions = "all",
transport = "Mix",
initial_state = state(temperature = 300.0,
pressure = OneAtm) )
#-------------------------------------------------------------------------------
#
# Species data
#
#-------------------------------------------------------------------------------
species(name = "O",
@ -48,7 +34,8 @@ species(name = "O",
transport = gas_transport(
geom = "atom",
diam = 2.75,
well_depth = 80.00)
well_depth = 80.00),
note = "L 1/90"
)
species(name = "O2",
@ -66,7 +53,8 @@ species(name = "O2",
diam = 3.46,
well_depth = 107.40,
polar = 1.60,
rot_relax = 3.80)
rot_relax = 3.80),
note = "TPIS89"
)
species(name = "N",
@ -82,7 +70,8 @@ species(name = "N",
transport = gas_transport(
geom = "atom",
diam = 3.30,
well_depth = 71.40)
well_depth = 71.40),
note = "L 6/88"
)
species(name = "NO",
@ -100,7 +89,8 @@ species(name = "NO",
diam = 3.62,
well_depth = 97.53,
polar = 1.76,
rot_relax = 4.00)
rot_relax = 4.00),
note = "RUS 78"
)
species(name = "NO2",
@ -117,7 +107,8 @@ species(name = "NO2",
geom = "nonlinear",
diam = 3.50,
well_depth = 200.00,
rot_relax = 1.00)
rot_relax = 1.00),
note = "L 7/88"
)
species(name = "N2O",
@ -134,7 +125,8 @@ species(name = "N2O",
geom = "linear",
diam = 3.83,
well_depth = 232.40,
rot_relax = 1.00)
rot_relax = 1.00),
note = "L 7/88"
)
species(name = "N2",
@ -152,7 +144,8 @@ species(name = "N2",
diam = 3.62,
well_depth = 97.53,
polar = 1.76,
rot_relax = 4.00)
rot_relax = 4.00),
note = "121286"
)
species(name = "AR",
@ -168,15 +161,14 @@ species(name = "AR",
transport = gas_transport(
geom = "atom",
diam = 3.33,
well_depth = 136.50)
well_depth = 136.50),
note = "120186"
)
#-------------------------------------------------------------------------------
#
# Reaction data
#
#-------------------------------------------------------------------------------
# Reaction 1

View file

@ -1,344 +0,0 @@
<ctml>
<validate reactions="yes" species="yes"/>
<!-- phase air -->
<phase dim="3" id="air">
<validation>
<duplicateReactions>halt</duplicateReactions>
<thermo>warn</thermo>
</validation>
<elementArray datasrc="elements.xml"> O N Ar </elementArray>
<speciesArray datasrc="#species_data"> O O2 N NO NO2 N2O N2 AR </speciesArray>
<reactionArray datasrc="#reaction_data"/>
<thermo model="IdealGas"/>
<kinetics model="GasKinetics"/>
<transport model="None"/>
</phase>
<!-- species definitions -->
<speciesData id="species_data">
<!-- species O -->
<species name="O">
<atomArray>O:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
3.168267100E+00, -3.279318840E-03, 6.643063960E-06, -6.128066240E-09,
2.112659710E-12, 2.912225920E+04, 2.051933460E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.569420780E+00, -8.597411370E-05, 4.194845890E-08, -1.001777990E-11,
1.228336910E-15, 2.921757910E+04, 4.784338640E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K"> 80.000</LJ_welldepth>
<LJ_diameter units="A"> 2.750</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 0.000</rotRelax>
</transport>
</species>
<!-- species O2 -->
<species name="O2">
<atomArray>O:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
3.782456360E+00, -2.996734160E-03, 9.847302010E-06, -9.681295090E-09,
3.243728370E-12, -1.063943560E+03, 3.657675730E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
3.282537840E+00, 1.483087540E-03, -7.579666690E-07, 2.094705550E-10,
-2.167177940E-14, -1.088457720E+03, 5.453231290E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K"> 107.400</LJ_welldepth>
<LJ_diameter units="A"> 3.460</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 1.600</polarizability>
<rotRelax> 3.800</rotRelax>
</transport>
</species>
<!-- species N -->
<species name="N">
<atomArray>N:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, 5.610463700E+04, 4.193908700E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="6000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.415942900E+00, 1.748906500E-04, -1.190236900E-07, 3.022624500E-11,
-2.036098200E-15, 5.613377300E+04, 4.649609600E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K"> 71.400</LJ_welldepth>
<LJ_diameter units="A"> 3.300</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 0.000</rotRelax>
</transport>
</species>
<!-- species NO -->
<species name="NO">
<atomArray>O:1 N:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
4.218476300E+00, -4.638976000E-03, 1.104102200E-05, -9.336135400E-09,
2.803577000E-12, 9.844623000E+03, 2.280846400E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="6000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
3.260605600E+00, 1.191104300E-03, -4.291704800E-07, 6.945766900E-11,
-4.033609900E-15, 9.920974600E+03, 6.369302700E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K"> 97.530</LJ_welldepth>
<LJ_diameter units="A"> 3.620</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 1.760</polarizability>
<rotRelax> 4.000</rotRelax>
</transport>
</species>
<!-- species NO2 -->
<species name="NO2">
<atomArray>O:2 N:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
3.944031200E+00, -1.585429000E-03, 1.665781200E-05, -2.047542600E-08,
7.835056400E-12, 2.896617900E+03, 6.311991700E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="6000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
4.884754200E+00, 2.172395600E-03, -8.280690600E-07, 1.574751000E-10,
-1.051089500E-14, 2.316498300E+03, -1.174169500E-01,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">nonlinear</string>
<LJ_welldepth units="K"> 200.000</LJ_welldepth>
<LJ_diameter units="A"> 3.500</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 1.000</rotRelax>
</transport>
</species>
<!-- species N2O -->
<species name="N2O">
<atomArray>O:1 N:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
2.257150200E+00, 1.130472800E-02, -1.367131900E-05, 9.681980600E-09,
-2.930718200E-12, 8.741774400E+03, 1.075799200E+01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="6000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
4.823072900E+00, 2.627025100E-03, -9.585087400E-07, 1.600071200E-10,
-9.775230300E-15, 8.073404800E+03, -2.201720700E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K"> 232.400</LJ_welldepth>
<LJ_diameter units="A"> 3.830</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 1.000</rotRelax>
</transport>
</species>
<!-- species N2 -->
<species name="N2">
<atomArray>N:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
3.298677000E+00, 1.408240400E-03, -3.963222000E-06, 5.641515000E-09,
-2.444854000E-12, -1.020899900E+03, 3.950372000E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="5000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.926640000E+00, 1.487976800E-03, -5.684760000E-07, 1.009703800E-10,
-6.753351000E-15, -9.227977000E+02, 5.980528000E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K"> 97.530</LJ_welldepth>
<LJ_diameter units="A"> 3.620</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 1.760</polarizability>
<rotRelax> 4.000</rotRelax>
</transport>
</species>
<!-- species AR -->
<species name="AR">
<atomArray>Ar:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 4.366000000E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="5000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 4.366000000E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K"> 136.500</LJ_welldepth>
<LJ_diameter units="A"> 3.330</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 0.000</rotRelax>
</transport>
</species>
</speciesData>
<reactionData id="reaction_data">
<!-- reaction 0001 -->
<reaction id="0001" reversible="yes" type="threeBody">
<equation>2 O + M [=] O2 + M</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 1.200000E+17</A>
<b>-1</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0"> AR:0.83 </efficiencies>
</rateCoeff>
<reactants>O:2</reactants>
<products>O2:1</products>
</reaction>
<!-- reaction 0002 -->
<reaction id="0002" reversible="yes">
<equation>N + NO [=] N2 + O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 2.700000E+13</A>
<b>0</b>
<E units="cal/mol">355.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>NO:1 N:1</reactants>
<products>N2:1 O:1</products>
</reaction>
<!-- reaction 0003 -->
<reaction id="0003" reversible="yes">
<equation>N + O2 [=] NO + O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 9.000000E+09</A>
<b>1</b>
<E units="cal/mol">6500.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>O2:1 N:1</reactants>
<products>O:1 NO:1</products>
</reaction>
<!-- reaction 0004 -->
<reaction id="0004" reversible="yes">
<equation>N2O + O [=] N2 + O2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 1.400000E+12</A>
<b>0</b>
<E units="cal/mol">10810.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>N2O:1 O:1</reactants>
<products>N2:1 O2:1</products>
</reaction>
<!-- reaction 0005 -->
<reaction id="0005" reversible="yes">
<equation>N2O + O [=] 2 NO</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 2.900000E+13</A>
<b>0</b>
<E units="cal/mol">23150.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>N2O:1 O:1</reactants>
<products>NO:2</products>
</reaction>
<!-- reaction 0006 -->
<reaction id="0006" reversible="yes" type="falloff">
<equation>N2O (+ M) [=] N2 + O (+ M)</equation>
<rateCoeff>
<Arrhenius>
<A units="/s"> 7.910000E+10</A>
<b>0</b>
<E units="cal/mol">56020.000000</E>
</Arrhenius>
<Arrhenius name="k0">
<A units="cm3/mol/s"> 6.370000E+14</A>
<b>0</b>
<E units="cal/mol">56640.000000</E>
</Arrhenius>
<efficiencies default="1.0"> AR:0.625 </efficiencies>
<falloff type="Lindemann"/>
</rateCoeff>
<reactants>N2O:1</reactants>
<products>N2:1 O:1</products>
</reaction>
<!-- reaction 0007 -->
<reaction id="0007" reversible="yes" type="threeBody">
<equation>NO + O + M [=] NO2 + M</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 1.060000E+20</A>
<b>-1.4099999999999999</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0"> AR:0.7 </efficiencies>
</rateCoeff>
<reactants>O:1 NO:1</reactants>
<products>NO2:1</products>
</reaction>
<!-- reaction 0008 -->
<reaction id="0008" reversible="yes">
<equation>NO2 + O [=] NO + O2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 3.900000E+12</A>
<b>0</b>
<E units="cal/mol">-240.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>O:1 NO2:1</reactants>
<products>O2:1 NO:1</products>
</reaction>
</reactionData>
</ctml>

45
data/inputs/argon.cti Normal file
View file

@ -0,0 +1,45 @@
#
# Generated from file argon.inp
# by ck2cti on Mon Aug 25 09:52:59 2003
#
# Transport data from file ../transport/gri30_tran.dat.
units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
ideal_gas(name = "argon",
elements = " Ar ",
species = """ AR """,
reactions = "all",
transport = "Mix",
initial_state = state(temperature = 300.0,
pressure = OneAtm) )
#-------------------------------------------------------------------------------
# Species data
#-------------------------------------------------------------------------------
species(name = "AR",
atoms = " Ar:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
-7.453750000E+02, 4.366000000E+00] ),
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
-7.453750000E+02, 4.366000000E+00] )
),
transport = gas_transport(
geom = "atom",
diam = 3.33,
well_depth = 136.50),
note = "120186"
)
#-------------------------------------------------------------------------------
# Reaction data
#-------------------------------------------------------------------------------

View file

@ -1,47 +0,0 @@
<ctml>
<validate reactions="yes" species="yes"/>
<!-- phase argon -->
<phase dim="3" id="argon">
<validation>
<duplicateReactions>halt</duplicateReactions>
<thermo>warn</thermo>
</validation>
<elementArray datasrc="elements.xml"> Ar </elementArray>
<speciesArray datasrc="#species_data"> AR </speciesArray>
<reactionArray datasrc="#reaction_data"/>
<thermo model="IdealGas"/>
<kinetics model="GasKinetics"/>
<transport model="None"/>
</phase>
<!-- species definitions -->
<speciesData id="species_data">
<!-- species AR -->
<species name="AR">
<atomArray>Ar:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 4.366000000E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="5000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 4.366000000E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K"> 136.500</LJ_welldepth>
<LJ_diameter units="A"> 3.330</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 0.000</rotRelax>
</transport>
</species>
</speciesData>
<reactionData id="reaction_data"/>
</ctml>

View file

@ -1,27 +1,12 @@
#
# Generated from file gri30.inp
# by ck2ct on Fri Aug 8 20:22:21 2003
# by ck2cti on Mon Aug 25 09:52:57 2003
#
# Transport data from file ../transport/gri30_tran.dat.
#-------------------------------------------------------------------------------
#
# The default units. These will be used for dimensional quantities
# with unspecified units.
#-------------------------------------------------------------------------------
units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
#-------------------------------------------------------------------------------
#
# The phase definition. This specifies an ideal gas mixture that
# includes all species and reactions defined in this file.
#
#-------------------------------------------------------------------------------
ideal_gas(name = "gri30",
elements = " O H C N Ar ",
species = """ H2 H O O2 OH H2O HO2 H2O2 C CH
@ -30,14 +15,44 @@ ideal_gas(name = "gri30",
N NH NH2 NH3 NNH NO NO2 N2O HNO CN
HCN H2CN HCNN HCNO HOCN HNCO NCO N2 AR C3H7
C3H8 CH2CHO CH3CHO """,
reactions = "all" )
reactions = "all",
kinetics = "GRI30",
initial_state = state(temperature = 300.0,
pressure = OneAtm) )
ideal_gas(name = "gri30_mix",
elements = " O H C N Ar ",
species = """ H2 H O O2 OH H2O HO2 H2O2 C CH
CH2 CH2(S) CH3 CH4 CO CO2 HCO CH2O CH2OH CH3O
CH3OH C2H C2H2 C2H3 C2H4 C2H5 C2H6 HCCO CH2CO HCCOH
N NH NH2 NH3 NNH NO NO2 N2O HNO CN
HCN H2CN HCNN HCNO HOCN HNCO NCO N2 AR C3H7
C3H8 CH2CHO CH3CHO """,
reactions = "all",
kinetics = "GRI30",
transport = "Mix",
initial_state = state(temperature = 300.0,
pressure = OneAtm) )
ideal_gas(name = "gri30_multi",
elements = " O H C N Ar ",
species = """ H2 H O O2 OH H2O HO2 H2O2 C CH
CH2 CH2(S) CH3 CH4 CO CO2 HCO CH2O CH2OH CH3O
CH3OH C2H C2H2 C2H3 C2H4 C2H5 C2H6 HCCO CH2CO HCCOH
N NH NH2 NH3 NNH NO NO2 N2O HNO CN
HCN H2CN HCNN HCNO HOCN HNCO NCO N2 AR C3H7
C3H8 CH2CHO CH3CHO """,
reactions = "all",
kinetics = "GRI30",
transport = "Multi",
initial_state = state(temperature = 300.0,
pressure = OneAtm) )
#-------------------------------------------------------------------------------
#
# Species data
#
#-------------------------------------------------------------------------------
species(name = "H2",
@ -55,7 +70,8 @@ species(name = "H2",
diam = 2.92,
well_depth = 38.00,
polar = 0.79,
rot_relax = 280.00)
rot_relax = 280.00),
note = "TPIS78"
)
species(name = "H",
@ -71,7 +87,8 @@ species(name = "H",
transport = gas_transport(
geom = "atom",
diam = 2.05,
well_depth = 145.00)
well_depth = 145.00),
note = "L 7/88"
)
species(name = "O",
@ -87,7 +104,8 @@ species(name = "O",
transport = gas_transport(
geom = "atom",
diam = 2.75,
well_depth = 80.00)
well_depth = 80.00),
note = "L 1/90"
)
species(name = "O2",
@ -105,7 +123,8 @@ species(name = "O2",
diam = 3.46,
well_depth = 107.40,
polar = 1.60,
rot_relax = 3.80)
rot_relax = 3.80),
note = "TPIS89"
)
species(name = "OH",
@ -121,7 +140,8 @@ species(name = "OH",
transport = gas_transport(
geom = "linear",
diam = 2.75,
well_depth = 80.00)
well_depth = 80.00),
note = "RUS 78"
)
species(name = "H2O",
@ -139,7 +159,8 @@ species(name = "H2O",
diam = 2.60,
well_depth = 572.40,
dipole = 1.84,
rot_relax = 4.00)
rot_relax = 4.00),
note = "L 8/89"
)
species(name = "HO2",
@ -156,7 +177,8 @@ species(name = "HO2",
geom = "nonlinear",
diam = 3.46,
well_depth = 107.40,
rot_relax = 1.00)
rot_relax = 1.00),
note = "L 5/89"
)
species(name = "H2O2",
@ -173,7 +195,8 @@ species(name = "H2O2",
geom = "nonlinear",
diam = 3.46,
well_depth = 107.40,
rot_relax = 3.80)
rot_relax = 3.80),
note = "L 7/88"
)
species(name = "C",
@ -189,7 +212,8 @@ species(name = "C",
transport = gas_transport(
geom = "atom",
diam = 3.30,
well_depth = 71.40)
well_depth = 71.40),
note = "L11/88"
)
species(name = "CH",
@ -205,7 +229,8 @@ species(name = "CH",
transport = gas_transport(
geom = "linear",
diam = 2.75,
well_depth = 80.00)
well_depth = 80.00),
note = "TPIS79"
)
species(name = "CH2",
@ -221,7 +246,8 @@ species(name = "CH2",
transport = gas_transport(
geom = "linear",
diam = 3.80,
well_depth = 144.00)
well_depth = 144.00),
note = "L S/93"
)
species(name = "CH2(S)",
@ -237,7 +263,8 @@ species(name = "CH2(S)",
transport = gas_transport(
geom = "linear",
diam = 3.80,
well_depth = 144.00)
well_depth = 144.00),
note = "L S/93"
)
species(name = "CH3",
@ -253,7 +280,8 @@ species(name = "CH3",
transport = gas_transport(
geom = "linear",
diam = 3.80,
well_depth = 144.00)
well_depth = 144.00),
note = "L11/89"
)
species(name = "CH4",
@ -271,7 +299,8 @@ species(name = "CH4",
diam = 3.75,
well_depth = 141.40,
polar = 2.60,
rot_relax = 13.00)
rot_relax = 13.00),
note = "L 8/88"
)
species(name = "CO",
@ -289,7 +318,8 @@ species(name = "CO",
diam = 3.65,
well_depth = 98.10,
polar = 1.95,
rot_relax = 1.80)
rot_relax = 1.80),
note = "TPIS79"
)
species(name = "CO2",
@ -307,7 +337,8 @@ species(name = "CO2",
diam = 3.76,
well_depth = 244.00,
polar = 2.65,
rot_relax = 2.10)
rot_relax = 2.10),
note = "L 7/88"
)
species(name = "HCO",
@ -323,7 +354,8 @@ species(name = "HCO",
transport = gas_transport(
geom = "nonlinear",
diam = 3.59,
well_depth = 498.00)
well_depth = 498.00),
note = "L12/89"
)
species(name = "CH2O",
@ -340,7 +372,8 @@ species(name = "CH2O",
geom = "nonlinear",
diam = 3.59,
well_depth = 498.00,
rot_relax = 2.00)
rot_relax = 2.00),
note = "L 8/88"
)
species(name = "CH2OH",
@ -358,7 +391,8 @@ species(name = "CH2OH",
diam = 3.69,
well_depth = 417.00,
dipole = 1.70,
rot_relax = 2.00)
rot_relax = 2.00),
note = "GUNL93"
)
species(name = "CH3O",
@ -376,7 +410,8 @@ species(name = "CH3O",
diam = 3.69,
well_depth = 417.00,
dipole = 1.70,
rot_relax = 2.00)
rot_relax = 2.00),
note = "121686"
)
species(name = "CH3OH",
@ -393,7 +428,8 @@ species(name = "CH3OH",
geom = "nonlinear",
diam = 3.63,
well_depth = 481.80,
rot_relax = 1.00)
rot_relax = 1.00),
note = "L 8/88"
)
species(name = "C2H",
@ -410,7 +446,8 @@ species(name = "C2H",
geom = "linear",
diam = 4.10,
well_depth = 209.00,
rot_relax = 2.50)
rot_relax = 2.50),
note = "L 1/91"
)
species(name = "C2H2",
@ -427,7 +464,8 @@ species(name = "C2H2",
geom = "linear",
diam = 4.10,
well_depth = 209.00,
rot_relax = 2.50)
rot_relax = 2.50),
note = "L 1/91"
)
species(name = "C2H3",
@ -444,7 +482,8 @@ species(name = "C2H3",
geom = "nonlinear",
diam = 4.10,
well_depth = 209.00,
rot_relax = 1.00)
rot_relax = 1.00),
note = "L 2/92"
)
species(name = "C2H4",
@ -461,7 +500,8 @@ species(name = "C2H4",
geom = "nonlinear",
diam = 3.97,
well_depth = 280.80,
rot_relax = 1.50)
rot_relax = 1.50),
note = "L 1/91"
)
species(name = "C2H5",
@ -478,7 +518,8 @@ species(name = "C2H5",
geom = "nonlinear",
diam = 4.30,
well_depth = 252.30,
rot_relax = 1.50)
rot_relax = 1.50),
note = "L12/92"
)
species(name = "C2H6",
@ -495,7 +536,8 @@ species(name = "C2H6",
geom = "nonlinear",
diam = 4.30,
well_depth = 252.30,
rot_relax = 1.50)
rot_relax = 1.50),
note = "L 8/88"
)
species(name = "HCCO",
@ -512,7 +554,8 @@ species(name = "HCCO",
geom = "nonlinear",
diam = 2.50,
well_depth = 150.00,
rot_relax = 1.00)
rot_relax = 1.00),
note = "SRIC91"
)
species(name = "CH2CO",
@ -529,7 +572,8 @@ species(name = "CH2CO",
geom = "nonlinear",
diam = 3.97,
well_depth = 436.00,
rot_relax = 2.00)
rot_relax = 2.00),
note = "L 5/90"
)
species(name = "HCCOH",
@ -546,7 +590,8 @@ species(name = "HCCOH",
geom = "nonlinear",
diam = 3.97,
well_depth = 436.00,
rot_relax = 2.00)
rot_relax = 2.00),
note = "SRI91"
)
species(name = "N",
@ -562,7 +607,8 @@ species(name = "N",
transport = gas_transport(
geom = "atom",
diam = 3.30,
well_depth = 71.40)
well_depth = 71.40),
note = "L 6/88"
)
species(name = "NH",
@ -579,7 +625,8 @@ species(name = "NH",
geom = "linear",
diam = 2.65,
well_depth = 80.00,
rot_relax = 4.00)
rot_relax = 4.00),
note = "And94"
)
species(name = "NH2",
@ -597,7 +644,8 @@ species(name = "NH2",
diam = 2.65,
well_depth = 80.00,
polar = 2.26,
rot_relax = 4.00)
rot_relax = 4.00),
note = "And89"
)
species(name = "NH3",
@ -615,7 +663,8 @@ species(name = "NH3",
diam = 2.92,
well_depth = 481.00,
dipole = 1.47,
rot_relax = 10.00)
rot_relax = 10.00),
note = "J 6/77"
)
species(name = "NNH",
@ -632,7 +681,8 @@ species(name = "NNH",
geom = "nonlinear",
diam = 3.80,
well_depth = 71.40,
rot_relax = 1.00)
rot_relax = 1.00),
note = "T07/93"
)
species(name = "NO",
@ -650,7 +700,8 @@ species(name = "NO",
diam = 3.62,
well_depth = 97.53,
polar = 1.76,
rot_relax = 4.00)
rot_relax = 4.00),
note = "RUS 78"
)
species(name = "NO2",
@ -667,7 +718,8 @@ species(name = "NO2",
geom = "nonlinear",
diam = 3.50,
well_depth = 200.00,
rot_relax = 1.00)
rot_relax = 1.00),
note = "L 7/88"
)
species(name = "N2O",
@ -684,7 +736,8 @@ species(name = "N2O",
geom = "linear",
diam = 3.83,
well_depth = 232.40,
rot_relax = 1.00)
rot_relax = 1.00),
note = "L 7/88"
)
species(name = "HNO",
@ -701,7 +754,8 @@ species(name = "HNO",
geom = "nonlinear",
diam = 3.49,
well_depth = 116.70,
rot_relax = 1.00)
rot_relax = 1.00),
note = "And93"
)
species(name = "CN",
@ -718,7 +772,8 @@ species(name = "CN",
geom = "linear",
diam = 3.86,
well_depth = 75.00,
rot_relax = 1.00)
rot_relax = 1.00),
note = "HBH92"
)
species(name = "HCN",
@ -735,7 +790,8 @@ species(name = "HCN",
geom = "linear",
diam = 3.63,
well_depth = 569.00,
rot_relax = 1.00)
rot_relax = 1.00),
note = "GRI/98"
)
species(name = "H2CN",
@ -752,7 +808,8 @@ species(name = "H2CN",
geom = "linear",
diam = 3.63,
well_depth = 569.00,
rot_relax = 1.00)
rot_relax = 1.00),
note = "41687"
)
species(name = "HCNN",
@ -769,7 +826,8 @@ species(name = "HCNN",
geom = "nonlinear",
diam = 2.50,
well_depth = 150.00,
rot_relax = 1.00)
rot_relax = 1.00),
note = "SRI/94"
)
species(name = "HCNO",
@ -786,7 +844,8 @@ species(name = "HCNO",
geom = "nonlinear",
diam = 3.83,
well_depth = 232.40,
rot_relax = 1.00)
rot_relax = 1.00),
note = "BDEA94"
)
species(name = "HOCN",
@ -803,7 +862,8 @@ species(name = "HOCN",
geom = "nonlinear",
diam = 3.83,
well_depth = 232.40,
rot_relax = 1.00)
rot_relax = 1.00),
note = "BDEA94"
)
species(name = "HNCO",
@ -820,7 +880,8 @@ species(name = "HNCO",
geom = "nonlinear",
diam = 3.83,
well_depth = 232.40,
rot_relax = 1.00)
rot_relax = 1.00),
note = "BDEA94"
)
species(name = "NCO",
@ -837,7 +898,8 @@ species(name = "NCO",
geom = "linear",
diam = 3.83,
well_depth = 232.40,
rot_relax = 1.00)
rot_relax = 1.00),
note = "EA 93"
)
species(name = "N2",
@ -855,7 +917,8 @@ species(name = "N2",
diam = 3.62,
well_depth = 97.53,
polar = 1.76,
rot_relax = 4.00)
rot_relax = 4.00),
note = "121286"
)
species(name = "AR",
@ -871,7 +934,8 @@ species(name = "AR",
transport = gas_transport(
geom = "atom",
diam = 3.33,
well_depth = 136.50)
well_depth = 136.50),
note = "120186"
)
species(name = "C3H7",
@ -888,7 +952,8 @@ species(name = "C3H7",
geom = "nonlinear",
diam = 4.98,
well_depth = 266.80,
rot_relax = 1.00)
rot_relax = 1.00),
note = "L 9/84"
)
species(name = "C3H8",
@ -905,7 +970,8 @@ species(name = "C3H8",
geom = "nonlinear",
diam = 4.98,
well_depth = 266.80,
rot_relax = 1.00)
rot_relax = 1.00),
note = "L 4/85"
)
species(name = "CH2CHO",
@ -922,7 +988,8 @@ species(name = "CH2CHO",
geom = "nonlinear",
diam = 3.97,
well_depth = 436.00,
rot_relax = 2.00)
rot_relax = 2.00),
note = "SAND86"
)
species(name = "CH3CHO",
@ -939,15 +1006,14 @@ species(name = "CH3CHO",
geom = "nonlinear",
diam = 3.97,
well_depth = 436.00,
rot_relax = 2.00)
rot_relax = 2.00),
note = "L 8/88"
)
#-------------------------------------------------------------------------------
#
# Reaction data
#
#-------------------------------------------------------------------------------
# Reaction 1
@ -1273,13 +1339,16 @@ falloff_reaction( "2 OH (+ M) <=> H2O2 (+ M)",
reaction( "2 OH <=> O + H2O", [3.57000E+04, 2.4, -2110])
# Reaction 87
reaction( "OH + HO2 <=> O2 + H2O", [1.45000E+13, 0, -500])
reaction( "OH + HO2 <=> O2 + H2O", [1.45000E+13, 0, -500],
options = 'duplicate')
# Reaction 88
reaction( "OH + H2O2 <=> HO2 + H2O", [2.00000E+12, 0, 427])
reaction( "OH + H2O2 <=> HO2 + H2O", [2.00000E+12, 0, 427],
options = 'duplicate')
# Reaction 89
reaction( "OH + H2O2 <=> HO2 + H2O", [1.70000E+18, 0, 29410])
reaction( "OH + H2O2 <=> HO2 + H2O", [1.70000E+18, 0, 29410],
options = 'duplicate')
# Reaction 90
reaction( "OH + C <=> H + CO", [5.00000E+13, 0, 0])
@ -1361,10 +1430,12 @@ reaction( "OH + C2H6 <=> C2H5 + H2O", [3.54000E+06, 2.12, 870])
reaction( "OH + CH2CO <=> HCCO + H2O", [7.50000E+12, 0, 2000])
# Reaction 115
reaction( "2 HO2 <=> O2 + H2O2", [1.30000E+11, 0, -1630])
reaction( "2 HO2 <=> O2 + H2O2", [1.30000E+11, 0, -1630],
options = 'duplicate')
# Reaction 116
reaction( "2 HO2 <=> O2 + H2O2", [4.20000E+14, 0, 12000])
reaction( "2 HO2 <=> O2 + H2O2", [4.20000E+14, 0, 12000],
options = 'duplicate')
# Reaction 117
reaction( "HO2 + CH2 <=> OH + CH2O", [2.00000E+13, 0, 0])
@ -1914,7 +1985,8 @@ reaction( "O + C2H4 <=> H + CH2CHO", [6.70000E+06, 1.83, 220])
reaction( "O + C2H5 <=> H + CH3CHO", [1.09600E+14, 0, 0])
# Reaction 287
reaction( "OH + HO2 <=> O2 + H2O", [5.00000E+15, 0, 17330])
reaction( "OH + HO2 <=> O2 + H2O", [5.00000E+15, 0, 17330],
options = 'duplicate')
# Reaction 288
reaction( "OH + CH3 => H2 + CH2O", [8.00000E+09, 0.5, -1755])

File diff suppressed because it is too large Load diff

284
data/inputs/h2o2.cti Normal file
View file

@ -0,0 +1,284 @@
#
# Generated from file h2o2.inp
# by ck2cti on Mon Aug 25 09:52:58 2003
#
# Transport data from file ../transport/gri30_tran.dat.
units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
ideal_gas(name = "ohmech",
elements = " O H Ar ",
species = """ H2 H O O2 OH H2O HO2 H2O2 AR """,
reactions = "all",
transport = "Mix",
initial_state = state(temperature = 300.0,
pressure = OneAtm) )
#-------------------------------------------------------------------------------
# Species data
#-------------------------------------------------------------------------------
species(name = "H2",
atoms = " H:2 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 2.344331120E+00, 7.980520750E-03,
-1.947815100E-05, 2.015720940E-08, -7.376117610E-12,
-9.179351730E+02, 6.830102380E-01] ),
NASA( [ 1000.00, 3500.00], [ 3.337279200E+00, -4.940247310E-05,
4.994567780E-07, -1.795663940E-10, 2.002553760E-14,
-9.501589220E+02, -3.205023310E+00] )
),
transport = gas_transport(
geom = "linear",
diam = 2.92,
well_depth = 38.00,
polar = 0.79,
rot_relax = 280.00),
note = "TPIS78"
)
species(name = "H",
atoms = " H:1 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 7.053328190E-13,
-1.995919640E-15, 2.300816320E-18, -9.277323320E-22,
2.547365990E+04, -4.466828530E-01] ),
NASA( [ 1000.00, 3500.00], [ 2.500000010E+00, -2.308429730E-11,
1.615619480E-14, -4.735152350E-18, 4.981973570E-22,
2.547365990E+04, -4.466829140E-01] )
),
transport = gas_transport(
geom = "atom",
diam = 2.05,
well_depth = 145.00),
note = "L 7/88"
)
species(name = "O",
atoms = " O:1 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 3.168267100E+00, -3.279318840E-03,
6.643063960E-06, -6.128066240E-09, 2.112659710E-12,
2.912225920E+04, 2.051933460E+00] ),
NASA( [ 1000.00, 3500.00], [ 2.569420780E+00, -8.597411370E-05,
4.194845890E-08, -1.001777990E-11, 1.228336910E-15,
2.921757910E+04, 4.784338640E+00] )
),
transport = gas_transport(
geom = "atom",
diam = 2.75,
well_depth = 80.00),
note = "L 1/90"
)
species(name = "O2",
atoms = " O:2 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 3.782456360E+00, -2.996734160E-03,
9.847302010E-06, -9.681295090E-09, 3.243728370E-12,
-1.063943560E+03, 3.657675730E+00] ),
NASA( [ 1000.00, 3500.00], [ 3.282537840E+00, 1.483087540E-03,
-7.579666690E-07, 2.094705550E-10, -2.167177940E-14,
-1.088457720E+03, 5.453231290E+00] )
),
transport = gas_transport(
geom = "linear",
diam = 3.46,
well_depth = 107.40,
polar = 1.60,
rot_relax = 3.80),
note = "TPIS89"
)
species(name = "OH",
atoms = " O:1 H:1 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 3.992015430E+00, -2.401317520E-03,
4.617938410E-06, -3.881133330E-09, 1.364114700E-12,
3.615080560E+03, -1.039254580E-01] ),
NASA( [ 1000.00, 3500.00], [ 3.092887670E+00, 5.484297160E-04,
1.265052280E-07, -8.794615560E-11, 1.174123760E-14,
3.858657000E+03, 4.476696100E+00] )
),
transport = gas_transport(
geom = "linear",
diam = 2.75,
well_depth = 80.00),
note = "RUS 78"
)
species(name = "H2O",
atoms = " H:2 O:1 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 4.198640560E+00, -2.036434100E-03,
6.520402110E-06, -5.487970620E-09, 1.771978170E-12,
-3.029372670E+04, -8.490322080E-01] ),
NASA( [ 1000.00, 3500.00], [ 3.033992490E+00, 2.176918040E-03,
-1.640725180E-07, -9.704198700E-11, 1.682009920E-14,
-3.000429710E+04, 4.966770100E+00] )
),
transport = gas_transport(
geom = "nonlinear",
diam = 2.60,
well_depth = 572.40,
dipole = 1.84,
rot_relax = 4.00),
note = "L 8/89"
)
species(name = "HO2",
atoms = " H:1 O:2 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 4.301798010E+00, -4.749120510E-03,
2.115828910E-05, -2.427638940E-08, 9.292251240E-12,
2.948080400E+02, 3.716662450E+00] ),
NASA( [ 1000.00, 3500.00], [ 4.017210900E+00, 2.239820130E-03,
-6.336581500E-07, 1.142463700E-10, -1.079085350E-14,
1.118567130E+02, 3.785102150E+00] )
),
transport = gas_transport(
geom = "nonlinear",
diam = 3.46,
well_depth = 107.40,
rot_relax = 1.00),
note = "L 5/89"
)
species(name = "H2O2",
atoms = " H:2 O:2 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 4.276112690E+00, -5.428224170E-04,
1.673357010E-05, -2.157708130E-08, 8.624543630E-12,
-1.770258210E+04, 3.435050740E+00] ),
NASA( [ 1000.00, 3500.00], [ 4.165002850E+00, 4.908316940E-03,
-1.901392250E-06, 3.711859860E-10, -2.879083050E-14,
-1.786178770E+04, 2.916156620E+00] )
),
transport = gas_transport(
geom = "nonlinear",
diam = 3.46,
well_depth = 107.40,
rot_relax = 3.80),
note = "L 7/88"
)
species(name = "AR",
atoms = " Ar:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
-7.453750000E+02, 4.366000000E+00] ),
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
-7.453750000E+02, 4.366000000E+00] )
),
transport = gas_transport(
geom = "atom",
diam = 3.33,
well_depth = 136.50),
note = "120186"
)
#-------------------------------------------------------------------------------
# Reaction data
#-------------------------------------------------------------------------------
# Reaction 1
three_body_reaction( "2 O + M <=> O2 + M", [1.20000E+17, -1, 0],
efficiencies = " AR:0.83 H2:2.4 H2O:15.4 ")
# Reaction 2
three_body_reaction( "O + H + M <=> OH + M", [5.00000E+17, -1, 0],
efficiencies = " AR:0.7 H2:2 H2O:6 ")
# Reaction 3
reaction( "O + H2 <=> H + OH", [3.87000E+04, 2.7, 6260])
# Reaction 4
reaction( "O + HO2 <=> OH + O2", [2.00000E+13, 0, 0])
# Reaction 5
reaction( "O + H2O2 <=> OH + HO2", [9.63000E+06, 2, 4000])
# Reaction 6
reaction( "H + 2 O2 <=> HO2 + O2", [2.08000E+19, -1.24, 0])
# Reaction 7
reaction( "H + O2 + H2O <=> HO2 + H2O", [1.12600E+19, -0.76, 0])
# Reaction 8
reaction( "H + O2 + AR <=> HO2 + AR", [7.00000E+17, -0.8, 0])
# Reaction 9
reaction( "H + O2 <=> O + OH", [2.65000E+16, -0.6707, 17041])
# Reaction 10
three_body_reaction( "2 H + M <=> H2 + M", [1.00000E+18, -1, 0],
efficiencies = " AR:0.63 H2:0 H2O:0 ")
# Reaction 11
reaction( "2 H + H2 <=> 2 H2", [9.00000E+16, -0.6, 0])
# Reaction 12
reaction( "2 H + H2O <=> H2 + H2O", [6.00000E+19, -1.25, 0])
# Reaction 13
three_body_reaction( "H + OH + M <=> H2O + M", [2.20000E+22, -2, 0],
efficiencies = " AR:0.38 H2:0.73 H2O:3.65 ")
# Reaction 14
reaction( "H + HO2 <=> O + H2O", [3.97000E+12, 0, 671])
# Reaction 15
reaction( "H + HO2 <=> O2 + H2", [4.48000E+13, 0, 1068])
# Reaction 16
reaction( "H + HO2 <=> 2 OH", [8.40000E+13, 0, 635])
# Reaction 17
reaction( "H + H2O2 <=> HO2 + H2", [1.21000E+07, 2, 5200])
# Reaction 18
reaction( "H + H2O2 <=> OH + H2O", [1.00000E+13, 0, 3600])
# Reaction 19
reaction( "OH + H2 <=> H + H2O", [2.16000E+08, 1.51, 3430])
# Reaction 20
falloff_reaction( "2 OH (+ M) <=> H2O2 (+ M)",
kf = [7.40000E+13, -0.37, 0],
kf0 = [2.30000E+18, -0.9, -1700],
falloff = Troe(A = 0.7346, T3 = 94, T1 = 1756, T2 = 5182),
efficiencies = " AR:0.7 H2:2 H2O:6 ")
# Reaction 21
reaction( "2 OH <=> O + H2O", [3.57000E+04, 2.4, -2110])
# Reaction 22
reaction( "OH + HO2 <=> O2 + H2O", [1.45000E+13, 0, -500],
options = 'duplicate')
# Reaction 23
reaction( "OH + H2O2 <=> HO2 + H2O", [2.00000E+12, 0, 427],
options = 'duplicate')
# Reaction 24
reaction( "OH + H2O2 <=> HO2 + H2O", [1.70000E+18, 0, 29410],
options = 'duplicate')
# Reaction 25
reaction( "2 HO2 <=> O2 + H2O2", [1.30000E+11, 0, -1630],
options = 'duplicate')
# Reaction 26
reaction( "2 HO2 <=> O2 + H2O2", [4.20000E+14, 0, 12000],
options = 'duplicate')
# Reaction 27
reaction( "OH + HO2 <=> O2 + H2O", [5.00000E+15, 0, 17330],
options = 'duplicate')

View file

@ -1,637 +0,0 @@
<ctml>
<validate reactions="yes" species="yes"/>
<!-- phase ohmech -->
<phase dim="3" id="ohmech">
<validation>
<duplicateReactions>halt</duplicateReactions>
<thermo>warn</thermo>
</validation>
<elementArray datasrc="elements.xml"> O H Ar </elementArray>
<speciesArray datasrc="#species_data"> H2 H O O2 OH H2O HO2 H2O2 AR </speciesArray>
<reactionArray datasrc="#reaction_data"/>
<thermo model="IdealGas"/>
<kinetics model="GasKinetics"/>
<transport model="None"/>
</phase>
<!-- species definitions -->
<speciesData id="species_data">
<!-- species H2 -->
<species name="H2">
<atomArray>H:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
2.344331120E+00, 7.980520750E-03, -1.947815100E-05, 2.015720940E-08,
-7.376117610E-12, -9.179351730E+02, 6.830102380E-01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
3.337279200E+00, -4.940247310E-05, 4.994567780E-07, -1.795663940E-10,
2.002553760E-14, -9.501589220E+02, -3.205023310E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K"> 38.000</LJ_welldepth>
<LJ_diameter units="A"> 2.920</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.790</polarizability>
<rotRelax> 280.000</rotRelax>
</transport>
</species>
<!-- species H -->
<species name="H">
<atomArray>H:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 7.053328190E-13, -1.995919640E-15, 2.300816320E-18,
-9.277323320E-22, 2.547365990E+04, -4.466828530E-01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.500000010E+00, -2.308429730E-11, 1.615619480E-14, -4.735152350E-18,
4.981973570E-22, 2.547365990E+04, -4.466829140E-01,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K"> 145.000</LJ_welldepth>
<LJ_diameter units="A"> 2.050</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 0.000</rotRelax>
</transport>
</species>
<!-- species O -->
<species name="O">
<atomArray>O:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
3.168267100E+00, -3.279318840E-03, 6.643063960E-06, -6.128066240E-09,
2.112659710E-12, 2.912225920E+04, 2.051933460E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.569420780E+00, -8.597411370E-05, 4.194845890E-08, -1.001777990E-11,
1.228336910E-15, 2.921757910E+04, 4.784338640E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K"> 80.000</LJ_welldepth>
<LJ_diameter units="A"> 2.750</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 0.000</rotRelax>
</transport>
</species>
<!-- species O2 -->
<species name="O2">
<atomArray>O:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
3.782456360E+00, -2.996734160E-03, 9.847302010E-06, -9.681295090E-09,
3.243728370E-12, -1.063943560E+03, 3.657675730E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
3.282537840E+00, 1.483087540E-03, -7.579666690E-07, 2.094705550E-10,
-2.167177940E-14, -1.088457720E+03, 5.453231290E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K"> 107.400</LJ_welldepth>
<LJ_diameter units="A"> 3.460</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 1.600</polarizability>
<rotRelax> 3.800</rotRelax>
</transport>
</species>
<!-- species OH -->
<species name="OH">
<atomArray>H:1 O:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
3.992015430E+00, -2.401317520E-03, 4.617938410E-06, -3.881133330E-09,
1.364114700E-12, 3.615080560E+03, -1.039254580E-01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
3.092887670E+00, 5.484297160E-04, 1.265052280E-07, -8.794615560E-11,
1.174123760E-14, 3.858657000E+03, 4.476696100E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">linear</string>
<LJ_welldepth units="K"> 80.000</LJ_welldepth>
<LJ_diameter units="A"> 2.750</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 0.000</rotRelax>
</transport>
</species>
<!-- species H2O -->
<species name="H2O">
<atomArray>H:2 O:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
4.198640560E+00, -2.036434100E-03, 6.520402110E-06, -5.487970620E-09,
1.771978170E-12, -3.029372670E+04, -8.490322080E-01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
3.033992490E+00, 2.176918040E-03, -1.640725180E-07, -9.704198700E-11,
1.682009920E-14, -3.000429710E+04, 4.966770100E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">nonlinear</string>
<LJ_welldepth units="K"> 572.400</LJ_welldepth>
<LJ_diameter units="A"> 2.600</LJ_diameter>
<dipoleMoment units="Debye"> 1.840</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 4.000</rotRelax>
</transport>
</species>
<!-- species HO2 -->
<species name="HO2">
<atomArray>H:1 O:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
4.301798010E+00, -4.749120510E-03, 2.115828910E-05, -2.427638940E-08,
9.292251240E-12, 2.948080400E+02, 3.716662450E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
4.017210900E+00, 2.239820130E-03, -6.336581500E-07, 1.142463700E-10,
-1.079085350E-14, 1.118567130E+02, 3.785102150E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">nonlinear</string>
<LJ_welldepth units="K"> 107.400</LJ_welldepth>
<LJ_diameter units="A"> 3.460</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 1.000</rotRelax>
</transport>
</species>
<!-- species H2O2 -->
<species name="H2O2">
<atomArray>H:2 O:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
4.276112690E+00, -5.428224170E-04, 1.673357010E-05, -2.157708130E-08,
8.624543630E-12, -1.770258210E+04, 3.435050740E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
4.165002850E+00, 4.908316940E-03, -1.901392250E-06, 3.711859860E-10,
-2.879083050E-14, -1.786178770E+04, 2.916156620E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">nonlinear</string>
<LJ_welldepth units="K"> 107.400</LJ_welldepth>
<LJ_diameter units="A"> 3.460</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 3.800</rotRelax>
</transport>
</species>
<!-- species AR -->
<species name="AR">
<atomArray>Ar:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 4.366000000E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="5000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 4.366000000E+00,</floatArray>
</NASA>
</thermo>
<transport model="gas_transport">
<string title="geometry">atom</string>
<LJ_welldepth units="K"> 136.500</LJ_welldepth>
<LJ_diameter units="A"> 3.330</LJ_diameter>
<dipoleMoment units="Debye"> 0.000</dipoleMoment>
<polarizability units="A3"> 0.000</polarizability>
<rotRelax> 0.000</rotRelax>
</transport>
</species>
</speciesData>
<reactionData id="reaction_data">
<!-- reaction 0001 -->
<reaction id="0001" reversible="yes" type="threeBody">
<equation>2 O + M [=] O2 + M</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 1.200000E+17</A>
<b>-1</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0"> AR:0.83 H2:2.4 H2O:15.4 </efficiencies>
</rateCoeff>
<reactants>O:2</reactants>
<products>O2:1</products>
</reaction>
<!-- reaction 0002 -->
<reaction id="0002" reversible="yes" type="threeBody">
<equation>O + H + M [=] OH + M</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 5.000000E+17</A>
<b>-1</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0"> AR:0.7 H2:2 H2O:6 </efficiencies>
</rateCoeff>
<reactants>H:1 O:1</reactants>
<products>OH:1</products>
</reaction>
<!-- reaction 0003 -->
<reaction id="0003" reversible="yes">
<equation>O + H2 [=] H + OH</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 3.870000E+04</A>
<b>2.7000000000000002</b>
<E units="cal/mol">6260.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2:1 O:1</reactants>
<products>H:1 OH:1</products>
</reaction>
<!-- reaction 0004 -->
<reaction id="0004" reversible="yes">
<equation>O + HO2 [=] OH + O2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 2.000000E+13</A>
<b>0</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>HO2:1 O:1</reactants>
<products>O2:1 OH:1</products>
</reaction>
<!-- reaction 0005 -->
<reaction id="0005" reversible="yes">
<equation>O + H2O2 [=] OH + HO2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 9.630000E+06</A>
<b>2</b>
<E units="cal/mol">4000.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2O2:1 O:1</reactants>
<products>HO2:1 OH:1</products>
</reaction>
<!-- reaction 0006 -->
<reaction id="0006" reversible="yes">
<equation>H + 2 O2 [=] HO2 + O2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 2.080000E+19</A>
<b>-1.24</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1 O2:2</reactants>
<products>HO2:1 O2:1</products>
</reaction>
<!-- reaction 0007 -->
<reaction id="0007" reversible="yes">
<equation>H + O2 + H2O [=] HO2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 1.126000E+19</A>
<b>-0.76000000000000001</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1 H2O:1 O2:1</reactants>
<products>H2O:1 HO2:1</products>
</reaction>
<!-- reaction 0008 -->
<reaction id="0008" reversible="yes">
<equation>H + O2 + AR [=] HO2 + AR</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 7.000000E+17</A>
<b>-0.80000000000000004</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1 AR:1 O2:1</reactants>
<products>AR:1 HO2:1</products>
</reaction>
<!-- reaction 0009 -->
<reaction id="0009" reversible="yes">
<equation>H + O2 [=] O + OH</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 2.650000E+16</A>
<b>-0.67069999999999996</b>
<E units="cal/mol">17041.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1 O2:1</reactants>
<products>O:1 OH:1</products>
</reaction>
<!-- reaction 0010 -->
<reaction id="0010" reversible="yes" type="threeBody">
<equation>2 H + M [=] H2 + M</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 1.000000E+18</A>
<b>-1</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0"> AR:0.63 H2:0 H2O:0 </efficiencies>
</rateCoeff>
<reactants>H:2</reactants>
<products>H2:1</products>
</reaction>
<!-- reaction 0011 -->
<reaction id="0011" reversible="yes">
<equation>2 H + H2 [=] 2 H2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 9.000000E+16</A>
<b>-0.59999999999999998</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2:1 H:2</reactants>
<products>H2:2</products>
</reaction>
<!-- reaction 0012 -->
<reaction id="0012" reversible="yes">
<equation>2 H + H2O [=] H2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 6.000000E+19</A>
<b>-1.25</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:2 H2O:1</reactants>
<products>H2:1 H2O:1</products>
</reaction>
<!-- reaction 0013 -->
<reaction id="0013" reversible="yes" type="threeBody">
<equation>H + OH + M [=] H2O + M</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 2.200000E+22</A>
<b>-2</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<efficiencies default="1.0"> AR:0.38 H2:0.73 H2O:3.65 </efficiencies>
</rateCoeff>
<reactants>H:1 OH:1</reactants>
<products>H2O:1</products>
</reaction>
<!-- reaction 0014 -->
<reaction id="0014" reversible="yes">
<equation>H + HO2 [=] O + H2O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 3.970000E+12</A>
<b>0</b>
<E units="cal/mol">671.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1 HO2:1</reactants>
<products>H2O:1 O:1</products>
</reaction>
<!-- reaction 0015 -->
<reaction id="0015" reversible="yes">
<equation>H + HO2 [=] O2 + H2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 4.480000E+13</A>
<b>0</b>
<E units="cal/mol">1068.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1 HO2:1</reactants>
<products>H2:1 O2:1</products>
</reaction>
<!-- reaction 0016 -->
<reaction id="0016" reversible="yes">
<equation>H + HO2 [=] 2 OH</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 8.400000E+13</A>
<b>0</b>
<E units="cal/mol">635.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1 HO2:1</reactants>
<products>OH:2</products>
</reaction>
<!-- reaction 0017 -->
<reaction id="0017" reversible="yes">
<equation>H + H2O2 [=] HO2 + H2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 1.210000E+07</A>
<b>2</b>
<E units="cal/mol">5200.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1 H2O2:1</reactants>
<products>H2:1 HO2:1</products>
</reaction>
<!-- reaction 0018 -->
<reaction id="0018" reversible="yes">
<equation>H + H2O2 [=] OH + H2O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 1.000000E+13</A>
<b>0</b>
<E units="cal/mol">3600.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1 H2O2:1</reactants>
<products>H2O:1 OH:1</products>
</reaction>
<!-- reaction 0019 -->
<reaction id="0019" reversible="yes">
<equation>OH + H2 [=] H + H2O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 2.160000E+08</A>
<b>1.51</b>
<E units="cal/mol">3430.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2:1 OH:1</reactants>
<products>H:1 H2O:1</products>
</reaction>
<!-- reaction 0020 -->
<reaction id="0020" reversible="yes" type="falloff">
<equation>2 OH (+ M) [=] H2O2 (+ M)</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 7.400000E+13</A>
<b>-0.37</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
<Arrhenius name="k0">
<A units="cm6/mol2/s"> 2.300000E+18</A>
<b>-0.90000000000000002</b>
<E units="cal/mol">-1700.000000</E>
</Arrhenius>
<efficiencies default="1.0"> AR:0.7 H2:2 H2O:6 </efficiencies>
<falloff type="Troe">0.7346 94 1756 5182 </falloff>
</rateCoeff>
<reactants>OH:2</reactants>
<products>H2O2:1</products>
</reaction>
<!-- reaction 0021 -->
<reaction id="0021" reversible="yes">
<equation>2 OH [=] O + H2O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 3.570000E+04</A>
<b>2.3999999999999999</b>
<E units="cal/mol">-2110.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>OH:2</reactants>
<products>H2O:1 O:1</products>
</reaction>
<!-- reaction 0022 -->
<reaction duplicate="yes" id="0022" reversible="yes">
<equation>OH + HO2 [=] O2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 1.450000E+13</A>
<b>0</b>
<E units="cal/mol">-500.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>HO2:1 OH:1</reactants>
<products>H2O:1 O2:1</products>
</reaction>
<!-- reaction 0023 -->
<reaction duplicate="yes" id="0023" reversible="yes">
<equation>OH + H2O2 [=] HO2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 2.000000E+12</A>
<b>0</b>
<E units="cal/mol">427.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2O2:1 OH:1</reactants>
<products>H2O:1 HO2:1</products>
</reaction>
<!-- reaction 0024 -->
<reaction duplicate="yes" id="0024" reversible="yes">
<equation>OH + H2O2 [=] HO2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 1.700000E+18</A>
<b>0</b>
<E units="cal/mol">29410.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2O2:1 OH:1</reactants>
<products>H2O:1 HO2:1</products>
</reaction>
<!-- reaction 0025 -->
<reaction duplicate="yes" id="0025" reversible="yes">
<equation>2 HO2 [=] O2 + H2O2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 1.300000E+11</A>
<b>0</b>
<E units="cal/mol">-1630.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>HO2:2</reactants>
<products>O2:1 H2O2:1</products>
</reaction>
<!-- reaction 0026 -->
<reaction duplicate="yes" id="0026" reversible="yes">
<equation>2 HO2 [=] O2 + H2O2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 4.200000E+14</A>
<b>0</b>
<E units="cal/mol">12000.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>HO2:2</reactants>
<products>O2:1 H2O2:1</products>
</reaction>
<!-- reaction 0027 -->
<reaction duplicate="yes" id="0027" reversible="yes">
<equation>OH + HO2 [=] O2 + H2O</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 5.000000E+15</A>
<b>0</b>
<E units="cal/mol">17330.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>HO2:1 OH:1</reactants>
<products>H2O:1 O2:1</products>
</reaction>
</reactionData>
</ctml>

280
data/inputs/ptcombust.cti Normal file
View file

@ -0,0 +1,280 @@
#
# see http://reaflow.iwr.uni-heidelberg.de/~Olaf.Deutschmann/ for more about this mechanism
#
#---------------------------------------------------------------------!
#***********************************************************************
#**** *
#**** CH4-O2 SURFACE MECHANISM ON PT *
#**** *
#**** Version 1.2 November 1995 *
#**** *
#**** O. Deutschmann, IWR, Heidelberg University, Germany *
#**** *
#**** Kinetic data: *
#**** k = A * T**b * exp (-Ea/RT) A b Ea *
#**** (cm,mol,s) - J/mol *
#**** *
#**** *
#***********************************************************************
#
# Ref:- 1.) Deutschman et al., 26th Symp. (Intl.) on Combustion,1996
# pp. 1747-1754
#----------------------------------------------------------------------
#
# Converted to Cantera format
# by ck2cti on Thu Aug 21 07:58:45 2003
#
#----------------------------------------------------------------------
units(length = "cm", time = "s", quantity = "mol", act_energy = "J/mol")
ideal_gas(name = "gas",
elements = "O H C N Ar",
species = """gri30: H2 H O O2 OH H2O HO2 H2O2
C CH CH2 CH2(S) CH3 CH4 CO CO2
HCO CH2O CH2OH CH3O CH3OH C2H C2H2 C2H3
C2H4 C2H5 C2H6 HCCO CH2CO HCCOH AR N2""",
transport = 'Mix',
reactions = 'gri30: all',
options = ['skip_undeclared_elements',
'skip_undeclared_species'],
initial_state = state(temperature = 300.0, pressure = OneAtm,
mole_fractions = 'CH4:0.095, O2:0.21, AR:0.79')
)
ideal_interface(name = "Pt_surf",
elements = " Pt H O C ",
species = """ PT(S) H(S)
H2O(S) OH(S) CO(S) CO2(S) CH3(S)
CH2(S)s CH(S) C(S) O(S) """,
phases = "gas",
site_density = 2.7063e-9,
reactions = "all",
initial_state = state(temperature = 900.0,
coverages = 'O(S):0.0, PT(S):0.5, H(S):0.5')
)
#-------------------------------------------------------------------------------
# Species data
#
# Note that reactions 12-14 are reversible, and therefore require thermo
# data
#-------------------------------------------------------------------------------
species(name = "PT(S)",
atoms = " Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00] ),
NASA( [ 1000.00, 3000.00], [ 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00] )
)
)
species(name = "H(S)",
atoms = " H:1 Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ -1.302987700E+00, 5.417319900E-03,
3.127797200E-07, -3.232853300E-09, 1.136282000E-12,
-4.227707500E+03, 5.874323800E+00] ),
NASA( [ 1000.00, 3000.00], [ 1.069699600E+00, 1.543223000E-03,
-1.550092200E-07, -1.657316500E-10, 3.835934700E-14,
-5.054612800E+03, -7.155523800E+00] )
)
)
species(name = "H2O(S)",
atoms = " O:1 H:2 Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ -2.765155300E+00, 1.331511500E-02,
1.012769500E-06, -7.182008300E-09, 2.281377600E-12,
-3.639805500E+04, 1.209814500E+01] ),
NASA( [ 1000.00, 3000.00], [ 2.580305100E+00, 4.957082700E-03,
-4.689405600E-07, -5.263313700E-10, 1.199832200E-13,
-3.830223400E+04, -1.740632200E+01] )
)
)
species(name = "OH(S)",
atoms = " O:1 H:1 Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ -2.034088100E+00, 9.366268300E-03,
6.627521400E-07, -5.207488700E-09, 1.708873500E-12,
-2.531994900E+04, 8.986318600E+00] ),
NASA( [ 1000.00, 3000.00], [ 1.824997300E+00, 3.250156500E-03,
-3.119754100E-07, -3.460320600E-10, 7.917147200E-14,
-2.668549200E+04, -1.228089100E+01] )
)
)
species(name = "CO(S)",
atoms = " C:1 O:1 Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 4.890746600E+00, 6.813423500E-05,
1.976881400E-07, 1.238866900E-09, -9.033924900E-13,
-3.229783600E+04, -1.745316100E+01] ),
NASA( [ 1000.00, 3000.00], [ 4.708377800E+00, 9.603729700E-04,
-1.180527900E-07, -7.688382600E-11, 1.823200000E-14,
-3.231172300E+04, -1.671959300E+01] )
)
)
species(name = "CO2(S)",
atoms = " C:1 O:2 Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 4.690000000E-01, 6.266200000E-03,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
-5.045870000E+04, -4.555000000E+00] ),
NASA( [ 1000.00, 3000.00], [ 4.690000000E-01, 6.266000000E-03,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
-5.045870000E+04, -4.555000000E+00] )
)
)
species(name = "CH3(S)",
atoms = " C:1 H:3 Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 1.291921700E+00, 7.267560300E-03,
9.817947600E-07, -2.047129400E-09, 9.083271700E-14,
-2.574561000E+03, -1.198303700E+00] ),
NASA( [ 1000.00, 3000.00], [ 3.001616500E+00, 5.408450500E-03,
-4.053805800E-07, -5.342246600E-10, 1.145188700E-13,
-3.275272200E+03, -1.096598400E+01] )
)
)
species(name = "CH2(S)s",
atoms = " C:1 H:2 Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ -1.487640400E-01, 5.139628900E-03,
1.121107500E-06, -8.275545200E-10, -4.457234500E-13,
1.087870000E+04, 5.745188200E+00] ),
NASA( [ 1000.00, 3000.00], [ 7.407612200E-01, 4.803253300E-03,
-3.282563300E-07, -4.777978600E-10, 1.007345200E-13,
1.044375200E+04, 4.084208600E-01] )
)
)
species(name = "CH(S)",
atoms = " C:1 H:1 Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 8.415748500E-01, 1.309538000E-03,
2.846457500E-07, 6.386290400E-10, -4.276665800E-13,
2.233280100E+04, 1.145230500E+00] ),
NASA( [ 1000.00, 3000.00], [ -4.824247200E-03, 3.044623900E-03,
-1.606609900E-07, -2.904170000E-10, 5.799992400E-14,
2.259521900E+04, 5.667781800E+00] )
)
)
species(name = "C(S)",
atoms = " C:1 Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 5.892401900E-01, 2.501284200E-03,
-3.422949800E-07, -1.899434600E-09, 1.019040600E-12,
1.023692300E+04, 2.193701700E+00] ),
NASA( [ 1000.00, 3000.00], [ 1.579282400E+00, 3.652870100E-04,
-5.065767200E-08, -3.488485500E-11, 8.808969900E-15,
9.953575200E+03, -3.024049500E+00] )
)
)
species(name = "O(S)",
atoms = " O:1 Pt:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ -9.498690400E-01, 7.404230500E-03,
-1.045142400E-06, -6.112042000E-09, 3.378799200E-12,
-1.320991200E+04, 3.613790500E+00] ),
NASA( [ 1000.00, 3000.00], [ 1.945418000E+00, 9.176164700E-04,
-1.122671900E-07, -9.909962400E-11, 2.430769900E-14,
-1.400518700E+04, -1.153166300E+01] )
)
)
#-------------------------------------------------------------------------------
# Reaction data
#-------------------------------------------------------------------------------
# Reaction 1
surface_reaction("H2 + 2 PT(S) => 2 H(S)", [4.45790E+10, 0.5, 0],
order = "PT(S):1")
# Reaction 2
surface_reaction( "2 H(S) => H2 + 2 PT(S)",
Arrhenius(3.70000E+21, 0, 67400, coverage = ['H(S)', 0.0, 0.0, -6000.0]))
# Reaction 3
surface_reaction( "H + PT(S) => H(S)", stick(1.00000E+00, 0, 0))
# Reaction 4
surface_reaction( "O2 + 2 PT(S) => 2 O(S)", Arrhenius(1.80000E+21, -0.5, 0),
options = 'duplicate')
# Reaction 5
surface_reaction( "O2 + 2 PT(S) => 2 O(S)", stick(2.30000E-02, 0, 0),
options = 'duplicate')
# Reaction 6
surface_reaction( "2 O(S) => O2 + 2 PT(S)",
Arrhenius(3.70000E+21, 0, 213200,
coverage = ['O(S)', 0.0, 0.0, -60000.0]) )
# Reaction 7
surface_reaction( "O + PT(S) => O(S)", stick(1.00000E+00, 0, 0))
# Reaction 8
surface_reaction( "H2O + PT(S) => H2O(S)", stick(7.50000E-01, 0, 0))
# Reaction 9
surface_reaction( "H2O(S) => H2O + PT(S)", [1.00000E+13, 0, 40300])
# Reaction 10
surface_reaction( "OH + PT(S) => OH(S)", stick(1.00000E+00, 0, 0))
# Reaction 11
surface_reaction( "OH(S) => OH + PT(S)", [1.00000E+13, 0, 192800])
# Reaction 12
surface_reaction( "H(S) + O(S) <=> OH(S) + PT(S)", [3.70000E+21, 0, 11500])
# Reaction 13
surface_reaction( "H(S) + OH(S) <=> H2O(S) + PT(S)", [3.70000E+21, 0, 17400])
# Reaction 14
surface_reaction( "OH(S) + OH(S) <=> H2O(S) + O(S)", [3.70000E+21, 0, 48200])
# Reaction 15
surface_reaction( "CO + PT(S) => CO(S)", [1.61800E+20, 0.5, 0], order = "PT(S):2")
# Reaction 16
surface_reaction( "CO(S) => CO + PT(S)", [1.00000E+13, 0, 125500])
# Reaction 17
surface_reaction( "CO2(S) => CO2 + PT(S)", [1.00000E+13, 0, 20500])
# Reaction 18
surface_reaction( "CO(S) + O(S) => CO2(S) + PT(S)", [3.70000E+21, 0, 105000])
# Reaction 19
surface_reaction( "CH4 + 2 PT(S) => CH3(S) + H(S)", [4.63340E+20, 0.5, 0],
order = "PT(S):2.3")
# Reaction 20
surface_reaction( "CH3(S) + PT(S) => CH2(S)s + H(S)", [3.70000E+21, 0, 20000])
# Reaction 21
surface_reaction( "CH2(S)s + PT(S) => CH(S) + H(S)", [3.70000E+21, 0, 20000])
# Reaction 22
surface_reaction( "CH(S) + PT(S) => C(S) + H(S)", [3.70000E+21, 0, 20000])
# Reaction 23
surface_reaction( "C(S) + O(S) => CO(S) + PT(S)", [3.70000E+21, 0, 62800])
# Reaction 24
surface_reaction( "CO(S) + PT(S) => C(S) + O(S)", [1.00000E+18, 0, 184000])

287
data/inputs/silane.cti Normal file
View file

@ -0,0 +1,287 @@
#
# Generated from file silane.inp
# by ck2cti on Mon Aug 25 09:52:58 2003
#
units(length = "cm", time = "s", quantity = "mol", act_energy = "cal/mol")
ideal_gas(name = "silane",
elements = " Si H He ",
species = """ H2 H HE SIH4 SI SIH SIH2 SIH3 H3SISIH SI2H6
H2SISIH2 SI3H8 SI2 SI3 """,
reactions = "all",
initial_state = state(temperature = 300.0,
pressure = OneAtm) )
#-------------------------------------------------------------------------------
# Species data
#-------------------------------------------------------------------------------
species(name = "H2",
atoms = " H:2 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 2.344331120E+00, 7.980520750E-03,
-1.947815100E-05, 2.015720940E-08, -7.376117610E-12,
-9.179351730E+02, 6.830102380E-01] ),
NASA( [ 1000.00, 3500.00], [ 3.337279200E+00, -4.940247310E-05,
4.994567780E-07, -1.795663940E-10, 2.002553760E-14,
-9.501589220E+02, -3.205023310E+00] )
),
note = "TPIS78"
)
species(name = "H",
atoms = " H:1 ",
thermo = (
NASA( [ 200.00, 1000.00], [ 2.500000000E+00, 7.053328190E-13,
-1.995919640E-15, 2.300816320E-18, -9.277323320E-22,
2.547365990E+04, -4.466828530E-01] ),
NASA( [ 1000.00, 3500.00], [ 2.500000010E+00, -2.308429730E-11,
1.615619480E-14, -4.735152350E-18, 4.981973570E-22,
2.547365990E+04, -4.466829140E-01] )
),
note = "L 7/88"
)
species(name = "HE",
atoms = " He:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 2.500000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
-7.453750000E+02, 9.153488000E-01] ),
NASA( [ 1000.00, 5000.00], [ 2.500000000E+00, 0.000000000E+00,
0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
-7.453750000E+02, 9.153489000E-01] )
),
note = "120186"
)
species(name = "SIH4",
atoms = " Si:1 H:4 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 1.451640400E+00, 1.398736300E-02,
-4.234563900E-06, -2.360614200E-09, 1.371208900E-12,
3.113410500E+03, 1.232185500E+01] ),
NASA( [ 1000.00, 2000.00], [ 7.935938000E-01, 1.767189900E-02,
-1.139800900E-05, 3.599260400E-09, -4.524157100E-13,
3.198212700E+03, 1.524225700E+01] )
),
note = "90784"
)
species(name = "SI",
atoms = " Si:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 3.179353700E+00, -2.764699200E-03,
4.478403800E-06, -3.283317700E-09, 9.121363100E-13,
5.333903200E+04, 2.727320400E+00] ),
NASA( [ 1000.00, 5000.00], [ 2.650601400E+00, -3.576385200E-04,
2.959229300E-07, -7.280482900E-11, 5.796332900E-15,
5.343705400E+04, 5.220405700E+00] )
),
note = "J 3/67"
)
species(name = "SIH",
atoms = " Si:1 H:1 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 3.836010000E+00, -2.702657000E-03,
6.849070000E-06, -5.424184000E-09, 1.472131000E-12,
4.507593000E+04, 9.350778000E-01] ),
NASA( [ 1000.00, 2000.00], [ 3.110430000E+00, 1.094946000E-03,
2.898629000E-08, -2.745104000E-10, 7.051799000E-14,
4.516898000E+04, 4.193487000E+00] )
),
note = "121986"
)
species(name = "SIH2",
atoms = " Si:1 H:2 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 3.475092000E+00, 2.139338000E-03,
7.672306000E-07, 5.217668000E-10, -9.898824000E-13,
3.147397000E+04, 4.436585000E+00] ),
NASA( [ 1000.00, 3000.00], [ 4.142390000E+00, 2.150191000E-03,
-2.190730000E-07, -2.073725000E-10, 4.741018000E-14,
3.110484000E+04, 2.930745000E-01] )
),
note = "42489"
)
species(name = "SIH3",
atoms = " Si:1 H:3 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 2.946733000E+00, 6.466764000E-03,
5.991653000E-07, -2.218413000E-09, 3.052670000E-13,
2.270173000E+04, 7.347948000E+00] ),
NASA( [ 1000.00, 3000.00], [ 5.015906000E+00, 3.732750000E-03,
-3.609053000E-07, -3.729193000E-10, 8.468490000E-14,
2.190233000E+04, -4.291368000E+00] )
),
note = "42489"
)
species(name = "H3SISIH",
atoms = " H:4 Si:2 ",
thermo = (
NASA( [ 300.00, 1500.00], [ 3.698707000E+00, 1.870180000E-02,
-1.430704000E-05, 6.005836000E-09, -1.116293000E-12,
3.590825000E+04, 8.825191000E+00] ),
NASA( [ 1500.00, 4000.00], [ 1.127202000E+01, 2.538145000E-03,
-2.998472000E-07, -9.465367000E-11, 1.855053000E-14,
3.297169000E+04, -3.264598000E+01] )
),
note = "111191"
)
species(name = "SI2H6",
atoms = " Si:2 H:6 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 6.734798300E-01, 4.093153100E-02,
-4.484125500E-05, 2.995223200E-08, -8.901085400E-12,
7.932787500E+03, 1.862740300E+01] ),
NASA( [ 1000.00, 2000.00], [ 3.407493600E+00, 2.720647900E-02,
-1.771320400E-05, 5.639117700E-09, -7.137868200E-13,
7.532184200E+03, 6.132175400E+00] )
),
note = "90784"
)
species(name = "H2SISIH2",
atoms = " Si:2 H:4 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 5.133186000E+00, 1.252855000E-02,
-4.620421000E-07, -6.606075000E-09, 2.864345000E-12,
2.956915000E+04, 7.605133000E-01] ),
NASA( [ 1000.00, 3000.00], [ 8.986817000E+00, 5.405047000E-03,
-5.214022000E-07, -5.313742000E-10, 1.188727000E-13,
2.832748000E+04, -2.004478000E+01] )
),
note = "42489"
)
species(name = "SI3H8",
atoms = " Si:3 H:8 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 7.719684600E-01, 6.344274000E-02,
-7.672610900E-05, 5.454371500E-08, -1.661172900E-11,
1.207126300E+04, 2.153250700E+01] ),
NASA( [ 1000.00, 2000.00], [ 6.093334100E+00, 3.658011200E-02,
-2.389236100E-05, 7.627193200E-09, -9.676938400E-13,
1.129720500E+04, -2.747565400E+00] )
),
note = "90784"
)
species(name = "SI2",
atoms = " Si:2 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 2.967197600E+00, 6.311955800E-03,
-1.097079000E-05, 8.927868000E-09, -2.787368900E-12,
6.987073800E+04, 9.278950300E+00] ),
NASA( [ 1000.00, 2000.00], [ 4.144677900E+00, 6.523467700E-04,
-5.010852000E-07, 1.806284300E-10, -2.516111100E-14,
6.969470700E+04, 3.862736600E+00] )
),
note = "90784"
)
species(name = "SI3",
atoms = " Si:3 ",
thermo = (
NASA( [ 300.00, 1000.00], [ 4.597912900E+00, 1.071527400E-02,
-1.610042200E-05, 1.096920700E-08, -2.783287500E-12,
7.476632400E+04, 3.442167100E+00] ),
NASA( [ 1000.00, 5000.00], [ 7.421336000E+00, -1.170994800E-04,
8.982077500E-08, 7.193596400E-12, -2.567083700E-15,
7.414669900E+04, -1.036527400E+01] )
),
note = "J 3/67"
)
#-------------------------------------------------------------------------------
# Reaction data
#-------------------------------------------------------------------------------
# Reaction 1
# Roth
reaction( "SIH4 + H <=> SIH3 + H2", [7.80000E+14, 0, 2260])
# Reaction 2
# 94TAK/MOM tst calc
three_body_reaction( "SIH4 + M <=> SIH3 + H + M", [3.91000E+15, 0, 89356])
# Reaction 3
# assume same as SIH4
reaction( "SIH3 + H <=> SIH2 + H2", [7.80000E+14, 0, 2260])
# Reaction 4
# 90MAR/RAF
three_body_reaction( "SI + SI + M <=> SI2 + M", [2.47000E+16, 0, 1178])
# Reaction 5
# R8
reaction( "SIH4 + SIH2 <=> H3SISIH + H2", [1.30000E+13, 0, 0])
# Reaction 6
# R11
reaction( "SIH + H2 <=> SIH2 + H", [4.80000E+14, 0, 23.64])
# Reaction 7
# R12
reaction( "SIH + SIH4 <=> H3SISIH + H", [1.60000E+14, 0, 0])
# Reaction 8
# R13
reaction( "SI + H2 <=> SIH + H", [1.50000E+15, 0, 31.8])
# Reaction 9
# R1
falloff_reaction( "SIH4 (+ M) <=> SIH2 + H2 (+ M)",
kf = [3.11900E+09, 1.669, 54710],
kf0 = [5.21400E+29, -3.545, 57550],
falloff = Troe(A = -0.4984, T3 = 888.3, T1 = 209.4, T2 = 2760),
efficiencies = " SI2H6:4 SIH4:4 ")
# Reaction 10
# HF(SiH2)=64.3, anh_inc.16b, beta(Ar,300) = 0.25 fit from 300 to 1200K
# A6
falloff_reaction( "H3SISIH (+ M) <=> H2SISIH2 (+ M)",
kf = [2.54000E+13, -0.2239, 5381],
kf0 = [1.09900E+33, -5.765, 9152],
falloff = Troe(A = -0.4202, T3 = 214.5, T1 = 103, T2 = 136.3),
efficiencies = " SI2H6:4 SIH4:4 ")
# Reaction 11
# RRKM fits 3/18/93 by MEC
falloff_reaction( "SI3H8 (+ M) <=> SIH4 + H3SISIH (+ M)",
kf = [3.73000E+12, 0.992, 50850],
kf0 = [4.36000E+76, -17.26, 59303],
falloff = Troe(A = 0.4157, T3 = 365.3, T1 = 3102, T2 = 9.724),
efficiencies = " SI2H6:4 SIH4:4 ")
# Reaction 12
falloff_reaction( "SI3H8 (+ M) <=> SIH2 + SI2H6 (+ M)",
kf = [6.97000E+12, 0.9691, 52677],
kf0 = [1.73000E+69, -15.07, 60491],
falloff = Troe(A = -3.47e-05, T3 = 442, T1 = 2412, T2 = 128.3),
efficiencies = " SI2H6:4 SIH4:4 ")
# Reaction 13
falloff_reaction( "SI2H6 (+ M) <=> H2 + H3SISIH (+ M)",
kf = [9.08600E+09, 1.834, 54197],
kf0 = [1.94500E+44, -7.772, 59023],
falloff = Troe(A = -0.1224, T3 = 793.3, T1 = 2400, T2 = 11.39),
efficiencies = " SI2H6:4 SIH4:4 ")
# Reaction 14
# A3
falloff_reaction( "SI2H6 (+ M) <=> SIH4 + SIH2 (+ M)",
kf = [1.81000E+10, 1.747, 50203],
kf0 = [5.09000E+53, -10.37, 56034],
falloff = Troe(A = 4.375e-05, T3 = 438.5, T1 = 2726, T2 = 438.2),
efficiencies = " SI2H6:4 SIH4:4 ")

View file

@ -1,501 +0,0 @@
<ctml>
<validate reactions="yes" species="yes"/>
<!-- phase silane -->
<phase dim="3" id="silane">
<validation>
<duplicateReactions>halt</duplicateReactions>
<thermo>warn</thermo>
</validation>
<elementArray datasrc="elements.xml"> Si H He </elementArray>
<speciesArray datasrc="#species_data">
H2 H HE SIH4 SI SIH SIH2 SIH3 H3SISIH SI2H6
H2SISIH2 SI3H8 SI2 SI3 </speciesArray>
<reactionArray datasrc="#reaction_data"/>
<thermo model="IdealGas"/>
<kinetics model="GasKinetics"/>
<transport model="None"/>
</phase>
<!-- species definitions -->
<speciesData id="species_data">
<!-- species H2 -->
<species name="H2">
<atomArray>H:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
2.344331120E+00, 7.980520750E-03, -1.947815100E-05, 2.015720940E-08,
-7.376117610E-12, -9.179351730E+02, 6.830102380E-01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
3.337279200E+00, -4.940247310E-05, 4.994567780E-07, -1.795663940E-10,
2.002553760E-14, -9.501589220E+02, -3.205023310E+00,</floatArray>
</NASA>
</thermo>
</species>
<!-- species H -->
<species name="H">
<atomArray>H:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="200.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 7.053328190E-13, -1.995919640E-15, 2.300816320E-18,
-9.277323320E-22, 2.547365990E+04, -4.466828530E-01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3500.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.500000010E+00, -2.308429730E-11, 1.615619480E-14, -4.735152350E-18,
4.981973570E-22, 2.547365990E+04, -4.466829140E-01,</floatArray>
</NASA>
</thermo>
</species>
<!-- species HE -->
<species name="HE">
<atomArray>He:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 9.153488000E-01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="5000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.500000000E+00, 0.000000000E+00, 0.000000000E+00, 0.000000000E+00,
0.000000000E+00, -7.453750000E+02, 9.153489000E-01,</floatArray>
</NASA>
</thermo>
</species>
<!-- species SIH4 -->
<species name="SIH4">
<atomArray>H:4 Si:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
1.451640400E+00, 1.398736300E-02, -4.234563900E-06, -2.360614200E-09,
1.371208900E-12, 3.113410500E+03, 1.232185500E+01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="2000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
7.935938000E-01, 1.767189900E-02, -1.139800900E-05, 3.599260400E-09,
-4.524157100E-13, 3.198212700E+03, 1.524225700E+01,</floatArray>
</NASA>
</thermo>
</species>
<!-- species SI -->
<species name="SI">
<atomArray>Si:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
3.179353700E+00, -2.764699200E-03, 4.478403800E-06, -3.283317700E-09,
9.121363100E-13, 5.333903200E+04, 2.727320400E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="5000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
2.650601400E+00, -3.576385200E-04, 2.959229300E-07, -7.280482900E-11,
5.796332900E-15, 5.343705400E+04, 5.220405700E+00,</floatArray>
</NASA>
</thermo>
</species>
<!-- species SIH -->
<species name="SIH">
<atomArray>H:1 Si:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
3.836010000E+00, -2.702657000E-03, 6.849070000E-06, -5.424184000E-09,
1.472131000E-12, 4.507593000E+04, 9.350778000E-01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="2000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
3.110430000E+00, 1.094946000E-03, 2.898629000E-08, -2.745104000E-10,
7.051799000E-14, 4.516898000E+04, 4.193487000E+00,</floatArray>
</NASA>
</thermo>
</species>
<!-- species SIH2 -->
<species name="SIH2">
<atomArray>H:2 Si:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
3.475092000E+00, 2.139338000E-03, 7.672306000E-07, 5.217668000E-10,
-9.898824000E-13, 3.147397000E+04, 4.436585000E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
4.142390000E+00, 2.150191000E-03, -2.190730000E-07, -2.073725000E-10,
4.741018000E-14, 3.110484000E+04, 2.930745000E-01,</floatArray>
</NASA>
</thermo>
</species>
<!-- species SIH3 -->
<species name="SIH3">
<atomArray>H:3 Si:1 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
2.946733000E+00, 6.466764000E-03, 5.991653000E-07, -2.218413000E-09,
3.052670000E-13, 2.270173000E+04, 7.347948000E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
5.015906000E+00, 3.732750000E-03, -3.609053000E-07, -3.729193000E-10,
8.468490000E-14, 2.190233000E+04, -4.291368000E+00,</floatArray>
</NASA>
</thermo>
</species>
<!-- species H3SISIH -->
<species name="H3SISIH">
<atomArray>H:4 Si:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1500.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
3.698707000E+00, 1.870180000E-02, -1.430704000E-05, 6.005836000E-09,
-1.116293000E-12, 3.590825000E+04, 8.825191000E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="4000.0" Tmin="1500.0">
<floatArray name="coeffs" size="7">
1.127202000E+01, 2.538145000E-03, -2.998472000E-07, -9.465367000E-11,
1.855053000E-14, 3.297169000E+04, -3.264598000E+01,</floatArray>
</NASA>
</thermo>
</species>
<!-- species SI2H6 -->
<species name="SI2H6">
<atomArray>H:6 Si:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
6.734798300E-01, 4.093153100E-02, -4.484125500E-05, 2.995223200E-08,
-8.901085400E-12, 7.932787500E+03, 1.862740300E+01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="2000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
3.407493600E+00, 2.720647900E-02, -1.771320400E-05, 5.639117700E-09,
-7.137868200E-13, 7.532184200E+03, 6.132175400E+00,</floatArray>
</NASA>
</thermo>
</species>
<!-- species H2SISIH2 -->
<species name="H2SISIH2">
<atomArray>H:4 Si:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
5.133186000E+00, 1.252855000E-02, -4.620421000E-07, -6.606075000E-09,
2.864345000E-12, 2.956915000E+04, 7.605133000E-01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="3000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
8.986817000E+00, 5.405047000E-03, -5.214022000E-07, -5.313742000E-10,
1.188727000E-13, 2.832748000E+04, -2.004478000E+01,</floatArray>
</NASA>
</thermo>
</species>
<!-- species SI3H8 -->
<species name="SI3H8">
<atomArray>H:8 Si:3 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
7.719684600E-01, 6.344274000E-02, -7.672610900E-05, 5.454371500E-08,
-1.661172900E-11, 1.207126300E+04, 2.153250700E+01,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="2000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
6.093334100E+00, 3.658011200E-02, -2.389236100E-05, 7.627193200E-09,
-9.676938400E-13, 1.129720500E+04, -2.747565400E+00,</floatArray>
</NASA>
</thermo>
</species>
<!-- species SI2 -->
<species name="SI2">
<atomArray>Si:2 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
2.967197600E+00, 6.311955800E-03, -1.097079000E-05, 8.927868000E-09,
-2.787368900E-12, 6.987073800E+04, 9.278950300E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="2000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
4.144677900E+00, 6.523467700E-04, -5.010852000E-07, 1.806284300E-10,
-2.516111100E-14, 6.969470700E+04, 3.862736600E+00,</floatArray>
</NASA>
</thermo>
</species>
<!-- species SI3 -->
<species name="SI3">
<atomArray>Si:3 </atomArray>
<thermo>
<NASA P0="100000.0" Tmax="1000.0" Tmin="300.0">
<floatArray name="coeffs" size="7">
4.597912900E+00, 1.071527400E-02, -1.610042200E-05, 1.096920700E-08,
-2.783287500E-12, 7.476632400E+04, 3.442167100E+00,</floatArray>
</NASA>
<NASA P0="100000.0" Tmax="5000.0" Tmin="1000.0">
<floatArray name="coeffs" size="7">
7.421336000E+00, -1.170994800E-04, 8.982077500E-08, 7.193596400E-12,
-2.567083700E-15, 7.414669900E+04, -1.036527400E+01,</floatArray>
</NASA>
</thermo>
</species>
</speciesData>
<reactionData id="reaction_data">
<!-- reaction 0001 -->
<reaction id="0001" reversible="yes">
<equation>SIH4 + H [=] SIH3 + H2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 7.800000E+14</A>
<b>0</b>
<E units="cal/mol">2260.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>SIH4:1 H:1</reactants>
<products>H2:1 SIH3:1</products>
</reaction>
<!-- reaction 0002 -->
<reaction id="0002" reversible="yes" type="threeBody">
<equation>SIH4 + M [=] SIH3 + H + M</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 3.910000E+15</A>
<b>0</b>
<E units="cal/mol">89356.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>SIH4:1</reactants>
<products>H:1 SIH3:1</products>
</reaction>
<!-- reaction 0003 -->
<reaction id="0003" reversible="yes">
<equation>SIH3 + H [=] SIH2 + H2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 7.800000E+14</A>
<b>0</b>
<E units="cal/mol">2260.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>H:1 SIH3:1</reactants>
<products>H2:1 SIH2:1</products>
</reaction>
<!-- reaction 0004 -->
<reaction id="0004" reversible="yes" type="threeBody">
<equation>SI + SI + M [=] SI2 + M</equation>
<rateCoeff>
<Arrhenius>
<A units="cm6/mol2/s"> 2.470000E+16</A>
<b>0</b>
<E units="cal/mol">1178.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>SI:2</reactants>
<products>SI2:1</products>
</reaction>
<!-- reaction 0005 -->
<reaction id="0005" reversible="yes">
<equation>SIH4 + SIH2 [=] H3SISIH + H2</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 1.300000E+13</A>
<b>0</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>SIH4:1 SIH2:1</reactants>
<products>H2:1 H3SISIH:1</products>
</reaction>
<!-- reaction 0006 -->
<reaction id="0006" reversible="yes">
<equation>SIH + H2 [=] SIH2 + H</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 4.800000E+14</A>
<b>0</b>
<E units="cal/mol">23.640000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2:1 SIH:1</reactants>
<products>H:1 SIH2:1</products>
</reaction>
<!-- reaction 0007 -->
<reaction id="0007" reversible="yes">
<equation>SIH + SIH4 [=] H3SISIH + H</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 1.600000E+14</A>
<b>0</b>
<E units="cal/mol">0.000000</E>
</Arrhenius>
</rateCoeff>
<reactants>SIH4:1 SIH:1</reactants>
<products>H:1 H3SISIH:1</products>
</reaction>
<!-- reaction 0008 -->
<reaction id="0008" reversible="yes">
<equation>SI + H2 [=] SIH + H</equation>
<rateCoeff>
<Arrhenius>
<A units="cm3/mol/s"> 1.500000E+15</A>
<b>0</b>
<E units="cal/mol">31.800000</E>
</Arrhenius>
</rateCoeff>
<reactants>H2:1 SI:1</reactants>
<products>H:1 SIH:1</products>
</reaction>
<!-- reaction 0009 -->
<reaction id="0009" reversible="yes" type="falloff">
<equation>SIH4 (+ M) [=] SIH2 + H2 (+ M)</equation>
<rateCoeff>
<Arrhenius>
<A units="/s"> 3.119000E+09</A>
<b>1.669</b>
<E units="cal/mol">54710.000000</E>
</Arrhenius>
<Arrhenius name="k0">
<A units="cm3/mol/s"> 5.214000E+29</A>
<b>-3.5449999999999999</b>
<E units="cal/mol">57550.000000</E>
</Arrhenius>
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
<falloff type="Troe">-0.4984 888.3 209.4 2760 </falloff>
</rateCoeff>
<reactants>SIH4:1</reactants>
<products>H2:1 SIH2:1</products>
</reaction>
<!-- reaction 0010 -->
<reaction id="0010" reversible="yes" type="falloff">
<equation>H3SISIH (+ M) [=] H2SISIH2 (+ M)</equation>
<rateCoeff>
<Arrhenius>
<A units="/s"> 2.540000E+13</A>
<b>-0.22389999999999999</b>
<E units="cal/mol">5381.000000</E>
</Arrhenius>
<Arrhenius name="k0">
<A units="cm3/mol/s"> 1.099000E+33</A>
<b>-5.7649999999999997</b>
<E units="cal/mol">9152.000000</E>
</Arrhenius>
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
<falloff type="Troe">-0.4202 214.5 103 136.3 </falloff>
</rateCoeff>
<reactants>H3SISIH:1</reactants>
<products>H2SISIH2:1</products>
</reaction>
<!-- reaction 0011 -->
<reaction id="0011" reversible="yes" type="falloff">
<equation>SI3H8 (+ M) [=] SIH4 + H3SISIH (+ M)</equation>
<rateCoeff>
<Arrhenius>
<A units="/s"> 3.730000E+12</A>
<b>0.99199999999999999</b>
<E units="cal/mol">50850.000000</E>
</Arrhenius>
<Arrhenius name="k0">
<A units="cm3/mol/s"> 4.360000E+76</A>
<b>-17.260000000000002</b>
<E units="cal/mol">59303.000000</E>
</Arrhenius>
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
<falloff type="Troe">0.4157 365.3 3102 9.724 </falloff>
</rateCoeff>
<reactants>SI3H8:1</reactants>
<products>SIH4:1 H3SISIH:1</products>
</reaction>
<!-- reaction 0012 -->
<reaction id="0012" reversible="yes" type="falloff">
<equation>SI3H8 (+ M) [=] SIH2 + SI2H6 (+ M)</equation>
<rateCoeff>
<Arrhenius>
<A units="/s"> 6.970000E+12</A>
<b>0.96909999999999996</b>
<E units="cal/mol">52677.000000</E>
</Arrhenius>
<Arrhenius name="k0">
<A units="cm3/mol/s"> 1.730000E+69</A>
<b>-15.07</b>
<E units="cal/mol">60491.000000</E>
</Arrhenius>
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
<falloff type="Troe">-3.47e-05 442 2412 128.3 </falloff>
</rateCoeff>
<reactants>SI3H8:1</reactants>
<products>SI2H6:1 SIH2:1</products>
</reaction>
<!-- reaction 0013 -->
<reaction id="0013" reversible="yes" type="falloff">
<equation>SI2H6 (+ M) [=] H2 + H3SISIH (+ M)</equation>
<rateCoeff>
<Arrhenius>
<A units="/s"> 9.086000E+09</A>
<b>1.8340000000000001</b>
<E units="cal/mol">54197.000000</E>
</Arrhenius>
<Arrhenius name="k0">
<A units="cm3/mol/s"> 1.945000E+44</A>
<b>-7.7720000000000002</b>
<E units="cal/mol">59023.000000</E>
</Arrhenius>
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
<falloff type="Troe">-0.1224 793.3 2400 11.39 </falloff>
</rateCoeff>
<reactants>SI2H6:1</reactants>
<products>H2:1 H3SISIH:1</products>
</reaction>
<!-- reaction 0014 -->
<reaction id="0014" reversible="yes" type="falloff">
<equation>SI2H6 (+ M) [=] SIH4 + SIH2 (+ M)</equation>
<rateCoeff>
<Arrhenius>
<A units="/s"> 1.810000E+10</A>
<b>1.7470000000000001</b>
<E units="cal/mol">50203.000000</E>
</Arrhenius>
<Arrhenius name="k0">
<A units="cm3/mol/s"> 5.090000E+53</A>
<b>-10.369999999999999</b>
<E units="cal/mol">56034.000000</E>
</Arrhenius>
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
<falloff type="Troe">4.375e-05 438.5 2726 438.2 </falloff>
</rateCoeff>
<reactants>SI2H6:1</reactants>
<products>SIH4:1 SIH2:1</products>
</reaction>
</reactionData>
</ctml>

View file

@ -5,7 +5,7 @@
#
all: kernel
install: templates-install
install: templates-install apps-install
kernel:
cd src; @MAKE@
@ -13,7 +13,7 @@ kernel:
apps-install:
@INSTALL@ -d @prefix@/bin
@INSTALL@ ../bin/ck2ctml @prefix@/bin
@INSTALL@ ../bin/ck2cti @prefix@/bin
clean:
$(RM) *.*~

View file

@ -20,11 +20,7 @@ CANTERALIB_DEP = @buildlib@/libcantera.a \
.cpp.o:
@CXX@ -c $< @DEFS@ $(INCDIR) @CXXFLAGS@ $(CXX_FLAGS)
all: $(BINDIR)/ck2ctml $(BINDIR)/cti2ctml $(BINDIR)/ck2cti
$(BINDIR)/ck2ctml: ck2ctml.o $(CONVLIB_DEP) $(CANTERALIB_DEP)
@CXX@ -o $(BINDIR)/ck2ctml ck2ctml.o $(LCXX_FLAGS) -lconverters $(LOCAL_LIBS) \
$(LCXX_END_LIBS)
all: $(BINDIR)/cti2ctml $(BINDIR)/ck2cti
$(BINDIR)/ck2cti: ck2cti.o $(CONVLIB_DEP) $(CANTERALIB_DEP)
@CXX@ -o $(BINDIR)/ck2cti ck2cti.o $(LCXX_FLAGS) -lconverters $(LOCAL_LIBS) \