ReactionMechanismGenerator / ReactionMechanismGenerator/RMG-Py
singlet oxygen getting added to mechanism through decay operation
@sevyharris is already working on this.
Since Sep 19, 2025.
- Dominant language
- Python
- Stars
- 530
- Forks
- 260
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 8
Description
Bug Description
I have a recent butane combustion mechanism that forms singlet oxygen through this R Recombination reaction:
! Reaction index: Chemkin #1259; RMG #87
! Template reaction: R_Recombination
! Flux pairs: OH(15), OH(15); O2(2), OH(15);
! Estimated from node Root_N-1R->H_N-1CNOS->N_1COS->O_Ext-1O-R_N-2R->C_N-3R!H->N_2OS->O in family R_Recombination.
! Multiplied by reaction path degeneracy 2.0
O2(2)+OH(15)<=>O2(52)+OH(15) 4.000000e+13 0.000 22.540
What happens is it forms the [O]OO radical and then decays according to the rmgpy.rmg.decay template.
This then causes more problems in the mechanism because it starts reacting the singlet oxygen with everything else.
How To Reproduce
chemkin file
input file
RMG log
species dictionary
Expected Behavior
I'm using the Burke O2+H2 seed mechanism, so I don't really want RMG guessing more O2 reactions. I don't expect singlet oxygen to end up in this mechanism.
Installation Information
Describe your installation method and system information.
- OS: Ubuntu
- Installation method: source
- RMG version information:
- RMG-Py: https://github.com/ReactionMechanismGenerator/RMG-Py/commit/6cf97c3f17b7a66dcbeb4747cd836f626c12f464
- RMG-database: 9ccc3952e0acef53cbbc7cd3be7558101da1a016
Additional Context
I'm not sure what the right approach is to fixing this. Some options from what I think are best to worst:
- Forbid singlet oxygen as a possible decay product in the decay module
- Forbid the undecayed [O]OO radical as a product in the R Recombination family
- Add a calculation of this reaction to R Recombination depository (or a copy of the reaction with zero kinetics) so RMG knows the rate should be much slower
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Assessment
This issue has not been assessed yet.