-
Notifications
You must be signed in to change notification settings - Fork 250
Fix lone pair thermo #808
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
Fix lone pair thermo #808
Conversation
If we're estimating via group additivity, a species with lone pair or biradical on the same atom should give the same thermo result. Testing on a cyclopropane birad C1C[C]1. Otherwise, we fall up to more general, erroneous groups since the lone pair form is not a radical, and it's not bonded to hydrogens.
to molecule. Since we're now doing it for both gas phase and solvation thermo estimation, and it was more of a molecule method anyway.
Before, we were doing the normal group additivity thermo on these species, but we don't have Benson groups for them. So we were falling up to general/ erroneous nodes.
|
@bslakman, thanks for your PR! By analyzing the history of the files in this pull request, we identified @nickvandewiele, @rwest and @jwallen to be potential reviewers. |
|
I have an alternate approach, even though you already coded all this up... You could make thermo entries in /thermo/group.py for the atoms with extra lone pairs and then just have them point towards the bi-radicals. I think this would be easier to "reverse" if we ever get better data. If you consider the database easier to read than the code (questionable), then it is probably more transparent than pre-processing under the hood. |
|
Hmm.. so actually I'd have to point them towards the species without any radicals? Because there is no data for biradicals in group.py (I think) because we do the stable species and then lookup the HBI correction in radical.py . Or we make a group in radical.py that's a lone pair. But we'd still have to know to do the HBI for lone pairs in the first place, which requires changing the actual code. What do you think? |
|
Okay yeah, what I said earlier doesn't make sense. I have one minor suggestion and one other possibly conflicting feature.
|
|
There is at least one system where carbons with lone pairs (singlet carbenes) are important: In propargyl radical recombination and rearrangement to make benzene (thought to be the major route from small molecules to aromatics) there are two singlet carbene intermediates on the surface that are critical to the overall pathway: and I would like RMG to find this pathway on its own, but it can't do that if the GAV thermo estimates for the above species are bad. Currently, as discussed by @bslakman and @nyee above, GAV thermo for singlet carbenes is way off because although HBI corrections exist in the database for singlet carbenes, they are never found by the current algorithm. So, for example, the thermo of a simple singlet carbene such as the following: is estimated by the following groups: Note two things:
Effectively, RMG is estimating the thermo for the singlet carbene above to be the same as for the following stable molecule (neopentane): Clearly this GAV calculation overestimates how stable the singlet carbene actually is. In contrast, the GAV calculation for triplet carbenes, such as: is much more accurate (compared to existing library calculations) because HBI corrections are accessed that have data. @bslakman 's suggestion of simply treating singlet carbenes as triplet carbenes (converting a lone pair into two unpaired electrons) may be a reasonable approximation. Certainly it would be better than how singlet carbenes are currently treated. However, @nyee thinks it might be possible to keep singlet and triplet carbenes distinct, and have both access their respective HBI corrections. I think this would be the preferred approach. Once the HBI corrections for singlet carbenes can be accessed, I can add in some new corrections based on the calculated thermo for the two cyclic species above. |
|
Closing because this is out of date and most likely incompatible with ReactionMechanismGenerator/RMG-database#206 and #1206. |







This pull request fixes #792. Now RMG will convert lone pairs to biradicals for the purpose of finding thermo via group additivity.
There are no Benson groups for the lone pair atoms, so we end up falling up the thermo group tree to inappropriate groups since they are neither radicals nor are they attached to hydrogens. This is the same thing we decided to do for solvation in #364, since there are no Platts groups for the lone pair species. The better thing would be to add groups for these or put some of these molecules in a library, but for Carbon, we may not encounter many of these molecules anyway.
Now there is no Cp discontinuity when searching for the problematic molecule - this is what I get when I run the website with this version of RMG-Py for cyclopropane with a lone pair on two of the carbons:
