ReactionMechanismGenerator / RMG-Py

Python version of the amazing Reaction Mechanism Generator (RMG).
http://reactionmechanismgenerator.github.io/RMG-Py/
Other
394 stars 227 forks source link

Template rate estimation matching issue #1560

Open mjohnson541 opened 5 years ago

mjohnson541 commented 5 years ago

[O]OCCCOO <=> OO[CH]CCOO

Note this reaction has two distinct TS's. And there are two hydrogens that can be involved in each kind of TS. in the propane_branching example this gives the following reactions in RMG:

! Reaction index: Chemkin #386; RMG #1090
! Template reaction: intra_H_migration
! Flux pairs: S(148), S(264);
! Matched reaction 295 C3H7O4-5 <=> C3H7O4-6 in intra_H_migration/training
! This reaction matched rate rule [R3H_SS_O;O_rad_out;Cs_H_out_H/(NonDeC/Cs)]
! family: intra_H_migration
S(148)=S(264)                                       2.590000e+04 1.900     18.800
DUPLICATE

! Reaction index: Chemkin #387; RMG #1092
! Template reaction: intra_H_migration
! Flux pairs: S(148), S(264);
! Matched reaction 295 C3H7O4-5 <=> C3H7O4-6 in intra_H_migration/training
! This reaction matched rate rule [R5H_SSSS_OCC;O_rad_out;Cs_H_out_OOH/H]
! family: intra_H_migration
S(148)=S(264)                                       2.590000e+04 1.900     18.800
DUPLICATE

! Reaction index: Chemkin #388; RMG #1516
! Template reaction: intra_H_migration
! Flux pairs: S(148), S(264);
! Matched reaction 295 C3H7O4-5 <=> C3H7O4-6 in intra_H_migration/training
! This reaction matched rate rule [R3H_SS_O;O_rad_out;Cs_H_out_H/(NonDeC/Cs)]
! family: intra_H_migration
S(148)=S(264)                                       2.590000e+04 1.900     18.800
DUPLICATE

! Reaction index: Chemkin #389; RMG #1517
! Template reaction: intra_H_migration
! Flux pairs: S(148), S(264);
! Matched reaction 295 C3H7O4-5 <=> C3H7O4-6 in intra_H_migration/training
! This reaction matched rate rule [R5H_SSSS_OCC;O_rad_out;Cs_H_out_OOH/H]
! family: intra_H_migration
S(148)=S(264)                                       2.590000e+04 1.900     18.800
DUPLICATE

! Reaction index: Chemkin #390; RMG #1571
! Template reaction: intra_H_migration
! Flux pairs: S(148), S(264);
! Matched reaction 295 C3H7O4-5 <=> C3H7O4-6 in intra_H_migration/training
! This reaction matched rate rule [R3H_SS_O;C_rad_out_H/NonDeC;O_H_out]
! family: intra_H_migration
S(148)=S(264)                                       2.590000e+04 1.900     18.800
DUPLICATE

! Reaction index: Chemkin #391; RMG #1572
! Template reaction: intra_H_migration
! Flux pairs: S(148), S(264);
! Matched reaction 295 C3H7O4-5 <=> C3H7O4-6 in intra_H_migration/training
! This reaction matched rate rule [R5H_SSSS;C_rad_out_H/NonDeO;O_H_out]
! family: intra_H_migration
S(148)=S(264)                                       2.590000e+04 1.900     18.800
DUPLICATE

I expected this to give me two reactions with distinct rates with degeneracy 2.0 or four reactions half of which have one rate, half a different rate. It seems that the Matched reaction is overriding reactions even when they have different template labels and it seems we are getting three because for each of the real TS's we're getting three templates two of which are identical (the ones we expect) and one additional template we don't expect.

mliu49 commented 5 years ago

This is correct (but likely undesirable) behavior, and it is a result of how the family templates are defined. There are 4 matches in the forward direction, due to 2 backbone lengths and 2 different template matches for the CH site (which seems odd, but you'll need to look at the groups to figure out exactly why). There are an additional 2 matches in the reverse direction, due to 2 backbone lengths. These were likely reversed when creating the reaction to keep it in the exothermic direction and kept because they have different templates.

They all have the same rate because it matched a training reaction, but this would be very undesirable if the training reaction is the "overall" rate, though it would be more complicated if the training reaction was only for one TS.

I do think this is an important discovery, and we should definitely figure out what we would like RMG to do in such cases.

mjohnson541 commented 5 years ago

When we add automatic tree generation we won't have backbone labels anymore for intra_H_migration, that won't solve the training reaction issue, but I believe that will solve the template issue?

github-actions[bot] commented 1 year ago

This issue is being automatically marked as stale because it has not received any interaction in the last 90 days. Please leave a comment if this is still a relevant issue, otherwise it will automatically be closed in 30 days.

github-actions[bot] commented 1 year ago

This issue is being automatically marked as stale because it has not received any interaction in the last 90 days. Please leave a comment if this is still a relevant issue, otherwise it will automatically be closed in 30 days.