"""
 =====================================================================
 *              Stanford H2/O2 Mechanism version 1.2                 *
 *       Zekai Hong, David F. Davidson, and Ronald K. Hanson         *
 *                       October 31, 2010                            *
 =====================================================================

 ----------------------    How to cite   -----------------------------
       An Improved H2/O2 Mechanism based on
 Recent Shock Tube/Laser Absorption Measurements
 Zekai Hong, David F. Davidson, Ronald K. Hanson
 Combust. Flame (2010), doi:10.1016/j.combustflame.2010.10.002

 -------------      To make suggestions:       -----------------------
 Zekai Hong:			zekai.hong@gmail.com
 Dr. David Davidson: 		dfd@stanford.edu
 Prof. Ronald K. Hanson:	rkhanson@stanford.edu
 ------------         Happy modeling!          -----------------------


 =====================================================================
 *              Stanford H2/O2 Mechanism version 1.2                 *
 *       Zekai Hong, David F. Davidson, and Ronald K. Hanson         *
 *                       October 31, 2010                            *
 =====================================================================

 ----------------------    How to cite   -----------------------------
       An Improved H2/O2 Mechanism based on
 Recent Shock Tube/Laser Absorption Measurements
 Zekai Hong, David F. Davidson, Ronald K. Hanson
 Combust. Flame (2010), doi:10.1016/j.combustflame.2010.10.002

 -------------      To make suggestions:       -----------------------
 Zekai Hong:			zekai.hong@gmail.com
 Dr. David Davidson: 		dfd@stanford.edu
 Prof. Ronald K. Hanson:	rkhanson@stanford.edu
 ------------         Happy modelling!         -----------------------


"""

units(length='cm', time='s', quantity='mol', act_energy='cal/mol')

