-
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
KineticsError: Unable to calculate degeneracy in reaction family 1,2_Insertion_carbene #619
Comments
Comparing the issues you linked it seems like that is spot on - just triggered by a different group. |
These errors are usually related to problems within the kinetic groups where the reaction can get formed in one direction but not the other. You'd probably have to debug while in the |
Thanks for the extra information. Any more explicit suggestions as to how I could go about doing that? What do you think about adding forbidden species for specific groups? (Karl mentioned they can be defined per group.) |
I added this line of code: https://github.com/ReactionMechanismGenerator/RMG-Py/blob/master/rmgpy/data/kinetics/family.py#L1330 which should actually debug the case where a forbidden structure is found in one direction but not the other. So RMG will progress if such a case is found and simply skip the reaction because if it's forbidden in one direction, it should probably be forbidden in the other direction. Regarding forbidden species, there are 2 types: global and family specific. Globally forbidden structures are in |
@connie so I guess "hacking out" the troublemaking species via forbidden species isn't a good idea. I have turned off the carbene library for now to see where it goes... @rwest Thank you for changing the title - this is much more informative. |
In the case of the From looking at your case more specifically, it is because RMG is detecting 2 transition states, producing 2 reactions rather than one. The reaction families recognizes the kekulized benzene double vs single bonds differently so it's treating the cyclic transition state as 2 distinct transition states, even though there should only be one since the bonds in benzene are equivalent. Since we consider the resonance isomers (both kekulized and aromatized) a single species, RMG thinks there should only be one reaction. So therein lies the conflict. There should only be 1 reaction, but the family says there's two and can't collapse them together. I think the long term fix would have to be to create separate aromatic families, or to create new aromatic groups within the current families. Otherwise you could hack a fix by taking the kinetics of only the first reaction. |
@connie Thanks for the detailed reply (coming back to it after the weekend) which means I now at least understand where the error is coming from. I guess I will need to see which course of action I will take with my colleagues. |
OK, so I switched off the carbene library as there is no literature evidence to suggest it would apply to my case in the liquid phase. (not dealing with ionic liquids or the relevant initiators) And I got an error again - which to me sounds very much like the issue you described. In fact, RMG reports that it expected 1 reaction and found two. This is the error output (don't think the rest of the log is needed)
Incidentally, RMG Java has an issue with the species called Reactant2 as well and fails, however only with a less informative Species = Species message. |
Followup query: Would it be possible to disable a biradical in a reaction family as to avoid the problematic species altogether? Obviously I cannot disable global biradicals as this clashes with oxygen - however that is the only biradical that is reasonable for the liquid phase systems I am looking at. |
I would not recommend using RMG-Java anymore, since it is no longer developed. Also it has a tendency to silently squash chemistry errors from my experience. Yes, you can disable the birad in that specific reaction family if you just want to run it again. Simply convert the entire molecule into a group and paste it into that family's |
Disabling a single biradical wouldn't help as RMG is very creative at finding a different one. One can at The other issue that remains is the point you originally raised about two reactions being found where one is expected. |
Banning birads entirely sounds dangerous. The error is raised here: https://github.com/ReactionMechanismGenerator/RMG-Py/blob/master/rmgpy/data/kinetics/family.py#L1327 If |
@connie Thanks. I'm looking at the code and am trying to figure out how RMG-Py is actually written.... Is So where are the Arrhenius parameters estimated? Does this take place elsewhere? |
Yes and yes. Reaction objects also contain kinetics and other specific information, like degeneracy. Arrhenius parameters are estimated in the We just pulled in code that allows multiple transition states. Feel free to reopen if this doesn't solve the issue |
This error occurred on a forked build - so I then ran it on (an older) regular RMG-Py install and obtained the same error...
At the end of the mechanism, RMG just fails creating an unexpected biradical as well as phenol and a cresol...
Output from the RMG job including error at the end
out.log.txt
(This could potentially be fixed in a newer build of RMG - and it may also be related to a similarly funny issue in RMG Java where two identical biradicals lead to an error termination.)
The text was updated successfully, but these errors were encountered: