*** empty log message ***
This commit is contained in:
parent
5d1b37c7aa
commit
5afa4f7102
75 changed files with 2119 additions and 7956 deletions
|
|
@ -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; }
|
||||
}
|
||||
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
}
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
20
Cantera/matlab/cantera/1D/@Domain1D/setCoverageEqs.m
Normal file
20
Cantera/matlab/cantera/1D/@Domain1D/setCoverageEqs.m
Normal 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);
|
||||
|
|
@ -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 = '-';
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
||||
8
Cantera/matlab/cantera/1D/@Stack/setMaxJacAge.m
Normal file
8
Cantera/matlab/cantera/1D/@Stack/setMaxJacAge.m
Normal 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);
|
||||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
12
Cantera/matlab/cantera/1D/@Stack/setTimeStep.m
Normal file
12
Cantera/matlab/cantera/1D/@Stack/setTimeStep.m
Normal 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)
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
2
Cantera/matlab/cantera/1D/nComponents.m
Normal file
2
Cantera/matlab/cantera/1D/nComponents.m
Normal file
|
|
@ -0,0 +1,2 @@
|
|||
function n = nComponents(d)
|
||||
n = domain_methods(d.dom_id, 11)
|
||||
117
Cantera/matlab/cantera/1D/npflame_init.m
Normal file
117
Cantera/matlab/cantera/1D/npflame_init.m
Normal 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);
|
||||
27
Cantera/matlab/cantera/@Interface/Interface.m
Normal file
27
Cantera/matlab/cantera/@Interface/Interface.m
Normal 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);
|
||||
|
||||
|
||||
17
Cantera/matlab/cantera/@Interface/concentrations.m
Normal file
17
Cantera/matlab/cantera/@Interface/concentrations.m
Normal 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
|
||||
|
||||
|
||||
17
Cantera/matlab/cantera/@Interface/coverages.m
Normal file
17
Cantera/matlab/cantera/@Interface/coverages.m
Normal 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
|
||||
|
||||
|
||||
25
Cantera/matlab/cantera/@Interface/private/surfmethods.m
Normal file
25
Cantera/matlab/cantera/@Interface/private/surfmethods.m
Normal 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
|
||||
|
||||
17
Cantera/matlab/cantera/@Interface/setCoverages.m
Normal file
17
Cantera/matlab/cantera/@Interface/setCoverages.m
Normal 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
|
||||
|
||||
|
||||
|
||||
|
||||
|
|
@ -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
|
||||
|
|
|
|||
5
Cantera/matlab/cantera/@Kinetics/advanceCoverages.m
Normal file
5
Cantera/matlab/cantera/@Kinetics/advanceCoverages.m
Normal 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);
|
||||
|
||||
|
|
@ -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
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
|
|
|||
19
Cantera/matlab/cantera/@ThermoPhase/moleFraction.m
Normal file
19
Cantera/matlab/cantera/@ThermoPhase/moleFraction.m
Normal 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
|
||||
|
|
@ -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
|
||||
|
||||
|
|
|
|||
14
Cantera/matlab/cantera/@Wall/setKinetics.m
Normal file
14
Cantera/matlab/cantera/@Wall/setKinetics.m
Normal 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);
|
||||
|
||||
|
|
@ -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
|
||||
|
|
|
|||
3
Cantera/matlab/cantera/@XML_Node/addChild.m
Normal file
3
Cantera/matlab/cantera/@XML_Node/addChild.m
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
function n = addChild(root, id)
|
||||
%
|
||||
n = ctmethods(10, 10, root.id, id);
|
||||
|
|
@ -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);
|
||||
|
||||
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
||||
|
||||
|
|
|
|||
6
Cantera/matlab/cantera/@XML_Node/findByID.m
Normal file
6
Cantera/matlab/cantera/@XML_Node/findByID.m
Normal 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);
|
||||
|
||||
6
Cantera/matlab/cantera/@XML_Node/findByName.m
Normal file
6
Cantera/matlab/cantera/@XML_Node/findByName.m
Normal 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);
|
||||
|
||||
3
Cantera/matlab/cantera/@XML_Node/nChildren.m
Normal file
3
Cantera/matlab/cantera/@XML_Node/nChildren.m
Normal file
|
|
@ -0,0 +1,3 @@
|
|||
function n = nChildren(root, id)
|
||||
%
|
||||
n = ctmethods(10, 10, root.id, id);
|
||||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
43
Cantera/matlab/cantera/ck2cti.m
Normal file
43
Cantera/matlab/cantera/ck2cti.m
Normal 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;
|
||||
4
Cantera/matlab/cantera/cleanup.m
Normal file
4
Cantera/matlab/cantera/cleanup.m
Normal file
|
|
@ -0,0 +1,4 @@
|
|||
function cleanup()
|
||||
% CLEANUP - Delete all stored Cantera objects and reclaim memory
|
||||
%
|
||||
ctmethods(0, 4);
|
||||
|
|
@ -209,7 +209,7 @@ disp(e);
|
|||
|
||||
%%%%%%%%%% make plots %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
|
||||
|
||||
figure(1);
|
||||
clf;
|
||||
subplot(3,3,1);
|
||||
plotSolution(sim1D, 'flow', 'T');
|
||||
title('Temperature [K]');
|
||||
|
|
|
|||
134
Cantera/matlab/cantera/examples/diffflame.m
Normal file
134
Cantera/matlab/cantera/examples/diffflame.m
Normal 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]');
|
||||
|
||||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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]');
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ a = a/amin;
|
|||
|
||||
% plot results
|
||||
|
||||
figure(1);
|
||||
clf;
|
||||
plot(mach,a);
|
||||
ylabel('Area Ratio');
|
||||
xlabel('Mach Number');
|
||||
|
|
|
|||
|
|
@ -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)');
|
||||
|
|
|
|||
|
|
@ -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)');
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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');
|
||||
|
|
|
|||
78
Cantera/matlab/cantera/examples/surfreactor.m
Normal file
78
Cantera/matlab/cantera/examples/surfreactor.m
Normal 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
|
||||
10
Cantera/matlab/cantera/importInterface.m
Normal file
10
Cantera/matlab/cantera/importInterface.m
Normal 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
|
||||
8
Cantera/matlab/cantera/importPhase.m
Normal file
8
Cantera/matlab/cantera/importPhase.m
Normal 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
|
||||
|
|
@ -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;
|
||||
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
102
Cantera/matlab/cantera/private/surfmethods.cpp
Normal file
102
Cantera/matlab/cantera/private/surfmethods.cpp
Normal 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");
|
||||
}
|
||||
}
|
||||
|
|
@ -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");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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");
|
||||
|
|
|
|||
|
|
@ -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()
|
||||
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
|
||||
|
|
|
|||
|
|
@ -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
45
data/inputs/argon.cti
Normal 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
|
||||
#-------------------------------------------------------------------------------
|
||||
|
|
@ -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>
|
||||
|
|
@ -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
284
data/inputs/h2o2.cti
Normal 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')
|
||||
|
|
@ -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
280
data/inputs/ptcombust.cti
Normal 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
287
data/inputs/silane.cti
Normal 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 ")
|
||||
|
|
@ -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>
|
||||
|
|
@ -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) *.*~
|
||||
|
|
|
|||
|
|
@ -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) \
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue