ReactionMechanismGenerator / RMG-Py

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

Regression test model comparison tool attributes wrong reaction family? #2492

Open rwest opened 1 year ago

rwest commented 1 year ago

Bug Description

The regression test is reporting for liquid_oxidation-core.log

Test model has 37 species.
Original model has 37 species.
Test model has 216 reactions.
Original model has 215 reactions.
The tested model has 1 reactions that the original model does not have.
rxn: CCO[O](29) <=> [OH](22) + CC=O(69)     origin: intra_H_migration

similarly for liquid_oidation-edge.log

The original model has 1 reactions that the tested model does not have.
rxn: CCO[O](29) <=> C[CH]OO(73)     origin: intra_H_migration
The tested model has 1 reactions that the original model does not have.
rxn: CCO[O](29) <=> [OH](22) + CC=O(69)     origin: intra_H_migration

The family intra_H_migration is meant to be intra-molecular Hydrogen migration, meaning a hydrogen atom migrates within a molecule. It should be a unimolecular reaction. The image is intra_H_migration

The reaction above has two products:

CCO[O](29) <=> [OH](22) + CC=O(69)

Clearly it shouldn't come from intra_H_migration, like it claims.

Perhaps it comes from a pressure dependent network, one reaction of which is intra_H_migration?

So maybe the bug is just in the comparer tool used by the regression testing misinterpreting the comments on the reaction? Or perhaps the comments are being written incorrectly?

Anyway, there's a bug somewhere.

How To Reproduce

Run the liquid_oxidation regression test. Could also inspect the logs in the artifacts of any recent test run, eg. full results (31mb) or just the diff (15kb).

I suggest looking at the annotated chemkin file from the full logs to see what comment is being put on that reaction.

Expected Behavior

The results of the model diff wouldn't be confusingly attributing a bimolecular reaction to origin: intra_H_migration.

mjohnson541 commented 1 year ago

This is a result of the radical decay framework (https://github.com/ReactionMechanismGenerator/RMG-Py/blob/main/rmgpy/rmg/decay.py). The only current recipe is the Q.OOH. Broadly Q.OOH species either don't exist or are highly unstable so instead of forming them we should be automatically decaying them into Q=O + [OH]. However, it looks like somehow we sometimes are not doing that.

This was also noted in: https://github.com/ReactionMechanismGenerator/RMG-Py/discussions/2476.

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.

JacksonBurns commented 1 year ago

This is an apparent bug, adding to the project board for triage.