Skip to content

Conversation

kirkbadger18
Copy link

RMG crashes at the moment when it tries to draw bidentates with charge separation. This issue is discussed in issue #2744. Here I am adding a test that should be passed for any fix to draw.py.

@jonwzheng
Copy link
Contributor

jonwzheng commented Jul 25, 2025

I went ahead and made RDKit the default drawing algorithm.

RDKit appears to be superior in many cases for ions, but has some blind spots with surfaces. It correctly renders the test case in #2744:

Image

I wrote some other test cases which are depicted below.


Cation With RDKit:
image

old RMG algorithm:
image


Anion With RDKit:
image

old RMG algorithm:
image


Zwitterion With RDKit (both algorithms do a good job of this):
image


Cation bidentate With RDKit:
image

old RMG algorithm: fails


Anion binded to surface
image


The cation bidentate is the only one that seems to have undesired behavior, but it still seems like an upgrade over the current algorithm. Perhaps there can be improvements to coerce the orientation of the molecules if surface atoms are present (e.g. if surface atom z-index is high, then flip over)

@jonwzheng jonwzheng changed the title added a test for drawing bidentates with charge separation Fix drawing errors for charged species by moving to rdkit geometry generation Jul 25, 2025
@kirkbadger18
Copy link
Author

@jonwzheng Thank you! looks good!

@jonwzheng
Copy link
Contributor

I realized that test_draw_hydrogen_bond_adsorbate will fail on this branch, I think because of an issue in hydrogen bond representation.
But it will pass on #2796, which makes some changes to the RDKit code to make things work.
Maybe we can move these changes to there?

@jonwzheng jonwzheng changed the base branch from main to feat/rdkit_sssr July 25, 2025 15:47
@jonwzheng jonwzheng force-pushed the add_charged_bidentate_draw_test branch from ad16259 to 111f158 Compare July 25, 2025 16:59
kirkbadger18 and others added 3 commits July 25, 2025 13:10
In ReactionMechanismGenerator#2744 and ReactionMechanismGenerator#2796 it was found that charge-separated bidentate species
can have issues due to ring perception conflicts. The previous implementation
also by default did not use the rdkit backend for charged species, but
this was decided many years ago (~10 years!) In the meantime, RDKit
conformer generation has improved and likely this we can just use RDKit
by default, which would avoid the pesky edge-case issues for
ions/zwitterions.

In case the old behavior is desired, use_rdkit can be set to False.
Accompanies changes to `draw.py` to use `rdkit` backend, which
traditionally was not well-supported for ions (but now might be a better
option than the default drawing algorithm).
@jonwzheng jonwzheng force-pushed the add_charged_bidentate_draw_test branch from 111f158 to de4fa63 Compare July 25, 2025 17:10
@rwest
Copy link
Member

rwest commented Jul 25, 2025

The drawTest added in #2698
(merged in b30535b#diff-e4f4bf60daf1330a478cebbbbb62b35bfd05a15c81d204a2865c399a05a45836 )
draws a bunch of things worth taking a look at manually.
Running the the CI tests will just ensure it doesn't crash, not judge how it looks)

Copy link

Regression Testing Results

⚠️ One or more regression tests failed.
Please download the failed results and run the tests locally or check the log to see why.

Detailed regression test results.

Regression test aromatics:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:49
Current: Execution time (DD:HH:MM:SS): 00:00:01:15
Reference: Memory used: 748.65 MB
Current: Memory used: 763.40 MB

aromatics Passed Core Comparison ✅

Original model has 15 species.
Test model has 15 species. ✅
Original model has 11 reactions.
Test model has 11 reactions. ✅

aromatics Failed Edge Comparison ❌

Original model has 106 species.
Test model has 106 species. ✅
Original model has 358 reactions.
Test model has 358 reactions. ✅

Non-identical thermo! ❌
original: C1=CC2C=CC=1C=C2
tested: C1=CC2C=CC=1C=C2

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
129.39 79.85 22.98 30.09 36.61 42.21 50.22 55.39 65.95
148.68 54.21 25.46 34.24 42.29 49.12 58.39 63.30 72.16

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)
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) + polycyclic(s4_6_6)

Non-identical thermo! ❌
original: C1=CC2C=CC1=CC2
tested: C1=CC2C=CC1=CC2

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
56.66 79.96 24.39 32.69 40.44 47.15 56.86 63.03 75.30
108.21 56.81 27.43 37.29 46.38 54.14 64.77 70.51 80.83

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,4-Cyclohexadiene) + ring(1,3-Cyclohexadiene)
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) + polycyclic(s4_6_6)

Non-identical thermo! ❌
original: [CH]=CC1C=C2C=CC1C=C2
tested: [CH]=CC1C=C2C=CC1C=C2

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
134.28 94.17 33.50 43.19 51.79 59.11 69.91 77.10 90.41
185.84 71.01 36.54 47.79 57.73 66.08 77.82 84.60 95.93

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,4-Cyclohexadiene) + radical(Cds_P)
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) + polycyclic(s4_6_6) + radical(Cds_P)

Non-identical thermo! ❌
original: C=CC1C=C2C=CC1C=C2
tested: C=CC1C=C2C=CC1C=C2

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
75.19 92.78 33.68 43.92 53.13 61.03 72.77 80.56 94.93
126.74 69.62 36.73 48.52 59.07 68.01 80.68 88.07 100.46

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,4-Cyclohexadiene)
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) + polycyclic(s4_6_6)

Non-identical kinetics! ❌
original:
rxn: benzene(1) + C1=CC2C=C[C]1C=C2(49) <=> [c]1ccccc1(3) + C1=CC2C=CC1=CC2(83) origin: H_Abstraction
tested:
rxn: benzene(1) + C1=CC2C=C[C]1C=C2(49) <=> [c]1ccccc1(3) + C1=CC2C=CC1=CC2(83) origin: H_Abstraction

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -17.84 -11.76 -8.01 -5.45 -2.13 -0.05 2.94 4.59
k(T): -49.97 -35.85 -27.28 -21.51 -14.18 -9.68 -3.49 -0.23