ideal_gas(name='gas',
          elements="O H N Ar",
          species="""H2    H     O     O2    OH    H2O   HO2   H2O2  N2
                     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.34433112E+00,  7.98052075E-03, -1.94781510E-05,
                       2.01572094E-08, -7.37611761E-12, -9.17935173E+02,
                       6.83010238E-01]),
                NASA([1000.00, 3500.00],
                     [ 3.33727920E+00, -4.94024731E-05,  4.99456778E-07,
                      -1.79566394E-10,  2.00255376E-14, -9.50158922E+02,
                      -3.20502331E+00])),
        transport=gas_transport(geom='linear',
                                diam=2.92,
                                well_depth=38.0,
                                polar=0.79,
                                rot_relax=280.0),
        note='TPIS78')

species(name='H',
        atoms='H:1',
        thermo=(NASA([200.00, 1000.00],
                     [ 2.50000000E+00,  7.05332819E-13, -1.99591964E-15,
                       2.30081632E-18, -9.27732332E-22,  2.54736599E+04,
                      -4.46682853E-01]),
                NASA([1000.00, 3500.00],
                     [ 2.50000001E+00, -2.30842973E-11,  1.61561948E-14,
                      -4.73515235E-18,  4.98197357E-22,  2.54736599E+04,
                      -4.46682914E-01])),
        transport=gas_transport(geom='atom',
                                diam=2.05,
                                well_depth=145.0),
        note='L7/88')

species(name='O',
        atoms='O:1',
        thermo=(NASA([200.00, 1000.00],
                     [ 3.16826710E+00, -3.27931884E-03,  6.64306396E-06,
                      -6.12806624E-09,  2.11265971E-12,  2.91222592E+04,
                       2.05193346E+00]),
                NASA([1000.00, 3500.00],
                     [ 2.56942078E+00, -8.59741137E-05,  4.19484589E-08,
                      -1.00177799E-11,  1.22833691E-15,  2.92175791E+04,
                       4.78433864E+00])),
        transport=gas_transport(geom='atom',
                                diam=2.75,
                                well_depth=80.0),
        note='L1/90')

species(name='O2',
        atoms='O:2',
        thermo=(NASA([200.00, 1000.00],
                     [ 3.78245636E+00, -2.99673416E-03,  9.84730201E-06,
                      -9.68129509E-09,  3.24372837E-12, -1.06394356E+03,
                       3.65767573E+00]),
                NASA([1000.00, 3500.00],
                     [ 3.28253784E+00,  1.48308754E-03, -7.57966669E-07,
                       2.09470555E-10, -2.16717794E-14, -1.08845772E+03,
                       5.45323129E+00])),
        transport=gas_transport(geom='linear',
                                diam=3.458,
                                well_depth=107.4,
                                polar=1.6,
                                rot_relax=3.8),
        note='TPIS89')

species(name='OH',
        atoms='H:1 O:1',
        thermo=(NASA([200.00, 1000.00],
                     [ 3.99201543E+00, -2.40131752E-03,  4.61793841E-06,
                      -3.88113333E-09,  1.36411470E-12,  3.37227356E+03,
                      -1.03925458E-01]),
                NASA([1000.00, 3500.00],
                     [ 3.09288767E+00,  5.48429716E-04,  1.26505228E-07,
                      -8.79461556E-11,  1.17412376E-14,  3.61585000E+03,
                       4.47669610E+00])),
        transport=gas_transport(geom='linear',
                                diam=2.75,
                                well_depth=80.0),
        note='RUS78')

species(name='H2O',
        atoms='H:2 O:1',
        thermo=(NASA([200.00, 1000.00],
                     [ 4.19864056E+00, -2.03643410E-03,  6.52040211E-06,
                      -5.48797062E-09,  1.77197817E-12, -3.02937267E+04,
                      -8.49032208E-01]),
                NASA([1000.00, 3500.00],
                     [ 3.03399249E+00,  2.17691804E-03, -1.64072518E-07,
                      -9.70419870E-11,  1.68200992E-14, -3.00042971E+04,
                       4.96677010E+00])),
        transport=gas_transport(geom='nonlinear',
                                diam=2.605,
                                well_depth=572.4,
                                dipole=1.844,
                                rot_relax=4.0),
        note='L8/89')

species(name='HO2',
        atoms='H:1 O:2',
        thermo=(NASA([200.00, 1000.00],
                     [ 4.30179807E+00, -4.74912097E-03,  2.11582905E-05,
                      -2.42763914E-08,  9.29225225E-12,  2.64018485E+02,
                       3.71666220E+00]),
                NASA([1000.00, 5000.00],
                     [ 4.17228741E+00,  1.88117627E-03, -3.46277286E-07,
                       1.94657549E-11,  1.76256905E-16,  3.10206839E+01,
                       2.95767672E+00])),
        transport=gas_transport(geom='nonlinear',
                                diam=3.458,
                                well_depth=107.4,
                                rot_relax=1.0),
        note='T1/09')

species(name='H2O2',
        atoms='H:2 O:2',
        thermo=(NASA([200.00, 1000.00],
                     [ 4.27611269E+00, -5.42822417E-04,  1.67335701E-05,
                      -2.15770813E-08,  8.62454363E-12, -1.77025821E+04,
                       3.43505074E+00]),
                NASA([1000.00, 3500.00],
                     [ 4.16500285E+00,  4.90831694E-03, -1.90139225E-06,
                       3.71185986E-10, -2.87908305E-14, -1.78617877E+04,
                       2.91615662E+00])),
        transport=gas_transport(geom='nonlinear',
                                diam=3.458,
                                well_depth=107.4,
                                rot_relax=3.8),
        note='L7/88')

species(name='N2',
        atoms='N:2',
        thermo=(NASA([300.00, 1000.00],
                     [ 3.29867700E+00,  1.40824040E-03, -3.96322200E-06,
                       5.64151500E-09, -2.44485400E-12, -1.02089990E+03,
                       3.95037200E+00]),
                NASA([1000.00, 5000.00],
                     [ 2.92664000E+00,  1.48797680E-03, -5.68476000E-07,
                       1.00970380E-10, -6.75335100E-15, -9.22797700E+02,
                       5.98052800E+00])),
        transport=gas_transport(geom='linear',
                                diam=3.621,
                                well_depth=97.53,
                                polar=1.76,
                                rot_relax=4.0),
        note='121286')

species(name='AR',
        atoms='Ar:1',
        thermo=(NASA([300.00, 1000.00],
                     [ 2.50000000E+00,  0.00000000E+00,  0.00000000E+00,
                       0.00000000E+00,  0.00000000E+00, -7.45375000E+02,
                       4.36600000E+00]),
                NASA([1000.00, 5000.00],
                     [ 2.50000000E+00,  0.00000000E+00,  0.00000000E+00,
                       0.00000000E+00,  0.00000000E+00, -7.45375000E+02,
                       4.36600000E+00])),
        transport=gas_transport(geom='atom',
                                diam=3.33,
                                well_depth=136.5),
        note='120186')

#-------------------------------------------------------------------------------
# Reaction data
#-------------------------------------------------------------------------------
# -----------  R 1  -----------

# Reaction 1
reaction('H + O2 <=> O + OH', [1.040000e+14, 0.0, 15286.0])
# -----------  R 2  -----------

# Reaction 2
falloff_reaction('H + O2 (+ M) <=> HO2 (+ M)',
                 kf=[5.590000e+13, 0.2, 0.0],
                 kf0=[2.650000e+19, -1.3, 0.0],
                 efficiencies='H2O2:12.0 H2:2.5 AR:0.0 O2:0.0 H2O:0.0',
                 falloff=Troe(A=0.7, T3=1e-30, T1=1e+30, T2=1e+30))

# Reaction 3
falloff_reaction('H + O2 (+ AR) <=> HO2 (+ AR)',
                 kf=[5.590000e+13, 0.2, 0.0],
                 kf0=[6.810000e+18, -1.2, 0.0],
                 falloff=Troe(A=0.7, T3=1e-30, T1=1e+30, T2=1e+30))

# Reaction 4
falloff_reaction('H + O2 (+ O2) <=> HO2 (+ O2)',
                 kf=[5.590000e+13, 0.2, 0.0],
                 kf0=[5.690000e+18, -1.1, 0.0],
                 falloff=Troe(A=0.7, T3=1e-30, T1=1e+30, T2=1e+30))

# Reaction 5
falloff_reaction('H + O2 (+ H2O) <=> HO2 (+ H2O)',
                 kf=[5.590000e+13, 0.2, 0.0],
                 kf0=[3.700000e+19, -1.0, 0.0],
                 falloff=Troe(A=0.8, T3=1e-30, T1=1e+30, T2=1e+30))
#  Bates et al. / Baulch review
# -----------  R 3  -----------

# Reaction 6
falloff_reaction('H2O2 (+ M) <=> 2 OH (+ M)',
                 kf=[8.590000e+14, 0.0, 48560.0],
                 kf0=[9.550000e+15, 0.0, 42203.0],
                 efficiencies='H2O2:15.0 H2:2.5 AR:1.0 N2:1.5 H2O:15.0',
                 falloff=Troe(A=1.0, T3=1e-10, T1=10000000000.0, T2=10000000000.0))
# collider efficiency relative to Ar
#  high-pressure limit uses Sellevag's value
# -----------  R 4  -----------

# Reaction 7
reaction('OH + H2O2 <=> HO2 + H2O', [7.586000e+13, 0.0, 7269.0],
         options='duplicate')

# Reaction 8
reaction('OH + H2O2 <=> HO2 + H2O', [1.738000e+12, 0.0, 318.0],
         options='duplicate')
# -----------  R 5  -----------

# Reaction 9
reaction('OH + HO2 <=> H2O + O2', [2.890000e+13, 0.0, -500.0])
# -----------  R 6  -----------

# Reaction 10
reaction('2 HO2 <=> O2 + H2O2', [1.300000e+11, 0.0, -1603.0],
         options='duplicate')

# Reaction 11
reaction('2 HO2 <=> O2 + H2O2', [4.200000e+14, 0.0, 11980.0],
         options='duplicate')
# -----------  R 7  -----------

# Reaction 12
three_body_reaction('H2O + M <=> H + OH + M', [6.060000e+27, -3.31, 120770.0],
                    efficiencies='H2:3.0 N2:2.0 O2:1.5 H2O:0.0')
# relative to AR

# Reaction 13
reaction('H2O + H2O <=> OH + H + H2O', [1.000000e+26, -2.44, 120160.0])
# -----------  R 8  -----------

# Reaction 14
reaction('OH + OH <=> H2O + O', [3.570000e+04, 2.4, -2111.0])
#  Wooldridge et al. / Sutherland et al. / Hong et al.
# -----------  R 9  -----------

# Reaction 15
reaction('O + H2 <=> H + OH', [3.820000e+12, 0.0, 7948.0],
         options='duplicate')

# Reaction 16
reaction('O + H2 <=> H + OH', [8.790000e+14, 0.0, 19170.0],
         options='duplicate')
# -----------  R10  -----------

# Reaction 17
reaction('OH + H2 <=> H + H2O', [2.170000e+08, 1.52, 3457.0])
# -----------  R11  -----------
# Li et al./O Conaire et al.

# Reaction 18
reaction('H + HO2 <=> OH + OH', [7.080000e+13, 0.0, 300.0])
# -----------  R12  -----------

# Reaction 19
reaction('H + HO2 <=> H2O + O', [1.450000e+12, 0.0, 0.0])
# -----------  R13  -----------
# J.V. Michael et al.

# Reaction 20
reaction('H + HO2 <=> H2 + O2', [3.660000e+06, 2.087, -1450.0])
# -----------  R14  -----------

# Reaction 21
reaction('O + HO2 <=> OH + O2', [1.630000e+13, 0.0, -445.0])
# -----------  R15  -----------

# Reaction 22
reaction('H2O2 + H <=> HO2 + H2', [1.210000e+07, 2.0, 5200.0])
# -----------  R16  -----------

# Reaction 23
reaction('H2O2 + H <=> H2O + OH', [1.020000e+13, 0.0, 3577.0])
# -----------  R17  -----------

# Reaction 24
reaction('H2O2 + O <=> OH + HO2', [8.430000e+11, 0.0, 3970.0])
# -----------  R18  -----------

# Reaction 25
three_body_reaction('H2 + M <=> H + H + M', [5.840000e+18, -1.1, 104380.0],
                    efficiencies='H2:0.0 AR:1.0 N2:0.0 H2O2:14.4 O2:0.0 H2O:14.4')

# Reaction 26
reaction('H2 + H2 <=> H + H + H2', [9.030000e+14, 0.0, 96070.0])

# Reaction 27
reaction('H2 + N2 <=> H + H + N2', [4.580000e+19, -1.4, 104380.0])

# Reaction 28
reaction('H2 + O2 <=> H + H + O2', [4.580000e+19, -1.4, 104380.0])
# -----------  R19  -----------

# Reaction 29
three_body_reaction('O + O + M <=> O2 + M', [6.160000e+15, -0.5, 0.0],
                    efficiencies='H2O2:12.0 H2:2.5 AR:0.0 H2O:12.0')

# Reaction 30
reaction('O + O + AR <=> O2 + AR', [1.890000e+13, 0.0, -1788.0])
# -----------  R20  -----------

# Reaction 31
three_body_reaction('O + H + M <=> OH + M', [4.710000e+18, -1.0, 0.0],
                    efficiencies='H2O2:12.0 H2:2.5 AR:0.75 H2O:12.0')
