ReactionMechanismGenerator / RMG-Py

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

Duplicate reaction from different libraries make it into the model when only one of the reactions is ThirdBody #2350

Closed alongd closed 1 year ago

alongd commented 1 year ago

Bug Description

We ran RMG with primaryH2O2 and JetSurF2.0, and got the following reactions in the core:


! Reaction index: Chemkin #267; RMG #4198
! Library reaction: JetSurF2.0
! Flux pairs: H2O(7), H2O(7); H(3), H2(4); H(3), H2(4); 
H(3)+H(3)+H2O(7)=H2(4)+H2O(7)                       5.624000e+19 -1.250    0.000    

! Reaction index: Chemkin #251; RMG #9
! Library reaction: primaryH2O2
! Flux pairs: H(3), H2(4); H(3), H2(4); 
H(3)+H(3)+M=H2(4)+M                                 7.000e+17 -1.000    0.000    
Ar/0.00/ H2(4)/0.00/ H(3)/0.00/ H2O(7)/14.30/ 

Cantera complained that these are duplicate reactions:

CanteraError: 
*******************************************************************************
InputFileError thrown by Kinetics::checkDuplicates:
Undeclared duplicate reactions detected:
Reaction 264: 2 H(3) + M <=> H2(4) + M
Reaction 248: 2 H(3) + H2O(7) <=> H2(4) + H2O(7)
*******************************************************************************

Cantera is "correct" since the general reaction H(3)+H(3)+M=H2(4)+M also considers H2O as the collider (it's efficiency is not set to 0.

How To Reproduce

Run a model with both libraries that involves oxidation.

Expected Behavior

We expect that if a general reaction was added from one library (the +M reaction), then a specific reaction with a specific collider from another library will not be added. If the reverse occurs it is more problematic, yet we should (?) assume that each library is self-consistent and does not include only a single specific collider reaction without the "mother reaction".

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.