kinetics: Arrhenius(A=(0.387,'cm^3/(mol*s)'), n=4.34, Ea=(30.45,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 1694 used for Cb_H;C_rad/H/CdCs Exact match found for rate rule [Cb_H;C_rad/H/CdCs] Euclidian distance = 0 Multiplied by reaction path degeneracy 18.0 family: H_Abstraction""")
kinetics: Arrhenius(A=(0.387,'cm^3/(mol*s)'), n=4.34, Ea=(74.548,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 1694 used for Cb_H;C_rad/H/CdCs Exact match found for rate rule [Cb_H;C_rad/H/CdCs] Euclidian distance = 0 Multiplied by reaction path degeneracy 18.0 family: H_Abstraction Ea raised from 310.7 to 311.9 kJ/mol to match endothermicity of reaction.""")
kinetics: From training reaction 1694 used for Cb_H;C_rad/H/CdCs
Exact match found for rate rule [Cb_H;C_rad/H/CdCs]
Euclidian distance = 0
Multiplied by reaction path degeneracy 18.0
family: H_Abstraction
kinetics: From training reaction 1694 used for Cb_H;C_rad/H/CdCs
Exact match found for rate rule [Cb_H;C_rad/H/CdCs]
Euclidian distance = 0
Multiplied by reaction path degeneracy 18.0
family: H_Abstraction
Ea raised from 310.7 to 311.9 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: ethyne(2) + C1=CC2C=C[C]1C=C2(49) <=> [CH]=CC1C=C2C=CC1C=C2(85) origin: R_Addition_MultipleBond
tested:
rxn: ethyne(2) + C1=CC2C=C[C]1C=C2(49) <=> [CH]=CC1C=C2C=CC1C=C2(85) origin: R_Addition_MultipleBond

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -4.50 -1.87 -0.23 0.89 2.36 3.30 4.65 5.42
k(T): -22.62 -15.46 -11.10 -8.17 -4.43 -2.14 1.03 2.70

kinetics: Arrhenius(A=(73800,'cm^3/(mol*s)'), n=2.41, Ea=(12.82,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 2258 used for Ct-H_Ct-H;CsJ-CdCsH Exact match found for rate rule [Ct-H_Ct-H;CsJ-CdCsH] Euclidian distance = 0 Multiplied by reaction path degeneracy 6.0 family: R_Addition_MultipleBond""")
kinetics: Arrhenius(A=(73800,'cm^3/(mol*s)'), n=2.41, Ea=(37.693,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 2258 used for Ct-H_Ct-H;CsJ-CdCsH Exact match found for rate rule [Ct-H_Ct-H;CsJ-CdCsH] Euclidian distance = 0 Multiplied by reaction path degeneracy 6.0 family: R_Addition_MultipleBond Ea raised from 152.0 to 157.7 kJ/mol to match endothermicity of reaction.""")
kinetics: From training reaction 2258 used for Ct-H_Ct-H;CsJ-CdCsH
Exact match found for rate rule [Ct-H_Ct-H;CsJ-CdCsH]
Euclidian distance = 0
Multiplied by reaction path degeneracy 6.0
family: R_Addition_MultipleBond
kinetics: From training reaction 2258 used for Ct-H_Ct-H;CsJ-CdCsH
Exact match found for rate rule [Ct-H_Ct-H;CsJ-CdCsH]
Euclidian distance = 0
Multiplied by reaction path degeneracy 6.0
family: R_Addition_MultipleBond
Ea raised from 152.0 to 157.7 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: [c]1ccccc1(3) + C1=CC2C=C[C]1C=C2(49) <=> C1#CC=CC=C1(10) + C1=CC2C=CC1=CC2(83) origin: Disproportionation
tested:
rxn: [c]1ccccc1(3) + C1=CC2C=C[C]1C=C2(49) <=> C1#CC=CC=C1(10) + C1=CC2C=CC1=CC2(83) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 0.84 2.04 2.82 3.38 4.15 4.67 5.49 6.00
k(T): -26.90 -18.77 -13.83 -10.49 -6.25 -3.65 -0.06 1.84

kinetics: Arrhenius(A=(4050,'cm^3/(mol*s)'), n=2.7, Ea=(4.743,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_N-Sp-5R!H=1R!H_Ext-4CHNS-R_N-6R!H->S_4CHNS->C_N- Sp-6BrBrBrCCCClClClFFFIIINNNOOOPPPSiSiSi#4C_6BrCClFINOPSi->C_1R!H-inRing Multiplied by reaction path degeneracy 6.0""")
kinetics: Arrhenius(A=(4050,'cm^3/(mol*s)'), n=2.7, Ea=(42.829,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_N-Sp-5R!H=1R!H_Ext-4CHNS-R_N-6R!H->S_4CHNS->C_N- Sp-6BrBrBrCCCClClClFFFIIINNNOOOPPPSiSiSi#4C_6BrCClFINOPSi->C_1R!H-inRing Multiplied by reaction path degeneracy 6.0 Ea raised from 178.7 to 179.2 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_N-Sp-5R!H=1R!H_Ext-4CHNS-R_N-6R!H->S_4CHNS->C_N- Sp-6BrBrBrCCCClClClFFFIIINNNOOOPPPSiSiSi#4C_6BrCClFINOPSi->C_1R!H-inRing
Multiplied by reaction path degeneracy 6.0
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_N-Sp-5R!H=1R!H_Ext-4CHNS-R_N-6R!H->S_4CHNS->C_N- Sp-6BrBrBrCCCClClClFFFIIINNNOOOPPPSiSiSi#4C_6BrCClFINOPSi->C_1R!H-inRing
Multiplied by reaction path degeneracy 6.0
Ea raised from 178.7 to 179.2 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: [H](4) + C1=CC2C=C[C]1C=C2(49) <=> [H][H](11) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation
tested:
rxn: [H](4) + C1=CC2C=C[C]1C=C2(49) <=> [H][H](11) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 5.77 5.83 5.88 5.92 5.97 6.02 6.10 6.16
k(T): 4.57 4.93 5.15 5.31 5.52 5.66 5.86 5.98

kinetics: Arrhenius(A=(4.06926e+10,'cm^3/(mol*s)'), n=0.47, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O Multiplied by reaction path degeneracy 3.0""")
kinetics: Arrhenius(A=(4.06926e+10,'cm^3/(mol*s)'), n=0.47, Ea=(1.659,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O Multiplied by reaction path degeneracy 3.0 Ea raised from 0.0 to 6.9 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O
Multiplied by reaction path degeneracy 3.0
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O
Multiplied by reaction path degeneracy 3.0
Ea raised from 0.0 to 6.9 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: [CH]=C(7) + C1=CC2C=C[C]1C=C2(49) <=> C=C(13) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation
tested:
rxn: [CH]=C(7) + C1=CC2C=C[C]1C=C2(49) <=> C=C(13) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 4.06 4.76 5.18 5.46 5.81 6.02 6.30 6.44
k(T): -0.85 1.07 2.23 3.00 3.97 4.55 5.32 5.70

kinetics: Arrhenius(A=(7.23e+12,'cm^3/(mol*s)'), n=0, Ea=(3.841,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_N-Sp-6R!H-4CHNS Multiplied by reaction path degeneracy 3.0""")
kinetics: Arrhenius(A=(7.23e+12,'cm^3/(mol*s)'), n=0, Ea=(10.587,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_N-Sp-6R!H-4CHNS Multiplied by reaction path degeneracy 3.0""")
Identical kinetics comments:
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_N-Sp-6R!H-4CHNS
Multiplied by reaction path degeneracy 3.0

Non-identical kinetics! ❌
original:
rxn: [CH]=C(7) + C1=CC2C=C[C]1C=C2(49) <=> ethyne(2) + C1=CC2C=CC1=CC2(83) origin: Disproportionation
tested:
rxn: [CH]=C(7) + C1=CC2C=C[C]1C=C2(49) <=> ethyne(2) + C1=CC2C=CC1=CC2(83) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 7.18 7.15 7.12 7.10 7.07 7.05 7.00 6.97
k(T): 1.39 2.81 3.65 4.21 4.90 5.31 5.85 6.10

kinetics: Arrhenius(A=(6.31914e+13,'cm^3/(mol*s)'), n=-0.251, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_N-1R!H->O_N-4CNOS->O_Ext-4CNS-R_N-Sp-5R!H#4CCCNNNSSS_N-2R!H->S_N-5R!H->O_Sp-5CS-4CCNSS Multiplied by reaction path degeneracy 6.0""")
kinetics: Arrhenius(A=(6.31914e+13,'cm^3/(mol*s)'), n=-0.251, Ea=(7.948,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_N-4R->H_4CNOS-u1_N-1R!H->O_N-4CNOS->O_Ext-4CNS-R_N-Sp-5R!H#4CCCNNNSSS_N-2R!H->S_N-5R!H->O_Sp-5CS-4CCNSS Multiplied by reaction path degeneracy 6.0""")
Identical kinetics comments:
kinetics: Estimated from node Root_N-4R->H_4CNOS-u1_N-1R!H->O_N-4CNOS->O_Ext-4CNS-R_N-Sp-5R!H#4CCCNNNSSS_N-2R!H->S_N-5R!H->O_Sp-5CS-4CCNSS
Multiplied by reaction path degeneracy 6.0

Non-identical kinetics! ❌
original:
rxn: [CH]1C2=CC=CC12(8) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2CC2=C1(27) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation
tested:
rxn: [CH]1C2=CC=CC12(8) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2CC2=C1(27) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -4.55 -1.90 -0.23 0.94 2.49 3.50 5.02 5.92
k(T): -18.48 -12.34 -8.58 -6.02 -2.73 -0.67 2.24 3.83

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(12.063,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 46.8 to 50.5 kJ/mol to match endothermicity of reaction.""")
kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(31.181,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 127.5 to 130.5 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 46.8 to 50.5 kJ/mol to match endothermicity of reaction.
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 127.5 to 130.5 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: [CH]1C2=CC=CC12(8) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2=CC2=C1(22) + C1=CC2C=CC1=CC2(83) origin: Disproportionation
tested:
rxn: [CH]1C2=CC=CC12(8) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2=CC2=C1(22) + C1=CC2C=CC1=CC2(83) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 6.29 6.36 6.39 6.40 6.40 6.38 6.34 6.30
k(T): -6.48 -3.22 -1.28 0.01 1.61 2.55 3.79 4.38

kinetics: Arrhenius(A=(1.57744e+14,'cm^3/(mol*s)'), n=-0.55, Ea=(0.75,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R Multiplied by reaction path degeneracy 3.0""")
kinetics: Arrhenius(A=(1.57744e+14,'cm^3/(mol*s)'), n=-0.55, Ea=(18.28,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R Multiplied by reaction path degeneracy 3.0""")
Identical kinetics comments:
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R
Multiplied by reaction path degeneracy 3.0

Non-identical kinetics! ❌
original:
rxn: [CH]1C2=CC=CC12(8) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2C=C2C1(29) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation
tested:
rxn: [CH]1C2=CC=CC12(8) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2C=C2C1(29) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -5.30 -2.46 -0.68 0.57 2.21 3.28 4.87 5.80
k(T): -19.22 -12.90 -9.03 -6.40 -3.01 -0.90 2.09 3.71

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(13.089,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 53.5 to 54.8 kJ/mol to match endothermicity of reaction.""")
kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(32.207,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 134.3 to 134.8 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 53.5 to 54.8 kJ/mol to match endothermicity of reaction.
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 134.3 to 134.8 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: [CH]1C2=CC=CC12(8) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2=CC2C=1(26) + C1=CC2C=CC1=CC2(83) origin: Disproportionation
tested:
rxn: [CH]1C2=CC=CC12(8) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2=CC2C=1(26) + C1=CC2C=CC1=CC2(83) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -21.38 -14.52 -10.33 -7.48 -3.82 -1.55 1.66 3.39
k(T): -58.94 -42.69 -32.86 -26.25 -17.90 -12.81 -5.85 -2.24

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(35.17,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0""")
kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(86.72,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0""")
Identical kinetics comments:
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0

Non-identical kinetics! ❌
original:
rxn: [CH]1C2=CC=CC12(8) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2=CC2C1(28) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation
tested:
rxn: [CH]1C2=CC=CC12(8) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2=CC2C1(28) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -1.38 0.48 1.67 2.52 3.68 4.45 5.66 6.39
k(T): -15.31 -9.97 -6.68 -4.44 -1.54 0.27 2.87 4.30

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(7.718,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0""")
kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(26.837,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0""")
Identical kinetics comments:
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0

Non-identical kinetics! ❌
original:
rxn: [CH]=CC=C(15) + C1=CC2C=C[C]1C=C2(49) <=> C=CC=C(17) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation
tested:
rxn: [CH]=CC=C(15) + C1=CC2C=C[C]1C=C2(49) <=> C=CC=C(17) + C1=CC2C=CC=1C=C2(79) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -0.49 0.99 1.87 2.46 3.19 3.64 4.23 4.52
k(T): -5.85 -3.04 -1.35 -0.22 1.18 2.03 3.15 3.71

kinetics: Arrhenius(A=(2.529e+11,'cm^3/(mol*s)'), n=0, Ea=(8.084,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-6R!H-R Multiplied by reaction path degeneracy 3.0""")
kinetics: Arrhenius(A=(2.529e+11,'cm^3/(mol*s)'), n=0, Ea=(15.45,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-6R!H-R Multiplied by reaction path degeneracy 3.0""")
Identical kinetics comments:
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-6R!H-R
Multiplied by reaction path degeneracy 3.0

Non-identical kinetics! ❌
original:
rxn: [CH]=CC=C(15) + C1=CC2C=C[C]1C=C2(49) <=> C#CC=C(38) + C1=CC2C=CC1=CC2(83) origin: Disproportionation
tested:
rxn: [CH]=CC=C(15) + C1=CC2C=C[C]1C=C2(49) <=> C#CC=C(38) + C1=CC2C=CC1=CC2(83) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 6.93 6.88 6.85 6.82 6.77 6.73 6.67 6.62
k(T): 2.09 3.26 3.95 4.40 4.96 5.28 5.70 5.90

kinetics: Arrhenius(A=(7.08174e+13,'cm^3/(mol*s)'), n=-0.372, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_N-Sp-5R!H=1R!H_Ext-4CHNS-R_N-6R!H->S_4CHNS->C_N- Sp-6BrBrBrCCCClClClFFFIIINNNOOOPPPSiSiSi#4C_6BrCClFINOPSi->C_N-1R!H-inRing_Ext-4C-R Multiplied by reaction path degeneracy 3.0""")
kinetics: Arrhenius(A=(7.08174e+13,'cm^3/(mol*s)'), n=-0.372, Ea=(6.637,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_N-Sp-5R!H=1R!H_Ext-4CHNS-R_N-6R!H->S_4CHNS->C_N- Sp-6BrBrBrCCCClClClFFFIIINNNOOOPPPSiSiSi#4C_6BrCClFINOPSi->C_N-1R!H-inRing_Ext-4C-R Multiplied by reaction path degeneracy 3.0""")
Identical kinetics comments:
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_N-Sp-5R!H=1R!H_Ext-4CHNS-R_N-6R!H->S_4CHNS->C_N- Sp-6BrBrBrCCCClClClFFFIIINNNOOOPPPSiSiSi#4C_6BrCClFINOPSi->C_N-1R!H-inRing_Ext-4C-R
Multiplied by reaction path degeneracy 3.0

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]=Cc1ccccc1(12) <=> C1=CC2C=CC=1C=C2(79) + C=Cc1ccccc1(16) origin: Disproportionation
tested:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]=Cc1ccccc1(12) <=> C1=CC2C=CC=1C=C2(79) + C=Cc1ccccc1(16) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -0.66 0.85 1.76 2.37 3.13 3.58 4.19 4.49
k(T): -6.11 -3.23 -1.51 -0.35 1.09 1.95 3.10 3.68

kinetics: Arrhenius(A=(2.529e+11,'cm^3/(mol*s)'), n=0, Ea=(8.328,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-6R!H-R Multiplied by reaction path degeneracy 3.0""")
kinetics: Arrhenius(A=(2.529e+11,'cm^3/(mol*s)'), n=0, Ea=(15.805,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-6R!H-R Multiplied by reaction path degeneracy 3.0""")
Identical kinetics comments:
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-6R!H-R
Multiplied by reaction path degeneracy 3.0

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]=Cc1ccccc1(12) <=> C#Cc1ccccc1(51) + C1=CC2C=CC1=CC2(83) origin: Disproportionation
tested:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]=Cc1ccccc1(12) <=> C#Cc1ccccc1(51) + C1=CC2C=CC1=CC2(83) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 6.93 6.88 6.85 6.82 6.77 6.73 6.67 6.62
k(T): 3.05 3.98 4.52 4.88 5.32 5.57 5.89 6.04

kinetics: Arrhenius(A=(7.08174e+13,'cm^3/(mol*s)'), n=-0.372, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_N-Sp-5R!H=1R!H_Ext-4CHNS-R_N-6R!H->S_4CHNS->C_N- Sp-6BrBrBrCCCClClClFFFIIINNNOOOPPPSiSiSi#4C_6BrCClFINOPSi->C_N-1R!H-inRing_Ext-4C-R Multiplied by reaction path degeneracy 3.0""")
kinetics: Arrhenius(A=(7.08174e+13,'cm^3/(mol*s)'), n=-0.372, Ea=(5.319,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_N-Sp-5R!H=1R!H_Ext-4CHNS-R_N-6R!H->S_4CHNS->C_N- Sp-6BrBrBrCCCClClClFFFIIINNNOOOPPPSiSiSi#4C_6BrCClFINOPSi->C_N-1R!H-inRing_Ext-4C-R Multiplied by reaction path degeneracy 3.0""")
Identical kinetics comments:
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_N-Sp-5R!H=1R!H_Ext-4CHNS-R_N-6R!H->S_4CHNS->C_N- Sp-6BrBrBrCCCClClClFFFIIINNNOOOPPPSiSiSi#4C_6BrCClFINOPSi->C_N-1R!H-inRing_Ext-4C-R
Multiplied by reaction path degeneracy 3.0

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]1C2=CC=CC1C=C2(48) <=> C1=CC2C=CC=1C=C2(79) + C1=CC2C=CC(=C1)C2(69) origin: Disproportionation
tested:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]1C2=CC=CC1C=C2(48) <=> C1=CC2C=CC=1C=C2(79) + C1=CC2C=CC(=C1)C2(69) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -4.51 -1.87 -0.20 0.96 2.51 3.52 5.03 5.92
k(T): -18.44 -12.31 -8.56 -6.00 -2.72 -0.66 2.24 3.83

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(12.01,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 46.5 to 50.2 kJ/mol to match endothermicity of reaction.""")
kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(31.128,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 127.2 to 130.2 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 46.5 to 50.2 kJ/mol to match endothermicity of reaction.
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 127.2 to 130.2 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]1C2=CC=CC1C=C2(48) <=> C1=CC2=CC(=C1)C=C2(60) + C1=CC2C=CC1=CC2(83) origin: Disproportionation
tested:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]1C2=CC=CC1C=C2(48) <=> C1=CC2=CC(=C1)C=C2(60) + C1=CC2C=CC1=CC2(83) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -56.32 -40.60 -31.18 -24.91 -17.08 -12.40 -6.18 -3.09
k(T): -93.66 -68.61 -53.59 -43.58 -31.09 -23.60 -13.65 -8.69

kinetics: Arrhenius(A=(1.57744e+14,'cm^3/(mol*s)'), n=-0.55, Ea=(86.692,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R Multiplied by reaction path degeneracy 3.0 Ea raised from 358.9 to 362.7 kJ/mol to match endothermicity of reaction.""")
kinetics: Arrhenius(A=(1.57744e+14,'cm^3/(mol*s)'), n=-0.55, Ea=(137.957,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R Multiplied by reaction path degeneracy 3.0 Ea raised from 574.6 to 577.2 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 358.9 to 362.7 kJ/mol to match endothermicity of reaction.
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 574.6 to 577.2 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]1C2=CC=CC1C=C2(48) <=> C1=CC2C=CC=1C=C2(79) + C1=CC2C=CC(=C2)C1(70) origin: Disproportionation
tested:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]1C2=CC=CC1C=C2(48) <=> C1=CC2C=CC=1C=C2(79) + C1=CC2C=CC(=C2)C1(70) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -6.18 -3.12 -1.20 0.13 1.88 3.01 4.70 5.67
k(T): -20.10 -13.56 -9.56 -6.84 -3.34 -1.16 1.91 3.58

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(14.299,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 56.6 to 59.8 kJ/mol to match endothermicity of reaction.""")
kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(33.417,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 137.3 to 139.8 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 56.6 to 59.8 kJ/mol to match endothermicity of reaction.
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 137.3 to 139.8 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]1C2=CC=CC1C=C2(48) <=> C1=CC2=CC(C=1)C=C2(64) + C1=CC2C=CC1=CC2(83) origin: Disproportionation
tested:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]1C2=CC=CC1C=C2(48) <=> C1=CC2=CC(C=1)C=C2(64) + C1=CC2C=CC1=CC2(83) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -8.04 -4.52 -2.32 -0.81 1.18 2.46 4.32 5.39
k(T): -45.39 -32.53 -24.73 -19.48 -12.82 -8.75 -3.15 -0.21

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(16.86,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 65.8 to 70.5 kJ/mol to match endothermicity of reaction.""")
kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(68.125,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 281.4 to 285.0 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 65.8 to 70.5 kJ/mol to match endothermicity of reaction.
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 281.4 to 285.0 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]1C2=CC=CC1C=C2(48) <=> C1=CC2C=CC=1C=C2(79) + C1=CC2=CC(C=C2)C1(71) origin: Disproportionation
tested:
rxn: C1=CC2C=C[C]1C=C2(49) + [CH]1C2=CC=CC1C=C2(48) <=> C1=CC2C=CC=1C=C2(79) + C1=CC2=CC(C=C2)C1(71) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -8.04 -4.52 -2.32 -0.81 1.18 2.46 4.32 5.39
k(T): -21.97 -14.96 -10.68 -7.77 -4.04 -1.72 1.54 3.30

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(16.86,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 65.8 to 70.5 kJ/mol to match endothermicity of reaction.""")
kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(35.979,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 146.5 to 150.5 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 65.8 to 70.5 kJ/mol to match endothermicity of reaction.
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 146.5 to 150.5 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2C=CC=1C=C2(79) + C1=CC2C=CC1C=C2(82) origin: Disproportionation
tested:
rxn: C1=CC2C=C[C]1C=C2(49) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2C=CC=1C=C2(79) + C1=CC2C=CC1C=C2(82) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -4.55 -1.90 -0.23 0.94 2.49 3.50 5.02 5.92
k(T): -18.48 -12.34 -8.58 -6.02 -2.73 -0.67 2.24 3.83

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(12.063,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 46.8 to 50.5 kJ/mol to match endothermicity of reaction.""")
kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(31.181,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 3.0 Ea raised from 127.5 to 130.5 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 46.8 to 50.5 kJ/mol to match endothermicity of reaction.
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 127.5 to 130.5 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2C=CC=1C=C2(79) + C1=CC2C=CC1=CC2(83) origin: Disproportionation
tested:
rxn: C1=CC2C=C[C]1C=C2(49) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2C=CC=1C=C2(79) + C1=CC2C=CC1=CC2(83) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 3.96 4.60 5.07 5.43 5.98 6.39 7.11 7.60
k(T): -44.83 -31.99 -24.20 -18.96 -12.32 -8.25 -2.65 0.28

kinetics: Arrhenius(A=(51.5097,'cm^3/(mol*s)'), n=3.635, Ea=(1.036,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 9.0""")
kinetics: Arrhenius(A=(51.5097,'cm^3/(mol*s)'), n=3.635, Ea=(68.012,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R Multiplied by reaction path degeneracy 9.0 Ea raised from 281.2 to 284.6 kJ/mol to match endothermicity of reaction.""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 9.0
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Sp-5R!H=1R!H_Ext-4CHNS-R_Ext-4CHNS-R
Multiplied by reaction path degeneracy 9.0
Ea raised from 281.2 to 284.6 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2=CC=C1C=C2(81) + C1=CC2C=CC1=CC2(83) origin: Disproportionation
tested:
rxn: C1=CC2C=C[C]1C=C2(49) + C1=CC2C=C[C]1C=C2(49) <=> C1=CC2=CC=C1C=C2(81) + C1=CC2C=CC1=CC2(83) origin: Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -63.63 -46.08 -35.57 -28.56 -19.82 -14.59 -7.64 -4.19
k(T): -101.11 -74.19 -58.05 -47.30 -33.88 -25.83 -15.14 -9.81

kinetics: Arrhenius(A=(1.57744e+14,'cm^3/(mol*s)'), n=-0.55, Ea=(96.732,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R Multiplied by reaction path degeneracy 3.0 Ea raised from 404.3 to 404.7 kJ/mol to match endothermicity of reaction.""")
kinetics: Arrhenius(A=(1.57744e+14,'cm^3/(mol*s)'), n=-0.55, Ea=(148.174,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R Multiplied by reaction path degeneracy 3.0""")
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R
Multiplied by reaction path degeneracy 3.0
Ea raised from 404.3 to 404.7 kJ/mol to match endothermicity of reaction.
kinetics: Estimated from node Root_Ext-1R!H-R_N-4R->O_Ext-1R!H-R_4CHNS->C_Ext-4C-R_N-Sp-7R!H#4C_7R!H->C_Ext-4C-R
Multiplied by reaction path degeneracy 3.0

Non-identical kinetics! ❌
original:
rxn: C#Cc1ccccc1(51) + C1=CC2C=C[C]1C=C2(49) <=> C#Cc1[c]cccc1(88) + C1=CC2C=CC1=CC2(83) origin: H_Abstraction
tested:
rxn: C#Cc1ccccc1(51) + C1=CC2C=C[C]1C=C2(49) <=> C#Cc1[c]cccc1(88) + C1=CC2C=CC1=CC2(83) origin: H_Abstraction

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -18.32 -12.23 -8.49 -5.92 -2.61 -0.52 2.46 4.11
k(T): -50.45 -36.33 -27.76 -21.99 -14.66 -10.16 -3.97 -0.71

kinetics: Arrhenius(A=(0.129,'cm^3/(mol*s)'), n=4.34, Ea=(30.45,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 1694 used for Cb_H;C_rad/H/CdCs Exact match found for rate rule [Cb_H;C_rad/H/CdCs] Euclidian distance = 0 Multiplied by reaction path degeneracy 6.0 family: H_Abstraction""")
kinetics: Arrhenius(A=(0.129,'cm^3/(mol*s)'), n=4.34, Ea=(74.548,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 1694 used for Cb_H;C_rad/H/CdCs Exact match found for rate rule [Cb_H;C_rad/H/CdCs] Euclidian distance = 0 Multiplied by reaction path degeneracy 6.0 family: H_Abstraction Ea raised from 310.7 to 311.9 kJ/mol to match endothermicity of reaction.""")
kinetics: From training reaction 1694 used for Cb_H;C_rad/H/CdCs
Exact match found for rate rule [Cb_H;C_rad/H/CdCs]
Euclidian distance = 0
Multiplied by reaction path degeneracy 6.0
family: H_Abstraction
kinetics: From training reaction 1694 used for Cb_H;C_rad/H/CdCs
Exact match found for rate rule [Cb_H;C_rad/H/CdCs]
Euclidian distance = 0
Multiplied by reaction path degeneracy 6.0
family: H_Abstraction
Ea raised from 310.7 to 311.9 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: C#Cc1ccccc1(51) + C1=CC2C=C[C]1C=C2(49) <=> C#Cc1c[c]ccc1(89) + C1=CC2C=CC1=CC2(83) origin: H_Abstraction
tested:
rxn: C#Cc1ccccc1(51) + C1=CC2C=C[C]1C=C2(49) <=> C#Cc1c[c]ccc1(89) + C1=CC2C=CC1=CC2(83) origin: H_Abstraction

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -18.32 -12.23 -8.49 -5.92 -2.61 -0.52 2.46 4.11
k(T): -50.45 -36.33 -27.76 -21.99 -14.66 -10.16 -3.97 -0.71

kinetics: Arrhenius(A=(0.129,'cm^3/(mol*s)'), n=4.34, Ea=(30.45,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 1694 used for Cb_H;C_rad/H/CdCs Exact match found for rate rule [Cb_H;C_rad/H/CdCs] Euclidian distance = 0 Multiplied by reaction path degeneracy 6.0 family: H_Abstraction""")
kinetics: Arrhenius(A=(0.129,'cm^3/(mol*s)'), n=4.34, Ea=(74.548,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 1694 used for Cb_H;C_rad/H/CdCs Exact match found for rate rule [Cb_H;C_rad/H/CdCs] Euclidian distance = 0 Multiplied by reaction path degeneracy 6.0 family: H_Abstraction Ea raised from 310.7 to 311.9 kJ/mol to match endothermicity of reaction.""")
kinetics: From training reaction 1694 used for Cb_H;C_rad/H/CdCs
Exact match found for rate rule [Cb_H;C_rad/H/CdCs]
Euclidian distance = 0
Multiplied by reaction path degeneracy 6.0
family: H_Abstraction
kinetics: From training reaction 1694 used for Cb_H;C_rad/H/CdCs
Exact match found for rate rule [Cb_H;C_rad/H/CdCs]
Euclidian distance = 0
Multiplied by reaction path degeneracy 6.0
family: H_Abstraction
Ea raised from 310.7 to 311.9 kJ/mol to match endothermicity of reaction.

Non-identical kinetics! ❌
original:
rxn: C#Cc1ccccc1(51) + C1=CC2C=C[C]1C=C2(49) <=> C#Cc1cc[c]cc1(90) + C1=CC2C=CC1=CC2(83) origin: H_Abstraction
tested:
rxn: C#Cc1ccccc1(51) + C1=CC2C=C[C]1C=C2(49) <=> C#Cc1cc[c]cc1(90) + C1=CC2C=CC1=CC2(83) origin: H_Abstraction

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -18.62 -12.53 -8.79 -6.22 -2.91 -0.83 2.16 3.81
k(T): -50.75 -36.63 -28.06 -22.29 -14.96 -10.46 -4.27 -1.01

kinetics: Arrhenius(A=(0.0645,'cm^3/(mol*s)'), n=4.34, Ea=(30.45,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 1694 used for Cb_H;C_rad/H/CdCs Exact match found for rate rule [Cb_H;C_rad/H/CdCs] Euclidian distance = 0 Multiplied by reaction path degeneracy 3.0 family: H_Abstraction""")
kinetics: Arrhenius(A=(0.0645,'cm^3/(mol*s)'), n=4.34, Ea=(74.548,'kcal/mol'), T0=(1,'K'), comment="""From training reaction 1694 used for Cb_H;C_rad/H/CdCs Exact match found for rate rule [Cb_H;C_rad/H/CdCs] Euclidian distance = 0 Multiplied by reaction path degeneracy 3.0 family: H_Abstraction Ea raised from 310.7 to 311.9 kJ/mol to match endothermicity of reaction.""")
kinetics: From training reaction 1694 used for Cb_H;C_rad/H/CdCs
Exact match found for rate rule [Cb_H;C_rad/H/CdCs]
Euclidian distance = 0
Multiplied by reaction path degeneracy 3.0
family: H_Abstraction
kinetics: From training reaction 1694 used for Cb_H;C_rad/H/CdCs
Exact match found for rate rule [Cb_H;C_rad/H/CdCs]
Euclidian distance = 0
Multiplied by reaction path degeneracy 3.0
family: H_Abstraction
Ea raised from 310.7 to 311.9 kJ/mol to match endothermicity of reaction.

Observables 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:57
Current: Execution time (DD:HH:MM:SS): 00:00:02:31
Reference: Memory used: 848.42 MB
Current: Memory used: 851.39 MB

liquid_oxidation Passed Core Comparison ✅

Original model has 37 species.
Test model has 37 species. ✅
Original model has 241 reactions.
Test model has 241 reactions. ✅

liquid_oxidation Failed Edge Comparison ❌

Original model has 214 species.
Test model has 214 species. ✅
Original model has 1590 reactions.
Test model has 1590 reactions. ✅
The original model has 2 reactions that the tested model does not have. ❌
rxn: C[CH]CC(C)OO(33) <=> CCC[C](C)OO(78) origin: intra_H_migration
rxn: CCCC[CH]OO(102) <=> C[CH]CCCOO(51) origin: intra_H_migration
The tested model has 2 reactions that the original model does not have. ❌
rxn: C[CH]CC(C)OO(31) <=> [OH](22) + CCCC(C)=O(28) origin: intra_H_migration
rxn: C[CH]CCCOO(63) <=> [OH](22) + CCCCC=O(60) origin: intra_H_migration

Observables 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:02
Current: Execution time (DD:HH:MM:SS): 00:00:01:11
Reference: Memory used: 849.46 MB
Current: Memory used: 854.73 MB

nitrogen Passed Core Comparison ✅

Original model has 41 species.
Test model has 41 species. ✅
Original model has 360 reactions.
Test model has 360 reactions. ✅

nitrogen Passed Edge Comparison ✅

Original model has 133 species.
Test model has 133 species. ✅
Original model has 983 reactions.
Test model has 983 reactions. ✅

Observables 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
Current: Execution time (DD:HH:MM:SS): 00:00:02:09
Reference: Memory used: 736.09 MB
Current: Memory used: 742.06 MB

oxidation Passed Core Comparison ✅

Original model has 59 species.
Test model has 59 species. ✅
Original model has 694 reactions.
Test model has 694 reactions. ✅

oxidation Passed Edge Comparison ✅

Original model has 230 species.
Test model has 230 species. ✅
Original model has 1526 reactions.
Test model has 1526 reactions. ✅

Observables Test Case: Oxidation Comparison

✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions!

oxidation Passed Observable Testing ✅
Errors occurred during observable testing ⚠️ WARNING:root:Initial mole fractions do not sum to one; normalizing.

Regression test sulfur:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:39
Current: Execution time (DD:HH:MM:SS): 00:00:00:47
Reference: Memory used: 844.05 MB
Current: Memory used: 852.77 MB

sulfur Passed Core Comparison ✅

Original model has 27 species.
Test model has 27 species. ✅
Original model has 74 reactions.
Test model has 74 reactions. ✅

sulfur Failed Edge Comparison ❌

Original model has 89 species.
Test model has 89 species. ✅
Original model has 227 reactions.
Test model has 227 reactions. ✅
The original model has 1 reactions that the tested model does not have. ❌
rxn: O(4) + SO2(15) (+N2) <=> SO3(16) (+N2) origin: primarySulfurLibrary
The tested model has 1 reactions that the original model does not have. ❌
rxn: O(4) + SO2(15) (+N2) <=> SO3(16) (+N2) origin: primarySulfurLibrary

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:24
Current: Execution time (DD:HH:MM:SS): 00:00:00:26
Reference: Memory used: 928.59 MB
Current: Memory used: 930.28 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:53
Current: Execution time (DD:HH:MM:SS): 00:00:02:17
Reference: Memory used: 2351.01 MB
Current: Memory used: 2271.39 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. ✅

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:25:15
Current: Execution time (DD:HH:MM:SS): 00:00:23:29
Reference: Memory used: 3339.25 MB
Current: Memory used: 3379.40 MB

RMS_CSTR_liquid_oxidation Failed Core Comparison ❌

Original model has 35 species.
Test model has 35 species. ✅
Original model has 134 reactions.
Test model has 173 reactions. ❌
The original model has 1 species that the tested model does not have. ❌
spc: CCCC=O(88)
The tested model has 1 species that the original model does not have. ❌
spc: C=CCC(C)OO(98)
The original model has 1 reactions that the tested model does not have. ❌
rxn: [CH3](10) + CCCC=O(88) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
The tested model has 40 reactions that the original model does not have. ❌
rxn: oxygen(1) + O(42) <=> [OH](24) + [O]O(13) origin: H_Abstraction
rxn: [OH](24) + OO(23) <=> [O]O(13) + O(42) origin: H_Abstraction
rxn: C[CH]CCC(11) + [CH2]CCCC(12) <=> C=CCCC(18) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCC(12) <=> C=CCCC(18) + pentane(2) origin: Disproportionation
rxn: CCCCCO[O](61) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + [CH2]CCCC(12) <=> O(42) + C=CCCC(18) origin: Disproportionation
rxn: [OH](24) + C[CH]CCC(11) <=> O(42) + C=CCCC(18) origin: Disproportionation
rxn: CC[CH]CC(7) + CCC(CC)O[O](21) <=> CC=CCC(16) + CCC(CC)OO(26) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)O[O](22) <=> CC=CCC(16) + CCCC(C)OO(27) 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) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC(CC)O[O](21) <=> CC=CCC(16) + CCC(CC)OO(26) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)O[O](22) <=> CC=CCC(16) + CCCC(C)OO(27) 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) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: CCC(CC)O[O](21) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCC(C)O[O](22) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CC(CC)OO(32) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(32) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCC(CC)OO(26) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + [OH](24) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)[O](44) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC[O](79) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCC([O])CC(41) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + C=CCC(C)OO(98) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + 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: CCC(CC)O[O](21) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCC(C)O[O](22) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCCCOO(78) origin: Disproportionation

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 100 species.
Test model has 107 species. ❌
Original model has 383 reactions.
Test model has 549 reactions. ❌
The original model has 1 species that the tested model does not have. ❌
spc: CCCCCOOOO
The tested model has 8 species that the original model does not have. ❌
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 1 reactions that the tested model does not have. ❌
rxn: oxygen(1) + CCCCCO[O](61) <=> CCCCCOOO[O](77) origin: R_Recombination
The tested model has 167 reactions that the original model does not have. ❌
rxn: oxygen(1) + O(42) <=> [OH](24) + [O]O(13) origin: H_Abstraction
rxn: [OH](24) + OO(23) <=> [O]O(13) + O(42) origin: H_Abstraction
rxn: C[CH]CCC(11) + [CH2]CCCC(12) <=> C=CCCC(18) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCC(12) <=> C=CCCC(18) + pentane(2) origin: Disproportionation
rxn: CCCCCO[O](61) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + [CH2]CCCC(12) <=> O(42) + C=CCCC(18) origin: Disproportionation
rxn: [OH](24) + C[CH]CCC(11) <=> O(42) + C=CCCC(18) origin: Disproportionation
rxn: CC[CH]CC(7) + CCC(CC)O[O](21) <=> CC=CCC(16) + CCC(CC)OO(26) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)O[O](22) <=> CC=CCC(16) + CCCC(C)OO(27) 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) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC(CC)O[O](21) <=> CC=CCC(16) + CCC(CC)OO(26) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)O[O](22) <=> CC=CCC(16) + CCCC(C)OO(27) 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) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: CCC(CC)O[O](21) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCC(C)O[O](22) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CC(CC)OO(32) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(32) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCC(CC)OO(26) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + [OH](24) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)[O](44) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC[O](79) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCC([O])CC(41) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + 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: CCC(CC)O[O](21) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCC(C)O[O](22) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCCCOO(78) origin: Disproportionation
rxn: [H](8) + [OH](24) <=> O(42) origin: R_Recombination
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + O(42) + CCCCC=O(62) origin: Peroxyl_Termination
rxn: [O]O(13) + CCCCCO[O](61) <=> CCCCCOOOO(101) origin: R_Recombination
rxn: [O]O(13) + CCCC(C)[O](44) <=> OO(23) + CCCC(C)=O(34) origin: Disproportionation
rxn: [O]O(13) + CCCC(C)[O](44) <=> oxygen(1) + CCCC(C)O(47) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)[O](44) <=> CCCC(C)OOO(102) origin: R_Recombination
rxn: C=CCCC(18) + CC[CH]CC(7) <=> C=CC[CH]C(69) + pentane(2) origin: H_Abstraction
rxn: C=CCCC(18) + CC[CH]CC(7) <=> [CH2]C=CCC(71) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + pentane(2) <=> C=CCCC(18) + CC[CH]CC(7) origin: H_Abstraction
rxn: C=[C]CCC(73) + pentane(2) <=> C=CCCC(18) + CC[CH]CC(7) origin: H_Abstraction
rxn: [CH]=CCCC(74) + pentane(2) <=> C=CCCC(18) + CC[CH]CC(7) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + 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(66) + 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) + CCCC(C)[O](44) <=> CC=CCC(16) + CCCC(C)O(47) origin: Disproportionation
rxn: C=CC[CH]C(69) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: C=CCCC(18) + C[CH]CCC(11) <=> [CH2]C=CCC(71) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: C=[C]CCC(73) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: [CH]=CCCC(74) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + 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(66) + 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) + CCCC(C)[O](44) <=> CC=CCC(16) + CCCC(C)O(47) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](44) <=> C=CCCC(18) + CCCC(C)O(47) origin: Disproportionation
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCC(=O)CC(30) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCC(O)CC(46) origin: Peroxyl_Termination
rxn: C=CC[CH]C(69) + CCC(CC)OO(26) <=> C=CCCC(18) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: C=CCCC(18) + CCC(CC)O[O](21) <=> [CH2]C=CCC(71) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCC(CC)OO(26) <=> C=CCCC(18) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCC(CC)OO(26) <=> C=CCCC(18) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCC(CC)OO(26) <=> C=CCCC(18) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)O[O](21) <=> CCCC(C)=O(34) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCC(C)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)=O(34) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CCCC(C)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCCC(C)O(47) origin: Peroxyl_Termination
rxn: C=CC[CH]C(69) + CCCC(C)OO(27) <=> C=CCCC(18) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)O[O](22) <=> [CH2]C=CCC(71) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCCC(C)OO(27) <=> C=CCCC(18) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)OO(27) <=> C=CCCC(18) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)OO(27) <=> C=CCCC(18) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)O[O](22) <=> CCCC(C)=O(34) + CCCC(C)OO(27) origin: Disproportionation
rxn: CC[C](CC)OO(52) + 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: C[CH]CC(C)OO(37) + CCC(CC)OO(26) <=> CC[C](CC)OO(52) + CCCC(C)OO(27) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]CC(C)OO(37) + CCCC(C)OO(27) <=> CCC[C](C)OO(57) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(38) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCCC(C)OO(27) origin: H_Abstraction
rxn: C=CCCC(18) + [CH2]CCCC(12) <=> C=CC[CH]C(69) + pentane(2) origin: H_Abstraction
rxn: C=CCCC(18) + [CH2]CCCC(12) <=> [CH2]C=CCC(71) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + pentane(2) <=> C=CCCC(18) + [CH2]CCCC(12) origin: H_Abstraction
rxn: C=[C]CCC(73) + pentane(2) <=> C=CCCC(18) + [CH2]CCCC(12) origin: H_Abstraction
rxn: [CH]=CCCC(74) + pentane(2) <=> C=CCCC(18) + [CH2]CCCC(12) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CC[CH]CCOO(64) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CCC[CH]COO(63) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CCCC[CH]OO(84) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + 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: [CH2]CCCC(12) + CCCC(C)[O](44) <=> C=CCCC(18) + CCCC(C)O(47) origin: Disproportionation
rxn: [OH](24) + C=CCCC(18) <=> O(42) + C=CC[CH]C(69) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> O(42) + [CH2]C=CCC(71) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> O(42) + [CH2]CCC=C(72) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> O(42) + C=[C]CCC(73) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> O(42) + [CH]=CCCC(74) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> [CH2]C(O)CCC(91) origin: R_Addition_MultipleBond
rxn: [OH](24) + C=CCCC(18) <=> CCC[CH]CO(104) origin: R_Addition_MultipleBond
rxn: [OH](24) + CCCC(C)[O](44) <=> O(42) + CCCC(C)=O(34) origin: Disproportionation
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCCCCO(103) origin: Peroxyl_Termination
rxn: C=CC[CH]C(69) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: C=CCCC(18) + CCCCCO[O](61) <=> [CH2]C=CCC(71) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + 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(66) + 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: O(42) + C=CCCC(18) <=> CCCCCO(103) origin: 1,3_Insertion_ROR
rxn: O(42) + C=CCCC(18) <=> CCCC(C)O(47) origin: 1,3_Insertion_ROR
rxn: C=CCCC(18) + CCCC(C)[O](44) <=> C=CC[CH]C(69) + CCCC(C)O(47) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](44) <=> [CH2]C=CCC(71) + CCCC(C)O(47) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](44) <=> [CH2]CCC=C(72) + CCCC(C)O(47) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)O(47) <=> C=CCCC(18) + CCCC(C)[O](44) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)O(47) <=> C=CCCC(18) + CCCC(C)[O](44) origin: H_Abstraction
rxn: C=CC[CH]C(69) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: C=CCCC(18) + C[CH]CC(C)OO(37) <=> [CH2]C=CCC(71) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)O(47) <=> O(42) + CCCC(C)[O](44) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCC(C)OO(27) <=> 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: [O]O(13) + CCCC(C)O(47) <=> OO(23) + CCCC(C)[O](44) origin: H_Abstraction
rxn: CCCC(C)[O](44) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + 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(27) origin: Disproportionation
rxn: CCCC(C)O[O](22) + CCC(CC)OO[O](48) <=> oxygen(1) + CCCC(C)[O](44) + CCC(CC)O[O](21) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + CCCC(C)OO[O](49) <=> oxygen(1) + CCCC(C)[O](44) + CCCC(C)O[O](22) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + 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(26) <=> [O]O(13) + O(42) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OOO(107) <=> [O]O(13) + O(42) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OOO(106) + CCCC(C)OO(27) <=> [O]O(13) + O(42) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OOO(102) <=> [O]O(13) + O(42) + CCCC(C)O[O](22) 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(26) + CCC(CC)OOO(107) <=> O(42) + CCC(CC)O[O](21) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(27) + CCC(CC)OOO(107) <=> O(42) + CCC(CC)O[O](21) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(26) + CCCC(C)OOO(102) <=> O(42) + CCC(CC)O[O](21) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCC(CC)OOO(107) <=> O(42) + CCC(CC)O[O](21) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(26) + CCCCCOOO(108) <=> O(42) + CCC(CC)O[O](21) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(27) + CCCC(C)OOO(102) <=> O(42) + CCCC(C)O[O](22) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCC(C)OOO(102) <=> O(42) + CCCC(C)O[O](22) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(27) + CCCCCOOO(108) <=> O(42) + CCCC(C)O[O](22) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCCCOOO(108) <=> O(42) + CCCCCO[O](61) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition

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:30
Current: Execution time (DD:HH:MM:SS): 00:00:00:47
Reference: Memory used: 701.15 MB
Current: Memory used: 707.35 MB

