Skip to content

Formate families#729

Open
bjkreitz wants to merge 5 commits into
mainfrom
formate_families
Open

Formate families#729
bjkreitz wants to merge 5 commits into
mainfrom
formate_families

Conversation

@bjkreitz
Copy link
Copy Markdown
Contributor

@bjkreitz bjkreitz commented May 21, 2026

I added new families for formate and other similar species that are bidentate species with a vdW_bond. This PR needs to be reviewed in tandem with RMG-Py PR#2706.

I added the following families:

  • Surface_Monodentate_to_vdW_Bidentate, example: [X]OC(H)O + [X] -> [X]~OC(H)O[X]
  • Surface_Dissociation_vdW_Bidentate, example: [X]~OC(H)O[X] -> [X]O + O=C[X]H
  • Surface_Dissociation_vdW_Bidentate_Beta, example: [X]~OC(H)O[X] -> OCO.[X] + H[X]
  • Surface_Abstraction_vdW_Bidentate_Beta, example: [X]~OC(H)O[X] + O=[X]-> OCO.[X] + O[X] + [X]

This is by no means complete and formate can undergo further reactions. However, it should cover some of the most relevant reaction types.
I still have to clean the families up and provide reasonable kinetic parameters, but this allows testing of the RMG-Py PR.
Here is an input file that can be used input.py

I had to get a little creative with the reaction templates since RMG cannot form vdW_bonds. For example, take a look at the template for Surface_Dissociation_vdW_Bidentate:

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

RMG cannot break a bond between *3 and *5 since there is technically no bond. The workaround is to first increment the bond order to form a single bond and then break it. Here is the recipe:

recipe(actions=[
    ['CHANGE_BOND', '*1', 1, '*4'],
    ['BREAK_BOND', '*1', 1, '*2'],
    ['CHANGE_BOND', '*3', 1, '*5'],
    ['BREAK_BOND', '*3', 1, '*5'],
    ['FORM_BOND', '*2', 1, '*5'],
])

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant