Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
21 commits
Select commit Hold shift + click to select a range
6a0e8d7
adding Surface_Abstraction_Charge_Separation
kirkbadger18 Apr 10, 2026
11c9dc6
rescricting to not find C c-1 p0
kirkbadger18 Apr 10, 2026
7a0e479
adding the other 3 families with charge separation
kirkbadger18 Apr 10, 2026
4b02d07
restricting children so they are not more general
kirkbadger18 Apr 13, 2026
ba6dd12
trying to remove N,C,H,O subgroups
kirkbadger18 Apr 13, 2026
2399d75
fixed name/groups to point to correct groups
kirkbadger18 Apr 13, 2026
8c6b6db
trying to remove lower nodes
kirkbadger18 Apr 13, 2026
29db483
reorder recipe
kirkbadger18 Apr 13, 2026
cadbf94
trying just the separation fams
kirkbadger18 Apr 13, 2026
ca2e5bf
adding diss charge single back
kirkbadger18 Apr 13, 2026
abef8b2
trying to isolate further
kirkbadger18 Apr 14, 2026
4574255
changing recipee order
kirkbadger18 Apr 14, 2026
c51a81d
getting rid of charge change
kirkbadger18 Apr 14, 2026
9114fac
adding back the last family wiht no charge change now
kirkbadger18 Apr 14, 2026
62a9188
updating rules and rule descriptions
kirkbadger18 Apr 14, 2026
1a7f830
updating recommended.py
kirkbadger18 Apr 14, 2026
d3a43bf
testing no modify charges in recipe, maybe this is handled now?
kirkbadger18 Apr 14, 2026
c576e53
this is what the recipe needs to look like to find forward and revers…
kirkbadger18 Apr 15, 2026
b99cd6c
switching RHmm I get -95.03 printed out from RMG to N
kirkbadger18 Apr 15, 2026
123937c
Merge branch 'ReactionMechanismGenerator:main' into new_surface_nitro…
kirkbadger18 Apr 17, 2026
4e6f71f
Using Val5, and opening RMG-Py #2929
kirkbadger18 Apr 17, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
@@ -0,0 +1,80 @@
#!/usr/bin/env python
# encoding: utf-8

name = "Surface_Abstraction_Charge_Separation/groups"
shortDesc = u""
longDesc = u"""
Two adsorbates react. One has multiple bonds to the surface, the other has a
bond to the surface and to some functional group with charge separation
across the bond. The functional group is transferred to the multiple-bonded
species.

*1 *4[-]-*3[+] *1=*4 *3
||| | ----> | |
~*2~~ + ~*5~~ ~*2~ + ~*5~~

The rate, which should be in mol/m2/s,
will be given by k * (mol/m2) * (mol/m2)
so k should be in (m2/mol/s)
"""

template(reactants=["Abstracting", "Donating"], products=["Abstracted", "Donated"], ownReverse=False)

reactantNum=2
productNum=2

recipe(actions=[
['FORM_BOND', '*1', 1, '*4'],
['BREAK_BOND', '*3', 1, '*4'],
['CHANGE_BOND', '*1', 1, '*4'],
['CHANGE_BOND', '*1', -1, '*2'],
['CHANGE_BOND', '*1', -1, '*2'],
['LOSE_PAIR','*4','1'],
['GAIN_PAIR', '*3', '1'],
['LOSE_CHARGE','*3','1'],
['GAIN_CHARGE', '*4', '1'],
])

entry(
index = 1,
label = "Abstracting",
group =
"""
1 *1 R!H u0 px c0 {2,[T,Q]}
2 *2 Xo u0 p0 c0 {1,[T,Q]}
""",
kinetics = None,
)

entry(
index = 2,
label="Donating",
group =
"""
1 *4 R!H u0 p[1,2,3] c-1 {2,S}
2 *3 Val5 u0 p0 c+1 {1,S} {3,[S,D]} {4,[S,D]}
3 *5 Xo u0 p0 c0 {2,[S,D]}
4 R u0 px c0 {2,[S,D]}
""",
kinetics = None,
)


tree(
"""
L1: Abstracting
L1: Donating
"""
)

