Skip to content

RMG including extra duplicate reactions #2896

@sevyharris

Description

@sevyharris

Bug Description

RMG is putting more copies of a reaction into my mechanism than I expect:

Image

Specifically, it's giving me 4 copies of this intra_H_migration reaction, when there should only be 2.

How To Reproduce

Run RMG for 5 minutes using this input file to get this mechanism file/dictionary.

input.txt

chem_annotated.txt
species_dictionary.txt

Summary Code

import rmgpy.chemkin

chemkin_path = 'proof_run/chemkin/chem_annotated.inp'
species_dict = 'proof_run/chemkin/species_dictionary.txt'
species_list, reaction_list = rmgpy.chemkin.load_chemkin_file(chemkin_path, species_dict, check_duplicates=False)

for i in range(len(reaction_list)):
    if reaction_list[i].is_isomorphic(reaction_list[286]):
        print(i, reaction_list[286])
        print(reaction_list[i].kinetics)
        print()

Output

269 CC(O[O])C(C)OO(138) <=> [CH2]C(OO)C(C)OO(153)
Arrhenius(A=(3.18e+08,'s^-1'), n=1.06, Ea=(33.51,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 247 used for R4H_SSS_O(Cs)Cs;O_rad_out;Cs_H_out_2H
Exact match found for rate rule [R4H_SSS_O(Cs)Cs;O_rad_out;Cs_H_out_2H]
Euclidian distance = 0
Multiplied by reaction path degeneracy 3.0
family: intra_H_migration""")

270 CC(O[O])C(C)OO(138) <=> [CH2]C(OO)C(C)OO(153)
Arrhenius(A=(2.034e+07,'s^-1'), n=1.35, Ea=(20.84,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 256 used for R5H_SSSS_OCC_C;O_rad_out;Cs_H_out_2H
Exact match found for rate rule [R5H_SSSS_OCC_C;O_rad_out;Cs_H_out_2H]
Euclidian distance = 0
Multiplied by reaction path degeneracy 3.0
family: intra_H_migration""")

285 CC(O[O])C(C)OO(138) <=> [CH2]C(OO)C(C)OO(153)
Arrhenius(A=(3.18e+08,'s^-1'), n=1.06, Ea=(33.51,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 247 used for R4H_SSS_O(Cs)Cs;O_rad_out;Cs_H_out_2H
Exact match found for rate rule [R4H_SSS_O(Cs)Cs;O_rad_out;Cs_H_out_2H]
Euclidian distance = 0
Multiplied by reaction path degeneracy 3.0
family: intra_H_migration""")

286 CC(O[O])C(C)OO(138) <=> [CH2]C(OO)C(C)OO(153)
Arrhenius(A=(3.18e+08,'s^-1'), n=1.06, Ea=(33.51,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 247 used for R4H_SSS_O(Cs)Cs;O_rad_out;Cs_H_out_2H
Exact match found for rate rule [R4H_SSS_O(Cs)Cs;O_rad_out;Cs_H_out_2H]
Euclidian distance = 0
Multiplied by reaction path degeneracy 3.0
family: intra_H_migration""")

Expected Behavior

I would expect RMG to only include two versions of this reaction because there are only 2 possible methyl groups from which the O radical can steal a Hydrogen. This leads to path degeneracy of 3 for each reaction, but there are still only 2 distinct ways to do this. You can see there are only 2 distinct kinetics estimates.

Installation Information

Describe your installation method and system information.

  • OS: Ubuntu 24.04.4 LTS
  • Installation method: source
  • RMG version information:
    • RMG-Py: c2d1cee
    • RMG-database: 6bbe93aa278b21e18770f23dd57d23d37c94fbe2

Additional Context

I believe there may be more examples of this in my mechanism

I'm not the best at doing symmetry/molecule rotations in my head, so maybe I missed something and there are 4 distinct ways to do this reaction that can't be covered by the path degeneracy?

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions