[Test] Add surface kinetics test based on the sofc.py example
This commit is contained in:
parent
0440e3fcf1
commit
2b67ec4538
4 changed files with 554 additions and 0 deletions
|
|
@ -370,3 +370,95 @@ class ExplicitForwardOrderTest(utilities.CanteraTest):
|
|||
ratio = rop2/rop1
|
||||
self.assertNear(ratio[0], 2**0.5) # order of R1B is 0.5
|
||||
self.assertNear(ratio[1], 2**0.2) # order of P1 is 1.0
|
||||
|
||||
|
||||
class TestSofcKinetics(utilities.CanteraTest):
|
||||
""" Test based on sofc.py """
|
||||
def test_sofc(self):
|
||||
mech = 'sofc-test.xml'
|
||||
T = 1073.15 # T in K
|
||||
P = ct.one_atm
|
||||
TPB_length_per_area = 1.0e7 # TPB length per unit area [1/m]
|
||||
|
||||
def newton_solve(f, xstart, C=0.0):
|
||||
""" Solve f(x) = C by Newton iteration. """
|
||||
x0 = xstart
|
||||
dx = 1.0e-6
|
||||
while True:
|
||||
f0 = f(x0) - C
|
||||
x0 -= f0/(f(x0 + dx) - C - f0)*dx
|
||||
if abs(f0) < 0.00001:
|
||||
return x0
|
||||
|
||||
# Anode-side phases
|
||||
gas_a, anode_bulk, oxide_a = ct.import_phases(mech,
|
||||
['gas', 'metal', 'oxide_bulk',])
|
||||
anode_surf = ct.Interface(mech, 'metal_surface', [gas_a])
|
||||
oxide_surf_a = ct.Interface(mech, 'oxide_surface', [gas_a, oxide_a])
|
||||
tpb_a = ct.Interface(mech, 'tpb', [anode_bulk, anode_surf, oxide_surf_a])
|
||||
|
||||
# Cathode-side phases
|
||||
gas_c, cathode_bulk, oxide_c = ct.import_phases(mech,
|
||||
['gas', 'metal', 'oxide_bulk'])
|
||||
cathode_surf = ct.Interface(mech, 'metal_surface', [gas_c])
|
||||
oxide_surf_c = ct.Interface(mech, 'oxide_surface', [gas_c, oxide_c])
|
||||
tpb_c = ct.Interface(mech, 'tpb', [cathode_bulk, cathode_surf,
|
||||
oxide_surf_c])
|
||||
|
||||
def anode_curr(E):
|
||||
anode_bulk.electric_potential = E
|
||||
w = tpb_a.net_production_rates
|
||||
return ct.faraday * w[0] * TPB_length_per_area
|
||||
|
||||
def cathode_curr(E):
|
||||
cathode_bulk.electric_potential = E + oxide_c.electric_potential
|
||||
w = tpb_c.net_production_rates
|
||||
return -ct.faraday * w[0] * TPB_length_per_area
|
||||
|
||||
# initialization
|
||||
gas_a.TPX = T, P, 'H2:0.97, H2O:0.03'
|
||||
gas_a.equilibrate('TP')
|
||||
gas_c.TPX = T, P, 'O2:1.0, H2O:0.001'
|
||||
gas_c.equilibrate('TP')
|
||||
|
||||
for p in [anode_bulk, anode_surf, oxide_surf_a, oxide_a, cathode_bulk,
|
||||
cathode_surf, oxide_surf_c, oxide_c, tpb_a, tpb_c]:
|
||||
p.TP = T, P
|
||||
|
||||
for s in [anode_surf, oxide_surf_a, cathode_surf, oxide_surf_c]:
|
||||
s.advance_coverages(50.0)
|
||||
|
||||
# These values are just a regression test with no theoretical basis
|
||||
self.assertArrayNear(anode_surf.coverages,
|
||||
[6.18736755e-01, 3.81123779e-01, 8.63037850e-05,
|
||||
2.59274708e-06, 5.05702339e-05])
|
||||
self.assertArrayNear(oxide_surf_a.coverages,
|
||||
[4.99435780e-02, 9.48927983e-01, 1.12840577e-03,
|
||||
3.35936530e-08])
|
||||
self.assertArrayNear(cathode_surf.coverages,
|
||||
[1.48180380e-07, 7.57234727e-14, 9.99999827e-01,
|
||||
2.49235513e-08, 4.03296469e-13])
|
||||
self.assertArrayNear(oxide_surf_c.coverages,
|
||||
[4.99896947e-02, 9.49804199e-01, 2.06104969e-04,
|
||||
1.11970271e-09])
|
||||
|
||||
Ea0 = newton_solve(anode_curr, xstart=-0.51)
|
||||
Ec0 = newton_solve(cathode_curr, xstart=0.51)
|
||||
|
||||
data = []
|
||||
|
||||
# vary the anode overpotential, from cathodic to anodic polarization
|
||||
for Ea in np.linspace(Ea0 - 0.25, Ea0 + 0.25, 20):
|
||||
anode_bulk.electric_potential = Ea
|
||||
curr = anode_curr(Ea)
|
||||
delta_V = curr * 5.0e-5 / 2.0
|
||||
phi_oxide_c = -delta_V
|
||||
oxide_c.electric_potential = phi_oxide_c
|
||||
oxide_surf_c.electric_potential = phi_oxide_c
|
||||
Ec = newton_solve(cathode_curr, xstart=Ec0+0.1, C=curr)
|
||||
cathode_bulk.electric_potential = phi_oxide_c + Ec
|
||||
data.append([Ea - Ea0, 0.1*curr, Ec - Ec0, delta_V,
|
||||
cathode_bulk.electric_potential -
|
||||
anode_bulk.electric_potential])
|
||||
|
||||
self.compare(data, '../data/sofc-test.csv')
|
||||
|
|
|
|||
|
|
@ -38,6 +38,7 @@ class CanteraTest(unittest.TestCase):
|
|||
Compare an array with a reference data file, or generate the reference
|
||||
file if it does not exist.
|
||||
"""
|
||||
data = np.array(data)
|
||||
if os.path.exists(reference_file):
|
||||
# Compare with existing output file
|
||||
ref = np.genfromtxt(reference_file)
|
||||
|
|
|
|||
20
test/data/sofc-test.csv
Normal file
20
test/data/sofc-test.csv
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
-2.5000000000e-01 -1.3798766169e+03 5.2791044253e-01 -3.4496915423e-01 2.2604563283e+00
|
||||
-2.2368421053e-01 -1.0432408592e+03 5.0204892914e-01 -2.6081021480e-01 2.1241200860e+00
|
||||
-1.9736842105e-01 -7.8701558438e+02 4.7598665116e-01 -1.9675389610e-01 2.0076856998e+00
|
||||
-1.7105263158e-01 -5.9105676488e+02 4.4950960410e-01 -1.4776419122e-01 1.9059031584e+00
|
||||
-1.4473684211e-01 -4.4005464536e+02 4.2223216105e-01 -1.1001366134e-01 1.8145593960e+00
|
||||
-1.1842105263e-01 -3.2229910744e+02 3.9344175087e-01 -8.0574776860e-02 1.7300143119e+00
|
||||
-9.2105263158e-02 -2.2873716932e+02 3.6174919496e-01 -5.7184292329e-02 1.6486154820e+00
|
||||
-6.5789473684e-02 -1.5224602946e+02 3.2415056354e-01 -3.8061507365e-02 1.5655782761e+00
|
||||
-3.9473684211e-02 -8.7062613477e+01 2.7263908630e-01 -2.1765653369e-02 1.4714551554e+00
|
||||
-1.3157894737e-02 -2.8323325267e+01 1.7086445717e-01 -7.0808313166e-03 1.3286799147e+00
|
||||
1.3157894737e-02 2.8323325267e+01 -1.7086445717e-01 7.0808313166e-03 9.4647354829e-01
|
||||
3.9473684211e-02 8.7062613477e+01 -2.7263908630e-01 2.1765653369e-02 8.0369830764e-01
|
||||
6.5789473684e-02 1.5224602946e+02 -3.2415056354e-01 3.8061507365e-02 7.0957518693e-01
|
||||
9.2105263158e-02 2.2873716932e+02 -3.6174919496e-01 5.7184292329e-02 6.2653798107e-01
|
||||
1.1842105263e-01 3.2229910744e+02 -3.9344175086e-01 8.0574776859e-02 5.4513915116e-01
|
||||
1.4473684211e-01 4.4005464536e+02 -4.2223216105e-01 1.1001366134e-01 4.6059406702e-01
|
||||
1.7105263158e-01 5.9105676488e+02 -4.4950960410e-01 1.4776419122e-01 3.6925030461e-01
|
||||
1.9736842105e-01 7.8701558438e+02 -4.7598665116e-01 1.9675389609e-01 2.6746776321e-01
|
||||
2.2368421053e-01 1.0432408592e+03 -5.0204892914e-01 2.6081021480e-01 1.5103337706e-01
|
||||
2.5000000000e-01 1.3798766169e+03 -5.2791044253e-01 3.4496915423e-01 1.4697134765e-02
|
||||
|
441
test/data/sofc-test.xml
Normal file
441
test/data/sofc-test.xml
Normal file
|
|
@ -0,0 +1,441 @@
|
|||
<?xml version="1.0"?>
|
||||
<ctml>
|
||||
<validate reactions="yes" species="yes"/>
|
||||
|
||||
<!-- phase gas -->
|
||||
<phase dim="3" id="gas">
|
||||
<elementArray datasrc="elements.xml">H O N</elementArray>
|
||||
<speciesArray datasrc="gri30.xml#species_data">H2 H2O N2 O2</speciesArray>
|
||||
<state>
|
||||
<temperature units="K">1073.15</temperature>
|
||||
<pressure units="Pa">101325.0</pressure>
|
||||
<moleFractions>H2:0.95, H2O:0.05</moleFractions>
|
||||
</state>
|
||||
<thermo model="IdealGas"/>
|
||||
<kinetics model="GasKinetics"/>
|
||||
<transport model="Mix"/>
|
||||
</phase>
|
||||
|
||||
<!-- phase metal -->
|
||||
<phase dim="3" id="metal">
|
||||
<elementArray datasrc="elements.xml">E</elementArray>
|
||||
<speciesArray datasrc="#species_data">electron</speciesArray>
|
||||
<state>
|
||||
<temperature units="K">1073.15</temperature>
|
||||
<moleFractions>electron:1.0</moleFractions>
|
||||
</state>
|
||||
<thermo model="Metal">
|
||||
<density units="kg/m3">9.0</density>
|
||||
</thermo>
|
||||
<transport model="None"/>
|
||||
<kinetics model="none"/>
|
||||
</phase>
|
||||
|
||||
<!-- phase oxide_bulk -->
|
||||
<phase dim="3" id="oxide_bulk">
|
||||
<elementArray datasrc="elements.xml">O E</elementArray>
|
||||
<speciesArray datasrc="#species_data">Ox VO**</speciesArray>
|
||||
<state>
|
||||
<temperature units="K">1073.15</temperature>
|
||||
<pressure units="Pa">101325.0</pressure>
|
||||
<moleFractions>Ox:0.95 VO**:0.05</moleFractions>
|
||||
</state>
|
||||
<thermo model="Incompressible">
|
||||
<density units="g/cm3">0.7</density>
|
||||
</thermo>
|
||||
<transport model="None"/>
|
||||
<kinetics model="none"/>
|
||||
</phase>
|
||||
|
||||
<!-- phase metal_surface -->
|
||||
<phase dim="2" id="metal_surface">
|
||||
<elementArray datasrc="elements.xml">H O</elementArray>
|
||||
<speciesArray datasrc="#species_data">(m) H(m) O(m) OH(m) H2O(m) </speciesArray>
|
||||
<reactionArray datasrc="#reaction_data">
|
||||
<include max="metal-*" min="metal-*"/>
|
||||
</reactionArray>
|
||||
<state>
|
||||
<temperature units="K">973.0</temperature>
|
||||
<coverages>(m):0.5 H(m):0.5</coverages>
|
||||
</state>
|
||||
<thermo model="Surface">
|
||||
<site_density units="mol/cm2">2.6e-09</site_density>
|
||||
</thermo>
|
||||
<kinetics model="Interface"/>
|
||||
<transport model="None"/>
|
||||
<phaseArray>gas</phaseArray>
|
||||
</phase>
|
||||
|
||||
<!-- phase oxide_surface -->
|
||||
<phase dim="2" id="oxide_surface">
|
||||
<elementArray datasrc="elements.xml">O H E</elementArray>
|
||||
<speciesArray datasrc="#species_data">(ox) O''(ox) OH'(ox) H2O(ox)</speciesArray>
|
||||
<reactionArray datasrc="#reaction_data">
|
||||
<include max="oxide-*" min="oxide-*"/>
|
||||
</reactionArray>
|
||||
<state>
|
||||
<temperature units="K">1073.15</temperature>
|
||||
<coverages>O''(ox):2.0, (ox):0.0</coverages>
|
||||
</state>
|
||||
<thermo model="Surface">
|
||||
<site_density units="mol/cm2">2e-09</site_density>
|
||||
</thermo>
|
||||
<kinetics model="Interface"/>
|
||||
<transport model="None"/>
|
||||
<phaseArray>gas oxide_bulk</phaseArray>
|
||||
</phase>
|
||||
|
||||
<!-- phase tpb -->
|
||||
<phase dim="1" id="tpb">
|
||||
<elementArray datasrc="elements.xml">H O</elementArray>
|
||||
<speciesArray datasrc="#species_data">(tpb)</speciesArray>
|
||||
<reactionArray datasrc="#reaction_data">
|
||||
<include max="edge-*" min="edge-*"/>
|
||||
</reactionArray>
|
||||
<state>
|
||||
<temperature units="K">1073.15</temperature>
|
||||
<coverages>(tpb):1.0 </coverages>
|
||||
</state>
|
||||
<thermo model="Edge">
|
||||
<site_density units="mol/cm">5e-17</site_density>
|
||||
</thermo>
|
||||
<kinetics model="Edge"/>
|
||||
<transport model="None"/>
|
||||
<phaseArray>metal metal_surface oxide_surface</phaseArray>
|
||||
</phase>
|
||||
|
||||
<!-- species definitions -->
|
||||
<speciesData id="species_data">
|
||||
|
||||
<!-- species electron -->
|
||||
<species name="electron">
|
||||
<atomArray>E:1 </atomArray>
|
||||
<charge>-1</charge>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kcal/mol">0.0</h0>
|
||||
<s0 units="J/mol/K">0.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species VO** -->
|
||||
<species name="VO**">
|
||||
<atomArray/>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">0.0</h0>
|
||||
<s0 units="J/mol/K">0.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species Ox -->
|
||||
<species name="Ox">
|
||||
<atomArray>E:2 O:1 </atomArray>
|
||||
<charge>-2</charge>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">-170.0</h0>
|
||||
<s0 units="J/K/mol">50.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species (m) -->
|
||||
<species name="(m)">
|
||||
<atomArray/>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">0.0</h0>
|
||||
<s0 units="J/mol/K">0.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species H(m) -->
|
||||
<species name="H(m)">
|
||||
<atomArray>H:1 </atomArray>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">-35.0</h0>
|
||||
<s0 units="J/mol/K">37.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species O(m) -->
|
||||
<species name="O(m)">
|
||||
<atomArray>O:1 </atomArray>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">-220.0</h0>
|
||||
<s0 units="J/mol/K">37.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species OH(m) -->
|
||||
<species name="OH(m)">
|
||||
<atomArray>H:1 O:1 </atomArray>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">-198.0</h0>
|
||||
<s0 units="J/mol/K">102.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species H2O(m) -->
|
||||
<species name="H2O(m)">
|
||||
<atomArray>H:2 O:1 </atomArray>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">-281.0</h0>
|
||||
<s0 units="J/mol/K">123.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species O''(ox) -->
|
||||
<species name="O''(ox)">
|
||||
<atomArray>E:2 O:1 </atomArray>
|
||||
<charge>-2</charge>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">-170.0</h0>
|
||||
<s0 units="J/K/mol">50.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species OH'(ox) -->
|
||||
<species name="OH'(ox)">
|
||||
<atomArray>H:1 E:1 O:1 </atomArray>
|
||||
<charge>-1</charge>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">-220.0</h0>
|
||||
<s0 units="J/mol/K">87.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species (ox) -->
|
||||
<species name="(ox)">
|
||||
<atomArray/>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">0.0</h0>
|
||||
<s0 units="J/mol/K">0.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species H2O(ox) -->
|
||||
<species name="H2O(ox)">
|
||||
<atomArray>H:2 O:1 </atomArray>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="kJ/mol">-265.0</h0>
|
||||
<s0 units="J/mol/K">98.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
|
||||
<!-- species (tpb) -->
|
||||
<species name="(tpb)">
|
||||
<atomArray/>
|
||||
<thermo>
|
||||
<const_cp Tmax="5000.0" Tmin="100.0">
|
||||
<t0 units="K">298.15</t0>
|
||||
<h0 units="J/mol">0.0</h0>
|
||||
<s0 units="J/mol/K">0.0</s0>
|
||||
<cp0 units="J/mol/K">0.0</cp0>
|
||||
</const_cp>
|
||||
</thermo>
|
||||
</species>
|
||||
</speciesData>
|
||||
<reactionData id="reaction_data">
|
||||
|
||||
<!-- reaction metal-rxn1 -->
|
||||
<reaction reversible="yes" type="surface" id="metal-rxn1">
|
||||
<equation>H2 + (m) + (m) [=] H(m) + H(m)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius type="stick" species="H2">
|
||||
<A>1.000000E-01</A>
|
||||
<b>0</b>
|
||||
<E units="kJ/mol">0.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>H2:1.0 (m):2</reactants>
|
||||
<products>H(m):2.0</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction metal-rxn2 -->
|
||||
<reaction reversible="yes" type="surface" id="metal-rxn2">
|
||||
<equation>O2 + (m) + (m) [=] O(m) + O(m)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius type="stick" species="O2">
|
||||
<A>1.000000E-01</A>
|
||||
<b>0</b>
|
||||
<E units="kJ/mol">0.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>O2:1.0 (m):2</reactants>
|
||||
<products>O(m):2.0</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction metal-rxn3 -->
|
||||
<reaction reversible="yes" type="surface" id="metal-rxn3">
|
||||
<equation>H2O + (m) [=] H2O(m)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius type="stick" species="H2O">
|
||||
<A>1.000000E+00</A>
|
||||
<b>0</b>
|
||||
<E units="kJ/mol">0.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>H2O:1.0 (m):1</reactants>
|
||||
<products>H2O(m):1.0</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction metal-rxn4 -->
|
||||
<reaction reversible="yes" type="surface" id="metal-rxn4">
|
||||
<equation>H(m) + O(m) [=] OH(m) + (m)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>5.000000E+21</A>
|
||||
<b>0</b>
|
||||
<E units="kJ/mol">100.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>H(m):1.0 O(m):1</reactants>
|
||||
<products>OH(m):1.0 (m):1</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction metal-rxn5 -->
|
||||
<reaction reversible="yes" type="surface" id="metal-rxn5">
|
||||
<equation>H(m) + OH(m) [=] H2O(m) + (m)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>5.000000E+19</A>
|
||||
<b>0</b>
|
||||
<E units="kJ/mol">40.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>H(m):1.0 OH(m):1</reactants>
|
||||
<products>H2O(m):1.0 (m):1</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction metal-rxn6 -->
|
||||
<reaction reversible="yes" type="surface" id="metal-rxn6">
|
||||
<equation>OH(m) + OH(m) [=] H2O(m) + O(m)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>5.000000E+20</A>
|
||||
<b>0</b>
|
||||
<E units="kJ/mol">100.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>OH(m):2.0</reactants>
|
||||
<products>H2O(m):1.0 O(m):1</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction oxide-vac -->
|
||||
<reaction reversible="yes" type="surface" id="oxide-vac">
|
||||
<equation>(ox) + Ox [=] VO** + O''(ox)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>5.000000E+05</A>
|
||||
<b>0.0</b>
|
||||
<E units="kJ/mol">0.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>(ox):1.0 Ox:1</reactants>
|
||||
<products>O''(ox):1 VO**:1.0</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction oxide-water -->
|
||||
<reaction reversible="yes" type="surface" id="oxide-water">
|
||||
<equation>H2O(ox) [=] H2O + (ox)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>1.000000E+14</A>
|
||||
<b>0.0</b>
|
||||
<E units="kJ/mol">0.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>H2O(ox):1.0</reactants>
|
||||
<products>H2O:1.0 (ox):1</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction oxide-oh -->
|
||||
<reaction reversible="yes" type="surface" id="oxide-oh">
|
||||
<equation>H2O(ox) + O''(ox) [=] OH'(ox) + OH'(ox)</equation>
|
||||
<rateCoeff>
|
||||
<Arrhenius>
|
||||
<A>1.000000E+13</A>
|
||||
<b>0.0</b>
|
||||
<E units="kJ/mol">0.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>H2O(ox):1.0 O''(ox):1</reactants>
|
||||
<products>OH'(ox):2.0</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction edge-f2 -->
|
||||
<reaction reversible="yes" type="edge" id="edge-f2">
|
||||
<equation>H(m) + O''(ox) [=] (m) + electron + OH'(ox)</equation>
|
||||
<rateCoeff>
|
||||
<electrochem beta="0.5"/>
|
||||
<Arrhenius>
|
||||
<A>5.000000E+10</A>
|
||||
<b>0.0</b>
|
||||
<E units="kJ/mol">120.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>O''(ox):1 H(m):1.0</reactants>
|
||||
<products>OH'(ox):1 electron:1 (m):1.0</products>
|
||||
</reaction>
|
||||
|
||||
<!-- reaction edge-f3 -->
|
||||
<reaction reversible="yes" type="edge" id="edge-f3">
|
||||
<equation>O(m) + (ox) + 2 electron [=] (m) + O''(ox)</equation>
|
||||
<rateCoeff>
|
||||
<electrochem beta="0.5"/>
|
||||
<Arrhenius>
|
||||
<A>5.000000E+10</A>
|
||||
<b>0.0</b>
|
||||
<E units="kJ/mol">120.000000</E>
|
||||
</Arrhenius>
|
||||
</rateCoeff>
|
||||
<reactants>(ox):1 O(m):1.0 electron:2.0</reactants>
|
||||
<products>O''(ox):1 (m):1.0</products>
|
||||
</reaction>
|
||||
</reactionData>
|
||||
</ctml>
|
||||
Loading…
Add table
Reference in a new issue