-
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
RMG-Py cannot find multiple transition states #142
Comments
A better plan would be to fetch kinetics for every match, then group them and increase degeneracy for ones with identical kinetics (same matching nodes) leaving duplicate reactions when necessary (different temperature dependencies)? |
Attempted a preliminary fix here: connie@82b4098, going with keeping the different reaction paths as separate reactions rather than combining the kinetics into an MultiArrhenius reaction like in Java. There's still several issues:
|
Any thoughts, @jwallen? |
…templates. Preliminary fix for #142 Instead of calculating degeneracies first, find reaction templates after generating reactions, then combine degenerate reactions only if reaction templates match. These isomorphic reactions remain separate (unlike in RMG-Java) in case someday we want to calculate the separate transition states. The reactions are added to the core and printed to chemkin as duplicates. Issues still remaining: - How to identify the correct reverse reaction when having multiple TS's. My solution is to match the correct reaction pairs- but this only works in the case of a bimolecular A+B=C+D reaction. If the reaction is unimolecular, the reaction pairs will be the same and the correct path cannot be distinguished. - If kinetics are identical, they should be combined through degeneracy, in this commit they remain as duplicates.
…templates. Preliminary fix for #142 Instead of calculating degeneracies first, find reaction templates after generating reactions, then combine degenerate reactions only if reaction templates match. These isomorphic reactions remain separate (unlike in RMG-Java) in case someday we want to calculate the separate transition states. The reactions are added to the core and printed to chemkin as duplicates. Issues still remaining: - How to identify the correct reverse reaction when having multiple TS's. My solution is to match the correct reaction pairs- but this only works in the case of a bimolecular A+B=C+D reaction. If the reaction is unimolecular, the reaction pairs will be the same and the correct path cannot be distinguished. - If kinetics are identical, they should be combined through degeneracy, in this commit they remain as duplicates.
fixed with #1055 |
This issue came up after investigations for issue #140 RMG-Py cannot find multiple transition states when reactants and products are identical. For instance in the following reaction between tertiary and primary isobutyl radical we only find one reaction rate (RMG-Java will predict both transition state and generate duplicate reactions):
http://dev.rmg.mit.edu/database/kinetics/reaction/reactant1=1%20C%200%20%7B2,S%7D%20%7B3,S%7D%20%7B4,S%7D;2%20C%200%20%7B1,S%7D;3%20C%200%20%7B1,S%7D;4%20C%201%20%7B1,S%7D;__reactant2=1%20C%200%20%7B4,S%7D;2%20C%200%20%7B4,S%7D;3%20C%200%20%7B4,S%7D;4%20C%201%20%7B1,S%7D%20%7B2,S%7D%20%7B3,S%7D;__product1=1%20C%200%20%7B2,S%7D%20%7B3,S%7D%20%7B4,S%7D;2%20C%200%20%7B1,S%7D;3%20C%200%20%7B1,S%7D;4%20C%200%20%7B1,S%7D;__product2=1%20C%200%20%7B3,S%7D;2%20C%200%20%7B3,S%7D;3%20C%200%20%7B1,S%7D%20%7B2,S%7D%20%7B4,D%7D;4%20C%200%20%7B3,D%7D;
I believe this is due to the reaction degeneracy being increased after checking that reactants and products are identical without regard to different atom labels leading to potentially different reaction templates. (https://github.com/GreenGroup/RMG-Py/blob/master/rmgpy/data/kinetics/family.py#L1437) After the degeneracy is counted, only the very first retained reaction's template gets used to fetch kinetics.
The text was updated successfully, but these errors were encountered: