ReactionMechanismGenerator / ReactionMechanismGenerator/RMG-Py
Non-deterministic choice between ring(Cyclopropene) and ring(oxirene) ?
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 530
- Forks
- 260
- Avg merge
- 3d 1h
- Merged PRs (30d)
- 8
Description
Bug Description
Comments on several pull requests have noticed some non-identical thermo in the rmg/nitrogen test in the regression tests. It shows up something like this:
Non-identical thermo!
original: O1[C]=N1
tested: O1[C]=N1
Hf(300K) |S(300K) |Cp(300K) |Cp(400K) |Cp(500K) |Cp(600K) |Cp(800K) |Cp(1000K) |Cp(1500K)
129.73| 51.79| 9.14| 9.59| 9.99| 10.34| 10.90| 11.38| 12.40
154.90| 56.55| 9.79| 9.15| 8.58| 8.33| 9.02| 10.26| 10.96
thermo: Thermo group additivity estimation: missing(O2s-CdN3d) + group(N3s-CsHH) + group(Cds-CdsCsCs) + ring(Cyclopropene) + radical(Cds_P)
thermo: Thermo group additivity estimation: missing(O2s-CdN3d) + group(N3s-CsHH) + group(Cds-CdsCsCs) + ring(oxirene) + radical(Cds_P)
It appears in comments on these separate pull requests:
- https://github.com/ReactionMechanismGenerator/RMG-database/pull/255#issuecomment-374435434
- https://github.com/ReactionMechanismGenerator/RMG-database/pull/257#issuecomment-374014008
- https://github.com/ReactionMechanismGenerator/RMG-Py/pull/1357#issuecomment-387726781
- https://github.com/ReactionMechanismGenerator/RMG-Py/pull/1276#issuecomment-375012342
- https://github.com/ReactionMechanismGenerator/RMG-Py/pull/1894#issuecomment-676613335
- https://github.com/ReactionMechanismGenerator/RMG-Py/pull/2136#issuecomment-855178962
The diff may appear in other pull requests but without anyone delving into the logs and commenting.
It is mostly just mentioned and then ignored, although @goldmanm discussed it briefly here
One species had different thermo [C]1=NO1, which was due to whether RMG used the group additivity value of ring(Cyclopropene) or ring(oxirene), a 30 kcal difference. Neither of these groups is likely giving accurate values for the thermo, but the change either shows some indeterminate nature of RMG or that we are losing resonance structures in the simulation with these changes.
I suspect it's an indeterminate behaviour.
How To Reproduce
Look at the logs of the automated regression tests, or (presumably) estimate the thermo of O1[C]=N1 a bunch of times.
Expected Behavior
Thermo of O1[C]=N1 would be consistent.
Installation Information
Describe your installation method and system information.
- detected by reading regression logs, so whatever is in Travis
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.
Research direction
Start with the rmg/nitrogen regression-test logs and repeatedly estimate the thermo of O1[C]=N1, comparing whether ring(Cyclopropene) or ring(oxirene) is selected. Trace the thermo group additivity choice and the related pull-request discussions; done means the species receives consistent thermo and the regression tests no longer report non-identical values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- python
- Domain
- backend
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 35/100