Open rwest opened 1 year ago
Probably a different bug but it's similar symptom: The "failed regression comparison" artifact on this regression test run
Non-identical kinetics!
original:
rxn: NCO(66) <=> O1[C]=N1(126) origin: Intra_R_Add_Endocyclic
tested:
rxn: NCO(66) <=> O1[C]=N1(126) origin: Intra_R_Add_Endocyclic
k(1bar)|300K |400K |500K |600K |800K |1000K |1500K |2000K
k(T): | -66.25| -46.19| -34.19| -26.21| -16.28| -10.36| -2.54| 1.31
k(T): | -49.54| -33.65| -24.16| -17.85| -10.01| -5.35| 0.80| 3.82
Kinetics: Arrhenius(A=(6.95187e+18,'s^-1'), n=-1.628, Ea=(111.271,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H""")
Kinetics: Arrhenius(A=(6.95187e+18,'s^-1'), n=-1.628, Ea=(88.327,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H""")
Identical kinetics comments
at first I was surprised by the 10 orders of magnitude change in kinetics given that they used identical nodes, but then noticed it's because the thermo is different
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)
141.64| 58.66| 12.26| 12.27| 12.09| 11.96| 12.26| 12.72| 12.15
116.46| 53.90| 11.62| 12.71| 13.49| 13.96| 14.14| 13.85| 13.58
thermo: Thermo group additivity estimation: group(O2s-CdN3d) + group(N3d-OCd) + group(Cd-HN3dO) + ring(oxirene) + radical(CdJ-NdO)
thermo: Thermo group additivity estimation: group(O2s-CdN3d) + group(N3d-OCd) + group(Cd-HN3dO) + ring(Cyclopropene) + radical(CdJ-NdO)
it seems one matches oxirene and the other cyclopropene. ...which is exactly this issue: https://github.com/ReactionMechanismGenerator/RMG-Py/issues/2010
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.
I am broadening the scope of this issue since similar non-deterministic behavior has been detected in thermo estimations as well.
The 'good' news is that the examples are reproducible (consistent).
@xiaoruiDong has offered to investigate further (thanks!).
I think the kinetics issue would resolve if we restructured Peroxyl_Disproportionation to operate like R_Recombination, where the labels on each reactant are the same, doing that would be a matter of doing a find-replace on labels in the training dictionary file, adapting the top group, regenerating the tree and then tweaking some logic in the database (should be able to search for mentions of "R_Recombination" to find the locations).
@mjohnson541 let's catch up offline at some point about how to do this - we should document it for future devs as well.
Bug Description
The regression tests are showing up differences between models, when no relevant changes to RMG have been made. The differences seem to be random
and in a different model
See my comment https://github.com/ReactionMechanismGenerator/RMG-Py/pull/2452#issuecomment-1584973740
and Matt's reply https://github.com/ReactionMechanismGenerator/RMG-Py/pull/2452#issuecomment-1584990833
How To Reproduce
Run (or look at) the regression tests for a pull request that doesn't change RMG code (eg. it makes some other change). Two models built with identical code will have different results.
Expected Behavior
RMG results wouldn't be random.
Installation Information
Describe your installation method and system information.