ReactionMechanismGenerator / RMG-Py

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

Singlet O2 generated in a PDepNetwork #944

Closed alongd closed 6 years ago

alongd commented 7 years ago

During network exploration, a singlet oxygen was generated:

Exploring isomer O(N=[N])[O](137) in pressure-dependent network #293
Generating kinetics for new reactions...
Updating 1 modified unimolecular reaction networks (out of 306)...
Updating PDepNetwork #293
Warning: Statmech node 'O_R0' and all its parents have data = None
Warning: Statmech node 'N_R0' and all its parents have data = None
Warning: Statmech node 'O_R1' and all its parents have data = None
Warning: Statmech node 'R!Hx1' and all its parents have data = None
Warning: Maximum number of iterations reached when fitting spectral data for O(N=[N])[O].
Warning: Statmech node 'N_R0' and all its parents have data = None
Warning: Statmech node 'R!Hx1' and all its parents have data = None
Warning: Statmech node 'O_R1' and all its parents have data = None
========================================================================
293 network information
-----------------------
Isomers:
    O(N=[N])[O](137)                                      244.797 kJ/mol
Reactant channels:
    O2(2) + [N]=[N](146)                                  285.084 kJ/mol
    N2(3) + O2(2)                                        -17.2899 kJ/mol
Product channels:
    N2(3) + O=O(382)                                      99.9582 kJ/mol
    O(5) + N1=NO1(383)                                     389.45 kJ/mol
    O(5) + N(=[N])[O](147)                                 627.36 kJ/mol
Path reactions:
    O2(2) + [N]=[N](146) <=> O(N=[N])[O](137)             285.536 kJ/mol
    N2(3) + O2(2) <=> O(N=[N])[O](137)                    244.797 kJ/mol
    O(N=[N])[O](137) <=> N2(3) + O=O(382)                 244.797 kJ/mol
    O(N=[N])[O](137) <=> O(5) + N1=NO1(383)               391.459 kJ/mol
    O(5) + N(=[N])[O](147) <=> O(N=[N])[O](137)            627.36 kJ/mol
========================================================================

Where O2(2) is the triplet form, and O=O(382) is of course the singlet form. (Singlet oxygen wasn't allowed in the RMG input file, but from what I saw this forbids O=O as an input species, but not its formation.)

I ended up with a singlet <-> triplet oxygen conversion reaction in the core: N2(3)+O2(382)(+M)=N2(3)+O2(2)(+M), as well as other reactions where the singlet O2 reacts: C2H2(22)+O2(382)(+M)=O(5)+C2H2O(337)(+M).

I'm not entirely sure what to make out of it (perhaps it's not an error after all, but I certainly didn't expect that).

I ran on the SOxNOx branch with the attached input file. I don't recall changing something that might have directly affected the formation of O=O, but I also only saw this behavior on my branches.

input.txt

alongd commented 6 years ago

Solved via https://github.com/ReactionMechanismGenerator/RMG-database/pull/239 (singlet O2 may still be formed, but it is generally treated by the O=O => [O][O] pathway. We might want to add a kinetic library for O=O such as from https://doi.org/10.1023/A:1022564500133 if its exact treatment becomes important)