-
-
Notifications
You must be signed in to change notification settings - Fork 346
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Update diamond.cti and diamond_cvd.py
Replace data/inputs/diamond.cti with test_problems version that has more information. This results in a change in the default pressure and mole fractions of the gas phase, which in turn changes the result of one of the regression tests. This is fixed by setting the composition and pressure of the gas phase in the test to their original values. The default state from the CTI file matches from the paper. Include plotting in the diamond_cvd.py and use open properly.
- Loading branch information
1 parent
bfa5a66
commit 17a27be
Showing
4 changed files
with
103 additions
and
176 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,96 +1,107 @@ | ||
# simplified version of Harris and Goodwin diamond (100) growth | ||
# mechanism, J. Phys. Chem., 1993. | ||
|
||
# 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 = 1.0e3, | ||
mole_fractions = 'H:0.002, H2:1, CH4:0.01, CH3:0.0002')) | ||
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)') | ||
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'), | ||
site_density = (3.0E-9, 'mol/cm2'), | ||
initial_state = state(temperature = 1200.0, | ||
coverages = 'c6H*:0.1, c6HH:0.9')) | ||
|
||
species(name = 'C(d)', | ||
atoms = 'C:1', | ||
thermo = const_cp() ) | ||
|
||
# an empty surface site | ||
species(name = 'c6H*', | ||
atoms = 'H:1', | ||
thermo = const_cp(h0 = (51.7, 'kcal/mol'), s0 = (19.5, 'cal/mol/K') ) ) | ||
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') ) ) | ||
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(t0 = 1200.0, h0 = (11.4, 'kcal/mol'), | ||
s0 = (21.0, 'cal/mol/K')) | ||
) | ||
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') ) | ||
) | ||
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') ) | ||
) | ||
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') ) | ||
) | ||
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') ) | ||
) | ||
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]) # n | ||
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 | ||
surface_reaction('c6B => c6HH + C(d)', [1.0e9, 0.0, 0.0]) | ||
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.