fragment Failed Core Comparison ❌
Errors occurred during core comparison ⚠️ Traceback (most recent call last): File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 301, in error = main() File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 78, in main error = check(name, bench_chemkin, bench_species_dict, test_chemkin, test_species_dict) File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 92, in check execute(benchChemkin, benchSpeciesDict, bench_thermo, testChemkin, testSpeciesDict, test_thermo, **kwargs) File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/tools/diffmodels.py", line 509, in execute save_diff_html(output_path, common_species, unique_species1, unique_species2, File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/rmg/output.py", line 567, in save_diff_html MoleculeDrawer().draw(spec1.molecule[0], 'png', fstr) File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/molecule/draw.py", line 205, in draw self._find_ring_groups() File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/molecule/draw.py", line 330, in _find_ring_groups self.cycles = self.molecule.get_smallest_set_of_smallest_rings() File "rmgpy/molecule/molecule.py", line 2772, in rmgpy.molecule.molecule.Molecule.get_smallest_set_of_smallest_rings def get_smallest_set_of_smallest_rings(self): File "rmgpy/molecule/molecule.py", line 2796, in rmgpy.molecule.molecule.Molecule.get_smallest_set_of_smallest_rings rdkit_mol = self.to_rdkit_mol(remove_h=False, sanitize="partial", save_order=True) TypeError: to_rdkit_mol() got an unexpected keyword argument 'sanitize'
fragment Failed Edge Comparison ❌
Errors occurred during edge comparison ⚠️ Traceback (most recent call last): File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 301, in error = main() File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 78, in main error = check(name, bench_chemkin, bench_species_dict, test_chemkin, test_species_dict) File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 92, in check execute(benchChemkin, benchSpeciesDict, bench_thermo, testChemkin, testSpeciesDict, test_thermo, **kwargs) File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/tools/diffmodels.py", line 509, in execute save_diff_html(output_path, common_species, unique_species1, unique_species2, File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/rmg/output.py", line 567, in save_diff_html MoleculeDrawer().draw(spec1.molecule[0], 'png', fstr) File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/molecule/draw.py", line 205, in draw self._find_ring_groups() File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/molecule/draw.py", line 330, in _find_ring_groups self.cycles = self.molecule.get_smallest_set_of_smallest_rings() File "rmgpy/molecule/molecule.py", line 2772, in rmgpy.molecule.molecule.Molecule.get_smallest_set_of_smallest_rings def get_smallest_set_of_smallest_rings(self): File "rmgpy/molecule/molecule.py", line 2796, in rmgpy.molecule.molecule.Molecule.get_smallest_set_of_smallest_rings rdkit_mol = self.to_rdkit_mol(remove_h=False, sanitize="partial", save_order=True) TypeError: to_rdkit_mol() got an unexpected keyword argument 'sanitize'
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:19
Current: Execution time (DD:HH:MM:SS): 00:00:02:54
Reference: Memory used: 2425.02 MB
Current: Memory used: 2392.58 MB

RMS_constantVIdealGasReactor_fragment Failed Core Comparison ❌
Errors occurred during core comparison ⚠️ Traceback (most recent call last): File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 301, in error = main() File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 78, in main error = check(name, bench_chemkin, bench_species_dict, test_chemkin, test_species_dict) File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 92, in check execute(benchChemkin, benchSpeciesDict, bench_thermo, testChemkin, testSpeciesDict, test_thermo, **kwargs) File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/tools/diffmodels.py", line 509, in execute save_diff_html(output_path, common_species, unique_species1, unique_species2, File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/rmg/output.py", line 567, in save_diff_html MoleculeDrawer().draw(spec1.molecule[0], 'png', fstr) File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/molecule/draw.py", line 205, in draw self._find_ring_groups() File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/molecule/draw.py", line 330, in _find_ring_groups self.cycles = self.molecule.get_smallest_set_of_smallest_rings() File "rmgpy/molecule/molecule.py", line 2772, in rmgpy.molecule.molecule.Molecule.get_smallest_set_of_smallest_rings def get_smallest_set_of_smallest_rings(self): File "rmgpy/molecule/molecule.py", line 2796, in rmgpy.molecule.molecule.Molecule.get_smallest_set_of_smallest_rings rdkit_mol = self.to_rdkit_mol(remove_h=False, sanitize="partial", save_order=True) TypeError: to_rdkit_mol() got an unexpected keyword argument 'sanitize'
RMS_constantVIdealGasReactor_fragment Failed Edge Comparison ❌
Errors occurred during edge comparison ⚠️ Traceback (most recent call last): File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 301, in error = main() File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 78, in main error = check(name, bench_chemkin, bench_species_dict, test_chemkin, test_species_dict) File "/home/runner/work/RMG-Py/RMG-Py/scripts/checkModels.py", line 92, in check execute(benchChemkin, benchSpeciesDict, bench_thermo, testChemkin, testSpeciesDict, test_thermo, **kwargs) File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/tools/diffmodels.py", line 509, in execute save_diff_html(output_path, common_species, unique_species1, unique_species2, File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/rmg/output.py", line 567, in save_diff_html MoleculeDrawer().draw(spec1.molecule[0], 'png', fstr) File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/molecule/draw.py", line 205, in draw self._find_ring_groups() File "/home/runner/work/RMG-Py/RMG-Py/rmgpy/molecule/draw.py", line 330, in _find_ring_groups self.cycles = self.molecule.get_smallest_set_of_smallest_rings() File "rmgpy/molecule/molecule.py", line 2772, in rmgpy.molecule.molecule.Molecule.get_smallest_set_of_smallest_rings def get_smallest_set_of_smallest_rings(self): File "rmgpy/molecule/molecule.py", line 2796, in rmgpy.molecule.molecule.Molecule.get_smallest_set_of_smallest_rings rdkit_mol = self.to_rdkit_mol(remove_h=False, sanitize="partial", save_order=True) TypeError: to_rdkit_mol() got an unexpected keyword argument 'sanitize'
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:31
Current: Execution time (DD:HH:MM:SS): 00:00:00:39
Reference: Memory used: 845.53 MB
Current: Memory used: 858.59 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. ✅

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 🤖

@jonwzheng
Copy link
Contributor

This PR only changes behavior for species with charges on atoms != 0, so it shouldn't affect the bidentate drawing. I ran the test anyway and here is the image:

out

Looks like it's working.

@JacksonBurns
Copy link
Contributor

@rwest can you review and approve?

Copy link
Member

@rwest rwest left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Approving review based on looking at the diffs, and discussion. I've not actually tried it out.

I like Jon's suggestion:

Perhaps there can be improvements to coerce the orientation of the molecules if surface atoms are present (e.g. if surface atom z-index is high, then flip over)

But we could just open a (low priority) issue to fix that later if you want to press ahead with merging this.

@JacksonBurns
Copy link
Contributor

@jonwzheng can you open a new issue to track the above?

@JacksonBurns JacksonBurns merged commit 6e6490a into ReactionMechanismGenerator:feat/rdkit_sssr Aug 4, 2025
22 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants