
# Trough mechanism from 'S. J. Harris and D. G. Goodwin, 'Growth on
# the reconstructed diamond (100) surface, 'J. Phys. Chem. vol. 97,
# 23-28 (1993). reactions a - t are taken directly from Table II,
# with thermochemistry from Table IV. Reaction u is added here.


units(length = 'cm', quantity = 'mol', act_energy = 'kcal/mol')

#------------- the gas -------------------------------------

ideal_gas(name = 'gas',
          elements = 'H C',
          species = 'gri30: H H2 CH3 CH4',
          initial_state = state(
              temperature = 1200.0,
              pressure = 20.0 * OneAtm / 760.0,
              mole_fractions = 'H:0.002, H2:0.988, CH3:0.0002, CH4:0.01',
          )
)

#------------- bulk diamond -------------------------------------

stoichiometric_solid(name = 'diamond',
                     elements = 'C',
                     density = (3.52, 'g/cm3'),
                     species = 'C(d)')

species(name = 'C(d)',
        atoms = 'C:1')  # no thermo needed (reaction is irreversible)

#------------- the diamond surface -------------------------------------

ideal_interface(name = 'diamond_100',
                elements = 'H C',
                species = 'c6HH c6H* c6*H c6** c6HM c6HM* c6*M c6B ',
                reactions = 'all',
                phases = 'gas diamond',
                site_density = (3.0E-9, 'mol/cm2'),
                initial_state = state(temperature = 1200.0,
                                      coverages = 'c6H*:0.1, c6HH:0.9'))

# an empty surface site
species(name = 'c6H*',
        atoms = 'H:1',
        thermo = const_cp(h0 = (51.7, 'kcal/mol'),
                          s0 = (19.5, 'cal/mol/K')))

species(name = 'c6*H',
        atoms = 'H:1',
        thermo = const_cp(h0 = (46.1, 'kcal/mol'),
                          s0 = (19.9, 'cal/mol/K')))

# a hydrogen-terminated site
species(name = 'c6HH',
        atoms = 'H:2',
        thermo = const_cp(h0 = (11.4, 'kcal/mol'),
                          s0 = (21.0, 'cal/mol/K')))

species(name = 'c6HM',
        atoms = 'C:1 H:4',
        thermo = const_cp(h0 = (26.9, 'kcal/mol'),
                          s0 = (40.3, 'cal/mol/K')))

species(name = 'c6HM*',
        atoms = 'C:1 H:3',
        thermo = const_cp(h0 = (65.8, 'kcal/mol'),
                          s0 = (40.1, 'cal/mol/K')))

species(name = 'c6*M',
        atoms = 'C:1 H:3',
        thermo = const_cp(h0 = (53.3, 'kcal/mol'),
                          s0 = (38.9, 'cal/mol/K')))

species(name = 'c6**',
        atoms = 'C:0',
        thermo = const_cp(h0 = (90.0, 'kcal/mol'),
                          s0 = (18.4, 'cal/mol/K')))

species(name = 'c6B',
        atoms = 'H:2 C:1',
        thermo = const_cp(h0 = (40.9, 'kcal/mol'),
                          s0 = (26.9, 'cal/mol/K')))

surface_reaction('c6HH + H   <=> c6H* + H2',   [1.3E14, 0.0, 7.3])  # a
surface_reaction('c6H* + H   <=> c6HH',        [1.0E13, 0.0, 0.0])  # b
surface_reaction('c6H* + CH3 <=> c6HM',        [5.0E12, 0.0, 0.0])  # c
surface_reaction('c6HM + H   <=> c6*M + H2',   [1.3E14, 0.0, 7.3])  # d
surface_reaction('c6*M + H   <=> c6HM',        [1.0E13, 0.0, 0.0])  # e
surface_reaction('c6HM + H   <=> c6HM* + H2',  [2.8E7,  2.0, 7.7])  # f
surface_reaction('c6HM* + H  <=> c6HM',        [1.0E13, 0.0, 0.0])  # g
surface_reaction('c6HM*      <=> c6*M',        [1.0E8,  0.0, 0.0])  # h
surface_reaction('c6HM* + H  <=> c6H* + CH3',  [3.0E13, 0.0, 0.0])  # i
surface_reaction('c6HM* + H  <=> c6B + H2',    [1.3E14, 0.0, 7.3])  # k
surface_reaction('c6*M + H   <=> c6B + H2',    [2.8E7,  2.0, 7.7])  # l
surface_reaction('c6HH + H   <=> c6*H + H2',   [1.3E14, 0.0, 7.3])  # m
surface_reaction('c6*H + H   <=> c6HH',        [1.0E13, 0.0, 0.0])  # m
surface_reaction('c6H* + H   <=> c6** + H2',   [1.3E14, 0.0, 7.3])  # o
surface_reaction('c6** + H   <=> c6H*',        [1.0E13, 0.0, 0.0])  # p
surface_reaction('c6*H + H   <=> c6** + H2',   [4.5E6,  2.0, 5.0])  # q
surface_reaction('c6** + H   <=> c6*H',        [1.0E13, 0.0, 0.0])  # r
surface_reaction('c6** + CH3 <=> c6*M',        [5.0E12, 0.0, 0.0])  # s
surface_reaction('c6H*       <=> c6*H',        [1.0E8,  0.0, 0.0])  # t

# reaction to add new carbon atom to bulk and regenerate a new site
#
surface_reaction('c6B         => c6HH + C(d)', [1.0E9,  0.0, 0.0])  # u
