Blowers-Masel fitting: changes and refactoring#2917
Blowers-Masel fitting: changes and refactoring#2917rwest wants to merge 19 commits intoReactionMechanismGenerator:mainfrom
Conversation
There was a problem hiding this comment.
Pull request overview
Note
Copilot was unable to run its full agentic suite in this review.
This PR refactors Blowers–Masel (BM) kinetics fitting and activation-energy evaluation to improve optimizer robustness, handle negative E0 more safely, and reject unreliable BM parameter fits.
Changes:
- Improve
curve_fitinitialization and fitting loop behavior forArrheniusBM/ArrheniusChargeTransferBM, including adaptivew0handling and reduced redundant computations. - Update activation energy evaluation to handle negative
E0, and simplify BM algebra forVp/ denominators. - Refactor kinetics family rule creation and reject BM fits with
abs(n) > 5by falling back to averaged kinetics with updated uncertainty handling.
Reviewed changes
Copilot reviewed 2 out of 2 changed files in this pull request and generated 7 comments.
| File | Description |
|---|---|
| rmgpy/kinetics/arrhenius.pyx | Updates BM activation-energy logic and refactors BM fitting (initial guesses, adaptive w0, unit handling, objective function). |
| rmgpy/data/kinetics/family.py | Refactors _make_rule, adds BM-fit rejection on abs(n)>5, and adjusts uncertainty/comment construction paths. |
|
I addressed co-pilot's comments. (Some via fixup commits that I have since rebased). |
Regression Testing Results
Detailed regression test results.Regression test aromatics:Reference: Execution time (DD:HH:MM:SS): 00:00:00:57 aromatics Passed Core Comparison ✅Original model has 15 species. aromatics Failed Edge Comparison ❌Original model has 106 species. Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-CsCsHH) + group(Cds-CdsCsCs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + Estimated bicyclic component: polycyclic(s2_3_5_ane) - ring(Cyclopropane) - ring(Cyclopentane) + ring(Cyclopentene) + ring(Cyclopropane) + polycyclic(s2_3_6_diene_0_3) + Estimated bicyclic component: polycyclic(s3_5_6_ane) - ring(Cyclopentane) - ring(Cyclohexane) + ring(Cyclopentene) + ring(1,4-Cyclohexadiene) - ring(Cyclopropane) - ring(Cyclopentene) - ring(1,4-Cyclohexadiene) + radical(cyclopentene-4) Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-CsCsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsHH) + group(Cds- Cds(Cds-Cds)Cs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + polycyclic(s2_3_5_ene_1) + polycyclic(s2_3_6_diene_1_3) + Estimated bicyclic component: polycyclic(s3_5_6_ane) - ring(Cyclopentane) - ring(Cyclohexane) + ring(Cyclopentene) + ring(1,3-Cyclohexadiene) - ring(Cyclopropane) - ring(Cyclopentene) - ring(1,3-Cyclohexadiene) + radical(cyclopentene-allyl) Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: DetailsObservables Test Case: Aromatics Comparison✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions! aromatics Passed Observable Testing ✅Regression test liquid_oxidation:Reference: Execution time (DD:HH:MM:SS): 00:00:02:02 liquid_oxidation Passed Core Comparison ✅Original model has 37 species. liquid_oxidation Failed Edge Comparison ❌Original model has 214 species. Non-identical kinetics! ❌
kinetics: DetailsObservables Test Case: liquid_oxidation Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions! liquid_oxidation Passed Observable Testing ✅Regression test nitrogen:Reference: Execution time (DD:HH:MM:SS): 00:00:01:05 nitrogen Failed Core Comparison ❌Original model has 41 species. Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: nitrogen Failed Edge Comparison ❌Original model has 133 species. Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(O2s-CdN3d) + group(N3d-OCd) + group(Cd-HN3dO) + ring(oxirene) + radical(CdJ-NdO) Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: DetailsObservables Test Case: NC Comparison✅ All Observables varied by less than 0.200 on average between old model and new model in all conditions! nitrogen Passed Observable Testing ✅Regression test oxidation:Reference: Execution time (DD:HH:MM:SS): 00:00:01:48 oxidation Failed Core Comparison ❌Original model has 59 species. Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: oxidation Failed Edge Comparison ❌Original model has 230 species. Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: DetailsObservables Test Case: Oxidation ComparisonThe following observables did not match: ❌ Observable species [OH] varied by more than 0.500 on average between old model OH(5) and new model OH(5) in condition 1.
oxidation Failed Observable Testing ❌Errors occurred during observable testing
WARNING:root:Initial mole fractions do not sum to one; normalizing.
|
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | 5.06 | 5.32 | 5.52 | 5.68 | 5.94 | 6.14 | 6.51 | 6.76 |
| k(T): | 6.64 | 6.51 | 6.47 | 6.47 | 6.54 | 6.62 | 6.82 | 7.00 |
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(-2.177,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
Identical kinetics comments:
kinetics: Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.
Non-identical kinetics! ❌
original:
rxn: SO(14) + HOSO(17) <=> SO2(15) + HSO(19) origin: Disproportionation
tested:
rxn: SO(14) + HOSO(17) <=> SO2(15) + HSO(19) origin: Disproportionation
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | 5.06 | 5.32 | 5.52 | 5.68 | 5.94 | 6.14 | 6.51 | 6.76 |
| k(T): | 6.64 | 6.51 | 6.47 | 6.47 | 6.54 | 6.62 | 6.82 | 7.00 |
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(-2.177,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
Identical kinetics comments:
kinetics: Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.
Non-identical kinetics! ❌
original:
rxn: SH(21) + OS=[SH](78) <=> H2S(1) + SS=O(60) origin: Disproportionation
tested:
rxn: SH(21) + OS=[SH](78) <=> H2S(1) + SS=O(60) origin: Disproportionation
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | 5.06 | 5.32 | 5.52 | 5.68 | 5.94 | 6.14 | 6.51 | 6.76 |
| k(T): | 6.64 | 6.51 | 6.47 | 6.47 | 6.54 | 6.62 | 6.82 | 7.00 |
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(-2.177,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
Identical kinetics comments:
kinetics: Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.
Non-identical kinetics! ❌
original:
rxn: HSS(35) + HOSO(17) <=> SO2(15) + HSSH(36) origin: Disproportionation
tested:
rxn: HSS(35) + HOSO(17) <=> SO2(15) + HSSH(36) origin: Disproportionation
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | 5.06 | 5.32 | 5.52 | 5.68 | 5.94 | 6.14 | 6.51 | 6.76 |
| k(T): | 6.64 | 6.51 | 6.47 | 6.47 | 6.54 | 6.62 | 6.82 | 7.00 |
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(-2.177,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
Identical kinetics comments:
kinetics: Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.
Details
Observables Test Case: SO2 Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
sulfur Passed Observable Testing ✅
Regression test superminimal:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:26
Current: Execution time (DD:HH:MM:SS): 00:00:00:27
Reference: Memory used: 945.23 MB
Current: Memory used: 945.12 MB
superminimal Passed Core Comparison ✅
Original model has 13 species.
Test model has 13 species. ✅
Original model has 21 reactions.
Test model has 21 reactions. ✅
superminimal Passed Edge Comparison ✅
Original model has 18 species.
Test model has 18 species. ✅
Original model has 28 reactions.
Test model has 28 reactions. ✅
Regression test RMS_constantVIdealGasReactor_superminimal:
Reference: Execution time (DD:HH:MM:SS): 00:00:03:03
Current: Execution time (DD:HH:MM:SS): 00:00:02:28
Reference: Memory used: 2426.72 MB
Current: Memory used: 2344.11 MB
RMS_constantVIdealGasReactor_superminimal Passed Core Comparison ✅
Original model has 13 species.
Test model has 13 species. ✅
Original model has 19 reactions.
Test model has 19 reactions. ✅
RMS_constantVIdealGasReactor_superminimal Passed Edge Comparison ✅
Original model has 13 species.
Test model has 13 species. ✅
Original model has 19 reactions.
Test model has 19 reactions. ✅
Details
Observables Test Case: RMS_constantVIdealGasReactor_superminimal Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
RMS_constantVIdealGasReactor_superminimal Passed Observable Testing ✅
Regression test RMS_CSTR_liquid_oxidation:
Reference: Execution time (DD:HH:MM:SS): 00:00:30:34
Current: Execution time (DD:HH:MM:SS): 00:00:27:20
Reference: Memory used: 2707.26 MB
Current: Memory used: 3241.25 MB
RMS_CSTR_liquid_oxidation Failed Core Comparison ❌
Original model has 35 species.
Test model has 35 species. ✅
Original model has 140 reactions.
Test model has 135 reactions. ❌
The original model has 7 species that the tested model does not have. ❌
spc: CCCC(C)O(47)
spc: CCCCCO
spc: CC=O(87)
spc: CCCC=O(88)
spc: [CH2]CCC(C)O(93)
spc: CC=CC(C)OO(97)
spc: CC(CC(C)OO)OO
The tested model has 7 species that the original model does not have. ❌
spc: CCH2
spc: C=CC(19)
spc: C[CH]C(CC)OO(31)
spc: CC[CH]C(C)OO(35)
spc: [CH2]C(CCC)OO(36)
spc: CC[CH]CCOO(64)
spc: [CH2]CCCCOO(66)
The original model has 45 reactions that the tested model does not have. ❌
rxn: [O]O(13) + [CH2]CCCC(12) <=> CCCCCOO(78) origin: R_Recombination
rxn: [OH](26) + [OH](26) <=> OO(23) origin: R_Recombination
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + CCCCCO[O](61) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [O]O(13) + [CH2]CCCC(12) <=> OO(23) + C=CCCC(17) origin: Disproportionation
rxn: CC=O(87) + [CH2]CC(5) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: [OH](26) + CCCC(C)OO(24) <=> O(42) + CCCC(C)O[O](20) origin: H_Abstraction
rxn: [OH](26) + CCCC(C)OO(24) <=> O(42) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: CCCC(C)OO(24) + CCCCCOO(78) <=> O(42) + CCCC(C)[O](44) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(24) <=> [OH](26) + O(42) + CCCC(C)O[O](20) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(24) <=> [O]O(13) + O(42) + CCCC(C)[O](44) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](26) + CCC(CC)OO(25) <=> O(42) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: OO(23) + CCC(CC)OO(25) <=> [OH](26) + O(42) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + CCCCCO[O](61) origin: H_Abstraction
rxn: OO(23) + CCCCCOO(78) <=> [OH](26) + O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + OO(23) <=> [OH](26) + [O]O(13) + O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)[O](44) <=> [CH2]CCC(C)O(93) origin: intra_H_migration
rxn: [CH3](10) + CCCC=O(88) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](44) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(24) <=> C[CH]CC(C)OO(37) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(25) <=> CCC(CC)O[O](21) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(47) origin: H_Abstraction
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> CC(CC(C)OO)O[O](100) origin: R_Recombination
rxn: [OH](26) + CCC(CC)OO(25) <=> O(42) + [CH2]CC(CC)OO(32) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(25) <=> [CH2]CC(CC)OO(32) + CCCC(C)O(47) origin: H_Abstraction
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + CC=CC(C)OO(97) origin: Disproportionation
rxn: [O]O(13) + C[CH]CCCOO(65) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + C[CH]CCCOO(65) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + C[CH]CCCOO(65) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]CCCOO(65) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CCCOO(65) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> C[CH]CCCOO(65) + CCCC(C)O(47) origin: H_Abstraction
rxn: [OH](26) + CCCCC[O](79) <=> CCCCCOO(78) origin: R_Recombination
rxn: CCCC(C)OO(24) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCCC(C)O[O](20) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(25) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCCCOO(78) <=> [O]O(13) + O(42) + CCCCC[O](79) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(25) + CCCCCOO(78) <=> O(42) + CCC([O])CC(41) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OO(25) <=> [O]O(13) + O(42) + CCC([O])CC(41) origin: Bimolec_Hydroperoxide_Decomposition
The tested model has 40 reactions that the original model does not have. ❌
rxn: CCC(CC)O[O](21) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(32) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) <=> CCC(CC)O[O](21) origin: intra_H_migration
rxn: [O]O(13) + C[CH]C(CC)OO(31) <=> oxygen(1) + CCC(CC)OO(26) origin: H_Abstraction
rxn: OO(23) + C[CH]C(CC)OO(31) <=> [O]O(13) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + pentane(2) <=> CC[CH]CC(7) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + pentane(2) <=> C[CH]CCC(11) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCC(CC)OO(26) <=> C[CH]C(CC)OO(31) + pentane(2) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]C(CC)OO(31) <=> C=CCCC(18) + CCC(CC)OO(26) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]C(CC)OO(31) <=> C=CCCC(18) + CCC(CC)OO(26) origin: Disproportionation
rxn: CC[CH]C(C)OO(35) <=> CCCC(C)O[O](22) origin: intra_H_migration
rxn: [O]O(13) + CC[CH]C(C)OO(35) <=> oxygen(1) + CCCC(C)OO(27) origin: H_Abstraction
rxn: OO(23) + CC[CH]C(C)OO(35) <=> [O]O(13) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCC(C)OO(27) <=> CC[CH]C(C)OO(35) + pentane(2) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CC[CH]C(C)OO(35) <=> C=CCCC(18) + CCCC(C)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]C(C)OO(35) <=> C=CCCC(18) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCCCCO[O](61) <=> [CH2]CCCCOO(66) origin: intra_H_migration
rxn: CC[CH]CCOO(64) <=> CCCCCO[O](61) origin: intra_H_migration
rxn: C[CH]CCC(11) <=> C[CH2](6) + C=CC(19) origin: R_Addition_MultipleBond
rxn: C[CH2](6) + [CH2]CC(5) <=> pentane(2) origin: R_Recombination
rxn: CCCC(C)O[O](22) <=> [CH2]C(CCC)OO(36) origin: intra_H_migration
rxn: [O]O(13) + [CH2]C(CCC)OO(36) <=> oxygen(1) + CCCC(C)OO(27) origin: H_Abstraction
rxn: OO(23) + [CH2]C(CCC)OO(36) <=> [O]O(13) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [O]O(13) + C=CCCC(18) <=> [CH2]C(CCC)OO(36) origin: R_Addition_MultipleBond
rxn: [CH2]C(CCC)OO(36) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCCC(12) + [CH2]C(CCC)OO(36) <=> C=CCCC(18) + CCCC(C)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]C(CCC)OO(36) <=> C=CCCC(18) + CCCC(C)OO(27) origin: Disproportionation
RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌
Original model has 101 species.
Test model has 77 species. ❌
Original model has 382 reactions.
Test model has 264 reactions. ❌
The original model has 24 species that the tested model does not have. ❌
spc: CCC(CC)OOOO
spc: CCCCCOOOO
spc: CCCCCO
spc: [CH2]COO(80)
spc: [CH2]CCOO(81)
spc: [CH2]OO(82)
spc: [CH2]CCCOO(83)
spc: CCCC[CH]OO(84)
spc: CCCCO
spc: CCC(C)O
spc: CC=O(87)
spc: CCCC=O(88)
spc: CCCCO(89)
spc: CC[CH]C(C)O(90)
spc: [CH2]C(O)CCC(91)
spc: C[CH]CC(C)O(92)
spc: [CH2]CCC(C)O(93)
spc: C[CH]CCOO(94)
spc: [CH2]C(C)C(C)OO(95)
spc: CC1CC(C)O1(96)
spc: CC=CC(C)OO(97)
spc: C=CCC(C)OO(98)
spc: CC([O])CC(C)O(99)
spc: CC(CC(C)OO)OO
The original model has 122 reactions that the tested model does not have. ❌
rxn: [O]O(13) + [CH2]CCCC(12) <=> CCCCCOO(78) origin: R_Recombination
rxn: [OH](26) + [OH](26) <=> OO(23) origin: R_Recombination
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + CCCCCO[O](61) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [O]O(13) + [CH2]CCCC(12) <=> OO(23) + C=CCCC(17) origin: Disproportionation
rxn: CC=O(87) + [CH2]CC(5) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: [OH](26) + CCCC(C)OO(24) <=> O(42) + CCCC(C)O[O](20) origin: H_Abstraction
rxn: [OH](26) + CCCC(C)OO(24) <=> O(42) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: CCCC(C)OO(24) + CCCCCOO(78) <=> O(42) + CCCC(C)[O](44) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(24) <=> [OH](26) + O(42) + CCCC(C)O[O](20) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(24) <=> [O]O(13) + O(42) + CCCC(C)[O](44) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](26) + CCC(CC)OO(25) <=> O(42) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: OO(23) + CCC(CC)OO(25) <=> [OH](26) + O(42) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + CCCCCO[O](61) origin: H_Abstraction
rxn: OO(23) + CCCCCOO(78) <=> [OH](26) + O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + OO(23) <=> [OH](26) + [O]O(13) + O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)[O](44) <=> [CH2]CCC(C)O(93) origin: intra_H_migration
rxn: [CH3](10) + CCCC=O(88) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](44) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(24) <=> C[CH]CC(C)OO(37) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(25) <=> CCC(CC)O[O](21) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(47) origin: H_Abstraction
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> CC(CC(C)OO)O[O](100) origin: R_Recombination
rxn: [OH](26) + CCC(CC)OO(25) <=> O(42) + [CH2]CC(CC)OO(32) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(25) <=> [CH2]CC(CC)OO(32) + CCCC(C)O(47) origin: H_Abstraction
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + CC=CC(C)OO(97) origin: Disproportionation
rxn: [O]O(13) + C[CH]CCCOO(65) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + C[CH]CCCOO(65) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + C[CH]CCCOO(65) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]CCCOO(65) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CCCOO(65) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> C[CH]CCCOO(65) + CCCC(C)O(47) origin: H_Abstraction
rxn: [OH](26) + CCCCC[O](79) <=> CCCCCOO(78) origin: R_Recombination
rxn: CCCC(C)OO(24) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCCC(C)O[O](20) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(25) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCCCOO(78) <=> [O]O(13) + O(42) + CCCCC[O](79) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(25) + CCCCCOO(78) <=> O(42) + CCC([O])CC(41) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OO(25) <=> [O]O(13) + O(42) + CCC([O])CC(41) origin: Bimolec_Hydroperoxide_Decomposition
rxn: oxygen(1) + CCC(CC)O[O](21) <=> CCC(CC)OOO[O](39) origin: R_Recombination
rxn: oxygen(1) + CCCCCO[O](61) <=> CCCCCOOO[O](77) origin: R_Recombination
rxn: [CH2](3) + CCCCOO(50) <=> CCCCCOO(78) origin: 1,2_Insertion_carbene
rxn: [CH2](3) + CCCCOO(50) <=> CCCCCOO(78) origin: 1,2_Insertion_carbene
rxn: [H](8) + CCCCCO[O](61) <=> CCCCCOO(78) origin: R_Recombination
rxn: [CH2]COO(80) + [CH2]CC(5) <=> CCCCCOO(78) origin: R_Recombination
rxn: C[CH2](6) + [CH2]CCOO(81) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + CC[CH]CCOO(64) <=> CCCCCOO(78) origin: R_Recombination
rxn: [CH2]OO(82) + [CH2]CCC(9) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + CCC[CH]COO(63) <=> CCCCCOO(78) origin: R_Recombination
rxn: [CH3](10) + [CH2]CCCOO(83) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + C[CH]CCCOO(65) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + CCCC[CH]OO(84) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + [CH2]CCCCOO(66) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + [O]O(13) <=> OO(23) origin: R_Recombination
rxn: [CH2](3) + CCCC[O](85) <=> CCCC(C)[O](44) origin: 1,2_Insertion_carbene
rxn: [CH2](3) + CCC(C)[O](86) <=> CCCC(C)[O](44) origin: 1,2_Insertion_carbene
rxn: [CH2](3) + CCC(C)[O](86) <=> CCCC(C)[O](44) origin: 1,2_Insertion_carbene
rxn: [H](8) + CCCC(C)=O(34) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](44) <=> CCC[C](C)O(89) origin: intra_H_migration
rxn: CC[CH]C(C)O(90) <=> CCCC(C)[O](44) origin: intra_H_migration
rxn: CCCC(C)[O](44) <=> [CH2]C(O)CCC(91) origin: intra_H_migration
rxn: CCCC(C)[O](44) <=> C[CH]CC(C)O(92) origin: intra_H_migration
rxn: [CH2](3) + C[CH]CCOO(94) <=> C[CH]CC(C)OO(37) origin: 1,2_Insertion_carbene
rxn: [CH2]C(C)C(C)OO(95) <=> C[CH]CC(C)OO(37) origin: 1,2_shiftC
rxn: C[CH]CC(C)OO(37) <=> [OH](26) + CC1CC(C)O1(96) origin: Cyclic_Ether_Formation
rxn: [H](8) + CC=CC(C)OO(97) <=> C[CH]CC(C)OO(37) origin: R_Addition_MultipleBond
rxn: [H](8) + C=CCC(C)OO(98) <=> C[CH]CC(C)OO(37) origin: R_Addition_MultipleBond
rxn: C[CH]OO(52) + C=CC(18) <=> C[CH]CC(C)OO(37) origin: R_Addition_MultipleBond
rxn: CC[CH]C(C)OO(35) <=> C[CH]CC(C)OO(37) origin: intra_H_migration
rxn: [CH2]CCC(C)OO(38) <=> C[CH]CC(C)OO(37) origin: intra_H_migration
rxn: C[CH]CC(C)OO(37) <=> CCC[C](C)OO(54) origin: intra_H_migration
rxn: C[CH]CC(C)OO(37) <=> [CH2]C(CCC)OO(36) origin: intra_H_migration
rxn: C[CH]CC(C)OO(37) <=> CC([O])CC(C)O(99) origin: intra_OH_migration
rxn: [O]O(13) + CC[CH]CCOO(64) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCC[CH]COO(63) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCC[CH]OO(84) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + [CH2]CCCCOO(66) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: oxygen(1) + CCCC(C)[O](44) <=> [O]O(13) + CCCC(C)=O(34) origin: Disproportionation
rxn: oxygen(1) + CCCC(C)[O](44) <=> CCCC(C)OO[O](49) origin: R_Recombination
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + C=CCC(C)OO(98) origin: Disproportionation
rxn: OO(23) + CC[CH]CCOO(64) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + CCC[CH]COO(63) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCCCOO(78) <=> OO(23) + CCCC[CH]OO(84) origin: H_Abstraction
rxn: OO(23) + [CH2]CCCCOO(66) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](26) + CCCC(C)OO(24) <=> O(42) + CCC[C](C)OO(54) origin: H_Abstraction
rxn: [OH](26) + CCCC(C)OO(24) <=> O(42) + CC[CH]C(C)OO(35) origin: H_Abstraction
rxn: [OH](26) + CCCC(C)OO(24) <=> O(42) + [CH2]C(CCC)OO(36) origin: H_Abstraction
rxn: [OH](26) + CCCC(C)OO(24) <=> O(42) + [CH2]CCC(C)OO(38) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(24) <=> CCC[C](C)OO(54) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(24) <=> CC[CH]C(C)OO(35) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(24) <=> [CH2]C(CCC)OO(36) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(24) <=> [CH2]CCC(C)OO(38) + CCCC(C)O(47) origin: H_Abstraction
rxn: [OH](26) + CCC(CC)OO(25) <=> O(42) + CC[C](CC)OO(58) origin: H_Abstraction
rxn: [OH](26) + CCC(CC)OO(25) <=> O(42) + C[CH]C(CC)OO(31) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(25) <=> CC[C](CC)OO(58) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(25) <=> C[CH]C(CC)OO(31) + CCCC(C)O(47) origin: H_Abstraction
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + CC[CH]CCOO(64) origin: H_Abstraction
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + CCC[CH]COO(63) origin: H_Abstraction
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + CCCC[CH]OO(84) origin: H_Abstraction
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + [CH2]CCCCOO(66) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CC[CH]CCOO(64) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCC[CH]COO(63) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCCC[CH]OO(84) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + [CH2]CCCCOO(66) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]CCOO(64) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC[CH]COO(63) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC[CH]OO(84) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCCOO(66) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CC[CH]CCOO(64) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCC[CH]COO(63) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCCC[CH]OO(84) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> [CH2]CCCCOO(66) + CCCC(C)O(47) origin: H_Abstraction
The tested model has 4 reactions that the original model does not have. ❌
rxn: CCC(CC)O[O](21) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(32) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: CC[C](CC)OO(52) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
Details
Observables Test Case: RMS_CSTR_liquid_oxidation Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
RMS_CSTR_liquid_oxidation Passed Observable Testing ✅
Regression test fragment:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:34
Current: Execution time (DD:HH:MM:SS): 00:00:00:35
Reference: Memory used: 736.97 MB
Current: Memory used: 736.25 MB
fragment Passed Core Comparison ✅
Original model has 10 species.
Test model has 10 species. ✅
Original model has 2 reactions.
Test model has 2 reactions. ✅
fragment Passed Edge Comparison ✅
Original model has 33 species.
Test model has 33 species. ✅
Original model has 47 reactions.
Test model has 47 reactions. ✅
Details
Observables Test Case: fragment Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
fragment Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
WARNING:root:Initial mole fractions do not sum to one; normalizing.
Regression test RMS_constantVIdealGasReactor_fragment:
Reference: Execution time (DD:HH:MM:SS): 00:00:03:23
Current: Execution time (DD:HH:MM:SS): 00:00:02:50
Reference: Memory used: 2476.61 MB
Current: Memory used: 2451.92 MB
RMS_constantVIdealGasReactor_fragment Passed Core Comparison ✅
Original model has 10 species.
Test model has 10 species. ✅
Original model has 2 reactions.
Test model has 2 reactions. ✅
RMS_constantVIdealGasReactor_fragment Passed Edge Comparison ✅
Original model has 27 species.
Test model has 27 species. ✅
Original model has 24 reactions.
Test model has 24 reactions. ✅
Details
Observables Test Case: RMS_constantVIdealGasReactor_fragment Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
RMS_constantVIdealGasReactor_fragment Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
WARNING:root:Initial mole fractions do not sum to one; normalizing.
Regression test minimal_surface:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:32
Current: Execution time (DD:HH:MM:SS): 00:00:00:33
Reference: Memory used: 898.29 MB
Current: Memory used: 887.46 MB
minimal_surface Passed Core Comparison ✅
Original model has 11 species.
Test model has 11 species. ✅
Original model has 3 reactions.
Test model has 3 reactions. ✅
minimal_surface Passed Edge Comparison ✅
Original model has 38 species.
Test model has 38 species. ✅
Original model has 38 reactions.
Test model has 38 reactions. ✅
Details
Observables Test Case: minimal_surface Comparison✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions!
minimal_surface Passed Observable Testing ✅
beep boop this comment was written by a bot 🤖
|
Question: Does the updated BM fitting introduced in this PR change the error in nodes of the families? Performed K-fold cross validation on a few families (K=0, folds = length of training reactions, essentially leave-one-out) on families retrained with BM rules from main RMG-Py (commit 0c4fa99) and families retrained with BM rules from this PR. For most of the families tested, errors remain similar. For 1,3-sigmatropic-rearrangement, looks like there was some redistribution in errors.
|
Regression Testing Results
Detailed regression test results.Regression test aromatics:Reference: Execution time (DD:HH:MM:SS): 00:00:00:54 aromatics Passed Core Comparison ✅Original model has 15 species. aromatics Failed Edge Comparison ❌Original model has 106 species. Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-CsCsHH) + group(Cds-CdsCsCs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + Estimated bicyclic component: polycyclic(s2_3_5_ane) - ring(Cyclopropane) - ring(Cyclopentane) + ring(Cyclopentene) + ring(Cyclopropane) + polycyclic(s2_3_6_ene_1) + polycyclic(s3_5_6_diene_1_5) - ring(Cyclopropane) - ring(Cyclopentene) - ring(Cyclohexene) + radical(cyclopentene-4) Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-CsCsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsHH) + group(Cds- Cds(Cds-Cds)Cs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + polycyclic(s2_3_5_ene_1) + polycyclic(s2_3_6_ene_1) + Estimated bicyclic component: polycyclic(s3_5_6_ane) - ring(Cyclopentane) - ring(Cyclohexane) + ring(Cyclopentene) + ring(Cyclohexene) - ring(Cyclopropane) - ring(Cyclopentene) - ring(Cyclohexene) + radical(cyclopentene-allyl) Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)(Cds-Cds)(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)(Cds-Cds)) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)H) + group(Cds-CdsCsH) + group(Cdd-CdsCds) + Estimated bicyclic component: polycyclic(s4_6_6_ane) - ring(Cyclohexane) - ring(Cyclohexane) + ring(124cyclohexatriene) + ring(1,4-Cyclohexadiene) Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-(Cds-Cds)CsHH) + group(Cds-Cds(Cds-Cds)(Cds-Cds)) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)H) + Estimated bicyclic component: polycyclic(s4_6_6_ane) - ring(Cyclohexane) - ring(Cyclohexane) + ring(1,3-Cyclohexadiene) + ring(1,3-Cyclohexadiene) Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cds-Cds(Cds-Cds)(Cds-Cds)) + group(Cds- CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)H) + group(Cds-CdsHH) + Estimated bicyclic component: polycyclic(s4_6_6_ane) - ring(Cyclohexane) - ring(Cyclohexane) + ring(1,3-Cyclohexadiene) + ring(1,3-Cyclohexadiene) + radical(Cds_P) Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cds-Cds(Cds-Cds)(Cds-Cds)) + group(Cds- CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)H) + group(Cds-CdsHH) + Estimated bicyclic component: polycyclic(s4_6_6_ane) - ring(Cyclohexane) - ring(Cyclohexane) + ring(1,3-Cyclohexadiene) + ring(1,3-Cyclohexadiene) Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: DetailsObservables Test Case: Aromatics Comparison✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions! aromatics Passed Observable Testing ✅Regression test liquid_oxidation:Reference: Execution time (DD:HH:MM:SS): 00:00:01:59 liquid_oxidation Passed Core Comparison ✅Original model has 37 species. liquid_oxidation Failed Edge Comparison ❌Original model has 214 species. Non-identical kinetics! ❌
kinetics: DetailsObservables Test Case: liquid_oxidation Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions! liquid_oxidation Passed Observable Testing ✅Regression test nitrogen:Reference: Execution time (DD:HH:MM:SS): 00:00:01:03 nitrogen Failed Core Comparison ❌Original model has 41 species. Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: nitrogen Failed Edge Comparison ❌Original model has 133 species. Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: DetailsObservables Test Case: NC Comparison✅ All Observables varied by less than 0.200 on average between old model and new model in all conditions! nitrogen Passed Observable Testing ✅Regression test oxidation:Reference: Execution time (DD:HH:MM:SS): 00:00:01:45 oxidation Failed Core Comparison ❌Original model has 59 species. Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: oxidation Failed Edge Comparison ❌Original model has 230 species. Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: DetailsObservables Test Case: Oxidation ComparisonThe following observables did not match: ❌ Observable species [OH] varied by more than 0.500 on average between old model OH(5) and new model OH(5) in condition 1.
oxidation Failed Observable Testing ❌Errors occurred during observable testing
WARNING:root:Initial mole fractions do not sum to one; normalizing.
|
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | 5.06 | 5.32 | 5.52 | 5.68 | 5.94 | 6.14 | 6.51 | 6.76 |
| k(T): | 6.64 | 6.51 | 6.47 | 6.47 | 6.54 | 6.62 | 6.82 | 7.00 |
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(-2.177,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
Identical kinetics comments:
kinetics: Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.
Non-identical kinetics! ❌
original:
rxn: SO(14) + HOSO(17) <=> SO2(15) + HSO(19) origin: Disproportionation
tested:
rxn: SO(14) + HOSO(17) <=> SO2(15) + HSO(19) origin: Disproportionation
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | 5.06 | 5.32 | 5.52 | 5.68 | 5.94 | 6.14 | 6.51 | 6.76 |
| k(T): | 6.64 | 6.51 | 6.47 | 6.47 | 6.54 | 6.62 | 6.82 | 7.00 |
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(-2.177,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
Identical kinetics comments:
kinetics: Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.
Non-identical kinetics! ❌
original:
rxn: SH(21) + OS=[SH](78) <=> H2S(1) + SS=O(60) origin: Disproportionation
tested:
rxn: SH(21) + OS=[SH](78) <=> H2S(1) + SS=O(60) origin: Disproportionation
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | 5.06 | 5.32 | 5.52 | 5.68 | 5.94 | 6.14 | 6.51 | 6.76 |
| k(T): | 6.64 | 6.51 | 6.47 | 6.47 | 6.54 | 6.62 | 6.82 | 7.00 |
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(-2.177,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
Identical kinetics comments:
kinetics: Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.
Non-identical kinetics! ❌
original:
rxn: HSS(35) + HOSO(17) <=> SO2(15) + HSSH(36) origin: Disproportionation
tested:
rxn: HSS(35) + HOSO(17) <=> SO2(15) + HSSH(36) origin: Disproportionation
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | 5.06 | 5.32 | 5.52 | 5.68 | 5.94 | 6.14 | 6.51 | 6.76 |
| k(T): | 6.64 | 6.51 | 6.47 | 6.47 | 6.54 | 6.62 | 6.82 | 7.00 |
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
kinetics: Arrhenius(A=(847891,'cm^3/(mol*s)'), n=2.071, Ea=(-2.177,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.""")
Identical kinetics comments:
kinetics: Estimated from node Root_N-4R->H_4CNOS-u1_1R!H->O_N-2R!H->C in family Disproportionation.
Details
Observables Test Case: SO2 Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
sulfur Passed Observable Testing ✅
Regression test superminimal:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:25
Current: Execution time (DD:HH:MM:SS): 00:00:00:25
Reference: Memory used: 949.07 MB
Current: Memory used: 949.56 MB
superminimal Passed Core Comparison ✅
Original model has 13 species.
Test model has 13 species. ✅
Original model has 21 reactions.
Test model has 21 reactions. ✅
superminimal Passed Edge Comparison ✅
Original model has 18 species.
Test model has 18 species. ✅
Original model has 28 reactions.
Test model has 28 reactions. ✅
Regression test RMS_constantVIdealGasReactor_superminimal:
Reference: Execution time (DD:HH:MM:SS): 00:00:02:18
Current: Execution time (DD:HH:MM:SS): 00:00:02:55
Reference: Memory used: 2337.26 MB
Current: Memory used: 2495.65 MB
RMS_constantVIdealGasReactor_superminimal Passed Core Comparison ✅
Original model has 13 species.
Test model has 13 species. ✅
Original model has 19 reactions.
Test model has 19 reactions. ✅
RMS_constantVIdealGasReactor_superminimal Passed Edge Comparison ✅
Original model has 13 species.
Test model has 13 species. ✅
Original model has 19 reactions.
Test model has 19 reactions. ✅
Details
Observables Test Case: RMS_constantVIdealGasReactor_superminimal Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
RMS_constantVIdealGasReactor_superminimal Passed Observable Testing ✅
Regression test RMS_CSTR_liquid_oxidation:
Reference: Execution time (DD:HH:MM:SS): 00:00:30:23
Current: Execution time (DD:HH:MM:SS): 00:00:18:40
Reference: Memory used: 2633.13 MB
Current: Memory used: 3347.17 MB
RMS_CSTR_liquid_oxidation Failed Core Comparison ❌
Original model has 35 species.
Test model has 35 species. ✅
Original model has 181 reactions.
Test model has 121 reactions. ❌
The original model has 7 species that the tested model does not have. ❌
spc: CCCC(C)O(47)
spc: CCCCCO
spc: CC=O(87)
spc: CCCC=O(88)
spc: [CH2]CCC(C)O(93)
spc: CC=CC(C)OO(97)
spc: CC(CC(C)OO)OO
The tested model has 7 species that the original model does not have. ❌
spc: CCH2
spc: [CH2]CCC(9)
spc: C=CC(19)
spc: CC[CH]C(C)OO(32)
spc: C[CH]C(CC)OO(37)
spc: CC[CH]CCOO(74)
spc: [CH2]CCCCOO(76)
The original model has 86 reactions that the tested model does not have. ❌
rxn: [O]O(13) + [CH2]CCCC(12) <=> CCCCCOO(78) origin: R_Recombination
rxn: [OH](24) + [OH](24) <=> OO(23) origin: R_Recombination
rxn: oxygen(1) + O(42) <=> [OH](24) + [O]O(13) origin: H_Abstraction
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + [CH2]CCCC(12) <=> OO(23) + C=CCCC(17) origin: Disproportionation
rxn: [OH](24) + OO(23) <=> [O]O(13) + O(42) origin: H_Abstraction
rxn: OO(23) + CCCCCO[O](61) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](24) + CCC(CC)OO(27) <=> O(42) + CCC(CC)O[O](22) origin: H_Abstraction
rxn: CCCCCO[O](61) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> O(42) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: OO(23) + CCC(CC)OO(27) <=> [OH](24) + O(42) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [CH2]CCCC(12) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](24) + CCCC(C)OO(26) <=> O(42) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: CCCC(C)OO(26) + CCCCCOO(78) <=> O(42) + CCCC(C)[O](44) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(26) <=> [OH](24) + O(42) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(26) <=> [O]O(13) + O(42) + CCCC(C)[O](44) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + CCCCCO[O](61) origin: H_Abstraction
rxn: [OH](24) + [CH2]CCCC(12) <=> O(42) + C=CCCC(17) origin: Disproportionation
rxn: [OH](24) + C[CH]CCC(11) <=> O(42) + C=CCCC(17) origin: Disproportionation
rxn: OO(23) + CCCCCOO(78) <=> [OH](24) + O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + OO(23) <=> [OH](24) + [O]O(13) + O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CC=O(87) + [CH2]CC(5) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](44) <=> [CH2]CCC(C)O(93) origin: intra_H_migration
rxn: [CH3](10) + CCCC=O(88) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](44) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)O(47) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)[O](44) <=> oxygen(1) + CCCC(C)O(47) origin: H_Abstraction
rxn: C[CH]CCC(11) + CCCC(C)[O](44) <=> C=CCCC(17) + CCCC(C)O(47) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCC(C)O(47) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCC(C)[O](44) <=> C=CCCC(17) + CCCC(C)O(47) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCC(C)O(47) origin: H_Abstraction
rxn: O(42) + C=CCCC(17) <=> CCCC(C)O(47) origin: 1,3_Insertion_ROR
rxn: [OH](24) + CCCC(C)O(47) <=> O(42) + CCCC(C)[O](44) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(47) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)O(47) <=> OO(23) + CCCC(C)[O](44) origin: H_Abstraction
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> CC(CC(C)OO)O[O](100) origin: R_Recombination
rxn: C[CH]CCC(11) + CCC(CC)O[O](22) <=> CC=CCC(16) + CCC(CC)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)O[O](21) <=> CC=CCC(16) + CCCC(C)OO(26) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](44) <=> CC=CCC(16) + CCCC(C)O(47) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(26) origin: Disproportionation
rxn: CC[CH]CC(7) + CCC(CC)O[O](22) <=> CC=CCC(16) + CCC(CC)OO(27) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)O[O](21) <=> CC=CCC(16) + CCCC(C)OO(26) origin: Disproportionation
rxn: CC[CH]CC(7) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)[O](44) <=> CC=CCC(16) + CCCC(C)O(47) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(26) origin: Disproportionation
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + CC=CC(C)OO(97) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: CCC(CC)O[O](22) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCC(CC)OO(27) origin: Disproportionation
rxn: CCCC(C)O[O](21) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCC(C)OO(26) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](44) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCC(C)O(47) origin: Disproportionation
rxn: [OH](24) + CCC(CC)OO(27) <=> O(42) + [CH2]CC(CC)OO(32) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(32) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(27) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> [CH2]CC(CC)OO(32) + CCCC(C)O(47) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(32) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCC(CC)OO(27) origin: H_Abstraction
rxn: [OH](24) + CCCCC[O](79) <=> CCCCCOO(78) origin: R_Recombination
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + [OH](24) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)[O](44) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)OO(27) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(26) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC[O](79) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCCCOO(78) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCCCOO(78) <=> [O]O(13) + O(42) + CCCCC[O](79) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [O]O(13) + C[CH]CCCOO(75) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + C[CH]CCCOO(75) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(75) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> C[CH]CCCOO(75) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(75) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(75) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> C[CH]CCCOO(75) + pentane(2) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + C[CH]CCCOO(75) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]CCCOO(75) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CCCOO(75) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCCOO(75) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> C[CH]CCCOO(75) + CCCC(C)O(47) origin: H_Abstraction
rxn: C[CH]CCCOO(75) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC(CC)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCC([O])CC(41) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)OO(27) + CCCCCOO(78) <=> O(42) + CCC([O])CC(41) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OO(27) <=> [O]O(13) + O(42) + CCC([O])CC(41) origin: Bimolec_Hydroperoxide_Decomposition
The tested model has 26 reactions that the original model does not have. ❌
rxn: C[CH]C(CC)OO(37) <=> CCC(CC)O[O](21) origin: intra_H_migration
rxn: [O]O(13) + C[CH]C(CC)OO(37) <=> oxygen(1) + CCC(CC)OO(26) origin: H_Abstraction
rxn: OO(23) + C[CH]C(CC)OO(37) <=> [O]O(13) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(37) + pentane(2) <=> CC[CH]CC(7) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(37) + pentane(2) <=> C[CH]CCC(11) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(37) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(37) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCC(CC)OO(26) <=> C[CH]C(CC)OO(37) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]C(CC)OO(37) <=> C=CCCC(18) + CCC(CC)OO(26) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]C(CC)OO(37) <=> C=CCCC(18) + CCC(CC)OO(26) origin: Disproportionation
rxn: CC[CH]C(C)OO(32) <=> CCCC(C)O[O](22) origin: intra_H_migration
rxn: [O]O(13) + CC[CH]C(C)OO(32) <=> oxygen(1) + CCCC(C)OO(27) origin: H_Abstraction
rxn: OO(23) + CC[CH]C(C)OO(32) <=> [O]O(13) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(32) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(32) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(32) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(32) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCC(C)OO(27) <=> CC[CH]C(C)OO(32) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CC[CH]C(C)OO(32) <=> C=CCCC(18) + CCCC(C)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]C(C)OO(32) <=> C=CCCC(18) + CCCC(C)OO(27) origin: Disproportionation
rxn: CC[CH]C(C)OO(32) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CCCCCO[O](61) <=> [CH2]CCCCOO(76) origin: intra_H_migration
rxn: CC[CH]CCOO(74) <=> CCCCCO[O](61) origin: intra_H_migration
rxn: C[CH2](6) + [CH2]CC(5) <=> pentane(2) origin: R_Recombination
rxn: C[CH]CCC(11) <=> C[CH2](6) + C=CC(19) origin: R_Addition_MultipleBond
rxn: [CH3](10) + [CH2]CCC(9) <=> pentane(2) origin: R_Recombination
RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌
Original model has 107 species.
Test model has 77 species. ❌
Original model has 545 reactions.
Test model has 260 reactions. ❌
The original model has 30 species that the tested model does not have. ❌
spc: CCCCCO
spc: [CH2]COO(80)
spc: [CH2]CCOO(81)
spc: [CH2]OO(82)
spc: [CH2]CCCOO(83)
spc: CCCC[CH]OO(84)
spc: CCCCO
spc: CCC(C)O
spc: CC=O(87)
spc: CCCC=O(88)
spc: CCCCO(89)
spc: CC[CH]C(C)O(90)
spc: [CH2]C(O)CCC(91)
spc: C[CH]CC(C)O(92)
spc: [CH2]CCC(C)O(93)
spc: C[CH]CCOO(94)
spc: [CH2]C(C)C(C)OO(95)
spc: CC1CC(C)O1(96)
spc: CC=CC(C)OO(97)
spc: C=CCC(C)OO(98)
spc: CC([O])CC(C)O(99)
spc: CC(CC(C)OO)OO
spc: CCCCCOOOO(101)
spc: CCCC(C)OOO(102)
spc: CCCCCO(103)
spc: CCC[CH]CO(104)
spc: CCCCCOOO
spc: OOO(106)
spc: CCC(CC)OOO(107)
spc: CCCCCOOO(108)
The original model has 285 reactions that the tested model does not have. ❌
rxn: [O]O(13) + [CH2]CCCC(12) <=> CCCCCOO(78) origin: R_Recombination
rxn: [OH](24) + [OH](24) <=> OO(23) origin: R_Recombination
rxn: oxygen(1) + O(42) <=> [OH](24) + [O]O(13) origin: H_Abstraction
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + [CH2]CCCC(12) <=> OO(23) + C=CCCC(17) origin: Disproportionation
rxn: [OH](24) + OO(23) <=> [O]O(13) + O(42) origin: H_Abstraction
rxn: OO(23) + CCCCCO[O](61) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](24) + CCC(CC)OO(27) <=> O(42) + CCC(CC)O[O](22) origin: H_Abstraction
rxn: CCCCCO[O](61) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> O(42) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: OO(23) + CCC(CC)OO(27) <=> [OH](24) + O(42) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [CH2]CCCC(12) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](24) + CCCC(C)OO(26) <=> O(42) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: CCCC(C)OO(26) + CCCCCOO(78) <=> O(42) + CCCC(C)[O](44) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(26) <=> [OH](24) + O(42) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(26) <=> [O]O(13) + O(42) + CCCC(C)[O](44) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + CCCCCO[O](61) origin: H_Abstraction
rxn: [OH](24) + [CH2]CCCC(12) <=> O(42) + C=CCCC(17) origin: Disproportionation
rxn: [OH](24) + C[CH]CCC(11) <=> O(42) + C=CCCC(17) origin: Disproportionation
rxn: OO(23) + CCCCCOO(78) <=> [OH](24) + O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + OO(23) <=> [OH](24) + [O]O(13) + O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CC=O(87) + [CH2]CC(5) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](44) <=> [CH2]CCC(C)O(93) origin: intra_H_migration
rxn: [CH3](10) + CCCC=O(88) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](44) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)O(47) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)[O](44) <=> oxygen(1) + CCCC(C)O(47) origin: H_Abstraction
rxn: C[CH]CCC(11) + CCCC(C)[O](44) <=> C=CCCC(17) + CCCC(C)O(47) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCC(C)O(47) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCC(C)[O](44) <=> C=CCCC(17) + CCCC(C)O(47) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCC(C)O(47) origin: H_Abstraction
rxn: O(42) + C=CCCC(17) <=> CCCC(C)O(47) origin: 1,3_Insertion_ROR
rxn: [OH](24) + CCCC(C)O(47) <=> O(42) + CCCC(C)[O](44) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(47) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)O(47) <=> OO(23) + CCCC(C)[O](44) origin: H_Abstraction
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> CC(CC(C)OO)O[O](100) origin: R_Recombination
rxn: C[CH]CCC(11) + CCC(CC)O[O](22) <=> CC=CCC(16) + CCC(CC)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)O[O](21) <=> CC=CCC(16) + CCCC(C)OO(26) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](44) <=> CC=CCC(16) + CCCC(C)O(47) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(26) origin: Disproportionation
rxn: CC[CH]CC(7) + CCC(CC)O[O](22) <=> CC=CCC(16) + CCC(CC)OO(27) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)O[O](21) <=> CC=CCC(16) + CCCC(C)OO(26) origin: Disproportionation
rxn: CC[CH]CC(7) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)[O](44) <=> CC=CCC(16) + CCCC(C)O(47) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(26) origin: Disproportionation
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + CC=CC(C)OO(97) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: CCC(CC)O[O](22) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCC(CC)OO(27) origin: Disproportionation
rxn: CCCC(C)O[O](21) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCC(C)OO(26) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](44) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCC(C)O(47) origin: Disproportionation
rxn: [OH](24) + CCC(CC)OO(27) <=> O(42) + [CH2]CC(CC)OO(32) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(32) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(27) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> [CH2]CC(CC)OO(32) + CCCC(C)O(47) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(32) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCC(CC)OO(27) origin: H_Abstraction
rxn: [OH](24) + CCCCC[O](79) <=> CCCCCOO(78) origin: R_Recombination
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + [OH](24) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)[O](44) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)OO(27) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(26) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC[O](79) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCCCOO(78) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCCCOO(78) <=> [O]O(13) + O(42) + CCCCC[O](79) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [O]O(13) + C[CH]CCCOO(75) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + C[CH]CCCOO(75) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(75) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> C[CH]CCCOO(75) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(75) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(75) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> C[CH]CCCOO(75) + pentane(2) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + C[CH]CCCOO(75) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]CCCOO(75) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CCCOO(75) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCCOO(75) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> C[CH]CCCOO(75) + CCCC(C)O(47) origin: H_Abstraction
rxn: C[CH]CCCOO(75) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC(CC)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCC([O])CC(41) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)OO(27) + CCCCCOO(78) <=> O(42) + CCC([O])CC(41) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OO(27) <=> [O]O(13) + O(42) + CCC([O])CC(41) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [H](8) + [OH](24) <=> O(42) origin: R_Recombination
rxn: [CH2](3) + CCCCOO(55) <=> CCCCCOO(78) origin: 1,2_Insertion_carbene
rxn: [CH2](3) + CCCCOO(55) <=> CCCCCOO(78) origin: 1,2_Insertion_carbene
rxn: [H](8) + CCCCCO[O](61) <=> CCCCCOO(78) origin: R_Recombination
rxn: [CH2]COO(80) + [CH2]CC(5) <=> CCCCCOO(78) origin: R_Recombination
rxn: C[CH2](6) + [CH2]CCOO(81) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + CC[CH]CCOO(74) <=> CCCCCOO(78) origin: R_Recombination
rxn: [CH2]OO(82) + [CH2]CCC(9) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + CCC[CH]COO(73) <=> CCCCCOO(78) origin: R_Recombination
rxn: [CH3](10) + [CH2]CCCOO(83) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + C[CH]CCCOO(75) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + CCCC[CH]OO(84) <=> CCCCCOO(78) origin: R_Recombination
rxn: [H](8) + [CH2]CCCCOO(76) <=> CCCCCOO(78) origin: R_Recombination
rxn: [CH2](3) + CCCC[O](85) <=> CCCC(C)[O](44) origin: 1,2_Insertion_carbene
rxn: [CH2](3) + CCC(C)[O](86) <=> CCCC(C)[O](44) origin: 1,2_Insertion_carbene
rxn: [CH2](3) + CCC(C)[O](86) <=> CCCC(C)[O](44) origin: 1,2_Insertion_carbene
rxn: [H](8) + CCCC(C)=O(34) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](44) <=> CCC[C](C)O(89) origin: intra_H_migration
rxn: CC[CH]C(C)O(90) <=> CCCC(C)[O](44) origin: intra_H_migration
rxn: CCCC(C)[O](44) <=> [CH2]C(O)CCC(91) origin: intra_H_migration
rxn: CCCC(C)[O](44) <=> C[CH]CC(C)O(92) origin: intra_H_migration
rxn: [H](8) + [O]O(13) <=> OO(23) origin: R_Recombination
rxn: [CH2](3) + C[CH]CCOO(94) <=> C[CH]CC(C)OO(37) origin: 1,2_Insertion_carbene
rxn: [CH2]C(C)C(C)OO(95) <=> C[CH]CC(C)OO(37) origin: 1,2_shiftC
rxn: C[CH]CC(C)OO(37) <=> [OH](24) + CC1CC(C)O1(96) origin: Cyclic_Ether_Formation
rxn: [H](8) + CC=CC(C)OO(97) <=> C[CH]CC(C)OO(37) origin: R_Addition_MultipleBond
rxn: [H](8) + C=CCC(C)OO(98) <=> C[CH]CC(C)OO(37) origin: R_Addition_MultipleBond
rxn: C[CH]OO(56) + C=CC(18) <=> C[CH]CC(C)OO(37) origin: R_Addition_MultipleBond
rxn: CC[CH]C(C)OO(35) <=> C[CH]CC(C)OO(37) origin: intra_H_migration
rxn: [CH2]CCC(C)OO(38) <=> C[CH]CC(C)OO(37) origin: intra_H_migration
rxn: C[CH]CC(C)OO(37) <=> CCC[C](C)OO(58) origin: intra_H_migration
rxn: C[CH]CC(C)OO(37) <=> [CH2]C(CCC)OO(36) origin: intra_H_migration
rxn: C[CH]CC(C)OO(37) <=> CC([O])CC(C)O(99) origin: intra_OH_migration
rxn: [O]O(13) + CC[CH]CCOO(74) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCC[CH]COO(73) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCC[CH]OO(84) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + [CH2]CCCCOO(76) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: oxygen(1) + CCCC(C)[O](44) <=> [O]O(13) + CCCC(C)=O(34) origin: Disproportionation
rxn: oxygen(1) + CCCC(C)[O](44) <=> CCCC(C)OO[O](49) origin: R_Recombination
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + C=CCC(C)OO(98) origin: Disproportionation
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + O(42) + CCCCC=O(72) origin: Peroxyl_Termination
rxn: [O]O(13) + CCCCCO[O](61) <=> CCCCCOOOO(101) origin: R_Recombination
rxn: OO(23) + CC[CH]CCOO(74) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + CCC[CH]COO(73) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCCCOO(78) <=> OO(23) + CCCC[CH]OO(84) origin: H_Abstraction
rxn: OO(23) + [CH2]CCCCOO(76) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)[O](44) <=> OO(23) + CCCC(C)=O(34) origin: Disproportionation
rxn: [O]O(13) + CCCC(C)[O](44) <=> CCCC(C)OOO(102) origin: R_Recombination
rxn: C=CC[CH]C(64) + pentane(2) <=> C=CCCC(17) + C[CH]CCC(11) origin: H_Abstraction
rxn: C=CCCC(17) + C[CH]CCC(11) <=> [CH2]C=CCC(66) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(67) + pentane(2) <=> C=CCCC(17) + C[CH]CCC(11) origin: H_Abstraction
rxn: C=[C]CCC(68) + pentane(2) <=> C=CCCC(17) + C[CH]CCC(11) origin: H_Abstraction
rxn: [CH]=CCCC(69) + pentane(2) <=> C=CCCC(17) + C[CH]CCC(11) origin: H_Abstraction
rxn: CC[CH]CCOO(74) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(73) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(76) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCC(11) + CCCC(C)[O](44) <=> CCCC(C)=O(34) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + pentane(2) origin: Disproportionation
rxn: C=CCCC(17) + CC[CH]CC(7) <=> C=CC[CH]C(64) + pentane(2) origin: H_Abstraction
rxn: C=CCCC(17) + CC[CH]CC(7) <=> [CH2]C=CCC(66) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(67) + pentane(2) <=> C=CCCC(17) + CC[CH]CC(7) origin: H_Abstraction
rxn: C=[C]CCC(68) + pentane(2) <=> C=CCCC(17) + CC[CH]CC(7) origin: H_Abstraction
rxn: [CH]=CCCC(69) + pentane(2) <=> C=CCCC(17) + CC[CH]CC(7) origin: H_Abstraction
rxn: CC[CH]CCOO(74) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(73) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> CCCC[CH]OO(84) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCCOO(76) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCC(C)[O](44) <=> CCCC(C)=O(34) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + pentane(2) origin: Disproportionation
rxn: C=CC[CH]C(64) + CCC(CC)OO(27) <=> C=CCCC(17) + CCC(CC)O[O](22) origin: H_Abstraction
rxn: C=CCCC(17) + CCC(CC)O[O](22) <=> [CH2]C=CCC(66) + CCC(CC)OO(27) origin: H_Abstraction
rxn: [CH2]CCC=C(67) + CCC(CC)OO(27) <=> C=CCCC(17) + CCC(CC)O[O](22) origin: H_Abstraction
rxn: C=[C]CCC(68) + CCC(CC)OO(27) <=> C=CCCC(17) + CCC(CC)O[O](22) origin: H_Abstraction
rxn: [CH]=CCCC(69) + CCC(CC)OO(27) <=> C=CCCC(17) + CCC(CC)O[O](22) origin: H_Abstraction
rxn: CCC(CC)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCC(=O)CC(30) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CCC(CC)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(72) + CCC(O)CC(46) origin: Peroxyl_Termination
rxn: CC[CH]CCOO(74) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(73) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(76) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)O[O](22) <=> CCCC(C)=O(34) + CCC(CC)OO(27) origin: Disproportionation
rxn: CCC(CC)O[O](22) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCC(CC)OO(27) origin: Disproportionation
rxn: C=CC[CH]C(64) + CCCC(C)OO(26) <=> C=CCCC(17) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: C=CCCC(17) + CCCC(C)O[O](21) <=> [CH2]C=CCC(66) + CCCC(C)OO(26) origin: H_Abstraction
rxn: [CH2]CCC=C(67) + CCCC(C)OO(26) <=> C=CCCC(17) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: C=[C]CCC(68) + CCCC(C)OO(26) <=> C=CCCC(17) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: [CH]=CCCC(69) + CCCC(C)OO(26) <=> C=CCCC(17) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: CCCC(C)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)=O(34) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CCCC(C)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(72) + CCCC(C)O(47) origin: Peroxyl_Termination
rxn: CC[CH]CCOO(74) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(73) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(76) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)O[O](21) <=> CCCC(C)=O(34) + CCCC(C)OO(26) origin: Disproportionation
rxn: CCCC(C)O[O](21) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCC(C)OO(26) origin: Disproportionation
rxn: [OH](24) + CCC(CC)OO(27) <=> O(42) + CC[C](CC)OO(52) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(27) <=> O(42) + C[CH]C(CC)OO(31) origin: H_Abstraction
rxn: CC[C](CC)OO(52) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(27) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(27) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> CC[C](CC)OO(52) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> C[CH]C(CC)OO(31) + CCCC(C)O(47) origin: H_Abstraction
rxn: C[CH]CC(C)OO(37) + CCC(CC)OO(27) <=> CC[C](CC)OO(52) + CCCC(C)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCC(CC)OO(27) origin: H_Abstraction
rxn: C=CCCC(17) + [CH2]CCCC(12) <=> C=CC[CH]C(64) + pentane(2) origin: H_Abstraction
rxn: C=CCCC(17) + [CH2]CCCC(12) <=> [CH2]C=CCC(66) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(67) + pentane(2) <=> C=CCCC(17) + [CH2]CCCC(12) origin: H_Abstraction
rxn: C=[C]CCC(68) + pentane(2) <=> C=CCCC(17) + [CH2]CCCC(12) origin: H_Abstraction
rxn: [CH]=CCCC(69) + pentane(2) <=> C=CCCC(17) + [CH2]CCCC(12) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CC[CH]CCOO(74) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CCC[CH]COO(73) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CCCC[CH]OO(84) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCCOO(76) + pentane(2) <=> [CH2]CCCC(12) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCC(C)[O](44) <=> CCCC(C)=O(34) + pentane(2) origin: Disproportionation
rxn: [OH](24) + CCCC(C)OO(26) <=> O(42) + CCC[C](C)OO(58) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> O(42) + CC[CH]C(C)OO(35) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> O(42) + [CH2]C(CCC)OO(36) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> O(42) + [CH2]CCC(C)OO(38) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> CCC[C](C)OO(58) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> CC[CH]C(C)OO(35) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> [CH2]C(CCC)OO(36) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> [CH2]CCC(C)OO(38) + CCCC(C)O(47) origin: H_Abstraction
rxn: C[CH]CC(C)OO(37) + CCCC(C)OO(26) <=> CCC[C](C)OO(58) + CCCC(C)OO(26) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCC(C)OO(26) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCC(C)OO(26) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(38) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCC(C)OO(26) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(17) <=> O(42) + C=CC[CH]C(64) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(17) <=> O(42) + [CH2]C=CCC(66) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(17) <=> O(42) + [CH2]CCC=C(67) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(17) <=> O(42) + C=[C]CCC(68) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(17) <=> O(42) + [CH]=CCCC(69) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(17) <=> [CH2]C(O)CCC(91) origin: R_Addition_MultipleBond
rxn: [OH](24) + C=CCCC(17) <=> CCC[CH]CO(104) origin: R_Addition_MultipleBond
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + CC[CH]CCOO(74) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + CCC[CH]COO(73) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + CCCC[CH]OO(84) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + [CH2]CCCCOO(76) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)[O](44) <=> O(42) + CCCC(C)=O(34) origin: Disproportionation
rxn: C=CC[CH]C(64) + CCCCCOO(78) <=> C=CCCC(17) + CCCCCO[O](61) origin: H_Abstraction
rxn: C=CCCC(17) + CCCCCO[O](61) <=> [CH2]C=CCC(66) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCC=C(67) + CCCCCOO(78) <=> C=CCCC(17) + CCCCCO[O](61) origin: H_Abstraction
rxn: C=[C]CCC(68) + CCCCCOO(78) <=> C=CCCC(17) + CCCCCO[O](61) origin: H_Abstraction
rxn: [CH]=CCCC(69) + CCCCCOO(78) <=> C=CCCC(17) + CCCCCO[O](61) origin: H_Abstraction
rxn: O(42) + C=CCCC(17) <=> CCCCCO(103) origin: 1,3_Insertion_ROR
rxn: [CH2]CCCC(12) + CC[CH]CCOO(74) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCC[CH]COO(73) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCCC[CH]OO(84) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + [CH2]CCCCOO(76) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]CCOO(74) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC[CH]COO(73) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC[CH]OO(84) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCCOO(76) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C=CCCC(17) + CCCC(C)[O](44) <=> C=CC[CH]C(64) + CCCC(C)O(47) origin: H_Abstraction
rxn: C=CCCC(17) + CCCC(C)[O](44) <=> [CH2]C=CCC(66) + CCCC(C)O(47) origin: H_Abstraction
rxn: C=CCCC(17) + CCCC(C)[O](44) <=> [CH2]CCC=C(67) + CCCC(C)O(47) origin: H_Abstraction
rxn: C=[C]CCC(68) + CCCC(C)O(47) <=> C=CCCC(17) + CCCC(C)[O](44) origin: H_Abstraction
rxn: [CH]=CCCC(69) + CCCC(C)O(47) <=> C=CCCC(17) + CCCC(C)[O](44) origin: H_Abstraction
rxn: C=CC[CH]C(64) + CCCC(C)OO(26) <=> C=CCCC(17) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: C=CCCC(17) + C[CH]CC(C)OO(37) <=> [CH2]C=CCC(66) + CCCC(C)OO(26) origin: H_Abstraction
rxn: [CH2]CCC=C(67) + CCCC(C)OO(26) <=> C=CCCC(17) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: C=[C]CCC(68) + CCCC(C)OO(26) <=> C=CCCC(17) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: [CH]=CCCC(69) + CCCC(C)OO(26) <=> C=CCCC(17) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(72) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CC[CH]CCOO(74) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(73) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(76) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCO[O](61) <=> CCCC(C)=O(34) + CCCCCOO(78) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CC[CH]CCOO(74) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCC[CH]COO(73) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCCC[CH]OO(84) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> [CH2]CCCCOO(76) + CCCC(C)O(47) origin: H_Abstraction
rxn: CC[CH]CCOO(74) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(73) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(76) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)[O](44) <=> CCCC(C)=O(34) + CCCC(C)O(47) origin: Disproportionation
rxn: CCCC(C)[O](44) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCC(C)O(47) origin: Disproportionation
rxn: CCCC(C)[O](44) + C[CH]CC(C)OO(37) <=> CCCC(C)=O(34) + CCCC(C)OO(26) origin: Disproportionation
rxn: CCCC(C)O[O](21) + CCC(CC)OO[O](48) <=> oxygen(1) + CCCC(C)[O](44) + CCC(CC)O[O](22) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](21) + CCCC(C)OO[O](49) <=> oxygen(1) + CCCC(C)[O](44) + CCCC(C)O[O](21) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](21) + CCCCCOO[O](105) <=> oxygen(1) + CCCC(C)[O](44) + CCCCCO[O](61) origin: Peroxyl_Disproportionation
rxn: OO(23) + OOO(106) <=> [O]O(13) + [O]O(13) + O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OOO(106) + CCC(CC)OO(27) <=> [O]O(13) + O(42) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OOO(107) <=> [O]O(13) + O(42) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OOO(106) + CCCC(C)OO(26) <=> [O]O(13) + O(42) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OOO(102) <=> [O]O(13) + O(42) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OOO(106) + CCCCCOO(78) <=> [O]O(13) + O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCCCOOO(108) <=> [O]O(13) + O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(27) + CCC(CC)OOO(107) <=> O(42) + CCC(CC)O[O](22) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(26) + CCC(CC)OOO(107) <=> O(42) + CCC(CC)O[O](22) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(27) + CCCC(C)OOO(102) <=> O(42) + CCC(CC)O[O](22) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCC(CC)OOO(107) <=> O(42) + CCC(CC)O[O](22) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(27) + CCCCCOOO(108) <=> O(42) + CCC(CC)O[O](22) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(26) + CCCC(C)OOO(102) <=> O(42) + CCCC(C)O[O](21) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCC(C)OOO(102) <=> O(42) + CCCC(C)O[O](21) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(26) + CCCCCOOO(108) <=> O(42) + CCCC(C)O[O](21) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCCCOOO(108) <=> O(42) + CCCCCO[O](61) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
Details
Observables Test Case: RMS_CSTR_liquid_oxidation Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
RMS_CSTR_liquid_oxidation Passed Observable Testing ✅
Regression test fragment:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:34
Current: Execution time (DD:HH:MM:SS): 00:00:00:34
Reference: Memory used: 737.47 MB
Current: Memory used: 736.56 MB
fragment Passed Core Comparison ✅
Original model has 10 species.
Test model has 10 species. ✅
Original model has 2 reactions.
Test model has 2 reactions. ✅
fragment Passed Edge Comparison ✅
Original model has 33 species.
Test model has 33 species. ✅
Original model has 47 reactions.
Test model has 47 reactions. ✅
Details
Observables Test Case: fragment Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
fragment Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
WARNING:root:Initial mole fractions do not sum to one; normalizing.
Regression test RMS_constantVIdealGasReactor_fragment:
Reference: Execution time (DD:HH:MM:SS): 00:00:02:47
Current: Execution time (DD:HH:MM:SS): 00:00:03:23
Reference: Memory used: 2473.45 MB
Current: Memory used: 2508.66 MB
RMS_constantVIdealGasReactor_fragment Passed Core Comparison ✅
Original model has 10 species.
Test model has 10 species. ✅
Original model has 2 reactions.
Test model has 2 reactions. ✅
RMS_constantVIdealGasReactor_fragment Passed Edge Comparison ✅
Original model has 27 species.
Test model has 27 species. ✅
Original model has 24 reactions.
Test model has 24 reactions. ✅
Details
Observables Test Case: RMS_constantVIdealGasReactor_fragment Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
RMS_constantVIdealGasReactor_fragment Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
WARNING:root:Initial mole fractions do not sum to one; normalizing.
Regression test minimal_surface:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:32
Current: Execution time (DD:HH:MM:SS): 00:00:00:32
Reference: Memory used: 899.19 MB
Current: Memory used: 899.31 MB
minimal_surface Passed Core Comparison ✅
Original model has 11 species.
Test model has 11 species. ✅
Original model has 3 reactions.
Test model has 3 reactions. ✅
minimal_surface Passed Edge Comparison ✅
Original model has 38 species.
Test model has 38 species. ✅
Original model has 38 reactions.
Test model has 38 reactions. ✅
Details
Observables Test Case: minimal_surface Comparison✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions!
minimal_surface Passed Observable Testing ✅
beep boop this comment was written by a bot 🤖
|
An update: after discussion with @rwest, it was found that the To do: will have to keep the cross_validate method and the new BM fitting algorithm proposed in this PR consistent. |
mjohnson541
left a comment
There was a problem hiding this comment.
These changes look good to me.
|
Thanks for reviewing, @mjohnson541 . |
The previous commit refactoring had made this block of code always run, so in this commit I remove the "if" statement and reduce the indentation level. Looks like many lines have changed but it's only whitespace.
Negative E0 values don't make a lot of sense physically, but might be encountered when doing an optimization. Commit message by Richard, in 2025, while rebasing. Original code by David in 2021.
It's also useful later.
When doing a least squares optimization of the Blowers Masel parameters, we were using initial guesses of lnA = 1, n = 1, and E0 = w0/10. We now use values derived from the Arrhenius parameters of the reactions in question. Commit message by Richard when rebasing in 2025. Code changes by David in 2021.
If fitted E0 exceeds the w0 then try again, and gradually increase the w0 up to 5 times. Use kJ/mol for w0 and E0. Commit message by Richard when rebasing in 2025. Original changes by David Farina in 2021.
…e E0 Like the commit ArrheniusBM.get_activation_energy can cope with negative E0 but for ArrheniuschargeTransferBM because we have horrible code duplication issues.
These changes mirror those made to the ArrheniusBM.fit_to_reactions so look there for detailed commit messages explaining the changes. This, unfortunately, is a bunch of duplicate code.
…justing activation energy calculation. A negative intrinsic barrier height is not very physical given Blowers and Masels original derivation but it could be encountered in some cases of optimization etc. This choice of what to do when E0 < 0 seems as good as any. It is continuous and monotonic when gradually decreasing E0 past E0 = 0. And it allows E0 < 0 values to actually change the resulting Ea values, and for the latter to go negative. (but not more negative that E0). Beware code duplication here - need to do things twice.
To improve activation energy calculations for negative E0 scenarios. These changes shouldn't actually change the result. Just some slight code optimization (eg. x*x instead of x**2) and simplification (eg. do (x/y) instead of (2*x)/(2*y)) Beware of code duplication.
We changed the w0, but not the instance of it that's used inside the objective function inside the fitting loop. (Beware code duplication in ArrheniusBM and ArrheniusChargeTransferBM)
For the leave-one-out selection of reactions from rs,
replace
rs[list(set(range(len(rs))) - {i})]
with
np.delete(rs, i)
(which returns a copy)
…fitting kinetics. I tried using a helper function that could be re-used, but it started to get too messy and complicated. This unfortunately requires continued maintenance keeping three different bits of code in sync doing the same thing, eg. rejecting BM fits when abs(n)>5 or E0<0.
Replace deprecated InteractiveShell.initialized() with get_ipython(), the canonical way to detect an active IPython/Jupyter session. Also update the docstring to drop the legacy --pylab reference. Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

Motivation or Problem
In recent years, @Nora-Khalil had been having issues with re-training some kinetics trees with halocarbon data, and @davidfarinajr had made various tweaks before that. Along the way we collected various changes to the Blowers-Masel fitting code. Some of these changes date back to 2021, but somehow only ever existed on David and Nora's topic branches.
Here they are, collected and rebased, with some extra refactoring along the way.
The Blowers-Masel (BM) fitting in
ArrheniusBMandArrheniusChargeTransferBMhad several issues: the optimizer used poor initial guesses (hard-codedlnA=1, n=1, E0=w0/10) that frequently led to non-converging or physically unreasonable fits; negativeE0values encountered during optimization caused undefined/incorrect behavior; Additionally, fitted BM parameters withabs(n) > 5are usually artifacts of reactions that don't follow BM enthalpy-dependence, but these were previously trusted.Description of Changes
Behavioral changes:
abs(n) > 5.0in_make_rule(kinetics family), as these typically indicate reactions that don't exhibit BM enthalpy-dependence.E0handling inget_activation_energy: instead of crashing or producing nonsensical values, returnsE0 + max(dHrxn, 0)whenE0 < 0--- a physically continuous and monotonic choice at theE0=0boundary. This is what I chose:Small behavioral changes:
curve_fitoptimizer:lnA,n, andE0are now seeded from the mean Arrhenius parameters of the training reactions (using a BEP relation withalpha=0.25forE0), rather than fixed values.w0 >= 2*E0before optimization, since the BM expression requires this constraint;w0is updated adaptively if the fittedE0exceedsw0.w0andE0are now stored internally in kJ/mol.Performance improvements:
np.log(T**n * np.exp(-Ea/(R*T)))withnp.log(T)*n - Ea/(R*T)in the objective function.dHrxnis now computed once per reaction rather than redundantly inside the temperature loop.Code simplification refactoring:
_make_ruleinrmgpy/data/kinetics/family.py: removed an always-trueif True:block and reduced indentation; no behavioral change.Vpformula inget_activation_energyandfit_to_reactionsfor bothArrheniusBMandArrheniusChargeTransferBM: simplified2*w0*(2*w0+2*E0)/(2*w0-2*E0)→2*w0*(w0+E0)/(w0-E0)and the denominator(2*w0)^2→4*w0*w0(algebraically equivalent, avoids redundant factors of 2).Testing
So far, not much besides the standard test suites.
Reviewer Tips
Note there is code duplication between
ArrheniusBMandArrheniusChargeTransferBM--- changes (should) appear twice throughout.Open question
How should we evaluate different ways of doing fitting?
How do we know what's best?