Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
22 commits
Select commit Hold shift + click to select a range
acb4f17
adding Surface_Abstraction_Charge_Separation
kirkbadger18 Apr 10, 2026
00750fb
rescricting to not find C c-1 p0
kirkbadger18 Apr 10, 2026
2d73924
adding the other 3 families with charge separation
kirkbadger18 Apr 10, 2026
bba4396
restricting children so they are not more general
kirkbadger18 Apr 13, 2026
7192a7f
trying to remove N,C,H,O subgroups
kirkbadger18 Apr 13, 2026
d55f1df
fixed name/groups to point to correct groups
kirkbadger18 Apr 13, 2026
019d76b
trying to remove lower nodes
kirkbadger18 Apr 13, 2026
749836b
reorder recipe
kirkbadger18 Apr 13, 2026
9bfc43e
trying just the separation fams
kirkbadger18 Apr 13, 2026
635b025
adding diss charge single back
kirkbadger18 Apr 13, 2026
4294ead
trying to isolate further
kirkbadger18 Apr 14, 2026
05f61e7
changing recipee order
kirkbadger18 Apr 14, 2026
805f03f
getting rid of charge change
kirkbadger18 Apr 14, 2026
a12eac3
adding back the last family wiht no charge change now
kirkbadger18 Apr 14, 2026
370c152
updating rules and rule descriptions
kirkbadger18 Apr 14, 2026
2a531ae
updating recommended.py
kirkbadger18 Apr 14, 2026
58cf0f8
testing no modify charges in recipe, maybe this is handled now?
kirkbadger18 Apr 14, 2026
a772b64
this is what the recipe needs to look like to find forward and revers…
kirkbadger18 Apr 15, 2026
146826d
switching RHmm I get -95.03 printed out from RMG to N
kirkbadger18 Apr 15, 2026
a0a2d85
Using Val5, and opening RMG-Py #2929
kirkbadger18 Apr 17, 2026
379f6ef
Updating drawings for reactions
kirkbadger18 Apr 29, 2026
3d2d394
Updated bond in animation, and updated the templates to having matchi…
kirkbadger18 May 11, 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.
Comment thread
sevyharris marked this conversation as resolved.
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