forbidden(
label = "Surf",
group =
"""
1 *4 R!H u0 p[1,2,3] c-1 {2,S} {5,[S,D,T]}
2 *3 Val5 u0 p0 c+1 {1,S} {3,[S,D]} {4,[S,D]}
3 *5 Xo u0 p0 c0 {2,[S,D]}
4 R u0 px c0 {2,[S,D]}
5 Xo u0 c0 {1,[S,D,T]}
""",
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/usr/bin/env python
# encoding: utf-8

name = "Surface_Abstraction_Charge_Separation/rules"
shortDesc = u""
longDesc = u"""
"""
entry(
index = 1,
label = "Abstracting;Donating",
kinetics = SurfaceArrheniusBEP(
A = (2.20e21, 'cm^2/(mol*s)'),
n = 0,
alpha = 0.52,
E0 = (126, 'kJ/mol'),
Tmin = (200, 'K'),
Tmax = (3000, 'K'),
),
rank = 0,
shortDesc = u"""Default""",
longDesc = u"""
This BEP is created from a mixture of data in literature taken from the following papers:

Ma and Schneider
https://doi.org/10.1021/acscatal.8b04251

Gomez-Díaz and Lopez
https://pubs.acs.org/doi/10.1021/jp1093349

Farberow et al.
https://doi.org/10.1021/cs500668k

Deng et al.
https://pubs.rsc.org/en/content/articlelanding/2014/ra/c3ra46544f

and the current manuscript in progress by Badger et al. looking at the effects
of NO on the light out curves for hydrocarbons.
""",
)
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
@@ -0,0 +1,79 @@
#!/usr/bin/env python
# encoding: utf-8

name = "Surface_Abstraction_Charge_Single/groups"
shortDesc = u""
longDesc = u"""
Two adsorbates react. One has multiple bonds to the surface, the other has a
bond to the surface and some functional group with charge separation across it,
and a functional group with no charge separation. The one with no separation is
transferred to the multiple-bonded species.

*1 *4-*3[+]-*6[-] *1-*4 *3=*6
|| || ----> | |
~*2~~ + ~*5~~ ~*2~ + ~*5~~

The rate, which should be in mol/m2/s,
will be given by k * (mol/m2) * (mol/m2)
so k should be in (m2/mol/s)
"""

template(reactants=["Abstracting", "Donating"], products=["Abstracted", "Donated"], ownReverse=False)

reactantNum=2
productNum=2

recipe(actions=[
['FORM_BOND', '*1', 1, '*4'],
['BREAK_BOND', '*3', 1, '*4'],
['CHANGE_BOND', '*1', -1, '*2'],
['CHANGE_BOND', '*3', 1, '*6'],
['CHANGE_BOND', '*3', -1, '*5'],
['LOSE_PAIR','*6','1'],
['GAIN_PAIR', '*3', '1'],
['LOSE_CHARGE','*3','1'],
['GAIN_CHARGE', '*6', '1'],
])

entry(
index = 1,
label = "Abstracting",
group =
"""
1 *1 R!H u0 px c0 {2,[D,T,Q]}
2 *2 Xo u0 p0 c0 {1,[D,T,Q]}
""",
kinetics = None,
)

entry(
index = 2,
label="Donating",
group =
"""
1 *4 R u0 px c0 {2,S}
2 *3 Val5 u0 p0 c+1 {1,S} {3,D} {4,S}
3 *5 Xo u0 p0 c0 {2,D}
4 *6 R!H u0 p[1,2,3] c-1 {2,S}
""",
kinetics = None,
)

tree(
"""
L1: Abstracting
L1: Donating
"""
)

forbidden(
label = "Surface_Atom",
group =
"""
1 *4 R u0 px c0 {2,S} {5,[S,D,T]}
2 *3 Val5 u0 p0 c+1 {1,S} {3,D} {4,S}
3 *5 Xo u0 p0 c0 {2,D}
4 *6 R!H u0 p[1,2,3] c-1 {2,S}
5 Xo u0 c0 {1,[S,D,T]}
""",
)
39 changes: 39 additions & 0 deletions input/kinetics/families/Surface_Abstraction_Charge_Single/rules.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/usr/bin/env python
# encoding: utf-8

name = "Surface_Abstraction_Charge_Single/rules"
shortDesc = u""
longDesc = u"""
"""
entry(
index = 1,
label = "Abstracting;Donating",
kinetics = SurfaceArrheniusBEP(
A = (2.20e21, 'cm^2/(mol*s)'),
n = 0,
alpha = 0.52,
E0 = (126, 'kJ/mol'),
Tmin = (200, 'K'),
Tmax = (3000, 'K'),
),
rank = 0,
shortDesc = u"""Default""",
longDesc = u"""
This BEP is created from a mixture of data in literature taken from the following papers:

Ma and Schneider
https://doi.org/10.1021/acscatal.8b04251

Gomez-Díaz and Lopez
https://pubs.acs.org/doi/10.1021/jp1093349

Farberow et al.
https://doi.org/10.1021/cs500668k

Deng et al.
https://pubs.rsc.org/en/content/articlelanding/2014/ra/c3ra46544f

and the current manuscript in progress by Badger et al. looking at the effects
of NO on the light out curves for hydrocarbons.
""",
)
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

Original file line number Diff line number Diff line change
@@ -0,0 +1 @@

24 changes: 12 additions & 12 deletions input/kinetics/families/Surface_Adsorption_Single/groups.py
Original file line number Diff line number Diff line change
Expand Up @@ -248,15 +248,15 @@
""",
)

forbidden(
label = "chargedSpecies",
group =
"""
1 *1 R u1 c[+1,-1]
""",
shortDesc = u"""""",
longDesc =
u"""
The adsorbing atom should not have a charge
""",
)
# forbidden(
# label = "chargedSpecies",
# group =
# """
# 1 *1 R u1 c[+1,-1]
# """,
# shortDesc = u"""""",
# longDesc =
# u"""
# The adsorbing atom should not have a charge
# """,
# )
Original file line number Diff line number Diff line change
@@ -0,0 +1,76 @@
#!/usr/bin/env python
# encoding: utf-8

name = "Surface_Dissociation_Charge_Separation/groups"
shortDesc = u""
longDesc = u"""
Surface bond fission of one species into two distinct adsorbates.
Atom *1 is bonded to the surface (*3). The image below shows a single bond,
but single and double are possible. What matters is that the bond
between *1 and *2 must be single and have charge separation across it.

*1[+]--*2[-] *1 *2
| ----> | ||
~*3~ + ~*4~~ ~*3~ + ~*4~~

The rate, which should be in mol/m2/s,
will be given by k * (mol/m2) * (mol/m2)
so k should be in (m2/mol/s)
"""

template(reactants=["Combined", "VacantSite"], products=["Adsorbate1", "Adsorbate2"], ownReverse=False)

reverse = "Surface_Association_Charge_Separation"

reactantNum=2
productNum=2

recipe(actions=[
['BREAK_BOND', '*1', 1, '*2'],
['FORM_BOND', '*2', 1, '*4'],
['CHANGE_BOND', '*2', 1, '*4'],
['LOSE_PAIR','*2','1'],
['GAIN_PAIR', '*1', '1'],
['LOSE_CHARGE','*1','1'],
['GAIN_CHARGE', '*2', '1'],
])

entry(
index = 1,
label = "Combined",
group =
"""
1 *1 Val5 u0 p0 c+1 {2,S} {3,[S,D]}
2 *2 R!H u0 p[1,2,3] c-1 {1,S}
3 *3 Xo u0 p0 c0 {1,[S,D]}
""",
kinetics = None,
)

entry(
index = 2,
label="VacantSite",
group =
"""
1 *4 Xv u0 p0 c0
""",
kinetics = None,
)

tree(
"""
L1: Combined
L1: VacantSite
"""
)

forbidden(
label = "Surf",
group =
"""
1 *1 Val5 u0 p0 c+1 {2,S} {3,[S,D]}
2 *2 R!H u0 p[1,2,3] c-1 {1,S} {4,[S,D,T]}
3 *3 Xo u0 p0 c0 {1,[S,D]}
4 Xo u0 c0 {2,[S,D,T]}
""",
)
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
#!/usr/bin/env python
# encoding: utf-8

name = "Surface_Dissociation_Charge_Separation/rules"
shortDesc = u""
longDesc = u"""
"""
entry(
index = 1,
label = "Combined;VacantSite",
kinetics = SurfaceArrheniusBEP(
A = (9.88e21, 'cm^2/(mol*s)'),
n = 0,
alpha = 0.52,
E0 = (126, 'kJ/mol'),
Tmin = (200, 'K'),
Tmax = (3000, 'K'),
),
rank = 0,
shortDesc = u"""Default""",
longDesc = u"""
This BEP is created from a mixture of data in literature taken from the following papers:

Ma and Schneider
https://doi.org/10.1021/acscatal.8b04251

Gomez-Díaz and Lopez
https://pubs.acs.org/doi/10.1021/jp1093349

Farberow et al.
https://doi.org/10.1021/cs500668k

Deng et al.
https://pubs.rsc.org/en/content/articlelanding/2014/ra/c3ra46544f

and the current manuscript in progress by Badger et al. looking at the effects
of NO on the light out curves for hydrocarbons.
"""
)
Binary file not shown.
Binary file not shown.
Original file line number Diff line number Diff line change
@@ -0,0 +1,3 @@
#!/usr/bin/env python
# encoding: utf-8

Loading
Loading