added comments
This commit is contained in:
parent
e26bf5f6c2
commit
cb97e7387a
17 changed files with 6978 additions and 4413 deletions
|
|
@ -2,26 +2,36 @@
|
|||
import sys
|
||||
|
||||
bindir = '/usr/local/bin'
|
||||
libdir = '/Users/dgg/dv/sf/cantera/build/lib/powerpc-apple-darwin7.3.0'
|
||||
libdir = '/Users/dgg/dv/sf/cantera/build/lib/powerpc-apple-darwin7.4.0'
|
||||
incdir = '/Users/dgg/dv/sf/cantera/build/include'
|
||||
libs = '-lclib -luser -loneD -lzeroD -ltransport -lcantera -lrecipes -lcvode -lctlapack -lctmath -lctblas -ltpx -lg2c -lgcc'
|
||||
dflibdir = ''
|
||||
|
||||
libs = ['clib', 'oneD', 'zeroD', 'transport', 'cantera', 'recipes',
|
||||
'cvode', 'ctlapack', 'ctmath', 'ctblas', 'tpx']
|
||||
|
||||
f = open('setup.m','w')
|
||||
f.write('cd cantera\nbuildux\nexit\n')
|
||||
f.write('cd cantera\nbuild_cantera\nexit\n')
|
||||
f.close()
|
||||
|
||||
fb = open('cantera/buildux.m','w')
|
||||
fb = open('cantera/build_cantera.m','w')
|
||||
fb.write("""
|
||||
disp('building Cantera..');
|
||||
mex private/ctmethods.cpp private/ctfunctions.cpp ...
|
||||
mex -I"""+incdir+""" private/ctmethods.cpp private/ctfunctions.cpp ...
|
||||
private/xmlmethods.cpp private/phasemethods.cpp ...
|
||||
private/thermomethods.cpp private/kineticsmethods.cpp ...
|
||||
private/transportmethods.cpp private/reactormethods.cpp ...
|
||||
private/reactornetmethods.cpp ...
|
||||
private/wallmethods.cpp private/flowdevicemethods.cpp ...
|
||||
private/funcmethods.cpp ...
|
||||
private/funcmethods.cpp ...
|
||||
private/onedimmethods.cpp private/surfmethods.cpp private/write.cpp ...
|
||||
"""+'-I'+incdir+' -L'+libdir+' '+libs+'\n'+"""disp('done.');
|
||||
""")
|
||||
s = ''
|
||||
for lib in libs:
|
||||
s += ' '+libdir+'/'+lib+'.lib ...\n'
|
||||
fb.write(s)
|
||||
fb.write(' "'+dflibdir+'/dformd.lib" ...\n')
|
||||
fb.write(' "'+dflibdir+'/dfconsol.lib" ...\n')
|
||||
fb.write(' "'+dflibdir+'/dfport.lib" \n')
|
||||
fb.close()
|
||||
|
||||
fp = open('cantera/ctbin.m','w')
|
||||
|
|
|
|||
|
|
@ -6,47 +6,60 @@ Dusty Gas model for transport in porous media.
|
|||
from Cantera.Transport import Transport
|
||||
|
||||
class DustyGasTransport(Transport):
|
||||
"""The Dusty Gas transport model. This class implements a
|
||||
transport manager for the Dusty Gas model for the effective
|
||||
transport properties of a gas in a stationary, solid, porous
|
||||
medium. The only properties computed are the multicomponent
|
||||
diffusion coefficients. The model does not compute viscosity or
|
||||
thermal conductivity.
|
||||
|
||||
This class is a Python shadow class for Cantera C++ class
|
||||
DustyGasTransport.
|
||||
"""
|
||||
|
||||
|
||||
def __init__(self, phase = None):
|
||||
"""
|
||||
phase - The object representing the gas phase within the
|
||||
pores.
|
||||
"""
|
||||
Transport.__init__(self, model = "DustyGas", phase = phase)
|
||||
|
||||
def setPorosity(self, porosity):
|
||||
"""Set the porosity."""
|
||||
"""Set the porosity. Internal. See: set"""
|
||||
self.setParameters(0, 0, [porosity, 0.0])
|
||||
|
||||
def setTortuosity(self, tortuosity):
|
||||
"""Set the tortuosity."""
|
||||
"""Set the tortuosity. Internal. See: set"""
|
||||
self.setParameters(1, 0, [tortuosity, 0.0])
|
||||
|
||||
def setMeanPoreRadius(self, pore_radius):
|
||||
"""Set the mean pore radius."""
|
||||
"""Set the mean pore radius [m]. Internal. See: set"""
|
||||
self.setParameters(2, 0, [pore_radius, 0.0])
|
||||
|
||||
def setMeanParticleDiameter(self, diameter):
|
||||
"""Set the mean particle diameter."""
|
||||
"""Set the mean particle diameter [m]. Internal. See: set"""
|
||||
self.setParameters(3, 0, [diameter, 0.0])
|
||||
|
||||
def setPermeability(self, permeability):
|
||||
"""Set the permeability. If not called, the value for close-packed
|
||||
spheres is used."""
|
||||
spheres is used. Internal."""
|
||||
self.setParameters(4, 0, [permeability, 0.0])
|
||||
|
||||
## def molarFluxes(self,
|
||||
## conc = None,
|
||||
## gradConc = None,
|
||||
## gradPressure = 0.0):
|
||||
## self.setConcentrations(concentrations)
|
||||
|
||||
def set(self, **p):
|
||||
"""Set model parameters. This is a convenience method that simply
|
||||
calls other methods depending on the keyword.
|
||||
|
||||
Keywords:
|
||||
porosity - Porosity. Volume fraction of pores.
|
||||
|
||||
tortuosity - Tortuosity. A measure of the extent to which the
|
||||
pores are straight cylinders (tortuosity = 1), or are more
|
||||
tortuous.
|
||||
|
||||
pore_radius - The pore radius [m].
|
||||
|
||||
- porosity
|
||||
- tortuosity
|
||||
- pore_radius
|
||||
- diameter
|
||||
- permeability
|
||||
All keywords are optional.
|
||||
"""
|
||||
for o in p.keys():
|
||||
if o == "porosity":
|
||||
|
|
|
|||
|
|
@ -13,19 +13,30 @@ import types
|
|||
|
||||
|
||||
class Func1:
|
||||
"""A class for functors of one variable.
|
||||
"""Functors of one variable.
|
||||
|
||||
A Functor is an object that behaves like a function. Class 'Func1'
|
||||
is the base class from which several functor classes derive. These
|
||||
classes are designed to be used with the Cantera kernel. """
|
||||
classes are designed to allow specifying functions of time from Python
|
||||
that can be used by the C++ kernel.
|
||||
|
||||
Functors can be added, multiplied, and divided to yield new functors.
|
||||
>>> f1 = Polynomial([1.0, 0.0, 3.0]) # 3*t*t + 1
|
||||
>>> f1(2.0)
|
||||
___13
|
||||
>>> f2 = Polynomial([-1.0, 2.0]) # 2*t - 1
|
||||
>>> f2(2.0)
|
||||
___5
|
||||
>>> f3 = f1/f2 # (3*t*t + 1)/(2*t - 1)
|
||||
>>> f3(2.0)
|
||||
___4.3333333
|
||||
"""
|
||||
|
||||
def __init__(self, typ, n, coeffs=[]):
|
||||
"""
|
||||
typ - functor type
|
||||
|
||||
n - order
|
||||
|
||||
coeffs - coefficient array
|
||||
The constructor is meant to be called from constructors of
|
||||
subclasses of Func1.
|
||||
See: Polynomial, Gaussian, Arrhenius, Fourier, Const, PeriodicFunction
|
||||
"""
|
||||
self.n = n
|
||||
self.coeffs = asarray(coeffs,'d')
|
||||
|
|
@ -80,7 +91,7 @@ class Func1:
|
|||
return RatioFunction(other, self)
|
||||
|
||||
def func_id(self):
|
||||
"""Return the integer index used internally to access the
|
||||
"""Internal. Return the integer index used internally to access the
|
||||
kernel-level object."""
|
||||
return self._func_id
|
||||
|
||||
|
|
@ -109,20 +120,22 @@ class Gaussian(Func1):
|
|||
\f]
|
||||
where
|
||||
\f[
|
||||
\tau = \frac{\mbox{FWHM}}{2.0\sqrt{\log(2.0)}}
|
||||
\tau = \frac{\mbox{FWHM}}{2.0\sqrt{\ln(2.0)}}
|
||||
\f]
|
||||
Here FWHM denotes the full width at half maximum.
|
||||
'FWHM' denotes the full width at half maximum.
|
||||
|
||||
As an example, here is how to create
|
||||
a Gaussian pulse with peak amplitude 10.0, centered at time 2.0,
|
||||
with full-width at half max = 0.2:
|
||||
>>> f = Gaussian(A = 10.0, t0 = 2.0, FWHM = 0.2)
|
||||
>>> f(2.0)
|
||||
___10
|
||||
>>> f(1.9)
|
||||
___5
|
||||
>>> f(2.1)
|
||||
___5
|
||||
"""
|
||||
def __init__(self, A = 0.0, t0 = 0.0, FWHM = 1.0):
|
||||
"""
|
||||
|
||||
A - Peak value.
|
||||
|
||||
t0 - time at which pulse is centered.
|
||||
|
||||
FWHM - full width at half-maximum.
|
||||
|
||||
"""
|
||||
def __init__(self, A, t0, FWHM):
|
||||
coeffs = array([A, t0, FWHM], 'd')
|
||||
Func1.__init__(self, 4, 0, coeffs)
|
||||
|
||||
|
|
@ -134,17 +147,22 @@ class Fourier(Func1):
|
|||
\f]
|
||||
where
|
||||
\f[
|
||||
a_n = \int_{-\pi/\omega}^{\pi/\omega} f(t) \cos(n \omega t) dt
|
||||
a_n = \frac{\omega}{\pi}
|
||||
\int_{-\pi/\omega}^{\pi/\omega} f(t) \cos(n \omega t) dt
|
||||
\f]
|
||||
and
|
||||
\f[
|
||||
b_n = \int_{-\pi/\omega}^{\pi/\omega} f(t) \sin(n \omega t) dt.
|
||||
b_n = \frac{\omega}{\pi}
|
||||
\int_{-\pi/\omega}^{\pi/\omega} f(t) \sin(n \omega t) dt.
|
||||
\f]
|
||||
The function \f$ f(t) \f$ must be periodic, with period \f$ T = 2\pi/\omega \f$.
|
||||
The function \f$ f(t) \f$ is periodic, with period \f$ T = 2\pi/\omega \f$.
|
||||
|
||||
As an example, a function with Fourier components up to the second harmonic
|
||||
is constructed as follows:
|
||||
>>> coeffs = [(a0, b0), (a1, b1), (a2, b2)]
|
||||
>>> f = Fourier(omega, coeffs)
|
||||
Note that b0 must be specified, but is not
|
||||
used. The value of b0 is arbitrary.
|
||||
Note that 'b0' must be specified, but is not
|
||||
used. The value of 'b0' is arbitrary.
|
||||
"""
|
||||
def __init__(self, omega, coefficients):
|
||||
"""
|
||||
|
|
@ -164,8 +182,9 @@ class Fourier(Func1):
|
|||
class Arrhenius(Func1):
|
||||
"""Sum of modified Arrhenius terms. Instances of class 'Arrhenius' evaluate
|
||||
\f[
|
||||
f(T) = \sum_{i=1}^n A_n T^{b_n}\exp(-E_n/T)
|
||||
f(T) = \sum_{n=1}^N A_n T^{b_n}\exp(-E_n/T)
|
||||
\f]
|
||||
|
||||
Example:
|
||||
|
||||
>>> f = Arrhenius([(a0, b0, e0), (a1, b1, e1)])
|
||||
|
|
@ -186,7 +205,16 @@ class Arrhenius(Func1):
|
|||
|
||||
def Const(value):
|
||||
"""Constant function.
|
||||
>>> f = Const(4.0) # evaluates f(t) = 4.0.
|
||||
Objects created by function Const
|
||||
act as functions that have a constant value.
|
||||
These are used internally whenever a statement like
|
||||
>>> f = Gausian(2.0, 1.0, 0.1) + 4.0
|
||||
is encountered. The addition operator of class Func1 is defined
|
||||
so that this is equivalent to
|
||||
>>> f = SumFunction(Gaussian(2.0, 1.0, 0.1), Const(4.0))
|
||||
|
||||
Function Const returns instances of class Polynomial that have
|
||||
degree zero, with the constant term set to the desired value.
|
||||
"""
|
||||
return Polynomial([value])
|
||||
|
||||
|
|
|
|||
|
|
@ -8,7 +8,6 @@ from Kinetics import Kinetics
|
|||
import XML
|
||||
|
||||
__revision__ = "$Id$"
|
||||
__log__ = "$Log: "
|
||||
|
||||
class Interface(SurfacePhase, Kinetics):
|
||||
"""
|
||||
|
|
@ -27,7 +26,7 @@ class Interface(SurfacePhase, Kinetics):
|
|||
def __init__(self, src="", root=None, phases=[]):
|
||||
"""
|
||||
src - CTML or CTI input file name. If more than one phase is
|
||||
defined in the file, src should be specified as '<filename>#<id>'
|
||||
defined in the file, src should be specified as 'filename\#id'
|
||||
If the file is not CTML, it will be run through the CTI -> CTML
|
||||
preprocessor first.
|
||||
|
||||
|
|
|
|||
|
|
@ -14,24 +14,25 @@ __revision__ = "$Id$"
|
|||
|
||||
class Phase:
|
||||
|
||||
"""Class Phase manages basic state and constituent property
|
||||
information for a homogeneous phase of matter. It does not contain
|
||||
information on the equation of state, homogeneous kinetics, or
|
||||
transport properties -- these attributes of the phase are the
|
||||
responsibility of other classes (see the ThermoPhase, Kinetics, and
|
||||
Transport classes).
|
||||
"""Phases of matter.
|
||||
|
||||
In the C++ kernel, class Phase is only a base class for
|
||||
ThermoPhase. This structure is maintained in the Python wrapper
|
||||
class. Class Phase implements methods of the C++ Phase class, but
|
||||
the instance is actually a 'ThermoPhase' object. Also, in C++
|
||||
class Phase is itself derived from more elementary classes (State
|
||||
and Constituents), but these are not exposed in Python.
|
||||
Class Phase manages basic state and constituent property
|
||||
information for a homogeneous phase of matter. It handles only
|
||||
those properties that do not require the equation of state, namely
|
||||
the temperature, density, chemical composition, and attributes of
|
||||
the elements and species.
|
||||
|
||||
It does not know about the pressure, or any other thermodynamic property
|
||||
requiring the equation of state -- class ThermoPhase derives from Phase
|
||||
and adds those properties.
|
||||
|
||||
Class Phase is not usually instantiated directly. It is used as a
|
||||
base class for class ThermoPhase.
|
||||
|
||||
"""
|
||||
|
||||
def __init__(self, index = -1):
|
||||
pass
|
||||
#def __init__(self, index = -1):
|
||||
# pass
|
||||
|
||||
def phase_id(self):
|
||||
"""The integer index used to access the kernel-level object.
|
||||
|
|
|
|||
|
|
@ -8,16 +8,27 @@ import types
|
|||
|
||||
|
||||
class ReactorBase:
|
||||
"""Base class for reactors."""
|
||||
"""Base class for reactors and reservoirs.
|
||||
|
||||
Classes Reactor and Reservoir derive from a common base class
|
||||
ReactorBase. They have the same set of methods, which are all
|
||||
inherited from ReactorBase.
|
||||
|
||||
(This is not quite true in the corresponding classes in the
|
||||
Cantera C++ kernel. There class Reactor defines some methods that
|
||||
class Reservoir doesn't. These are used internally by the
|
||||
ReactorNet instance that integrates the system of ODEs describing
|
||||
the network to evaluate the portion of the ODE system associated
|
||||
with that reactor.)
|
||||
"""
|
||||
|
||||
def __init__(self, name = '', contents = None,
|
||||
volume = 1.0, energy = 'on',
|
||||
type = -1, verbose = 0):
|
||||
"""
|
||||
Create a new ReactorBase instance. If 'contents' is specified,
|
||||
method 'insert' is invoked. The 'type' parameter determines
|
||||
the type of C++ Reactor object that is instantiated (1 = Reactor,
|
||||
2 = Reservoir).
|
||||
See class 'Reactor' for a description of the constructor parameters.
|
||||
The 'type' parameter specifies whether a Reactor (type = 1) or
|
||||
Reservoir (type = 2) will be created.
|
||||
"""
|
||||
self.__reactor_id = _cantera.reactor_new(type)
|
||||
self._type = type
|
||||
|
|
@ -60,12 +71,12 @@ class ReactorBase:
|
|||
return s
|
||||
|
||||
def name(self):
|
||||
"""The name of the reactor specified when it was constructed."""
|
||||
"""The name of the reactor."""
|
||||
return self._name
|
||||
|
||||
def reactor_id(self):
|
||||
"""The integer index used to access the kernel reactor
|
||||
object. For internal use. """
|
||||
object. For internal use."""
|
||||
return self.__reactor_id
|
||||
|
||||
def insert(self, contents):
|
||||
|
|
@ -73,17 +84,19 @@ class ReactorBase:
|
|||
Insert 'contents' into the reactor. Sets the objects used to compute
|
||||
thermodynamic properties and kinetic rates.
|
||||
"""
|
||||
# store a reference to contents so that it will live as long
|
||||
# as this object
|
||||
self._contents = contents
|
||||
if contents:
|
||||
_cantera.reactor_setThermoMgr(self.__reactor_id, contents._phase_id)
|
||||
_cantera.reactor_setKineticsMgr(self.__reactor_id, contents.ckin)
|
||||
|
||||
|
||||
def setInitialTime(self, T0):
|
||||
"""Deprecated.
|
||||
Set the initial time. Restarts integration from this time
|
||||
using the current state as the initial condition. Default: 0.0 s"""
|
||||
_cantera.reactor_setInitialTime(self.__reactor_id, T0)
|
||||
## def setInitialTime(self, T0):
|
||||
## """Deprecated.
|
||||
## Set the initial time. Restarts integration from this time
|
||||
## using the current state as the initial condition. Default: 0.0 s"""
|
||||
## _cantera.reactor_setInitialTime(self.__reactor_id, T0)
|
||||
|
||||
def _setInitialVolume(self, V0):
|
||||
"""Set the initial reactor volume. """
|
||||
|
|
@ -155,7 +168,9 @@ class ReactorBase:
|
|||
"""The mass fraction of species s, specified either by name or
|
||||
index number.
|
||||
>>> y1 = r.massFraction(7)
|
||||
___0.02
|
||||
>>> y2 = r.massFraction('CH3O')
|
||||
___0.02
|
||||
"""
|
||||
if type(s) == types.StringType:
|
||||
kk = self._contents.speciesIndex(s)
|
||||
|
|
@ -180,8 +195,10 @@ class ReactorBase:
|
|||
def moleFraction(self, s):
|
||||
"""The mole fraction of species s, specified either by name or
|
||||
index number.
|
||||
>>> x1 = r.moleFraction(7)
|
||||
>>> x2 = r.moleFraction('CH3O')
|
||||
>>> x1 = r.moleFraction(9)
|
||||
___0.00012
|
||||
>>> x2 = r.moleFraction('CH3')
|
||||
___0.00012
|
||||
"""
|
||||
if type(s) == types.StringType:
|
||||
kk = self._contents.speciesIndex(s)
|
||||
|
|
@ -196,7 +213,7 @@ class ReactorBase:
|
|||
the reactor:
|
||||
>>> for n in r.inlets():
|
||||
... print n.name(), n.massFlowRate()
|
||||
See MassFlowController, Valve.
|
||||
See: MassFlowController, Valve, PressureController.
|
||||
"""
|
||||
return self._inlets
|
||||
|
||||
|
|
@ -205,7 +222,7 @@ class ReactorBase:
|
|||
on this reactor.
|
||||
>>> for o in r.outlets():
|
||||
... print o.name(), o.massFlowRate()
|
||||
See MassFlowController, Valve.
|
||||
See: MassFlowController, Valve, PressureController.
|
||||
"""
|
||||
return self._outlets
|
||||
|
||||
|
|
@ -213,7 +230,7 @@ class ReactorBase:
|
|||
"""Return the list of walls installed on this reactor.
|
||||
>>> for w in r.walls():
|
||||
... print w.name()
|
||||
See Wall.
|
||||
See: Wall.
|
||||
"""
|
||||
return self._walls
|
||||
|
||||
|
|
@ -292,7 +309,7 @@ class Reactor(ReactorBase):
|
|||
verbose = 0):
|
||||
"""
|
||||
contents - Reactor contents. If not specified, the reactor is
|
||||
initially empty. In this case, call method insert to specify
|
||||
initially empty. In this case, call method 'insert' to specify
|
||||
the contents.
|
||||
|
||||
name - Used only to identify this reactor in output. If not
|
||||
|
|
@ -440,8 +457,10 @@ class MassFlowController(FlowDevice):
|
|||
|
||||
"""Mass flow controllers. A mass flow controller maintains a
|
||||
specified mass flow rate independent of upstream and downstream
|
||||
conditions. The equation used to compute the mass flow rate is \f[
|
||||
\dot m = \max(\dot m_0, 0.0), \f] where \f$ \dot m_0 \f$ is either
|
||||
conditions. The equation used to compute the mass flow rate is
|
||||
\f[
|
||||
\dot m = \max(\dot m_0, 0.0),
|
||||
\f] where \f$ \dot m_0 \f$ is either
|
||||
a constant value or a function of time. Note that if \f$\dot m_0 <
|
||||
0\f$, the mass flow rate will be set to zero, since reversal of
|
||||
the flow direction is not allowed.
|
||||
|
|
@ -694,12 +713,79 @@ _wallcount = 0
|
|||
class Wall:
|
||||
"""
|
||||
Reactor walls.
|
||||
A Wall separates two reactors, or a reactor and a reservoir.
|
||||
|
||||
A Wall separates two reactors, or a reactor and a reservoir. A
|
||||
wall has a finite area, may conduct or radiate heat between the
|
||||
two reactors on either side, and may move like a piston.
|
||||
|
||||
Walls are stateless objects in Cantera, meaning that no
|
||||
differential equation is integrated to determine any wall
|
||||
property. Since it is the wall (piston) velocity that enters the
|
||||
energy equation, this means that it is the velocity, not the
|
||||
acceleration or displacement, that is specified. The wall
|
||||
velocity is computed from
|
||||
\f[
|
||||
v = K(P_{\\rm left} - P_{\\rm right}) + v_0(t),
|
||||
\f]
|
||||
where $K$ is a non-negative constant, and \f$v_0(t)$ is a
|
||||
specified function of time. The velocity is positive if the wall is
|
||||
moving to the right.
|
||||
|
||||
The heat flux through the wall is computed from
|
||||
\f[
|
||||
q = U(T_{\\rm left} - T_{\\rm right}) + \epsilon\sigma (T_{\\rm left}^4
|
||||
- T_{\\rm right}^4) + q_0(t),
|
||||
\f]
|
||||
where \f$ U \f$ is the overall heat transfer coefficient for
|
||||
conduction/convection, and \f$ \\epsilon \f$ is the emissivity.
|
||||
The function \f$ q_0(t)$ is a specified function of time.
|
||||
The heat flux is positive when heat flows from the reactor on the left
|
||||
to the reactor on the right.
|
||||
|
||||
A heterogeneous reaction mechanism may be specified for one or
|
||||
both of the wall surfaces. The mechanism object (typically an
|
||||
instance of class Interface) must be constructed so that it is
|
||||
properly linked to the object representing the fluid in the
|
||||
reactor the surface in question faces. The surface temperature on
|
||||
each side is taken to be equal to the temperature of the reactor
|
||||
it faces.
|
||||
|
||||
"""
|
||||
def __init__(self, left=None, right=None, name = '',
|
||||
def __init__(self, left, right, name = '',
|
||||
A = 1.0, K = 0.0, U = 0.0,
|
||||
Q = None, velocity = None,
|
||||
kinetics = [None, None]):
|
||||
"""
|
||||
Constructor arguments:
|
||||
|
||||
left - Reactor or reservoir on the left. Required.
|
||||
|
||||
right - Reactor or reservoir on the right. Required.
|
||||
|
||||
name - Name string.
|
||||
If omitted, the name is 'Wall_n', where 'n' is an integer
|
||||
assigned in the order walls are created.
|
||||
|
||||
A - Wall area [m^2]. Defaults to 1.0 m^2.
|
||||
|
||||
K - Wall expansion rate parameter [m/s/Pa]. Defaults to 0.0.
|
||||
|
||||
U - Overall heat transfer coefficient [W/m^2]. Defaults to 0.0
|
||||
(adiabbatic wall).
|
||||
|
||||
Q - Heat flux function \f$ q_0(t) \f$ [W/m^2]. Optional. Default:
|
||||
\f$ q_0(t) = 0.0 \f$.
|
||||
|
||||
velocity - Wall velocity function \f$ v_0(t) \f$ [m/s].
|
||||
Default: \f$ v_0(t) = 0.0 \f$.
|
||||
|
||||
kinetics - Surface reaction mechanisms for the left-facing and
|
||||
right-facing surface, respectively. These must be instances of
|
||||
class Kinetics, or of a class derived from Kinetics, such as
|
||||
Interface. If chemistry occurs on only one side, enter 'None'
|
||||
for the non-reactive side.
|
||||
|
||||
"""
|
||||
typ = 0
|
||||
self.__wall_id = _cantera.wall_new(typ)
|
||||
|
||||
|
|
@ -712,7 +798,7 @@ class Wall:
|
|||
|
||||
if left and right:
|
||||
self.install(left, right)
|
||||
elif left or right:
|
||||
else:
|
||||
raise CanteraError('both left and right reactors must be specified.')
|
||||
self.setArea(A)
|
||||
self.setExpansionRateCoeff(K)
|
||||
|
|
@ -723,14 +809,17 @@ class Wall:
|
|||
self.setKinetics(kinetics[0],kinetics[1])
|
||||
|
||||
def __del__(self):
|
||||
"""
|
||||
Delete the Wall instance.
|
||||
"""
|
||||
""" Delete the Wall instance. This method is called
|
||||
automatically when no Python object stores a reference to this
|
||||
Wall. Since reactors and reserviors store references to all
|
||||
Walls installed on them, this method will only be called after
|
||||
the reactors/reservoirs have been deleted. """
|
||||
|
||||
_cantera.wall_del(self.__wall_id)
|
||||
|
||||
def ready(self):
|
||||
"""
|
||||
Return 1 if the wall instance is ready for use, 0 otherwise.
|
||||
Return 1 if the wall instance is ready for use, 0 otherwise. Deprecated.
|
||||
"""
|
||||
return _cantera.wall_ready(self.__wall_id)
|
||||
|
||||
|
|
@ -742,7 +831,7 @@ class Wall:
|
|||
|
||||
def setArea(self, a):
|
||||
"""
|
||||
Set the area (m^2).
|
||||
Set the area (m^2). The wall area may be changed manually at any time during a simulation.
|
||||
"""
|
||||
_cantera.wall_setArea(self.__wall_id, a)
|
||||
|
||||
|
|
@ -759,14 +848,15 @@ class Wall:
|
|||
def setEmissivity(self, epsilon):
|
||||
"""
|
||||
Set the emissivity.
|
||||
The radiative heat flux through the wall is computed from
|
||||
\f[ q_r = \epsion \sigma (T_\ell^4 - T_r^4) \f]
|
||||
"""
|
||||
_cantera.wall_setEmissivity(self.__wall_id, epsilon)
|
||||
|
||||
def setHeatFlux(self, qfunc=None):
|
||||
|
||||
def setHeatFlux(self, qfunc):
|
||||
"""
|
||||
Specify the time-dependent heat flux function [W/m2].
|
||||
'qfunc' must be a functor.
|
||||
'qfunc' must be a functor (an instance of a subclass of Cantera.Func1).
|
||||
See: Func1.
|
||||
"""
|
||||
n = 0
|
||||
if qfunc: n = qfunc.func_id()
|
||||
|
|
@ -777,9 +867,11 @@ class Wall:
|
|||
resulting from a unit pressure drop."""
|
||||
_cantera.wall_setExpansionRateCoeff(self.__wall_id, k)
|
||||
|
||||
def setVelocity(self, vfunc=None):
|
||||
def setVelocity(self, vfunc):
|
||||
"""
|
||||
Specify the velocity function [m/s].
|
||||
Specify the velocity function [m/s]. 'vfunc' must
|
||||
be a functor (an instance of a subclass of Cantera.Func1)
|
||||
See: Func1.
|
||||
"""
|
||||
n = 0
|
||||
if vfunc: n = vfunc.func_id()
|
||||
|
|
@ -791,11 +883,17 @@ class Wall:
|
|||
reactor volume decreasing."""
|
||||
return _cantera.wall_vdot(self.__wall_id)
|
||||
|
||||
def velocity(self):
|
||||
return self.vdot()/self.area()
|
||||
|
||||
def heatFlowRate(self):
|
||||
"""Rate of heat flow through the wall. A positive value
|
||||
corresponds to heat flowing from the left-hand reactor to the
|
||||
right-hand one."""
|
||||
return _cantera.wall_Q(self.__wall_id)
|
||||
|
||||
def heatFlux(self):
|
||||
return self.heatFlowRate()/self.area()
|
||||
|
||||
def install(self, left, right):
|
||||
left._addWall(self, right)
|
||||
|
|
@ -814,6 +912,9 @@ class Wall:
|
|||
_cantera.wall_setkinetics(self.__wall_id, ileft, iright)
|
||||
|
||||
def set(self, **p):
|
||||
"""Set various wall parameters: 'A', 'U', 'K', 'Q'. 'velocity'.
|
||||
These have the same meanings as in the constructor.
|
||||
"""
|
||||
for item in p.keys():
|
||||
if item == 'A' or item == 'area':
|
||||
self.setArea(p[item])
|
||||
|
|
@ -825,8 +926,8 @@ class Wall:
|
|||
self.setExpansionRateCoeff(p[item])
|
||||
elif item == 'Q':
|
||||
self.setHeatFlux(p[item])
|
||||
elif item == 'Vdot':
|
||||
self.setExpansionRate(p[item])
|
||||
elif item == 'velocity':
|
||||
self.setVelocity(p[item])
|
||||
else:
|
||||
raise 'unknown parameter: ',item
|
||||
|
||||
|
|
|
|||
|
|
@ -10,10 +10,17 @@ def thermoIndex(id):
|
|||
return _cantera.thermo_thermoIndex(id)
|
||||
|
||||
class ThermoPhase(Phase):
|
||||
""" Phases of matter.
|
||||
""" A phase with an equation of state.
|
||||
|
||||
Class ThermoPhase may be used to represent the intensive state
|
||||
of a homogeneous phase of matter, which might be a gas, liquid, or solid.
|
||||
Class ThermoPhase may be used to represent the intensive
|
||||
thermodynamic state of a phase of matter, which might be a gas,
|
||||
liquid, or solid. Class ThermoPhase extends class Phase by
|
||||
providing methods that require knowledge of the equation of state.
|
||||
|
||||
Class ThermoPhase is not usually instantiated directly. It is used
|
||||
as base class for classes Solution and Interface.
|
||||
|
||||
See: Solution, Interface
|
||||
"""
|
||||
|
||||
#used in the 'equilibrate' method
|
||||
|
|
@ -26,7 +33,9 @@ class ThermoPhase(Phase):
|
|||
xml_phase - CTML node specifying the attributes of this phase
|
||||
|
||||
index - optional. If positive, create only a Python wrapper for
|
||||
an existing kernel object
|
||||
an existing kernel object, instead of creating a new kernel object.
|
||||
The value of 'index' is the integer index number to reference the
|
||||
existing kernel object.
|
||||
"""
|
||||
|
||||
self._phase_id = 0
|
||||
|
|
|
|||
|
|
@ -1,3 +1,22 @@
|
|||
""" Cantera provides a set of classes for 'transport managers' that
|
||||
manage the computation of various transport properties of a phase of
|
||||
matter. Every object
|
||||
representing a phase of matter for which transport properties are needed
|
||||
has a transport manager assigned to
|
||||
it. The transport manager has only one job: to compute the values
|
||||
of the transport properties of its assigned phase.
|
||||
|
||||
A transport manager may do additional things not apparent to the user
|
||||
in order to improve the speed of transport property evaluation. For
|
||||
example, it may cache intermediate results that depend only on
|
||||
temperature, so that if it happens to be called again at the same
|
||||
temperature (a common occurrence) it can skip over computing the
|
||||
stored temperature-dependent intermediate properties.
|
||||
This is why we use the term 'manager' rather than 'calculator'
|
||||
|
||||
In the Cantera kernel, each different transport model is implemented by a different class derived from the genericse class Transport. A highly simplified class structure is used in the Python interface -- there is only one class
|
||||
"""
|
||||
|
||||
import _cantera
|
||||
from Numeric import asarray
|
||||
import exceptions
|
||||
|
|
|
|||
|
|
@ -1,5 +1,7 @@
|
|||
"""Functions to import phase and interface definitions from CTI or
|
||||
CTML files."""
|
||||
CTML files. This module is imported when the Cantera package is
|
||||
imported, and therfore does not need to be explicitly imported in
|
||||
application programs."""
|
||||
|
||||
import solution
|
||||
import Interface
|
||||
|
|
|
|||
|
|
@ -384,7 +384,7 @@ static PyObject*
|
|||
py_wall_setArea(PyObject *self, PyObject *args)
|
||||
{
|
||||
int n;
|
||||
double area;
|
||||
double area;
|
||||
if (!PyArg_ParseTuple(args, "id:wall_setArea", &n, &area))
|
||||
return NULL;
|
||||
int iok = wall_setArea(n, area);
|
||||
|
|
|
|||
|
|
@ -87,7 +87,7 @@ namespace ctml {
|
|||
if (!f) {
|
||||
throw CanteraError("ct2ctml","cannot open "+path+" for writing.");
|
||||
}
|
||||
f << "from Cantera.ctml_writer import *\n"
|
||||
f << "from ctml_writer import *\n"
|
||||
<< "import sys, os, os.path\n"
|
||||
<< "file = \"" << file << "\"\n"
|
||||
<< "base = os.path.basename(file)\n"
|
||||
|
|
|
|||
13
Makefile.in
13
Makefile.in
|
|
@ -126,17 +126,21 @@ endif
|
|||
|
||||
|
||||
python:
|
||||
ifeq ($(build_python),1)
|
||||
ifeq ($(build_python),2)
|
||||
ifeq ($(os_is_win),0)
|
||||
cd Cantera/python; @MAKE@
|
||||
else
|
||||
cd Cantera/python; @MAKE@ win
|
||||
endif
|
||||
endif
|
||||
ifeq ($(build_python),1)
|
||||
cd Cantera/python; @MAKE@ minbuild
|
||||
endif
|
||||
|
||||
python-install:
|
||||
ifeq ($(build_python),1)
|
||||
ifneq ($(build_python),0)
|
||||
cd Cantera/python; @MAKE@ install
|
||||
ifeq ($(build_python),2)
|
||||
@INSTALL@ -d @ct_demodir@/python
|
||||
@INSTALL@ Cantera/python/examples/*.py @ct_demodir@/python
|
||||
@INSTALL@ -d @ct_tutdir@/python
|
||||
|
|
@ -144,11 +148,16 @@ ifeq ($(build_python),1)
|
|||
@ct_tutdir@/python
|
||||
chown -R @username@ @ct_demodir@/python
|
||||
chown -R @username@ @ct_tutdir@/python
|
||||
else
|
||||
@echo 'NOT installing Python demos or tutorials'
|
||||
endif
|
||||
endif
|
||||
|
||||
matlab:
|
||||
ifeq ($(build_matlab),1)
|
||||
cd Cantera/matlab; @MAKE@
|
||||
else
|
||||
@echo 'NOT installing the Matlab toolbox'
|
||||
endif
|
||||
|
||||
#win-matlab:
|
||||
|
|
|
|||
5417
config/configure
vendored
5417
config/configure
vendored
File diff suppressed because it is too large
Load diff
|
|
@ -415,12 +415,19 @@ BUILD_CLIB=1
|
|||
#
|
||||
# Python Interface
|
||||
#
|
||||
BUILD_PYTHON=1
|
||||
BUILD_PYTHON=0
|
||||
if test "x$PYTHON_PACKAGE" = "xfull"; then
|
||||
BUILD_PYTHON=2
|
||||
elif test "x$PYTHON_PACKAGE" = "xminimal"; then
|
||||
BUILD_PYTHON=1
|
||||
fi
|
||||
|
||||
WIN_PYTHON_CMD=python
|
||||
if test $BUILD_PYTHON -gt 0; then
|
||||
if test -z "$PYTHON_CMD"; then
|
||||
AC_PATH_PROGS(PYTHON_CMD, python2 python, "none")
|
||||
if test "x$OS_IS_WIN" = "x1"; then
|
||||
AC_PATH_PROGS(WIN_PYTHON_CMD, pythonw python, "none")
|
||||
AC_PATH_PROGS(WIN_PYTHON_CMD, python, "none")
|
||||
WIN_PYTHON_CMD=`cygpath -a -w "$WIN_PYTHON_CMD" | sed 's/\\\/\\//g'`
|
||||
echo "Windows Python command: $WIN_PYTHON_CMD"
|
||||
fi
|
||||
|
|
@ -436,6 +443,11 @@ if test "$PYTHON_CMD" = "none"; then
|
|||
echo "********************************************************************"
|
||||
exit 1
|
||||
fi
|
||||
else
|
||||
PYTHON_CMD=none
|
||||
WIN_PYTHON_CMD=none
|
||||
fi
|
||||
|
||||
AC_SUBST(BUILD_PYTHON)
|
||||
if test "x$OS_IS_WIN" = "x1"; then
|
||||
AC_DEFINE_UNQUOTED(PYTHON_EXE,"$WIN_PYTHON_CMD")
|
||||
|
|
|
|||
53
configure
vendored
53
configure
vendored
|
|
@ -21,10 +21,14 @@
|
|||
|
||||
#######################################################################
|
||||
|
||||
CANTERA_VERSION=${CANTERA_VERSION:="1.5.4"}
|
||||
|
||||
# If you define this to be <prefix>, then instead of running this
|
||||
# script as ./configure --prefix=<prefix> you can just run it as
|
||||
# ./configure
|
||||
CANTERA_CONFIG_PREFIX=${CANTERA_CONFIG_PREFIX:=""}
|
||||
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# MS-Windows Options
|
||||
#----------------------------------------------------------------------
|
||||
|
|
@ -33,8 +37,8 @@ CANTERA_CONFIG_PREFIX=${CANTERA_CONFIG_PREFIX:=""}
|
|||
# a Windows PC.
|
||||
#
|
||||
# Cantera will be installed by default in c:\cantera. Change this to
|
||||
# install it somewhere else
|
||||
CANTERA_INSTALL_DIR=${CANTERA_INSTALL_DIR:="c:\cantera"}
|
||||
# install it somewhere else. Use forward slashes in the path name.
|
||||
CANTERA_INSTALL_DIR=${CANTERA_INSTALL_DIR:="c:/cantera"}
|
||||
|
||||
# On a PC running MS-Windows, Cantera can be built either using
|
||||
# Microsoft Visual Studio, with the Visual C++ and Visual Fortran
|
||||
|
|
@ -48,6 +52,7 @@ USE_VISUAL_STUDIO=${USE_VISUAL_STUDIO:="y"}
|
|||
FORTRAN_LIB_DIR="D:\Program Files\Microsoft Visual Studio\DF98\LIB"
|
||||
|
||||
|
||||
|
||||
#----------------------------------------------------------------------
|
||||
# Language Interfaces
|
||||
#----------------------------------------------------------------------
|
||||
|
|
@ -59,9 +64,12 @@ FORTRAN_LIB_DIR="D:\Program Files\Microsoft Visual Studio\DF98\LIB"
|
|||
|
||||
#------------ Python -------------------------------------------------
|
||||
|
||||
# Cantera now requires that the Python interface be built, since it
|
||||
# uses Python to process input files, even when Cantera is used from
|
||||
# another language (e.g. MATLAB or C++). Python 2.0 or greater is
|
||||
# Cantera uses Python to process .cti input files, so if you plan to
|
||||
# use these, you need to have Python on your system. (If you will only
|
||||
# use CTML input files, then you don't need Python at all.)
|
||||
|
||||
# You only need to build the full Cantera Python interface if you plan
|
||||
# to use Cantera from Python. If so, Python 2.0 or greater is
|
||||
# required, and the Numeric extensions for Python are needed too. See
|
||||
# file INSTALLING for more details.
|
||||
#
|
||||
|
|
@ -73,16 +81,24 @@ FORTRAN_LIB_DIR="D:\Program Files\Microsoft Visual Studio\DF98\LIB"
|
|||
# instead of the system Python interpreter.
|
||||
#PYTHON_CMD=${PYTHON_CMD:="python"}
|
||||
|
||||
# Set to one of the following:
|
||||
# full everything needed to use Cantera from Python
|
||||
# minimal only enough to process .cti files
|
||||
# none don't use Python at all; only CTML input files can be used.
|
||||
PYTHON_PACKAGE=${PYTHON_PACKAGE:="full"}
|
||||
|
||||
# Use when site packages must be put in system directories
|
||||
# but Cantera tutorials must be put in user space.
|
||||
# (this is pretty much the norm on many multiuser unix systems)
|
||||
|
||||
# Use when site packages must be put in system directories but Cantera
|
||||
# tutorials must be put in user space. Note: an alternative to doing
|
||||
# this is to put everything in user space, and define environment
|
||||
# variable PYTHONPATH to tell Python where to find the Cantera package
|
||||
#
|
||||
SET_PYTHON_SITE_PACKAGE_TOPDIR=${SET_PYTHON_SITE_PACKAGE_TOPDIR:="n"}
|
||||
|
||||
PYTHON_SITE_PACKAGE_TOPDIR=${PYTHON_SITE_PACKAGE_TOPDIR:="/usr/local"}
|
||||
|
||||
|
||||
|
||||
#----------- Matlab --------------------------------------------------
|
||||
|
||||
# Set this to "y" if you want to build the Matlab toolbox. Matlab must
|
||||
|
|
@ -100,7 +116,8 @@ BUILD_MATLAB_TOOLBOX=${BUILD_MATLAB_TOOLBOX:="y"}
|
|||
# This allows you to derive your own classes from those provided by
|
||||
# Cantera and build them automatically along with the rest of Cantera.
|
||||
# All you need to do is specify the directory where your source code is
|
||||
# located.
|
||||
# located. This capability is not yet fully functional, but should work
|
||||
# for C++ applications.
|
||||
USER_SRC_DIR="Cantera/user" # don't change this
|
||||
|
||||
|
||||
|
|
@ -168,7 +185,8 @@ ENABLE_TPX='y'
|
|||
#
|
||||
# LAPACK_LIBRARY=-llapack
|
||||
#
|
||||
# The options below do not need be set if you are using the default libraries.
|
||||
# The options below do not need to be set if you are using the default
|
||||
# libraries.
|
||||
#
|
||||
# Set to 'lower' or 'upper', depending on whether the procedure names
|
||||
# in the libraries are lowercase or uppercase. If you don't know, run
|
||||
|
|
@ -216,6 +234,9 @@ SHARED=${SHARED:="-shared"}
|
|||
# Fortran compiler options
|
||||
#-------------------------------------------------------------------
|
||||
|
||||
# Note: the Fortran 90 interface is currently not available. Hopefully
|
||||
# it will be back at a future date...
|
||||
|
||||
# Cantera uses some external procedures written in Fortran 77.
|
||||
# In addition, Cantera implements an interface for Fortran 90
|
||||
# application programs. The parameters in this section apply
|
||||
|
|
@ -232,11 +253,11 @@ FFLAGS=${FFLAGS:='-O2'}
|
|||
# the additional Fortran flags required for linking, if any
|
||||
#LFORT_FLAGS="-lF77 -lFI77"
|
||||
|
||||
# Fortran 90 module directory
|
||||
FORT_MODULE_DIRECTORY=${FORT_MODULE_DIRECTORY:=$CANTERA_ROOT/include/fortran}
|
||||
# Fortran 90 module directory
|
||||
## FORT_MODULE_DIRECTORY=${FORT_MODULE_DIRECTORY:=$CANTERA_ROOT/include/fortran}
|
||||
|
||||
# Fortran 90 module search path command
|
||||
FORT_MODULE_PATH_CMD=${FORT_MODULE_PATH_CMD:="-I$FORT_MODULE_DIRECTORY"}
|
||||
## FORT_MODULE_PATH_CMD=${FORT_MODULE_PATH_CMD:="-I$FORT_MODULE_DIRECTORY"}
|
||||
|
||||
|
||||
|
||||
|
|
@ -271,6 +292,8 @@ CT_SHARED_LIB=${CT_SHARED_LIB:=clib}
|
|||
# lowercase 'helvetica'.
|
||||
RPFONT=${RPFONT:="Helvetica"}
|
||||
|
||||
|
||||
CANTERA_VERSION=${CANTERA_VERSION:="1.5.4"}
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------
|
||||
|
|
@ -284,7 +307,7 @@ export RANLIB
|
|||
export BLAS_LIBRARY
|
||||
export BUILD_F90
|
||||
export BUILD_FORTRAN_90_INTERFACE
|
||||
export BUILD_PYTHON_INTERFACE
|
||||
export PYTHON_PACKAGE
|
||||
export BUILD_MATLAB_TOOLBOX
|
||||
#export MATLAB_CMD
|
||||
export CANTERA_ROOT
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -1,12 +1,13 @@
|
|||
<?xml version="1.0"?>
|
||||
<ctml>
|
||||
<validate reactions="yes" species="yes"/>
|
||||
|
||||
<!-- phase silane -->
|
||||
<!-- phase silane -->
|
||||
<phase dim="3" id="silane">
|
||||
<elementArray datasrc="elements.xml"> Si H He </elementArray>
|
||||
<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>
|
||||
H2 H HE SIH4 SI SIH SIH2 SIH3 H3SISIH SI2H6
|
||||
H2SISIH2 SI3H8 SI2 SI3 </speciesArray>
|
||||
<reactionArray datasrc="#reaction_data"/>
|
||||
<state>
|
||||
<temperature units="K">300.0</temperature>
|
||||
|
|
@ -17,495 +18,495 @@
|
|||
<transport model="None"/>
|
||||
</phase>
|
||||
|
||||
<!-- species definitions -->
|
||||
<!-- species definitions -->
|
||||
<speciesData id="species_data">
|
||||
|
||||
<!-- species H2 -->
|
||||
<!-- species H2 -->
|
||||
<species name="H2">
|
||||
<atomArray>H:2 </atomArray>
|
||||
<note>TPIS78</note>
|
||||
<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 Tmax="1000.0" Tmin="200.0" P0="100000.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 Tmax="3500.0" Tmin="1000.0" P0="100000.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 H -->
|
||||
<species name="H">
|
||||
<atomArray>H:1 </atomArray>
|
||||
<note>L 7/88</note>
|
||||
<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 Tmax="1000.0" Tmin="200.0" P0="100000.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 Tmax="3500.0" Tmin="1000.0" P0="100000.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 HE -->
|
||||
<species name="HE">
|
||||
<atomArray>He:1 </atomArray>
|
||||
<note>120186</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="5000.0" Tmin="1000.0" P0="100000.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 SIH4 -->
|
||||
<species name="SIH4">
|
||||
<atomArray>H:4 Si:1 </atomArray>
|
||||
<note>90784</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="2000.0" Tmin="1000.0" P0="100000.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 SI -->
|
||||
<species name="SI">
|
||||
<atomArray>Si:1 </atomArray>
|
||||
<note>J 3/67</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="5000.0" Tmin="1000.0" P0="100000.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 SIH -->
|
||||
<species name="SIH">
|
||||
<atomArray>H:1 Si:1 </atomArray>
|
||||
<note>121986</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="2000.0" Tmin="1000.0" P0="100000.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 SIH2 -->
|
||||
<species name="SIH2">
|
||||
<atomArray>H:2 Si:1 </atomArray>
|
||||
<note>42489</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="3000.0" Tmin="1000.0" P0="100000.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 SIH3 -->
|
||||
<species name="SIH3">
|
||||
<atomArray>H:3 Si:1 </atomArray>
|
||||
<note>42489</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="3000.0" Tmin="1000.0" P0="100000.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 H3SISIH -->
|
||||
<species name="H3SISIH">
|
||||
<atomArray>H:4 Si:2 </atomArray>
|
||||
<note>111191</note>
|
||||
<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 Tmax="1500.0" Tmin="300.0" P0="100000.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 Tmax="4000.0" Tmin="1500.0" P0="100000.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 SI2H6 -->
|
||||
<species name="SI2H6">
|
||||
<atomArray>H:6 Si:2 </atomArray>
|
||||
<note>90784</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="2000.0" Tmin="1000.0" P0="100000.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 H2SISIH2 -->
|
||||
<species name="H2SISIH2">
|
||||
<atomArray>H:4 Si:2 </atomArray>
|
||||
<note>42489</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="3000.0" Tmin="1000.0" P0="100000.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 SI3H8 -->
|
||||
<species name="SI3H8">
|
||||
<atomArray>H:8 Si:3 </atomArray>
|
||||
<note>90784</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="2000.0" Tmin="1000.0" P0="100000.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 SI2 -->
|
||||
<species name="SI2">
|
||||
<atomArray>Si:2 </atomArray>
|
||||
<note>90784</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="2000.0" Tmin="1000.0" P0="100000.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 SI3 -->
|
||||
<species name="SI3">
|
||||
<atomArray>Si:3 </atomArray>
|
||||
<note>J 3/67</note>
|
||||
<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 Tmax="1000.0" Tmin="300.0" P0="100000.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 Tmax="5000.0" Tmin="1000.0" P0="100000.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">
|
||||
<!-- reaction 0001 -->
|
||||
<reaction reversible="yes" id="0001">
|
||||
<equation>SIH4 + H [=] SIH3 + H2</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 7.800000E+11</A>
|
||||
<b>0</b>
|
||||
<E units="cal/mol">2260.000000</E>
|
||||
<A>7.800000E+11</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">
|
||||
<!-- reaction 0002 -->
|
||||
<reaction reversible="yes" type="threeBody" id="0002">
|
||||
<equation>SIH4 + M [=] SIH3 + H + M</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 3.910000E+12</A>
|
||||
<b>0</b>
|
||||
<E units="cal/mol">89356.000000</E>
|
||||
<A>3.910000E+12</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">
|
||||
<!-- reaction 0003 -->
|
||||
<reaction reversible="yes" id="0003">
|
||||
<equation>SIH3 + H [=] SIH2 + H2</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 7.800000E+11</A>
|
||||
<b>0</b>
|
||||
<E units="cal/mol">2260.000000</E>
|
||||
<A>7.800000E+11</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">
|
||||
<!-- reaction 0004 -->
|
||||
<reaction reversible="yes" type="threeBody" id="0004">
|
||||
<equation>SI + SI + M [=] SI2 + M</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 2.470000E+10</A>
|
||||
<b>0</b>
|
||||
<E units="cal/mol">1178.000000</E>
|
||||
<A>2.470000E+10</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">
|
||||
<!-- reaction 0005 -->
|
||||
<reaction reversible="yes" id="0005">
|
||||
<equation>SIH4 + SIH2 [=] H3SISIH + H2</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 1.300000E+10</A>
|
||||
<b>0</b>
|
||||
<E units="cal/mol">0.000000</E>
|
||||
<A>1.300000E+10</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">
|
||||
<!-- reaction 0006 -->
|
||||
<reaction reversible="yes" id="0006">
|
||||
<equation>SIH + H2 [=] SIH2 + H</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 4.800000E+11</A>
|
||||
<b>0</b>
|
||||
<E units="cal/mol">23.640000</E>
|
||||
<A>4.800000E+11</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">
|
||||
<!-- reaction 0007 -->
|
||||
<reaction reversible="yes" id="0007">
|
||||
<equation>SIH + SIH4 [=] H3SISIH + H</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 1.600000E+11</A>
|
||||
<b>0</b>
|
||||
<E units="cal/mol">0.000000</E>
|
||||
<A>1.600000E+11</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">
|
||||
<!-- reaction 0008 -->
|
||||
<reaction reversible="yes" id="0008">
|
||||
<equation>SI + H2 [=] SIH + H</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 1.500000E+12</A>
|
||||
<b>0</b>
|
||||
<E units="cal/mol">31.800000</E>
|
||||
<A>1.500000E+12</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">
|
||||
<!-- reaction 0009 -->
|
||||
<reaction reversible="yes" type="falloff" id="0009">
|
||||
<equation>SIH4 (+ M) [=] SIH2 + H2 (+ M)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 3.119000E+09</A>
|
||||
<b>1.669</b>
|
||||
<E units="cal/mol">54710.000000</E>
|
||||
<A>3.119000E+09</A>
|
||||
<b>1.669</b>
|
||||
<E units="cal/mol">54710.000000</E>
|
||||
</Arrhenius>
|
||||
<Arrhenius name="k0">
|
||||
<A> 5.214000E+26</A>
|
||||
<b>-3.5449999999999999</b>
|
||||
<E units="cal/mol">57550.000000</E>
|
||||
<A>5.214000E+26</A>
|
||||
<b>-3.5449999999999999</b>
|
||||
<E units="cal/mol">57550.000000</E>
|
||||
</Arrhenius>
|
||||
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
|
||||
<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">
|
||||
<!-- reaction 0010 -->
|
||||
<reaction reversible="yes" type="falloff" id="0010">
|
||||
<equation>H3SISIH (+ M) [=] H2SISIH2 (+ M)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 2.540000E+13</A>
|
||||
<b>-0.22389999999999999</b>
|
||||
<E units="cal/mol">5381.000000</E>
|
||||
<A>2.540000E+13</A>
|
||||
<b>-0.22389999999999999</b>
|
||||
<E units="cal/mol">5381.000000</E>
|
||||
</Arrhenius>
|
||||
<Arrhenius name="k0">
|
||||
<A> 1.099000E+30</A>
|
||||
<b>-5.7649999999999997</b>
|
||||
<E units="cal/mol">9152.000000</E>
|
||||
<A>1.099000E+30</A>
|
||||
<b>-5.7649999999999997</b>
|
||||
<E units="cal/mol">9152.000000</E>
|
||||
</Arrhenius>
|
||||
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
|
||||
<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">
|
||||
<!-- reaction 0011 -->
|
||||
<reaction reversible="yes" type="falloff" id="0011">
|
||||
<equation>SI3H8 (+ M) [=] SIH4 + H3SISIH (+ M)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 3.730000E+12</A>
|
||||
<b>0.99199999999999999</b>
|
||||
<E units="cal/mol">50850.000000</E>
|
||||
<A>3.730000E+12</A>
|
||||
<b>0.99199999999999999</b>
|
||||
<E units="cal/mol">50850.000000</E>
|
||||
</Arrhenius>
|
||||
<Arrhenius name="k0">
|
||||
<A> 4.360000E+73</A>
|
||||
<b>-17.260000000000002</b>
|
||||
<E units="cal/mol">59303.000000</E>
|
||||
<A>4.360000E+73</A>
|
||||
<b>-17.260000000000002</b>
|
||||
<E units="cal/mol">59303.000000</E>
|
||||
</Arrhenius>
|
||||
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
|
||||
<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">
|
||||
<!-- reaction 0012 -->
|
||||
<reaction reversible="yes" type="falloff" id="0012">
|
||||
<equation>SI3H8 (+ M) [=] SIH2 + SI2H6 (+ M)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 6.970000E+12</A>
|
||||
<b>0.96909999999999996</b>
|
||||
<E units="cal/mol">52677.000000</E>
|
||||
<A>6.970000E+12</A>
|
||||
<b>0.96909999999999996</b>
|
||||
<E units="cal/mol">52677.000000</E>
|
||||
</Arrhenius>
|
||||
<Arrhenius name="k0">
|
||||
<A> 1.730000E+66</A>
|
||||
<b>-15.07</b>
|
||||
<E units="cal/mol">60491.000000</E>
|
||||
<A>1.730000E+66</A>
|
||||
<b>-15.07</b>
|
||||
<E units="cal/mol">60491.000000</E>
|
||||
</Arrhenius>
|
||||
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
|
||||
<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">
|
||||
<!-- reaction 0013 -->
|
||||
<reaction reversible="yes" type="falloff" id="0013">
|
||||
<equation>SI2H6 (+ M) [=] H2 + H3SISIH (+ M)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 9.086000E+09</A>
|
||||
<b>1.8340000000000001</b>
|
||||
<E units="cal/mol">54197.000000</E>
|
||||
<A>9.086000E+09</A>
|
||||
<b>1.8340000000000001</b>
|
||||
<E units="cal/mol">54197.000000</E>
|
||||
</Arrhenius>
|
||||
<Arrhenius name="k0">
|
||||
<A> 1.945000E+41</A>
|
||||
<b>-7.7720000000000002</b>
|
||||
<E units="cal/mol">59023.000000</E>
|
||||
<A>1.945000E+41</A>
|
||||
<b>-7.7720000000000002</b>
|
||||
<E units="cal/mol">59023.000000</E>
|
||||
</Arrhenius>
|
||||
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
|
||||
<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">
|
||||
<!-- reaction 0014 -->
|
||||
<reaction reversible="yes" type="falloff" id="0014">
|
||||
<equation>SI2H6 (+ M) [=] SIH4 + SIH2 (+ M)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A> 1.810000E+10</A>
|
||||
<b>1.7470000000000001</b>
|
||||
<E units="cal/mol">50203.000000</E>
|
||||
<A>1.810000E+10</A>
|
||||
<b>1.7470000000000001</b>
|
||||
<E units="cal/mol">50203.000000</E>
|
||||
</Arrhenius>
|
||||
<Arrhenius name="k0">
|
||||
<A> 5.090000E+50</A>
|
||||
<b>-10.369999999999999</b>
|
||||
<E units="cal/mol">56034.000000</E>
|
||||
<A>5.090000E+50</A>
|
||||
<b>-10.369999999999999</b>
|
||||
<E units="cal/mol">56034.000000</E>
|
||||
</Arrhenius>
|
||||
<efficiencies default="1.0"> SI2H6:4 SIH4:4 </efficiencies>
|
||||
<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>
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue