-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Creation of surface species with charge separation more than one atom apart. #2716
Comments
There's a lot of smaller issues here that probably warrant more discussion. However, I think your more fundamental issue is that the Surface_Monodentate_to_Bidentate template allows the participating atoms to have any charge, which makes this a reaction. If you require the participating atoms to be uncharged in the template the charge separated resonance structure will not react with that template. |
I made a PR that fixes this issue. |
In discussion today, Kirk described an issue with using this recipe (noted in the comments to PR #2717)
Currently using the top level node
I think this is what's happening: Ideally the atom *1 is labeled as having a charge +1 and atom *2 is labeled as having charge -1, to restrict when this template can apply:
But then when the recipe is used to create the reverse template, it doesn't know to decrement or increment the charge on the wildcard atom types, so the reverse template is still looking for charged atoms. And it never finds the reverse reaction. The recipe should probably have INCREMENT_CHARGE and DECREMENT_CHARGE actions, which would hopefully then generate the correct reverse template, when the forward template has specified charges. If this turns out to be correct analysis, then I suggest we try to add tests to RMG-Py/test/database |
Hello,
I have been starting to work with nitrogenous surface species and have been seeing something odd and unintentional happening. It seems that RMG is applying reaction templates that do not fit which results in charge separated species with the charges more than one atom apart.
If I work on the main branch of the database and rmg-py, and run RMG with the following script, I see it predict this reaction:
input.zip
This reaction violates the reaction template of Surface_Monodentate_to_Bidentate. My thought is that somehow RMG is finding a resonant structure of the monodentate, where the O has a negative charge and the N has a positive charge, and is then applying the template to that species?
If this is the case, is there a way to turn this off? As I am starting to work with nitrogen species, I am building my own recipes that are able to create/remove charge separation for some species (*NO2 --> *NO + *O), but my recipes are clashing with these species where the charge separation exists over more than one atom.
If it is important to keep these resonant forms of adsorbates, then we will need to find a way to create recipes that can preform surface transformations on them. If we take the species the above reaction produces:
We would need a recipe that could dissociate the bidentate bond, or dissociate the oxygen, dissociate a hydrogen, or any number of operations. Each would need to be able to move loan pairs around to remove or create these charges.
I am curious what path we should go down. Should we remove this type of resonance for surface species, or keep it and figure out how to manipulate charge separated adsorbates more generally where the charges can be separated by more than one atom? At least for the meantime it would be useful for me to disable this type of resonance (assuming resonance is doing this). Would anyone have an idea of how to do this at least locally?
Thank you,
Kirk
The text was updated successfully, but these errors were encountered: