Skip to content

Added a species constraint for the max number of rings fused together (revived)#2868

Open
alongd wants to merge 6 commits intomainfrom
fused_ring_constraints
Open

Added a species constraint for the max number of rings fused together (revived)#2868
alongd wants to merge 6 commits intomainfrom
fused_ring_constraints

Conversation

@alongd
Copy link
Copy Markdown
Member

@alongd alongd commented Dec 12, 2025

Motivation or Problem

(reviving abandoned PR #2606)
Sometimes users know they are not interested in ring growth in their model, yet RMG spends significant time on suggesting species with complex fused rings. Using the maximum heavy atoms constraints isn't always helpful since other species with the same Mw could be relevant for the model.

Description of Changes

Added a maximumFusedRings key to the constraints dict.
A new method was implemented in Molecule along with a test.

Testing

A unit test was added.
FWIW, the feature was also tested locally by generating a model that previously gave many fused ring structures and verifying that they are absent now.

Reviewer Tips

Note that a previously non-implemented constraint was removed from the docs

Copy link
Copy Markdown

Copilot AI left a comment

Choose a reason for hiding this comment

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

Pull request overview

This PR adds a new species constraint maximumFusedRings to limit the complexity of ring systems in generated species, allowing users to exclude molecules with complex fused rings without restricting species based solely on molecular weight. The implementation correctly distinguishes between monocycles (single rings) and fused ring systems (multiple rings sharing edges), returning 0 for monocycles and the actual ring count for fused systems.

Key changes:

  • Implemented get_ring_count_in_largest_fused_ring_system() method in Molecule class to count rings within fused ring systems
  • Added maximumFusedRings constraint to species constraint system with appropriate validation
  • Cleaned up documentation by removing references to the unimplemented maximumIsotopicAtoms constraint

Reviewed changes

Copilot reviewed 9 out of 9 changed files in this pull request and generated 2 comments.

Show a summary per file
File Description
rmgpy/molecule/molecule.py Adds new method to count rings in largest fused ring system using existing polycycle and SSSR methods
rmgpy/constraints.py Integrates the new constraint check with early return optimization for acyclic molecules
rmgpy/rmg/input.py Adds maximumFusedRings to list of valid species constraints
test/rmgpy/molecule/moleculeTest.py Adds unit test covering acyclic, monocyclic, and fused ring molecules
documentation/source/users/rmg/input.rst Documents the new constraint and removes unimplemented maximumIsotopicAtoms reference
examples/rmg/commented/input.py Removes unimplemented maximumIsotopicAtoms from example
examples/rmg/MR_test/input.py Removes unimplemented maximumIsotopicAtoms from example
documentation/source/users/rmg/modules/isotopes.rst Removes documentation for unimplemented maximumIsotopicAtoms constraint
scripts/rmg2to3.py Removes conversion mapping for unimplemented maximumIsotopicAtoms constraint

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@alongd alongd force-pushed the fused_ring_constraints branch from 8aabf21 to 78dd1ba Compare February 2, 2026 05:39
@github-actions
Copy link
Copy Markdown

github-actions bot commented Feb 2, 2026

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:57
Current: Execution time (DD:HH:MM:SS): 00:00:00:58
Reference: Memory used: 748.03 MB
Current: Memory used: 747.36 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 Passed Edge Comparison ✅

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

Details 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:59
Current: Execution time (DD:HH:MM:SS): 00:00:02:02
Reference: Memory used: 845.60 MB
Current: Memory used: 845.43 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 Passed Edge Comparison ✅

Original model has 214 species.
Test model has 214 species. ✅
Original model has 1590 reactions.
Test model has 1590 reactions. ✅

Details 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:03
Reference: Memory used: 848.01 MB
Current: Memory used: 850.14 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 Failed Edge Comparison ❌

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

Non-identical thermo! ❌
original: O1[C]=N1
tested: O1[C]=N1

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
116.46 53.90 11.62 12.71 13.49 13.96 14.14 13.85 13.58
141.64 58.66 12.26 12.27 12.09 11.96 12.26 12.72 12.15

thermo: Thermo group additivity estimation: group(O2s-CdN3d) + group(N3d-OCd) + group(Cd-HN3dO) + ring(Cyclopropene) + radical(CdJ-NdO)
thermo: Thermo group additivity estimation: group(O2s-CdN3d) + group(N3d-OCd) + group(Cd-HN3dO) + ring(oxirene) + radical(CdJ-NdO)

Non-identical kinetics! ❌
original:
rxn: NCO(66) <=> O1[C]=N1(126) origin: Intra_R_Add_Endocyclic
tested:
rxn: NCO(66) <=> O1[C]=N1(126) origin: Intra_R_Add_Endocyclic

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -49.54 -33.65 -24.16 -17.85 -10.01 -5.35 0.80 3.82
k(T): -66.25 -46.19 -34.19 -26.21 -16.28 -10.36 -2.54 1.31

kinetics: Arrhenius(A=(6.95187e+18,'s^-1'), n=-1.628, Ea=(88.327,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.""")
kinetics: Arrhenius(A=(6.95187e+18,'s^-1'), n=-1.628, Ea=(111.271,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.""")
Identical kinetics comments:
kinetics: Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.

Details 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:50
Current: Execution time (DD:HH:MM:SS): 00:00:01:53
Reference: Memory used: 734.99 MB
Current: Memory used: 734.56 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. ✅

Details 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:40
Current: Execution time (DD:HH:MM:SS): 00:00:00:40
Reference: Memory used: 837.25 MB
Current: Memory used: 843.43 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

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: 936.82 MB
Current: Memory used: 939.53 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:58
Current: Execution time (DD:HH:MM:SS): 00:00:02:56
Reference: Memory used: 2452.75 MB
Current: Memory used: 2408.56 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:28:42
Current: Execution time (DD:HH:MM:SS): 00:00:17:13
Reference: Memory used: 2680.26 MB
Current: Memory used: 3282.89 MB

RMS_CSTR_liquid_oxidation Failed Core Comparison ❌

Original model has 35 species.
Test model has 35 species. ✅
Original model has 168 reactions.
Test model has 134 reactions. ❌
The original model has 7 species that the tested model does not have. ❌
spc: CCCCCO
spc: CC1CC(C)O1(87)
spc: CC=CC(C)OO(88)
spc: CC=O(93)
spc: CCCC=O(94)
spc: [CH2]CCC(C)O(99)
spc: CC(CC(C)OO)OO
The tested model has 7 species that the original model does not have. ❌
spc: CCH2
spc: C=CC(18)
spc: C[CH]C(CC)OO(31)
spc: CC[CH]C(C)OO(35)
spc: [CH2]C(CCC)OO(36)
spc: CC[CH]CCOO(74)
spc: [CH2]CCCCOO(76)
The original model has 71 reactions that the tested model does not have. ❌
rxn: CCC(CC)O[O](21) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
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(18) 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) + [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: C[CH]CCC(11) + CCCCCO[O](61) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](24) + CCCC(C)OO(27) <=> O(42) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(26) <=> O(42) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: OO(23) + CCC(CC)OO(26) <=> [OH](24) + O(42) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCCC(C)OO(27) <=> O(42) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: CCCC(C)OO(27) + CCCCCOO(78) <=> O(42) + CCCC(C)[O](41) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(27) <=> [OH](24) + O(42) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(27) <=> [O]O(13) + O(42) + CCCC(C)[O](41) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [CH2]CCCC(12) + CCCCCO[O](61) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + CCCCCO[O](61) 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: 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(93) + [CH2]CC(5) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](41) <=> [CH2]CCC(C)O(99) origin: intra_H_migration
rxn: oxygen(1) + C[CH]CC(C)OO(34) <=> CC(CC(C)OO)O[O](100) origin: R_Recombination
rxn: CC[CH]CC(7) + CCCC(C)O[O](22) <=> CC=CCC(16) + CCCC(C)OO(27) 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) + [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(34) <=> CC=CCC(16) + CCCC(C)OO(27) 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) + CCC(CC)O[O](21) <=> CC=CCC(16) + CCC(CC)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) + C[CH]CC(C)OO(34) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: [CH3](10) + CCCC=O(94) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
rxn: oxygen(1) + C[CH]CC(C)OO(34) <=> [O]O(13) + CC=CC(C)OO(88) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + pentane(2) origin: Disproportionation
rxn: CCCC(C)O[O](22) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCC(CC)O[O](21) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CC(CC)OO(38) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(26) <=> O(42) + [CH2]CC(CC)OO(38) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(38) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCC(CC)OO(26) 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](22) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)[O](41) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)OO(26) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(27) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCCC(C)O[O](22) 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(65) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + C[CH]CCCOO(65) <=> [O]O(13) + CCCCCOO(78) 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) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + 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: [OH](24) + CCCCCOO(78) <=> O(42) + C[CH]CCCOO(65) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]CCCOO(65) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CCCOO(65) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCCOO(65) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCC([O])CC(44) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)OO(26) + CCCCCOO(78) <=> O(42) + CCC([O])CC(44) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OO(26) <=> [O]O(13) + O(42) + CCC([O])CC(44) origin: Bimolec_Hydroperoxide_Decomposition
rxn: C[CH]CC(C)OO(34) <=> [OH](24) + CC1CC(C)O1(87) origin: Cyclic_Ether_Formation
The tested model has 37 reactions that the original model does not have. ❌
rxn: C[CH]C(CC)OO(31) <=> CCC(CC)O[O](22) origin: intra_H_migration
rxn: [O]O(13) + C[CH]C(CC)OO(31) <=> oxygen(1) + CCC(CC)OO(27) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + pentane(2) <=> C[CH]CCC(11) + CCC(CC)OO(27) origin: H_Abstraction
rxn: OO(23) + C[CH]C(CC)OO(31) <=> [O]O(13) + CCC(CC)OO(27) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + pentane(2) <=> CC[CH]CC(7) + CCC(CC)OO(27) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCC(CC)OO(27) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCC(CC)OO(27) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCC(CC)OO(27) <=> C[CH]C(CC)OO(31) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]C(CC)OO(31) <=> C=CCCC(17) + CCC(CC)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]C(CC)OO(31) <=> C=CCCC(17) + CCC(CC)OO(27) origin: Disproportionation
rxn: CC[CH]C(C)OO(35) <=> CCCC(C)O[O](20) origin: intra_H_migration
rxn: [O]O(13) + CC[CH]C(C)OO(35) <=> oxygen(1) + CCCC(C)OO(24) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)OO(24) origin: H_Abstraction
rxn: OO(23) + CC[CH]C(C)OO(35) <=> [O]O(13) + CCCC(C)OO(24) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)OO(24) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCC(C)OO(24) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCC(C)OO(24) <=> CC[CH]C(C)OO(35) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CC[CH]C(C)OO(35) <=> C=CCCC(17) + CCCC(C)OO(24) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]C(C)OO(35) <=> C=CCCC(17) + CCCC(C)OO(24) origin: Disproportionation
rxn: CC[CH]C(C)OO(35) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)OO(24) 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(18) origin: R_Addition_MultipleBond
rxn: CCCC(C)O[O](20) <=> [CH2]C(CCC)OO(36) origin: intra_H_migration
rxn: [O]O(13) + [CH2]C(CCC)OO(36) <=> oxygen(1) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)OO(24) origin: H_Abstraction
rxn: OO(23) + [CH2]C(CCC)OO(36) <=> [O]O(13) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [O]O(13) + C=CCCC(17) <=> [CH2]C(CCC)OO(36) origin: R_Addition_MultipleBond
rxn: [CH2]CCCC(12) + [CH2]C(CCC)OO(36) <=> C=CCCC(17) + CCCC(C)OO(24) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]C(CCC)OO(36) <=> C=CCCC(17) + CCCC(C)OO(24) origin: Disproportionation
rxn: [CH2]C(CCC)OO(36) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)OO(24) origin: H_Abstraction

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 107 species.
Test model has 77 species. ❌
Original model has 549 reactions.
Test model has 262 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: C[CH]CCOO(85)
spc: [CH2]C(C)C(C)OO(86)
spc: CC1CC(C)O1(87)
spc: CC=CC(C)OO(88)
spc: C=CCC(C)OO(89)
spc: CC([O])CC(C)O(90)
spc: CCCCO
spc: CCC(C)O
spc: CC=O(93)
spc: CCCC=O(94)
spc: CCCCO(95)
spc: CC[CH]C(C)O(96)
spc: [CH2]C(O)CCC(97)
spc: C[CH]CC(C)O(98)
spc: [CH2]CCC(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 287 reactions that the tested model does not have. ❌
rxn: CCC(CC)O[O](21) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
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(18) 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) + [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: C[CH]CCC(11) + CCCCCO[O](61) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](24) + CCCC(C)OO(27) <=> O(42) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(26) <=> O(42) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: OO(23) + CCC(CC)OO(26) <=> [OH](24) + O(42) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCCC(C)OO(27) <=> O(42) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: CCCC(C)OO(27) + CCCCCOO(78) <=> O(42) + CCCC(C)[O](41) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(27) <=> [OH](24) + O(42) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(27) <=> [O]O(13) + O(42) + CCCC(C)[O](41) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [CH2]CCCC(12) + CCCCCO[O](61) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + CCCCCO[O](61) 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: 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(93) + [CH2]CC(5) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](41) <=> [CH2]CCC(C)O(99) origin: intra_H_migration
rxn: oxygen(1) + C[CH]CC(C)OO(34) <=> CC(CC(C)OO)O[O](100) origin: R_Recombination
rxn: CC[CH]CC(7) + CCCC(C)O[O](22) <=> CC=CCC(16) + CCCC(C)OO(27) 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) + [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(34) <=> CC=CCC(16) + CCCC(C)OO(27) 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) + CCC(CC)O[O](21) <=> CC=CCC(16) + CCC(CC)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) + C[CH]CC(C)OO(34) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: [CH3](10) + CCCC=O(94) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
rxn: oxygen(1) + C[CH]CC(C)OO(34) <=> [O]O(13) + CC=CC(C)OO(88) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + pentane(2) origin: Disproportionation
rxn: CCCC(C)O[O](22) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCC(CC)O[O](21) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CC(CC)OO(38) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(26) <=> O(42) + [CH2]CC(CC)OO(38) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(38) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCC(CC)OO(26) 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](22) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)[O](41) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)OO(26) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(27) + CCCCCOO(78) <=> O(42) + CCCCC[O](79) + CCCC(C)O[O](22) 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(65) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + C[CH]CCCOO(65) <=> [O]O(13) + CCCCCOO(78) 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) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + 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: [OH](24) + CCCCCOO(78) <=> O(42) + C[CH]CCCOO(65) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]CCCOO(65) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CCCOO(65) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCCOO(65) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCC([O])CC(44) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)OO(26) + CCCCCOO(78) <=> O(42) + CCC([O])CC(44) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OO(26) <=> [O]O(13) + O(42) + CCC([O])CC(44) origin: Bimolec_Hydroperoxide_Decomposition
rxn: C[CH]CC(C)OO(34) <=> [OH](24) + CC1CC(C)O1(87) origin: Cyclic_Ether_Formation
rxn: CC[C](CC)OO(52) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]C(CC)OO(37) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [H](8) + [OH](24) <=> O(42) origin: R_Recombination
rxn: [CH2](3) + CCCCOO(54) <=> CCCCCOO(78) origin: 1,2_Insertion_carbene
rxn: [CH2](3) + CCCCOO(54) <=> 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: [CH2](3) + C[CH]CCOO(85) <=> C[CH]CC(C)OO(34) origin: 1,2_Insertion_carbene
rxn: [CH2]C(C)C(C)OO(86) <=> C[CH]CC(C)OO(34) origin: 1,2_shiftC
rxn: [H](8) + CC=CC(C)OO(88) <=> C[CH]CC(C)OO(34) origin: R_Addition_MultipleBond
rxn: [H](8) + C=CCC(C)OO(89) <=> C[CH]CC(C)OO(34) origin: R_Addition_MultipleBond
rxn: C[CH]OO(55) + C=CC(19) <=> C[CH]CC(C)OO(34) origin: R_Addition_MultipleBond
rxn: CC[CH]C(C)OO(32) <=> C[CH]CC(C)OO(34) origin: intra_H_migration
rxn: [CH2]CCC(C)OO(35) <=> C[CH]CC(C)OO(34) origin: intra_H_migration
rxn: C[CH]CC(C)OO(34) <=> CCC[C](C)OO(57) origin: intra_H_migration
rxn: C[CH]CC(C)OO(34) <=> [CH2]C(CCC)OO(33) origin: intra_H_migration
rxn: C[CH]CC(C)OO(34) <=> CC([O])CC(C)O(90) origin: intra_OH_migration
rxn: [CH2](3) + CCCC[O](91) <=> CCCC(C)[O](41) origin: 1,2_Insertion_carbene
rxn: [CH2](3) + CCC(C)[O](92) <=> CCCC(C)[O](41) origin: 1,2_Insertion_carbene
rxn: [CH2](3) + CCC(C)[O](92) <=> CCCC(C)[O](41) origin: 1,2_Insertion_carbene
rxn: [H](8) + CCCC(C)=O(31) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](41) <=> CCC[C](C)O(95) origin: intra_H_migration
rxn: CC[CH]C(C)O(96) <=> CCCC(C)[O](41) origin: intra_H_migration
rxn: CCCC(C)[O](41) <=> [CH2]C(O)CCC(97) origin: intra_H_migration
rxn: CCCC(C)[O](41) <=> C[CH]CC(C)O(98) origin: intra_H_migration
rxn: [H](8) + [O]O(13) <=> OO(23) origin: R_Recombination
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) + C[CH]CC(C)OO(34) <=> [O]O(13) + C=CCC(C)OO(89) origin: Disproportionation
rxn: oxygen(1) + CCCC(C)[O](41) <=> [O]O(13) + CCCC(C)=O(31) origin: Disproportionation
rxn: oxygen(1) + CCCC(C)[O](41) <=> CCCC(C)OO[O](48) origin: R_Recombination
rxn: CCCC(C)[O](41) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)O(46) origin: H_Abstraction
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: 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: [O]O(13) + CCCC(C)[O](41) <=> OO(23) + CCCC(C)=O(31) origin: Disproportionation
rxn: [O]O(13) + CCCC(C)[O](41) <=> oxygen(1) + CCCC(C)O(46) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)[O](41) <=> 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) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)[O](41) <=> CCCC(C)=O(31) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)[O](41) <=> CC=CCC(16) + CCCC(C)O(46) 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) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](41) <=> CCCC(C)=O(31) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](41) <=> CC=CCC(16) + CCCC(C)O(46) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](41) <=> C=CCCC(18) + CCCC(C)O(46) origin: Disproportionation
rxn: CCCC(C)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)=O(31) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CCCC(C)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCCC(C)O(46) 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: CC[CH]CCOO(64) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)O[O](22) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCCC(C)[O](41) + CCCC(C)O[O](22) <=> CCCC(C)=O(31) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCC(=O)CC(36) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCC(O)CC(47) 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: CCC(CC)O[O](21) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCC(C)[O](41) + CCC(CC)O[O](21) <=> CCCC(C)=O(31) + CCC(CC)OO(26) origin: Disproportionation
rxn: [OH](24) + CCC(CC)OO(26) <=> O(42) + CC[C](CC)OO(52) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(26) <=> O(42) + C[CH]C(CC)OO(37) origin: H_Abstraction
rxn: C[CH]CC(C)OO(34) + CCC(CC)OO(26) <=> CC[C](CC)OO(52) + CCCC(C)OO(27) origin: H_Abstraction
rxn: C[CH]C(CC)OO(37) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCC(CC)OO(26) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCC(CC)OO(26) <=> CC[C](CC)OO(52) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCC(CC)OO(26) <=> C[CH]C(CC)OO(37) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCC(CC)OO(26) <=> [CH2]CC(CC)OO(38) + CCCC(C)O(46) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(27) <=> O(42) + CCC[C](C)OO(57) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(27) <=> O(42) + CC[CH]C(C)OO(32) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(27) <=> O(42) + [CH2]C(CCC)OO(33) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(27) <=> O(42) + [CH2]CCC(C)OO(35) origin: H_Abstraction
rxn: C[CH]CC(C)OO(34) + CCCC(C)OO(27) <=> CCC[C](C)OO(57) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(32) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(33) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(35) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> CCC[C](C)OO(57) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> CC[CH]C(C)OO(32) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> [CH2]C(CCC)OO(33) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> [CH2]CCC(C)OO(35) + CCCC(C)O(46) 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](41) <=> CCCC(C)=O(31) + pentane(2) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCCC(C)[O](41) <=> C=CCCC(18) + CCCC(C)O(46) 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: CCCCCO[O](61) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](41) + CCCCCO[O](61) <=> CCCC(C)=O(31) + CCCCCOO(78) 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(97) origin: R_Addition_MultipleBond
rxn: [OH](24) + C=CCCC(18) <=> CCC[CH]CO(104) origin: R_Addition_MultipleBond
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + CC[CH]CCOO(64) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> O(42) + CCC[CH]COO(63) 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(66) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)[O](41) <=> O(42) + CCCC(C)=O(31) origin: Disproportionation
rxn: O(42) + C=CCCC(18) <=> CCCCCO(103) origin: 1,3_Insertion_ROR
rxn: O(42) + C=CCCC(18) <=> CCCC(C)O(46) origin: 1,3_Insertion_ROR
rxn: [CH2]CCCC(12) + CC[CH]CCOO(64) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCC[CH]COO(63) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCCC[CH]OO(84) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + [CH2]CCCCOO(66) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]CCOO(64) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC[CH]COO(63) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC[CH]OO(84) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCCOO(66) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C=CC[CH]C(69) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: C=CCCC(18) + C[CH]CC(C)OO(34) <=> [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(34) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](41) <=> C=CC[CH]C(69) + CCCC(C)O(46) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](41) <=> [CH2]C=CCC(71) + CCCC(C)O(46) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](41) <=> [CH2]CCC=C(72) + CCCC(C)O(46) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)O(46) <=> C=CCCC(18) + CCCC(C)[O](41) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)O(46) <=> C=CCCC(18) + CCCC(C)[O](41) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)O(46) <=> O(42) + CCCC(C)[O](41) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> CC[CH]CCOO(64) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> CCC[CH]COO(63) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> C[CH]CCCOO(65) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> CCCC[CH]OO(84) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> [CH2]CCCCOO(66) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + C[CH]CC(C)OO(34) <=> CCCC(C)=O(31) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCCC(C)[O](41) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCC(C)O(46) origin: Disproportionation
rxn: CCCC(C)[O](41) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + CCCC(C)O(46) origin: Disproportionation
rxn: CCCC(C)[O](41) + CCCC(C)[O](41) <=> CCCC(C)=O(31) + CCCC(C)O(46) origin: Disproportionation
rxn: [O]O(13) + CCCC(C)O(46) <=> OO(23) + CCCC(C)[O](41) origin: H_Abstraction
rxn: CCCC(C)O[O](22) + CCCC(C)OO[O](48) <=> oxygen(1) + CCCC(C)[O](41) + CCCC(C)O[O](22) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + CCC(CC)OO[O](49) <=> oxygen(1) + CCCC(C)[O](41) + CCC(CC)O[O](21) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + CCCCCOO[O](105) <=> oxygen(1) + CCCC(C)[O](41) + 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) + 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) + 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) + 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: 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: 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: 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: 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: 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: 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: 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:30
Current: Execution time (DD:HH:MM:SS): 00:00:00:31
Reference: Memory used: 699.55 MB
Current: Memory used: 699.40 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:25
Current: Execution time (DD:HH:MM:SS): 00:00:03:24
Reference: Memory used: 2527.72 MB
Current: Memory used: 2523.57 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: 851.19 MB
Current: Memory used: 850.65 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 🤖

@alongd alongd requested a review from mjohnson541 February 4, 2026 04:24
Copy link
Copy Markdown
Contributor

@mjohnson541 mjohnson541 left a comment

Choose a reason for hiding this comment

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

The algorithmic aspects all LGTM. I think we might need to be careful about how we name and describe this constraint though...I think it's easy for a reader to get confused about exactly how this constrains fused rings.

Note that this should be done with caution, since the constraints will still apply to subsequent
products that form.

``maximumFusedRings`` is the maximum number of rings in any fused ring system in the species
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The language is tricky here. I had to think about the wording for this comment. I don't think it's clear here the distinction between the maximum number of groups of inter-fused rings allowed in the molecule (which I don't think this is constraining) and the maximum number of SSSR rings in each set of inter-fused rings. Maybe the constraint name should be something more specific too?

@alongd alongd force-pushed the fused_ring_constraints branch 2 times, most recently from 543fd25 to 1dd122b Compare March 27, 2026 19:19
@alongd
Copy link
Copy Markdown
Member Author

alongd commented Mar 27, 2026

@mjohnson541, I addressed your comment, thanks!
Please take a final look

Copy link
Copy Markdown
Contributor

@mjohnson541 mjohnson541 left a comment

Choose a reason for hiding this comment

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

One more question

@alongd alongd force-pushed the fused_ring_constraints branch from 1dd122b to 8094852 Compare March 27, 2026 19:39
@mjohnson541 mjohnson541 self-requested a review March 31, 2026 20:58
@alongd alongd force-pushed the fused_ring_constraints branch from 8094852 to 1cc721e Compare April 2, 2026 17:57
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 2, 2026

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:56
Current: Execution time (DD:HH:MM:SS): 00:00:00:56
Reference: Memory used: 808.85 MB
Current: Memory used: 810.24 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: [CH]1C2=CC3C1C=CC23
tested: [CH]1C2=CC3C1C=CC23

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
169.15 73.17 31.27 38.45 44.76 50.28 59.14 65.47 72.92
167.21 73.60 28.78 36.79 44.00 50.25 59.65 65.52 74.04

thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-(Cds-Cds)CsHH) + group(Cds-CdsCsCs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + polycyclic(s3_4_5_ene_3) + polycyclic(s2_4_5_diene_1_5) + polycyclic(s3_5_5_ene_1) - ring(Cyclobutene) - ring(Cyclopentane) - ring(Cyclopentene) + radical(cyclopentene-allyl)
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-(Cds-Cds)CsHH) + group(Cds-CdsCsCs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + polycyclic(s3_4_5_ene_3) + polycyclic(s2_4_5_diene_1_5) + polycyclic(s2_5_5_diene_1_5) - ring(Cyclobutene) - ring(Cyclopentene) - ring(Cyclopentene) + radical(cyclopentene-allyl)

Non-identical thermo! ❌
original: [CH]1C2C=CC13C=CC23
tested: [CH]1C2C=CC13C=CC23

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
172.50 80.61 27.59 35.91 43.44 49.89 59.09 64.21 71.65
174.31 74.05 26.66 34.03 40.90 47.10 57.16 64.03 72.57

thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)(Cds-Cds)CsCs) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-CsCsHH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + polycyclic(s2_4_4_ene_1) + polycyclic(s2_4_5_diene_1_5) + polycyclic(s3_4_5_ene_1) - ring(Cyclobutene) - ring(Cyclobutane) - ring(Cyclopentene) + radical(bicyclo[2.1.1]hex-2-ene-C5)
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)(Cds-Cds)CsCs) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-CsCsHH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + polycyclic(s2_4_4_ene_1) + polycyclic(s1_4_5_diene_1_6) + polycyclic(s3_4_5_ene_1) - ring(Cyclobutene) - ring(Cyclobutane) - ring(Cyclopentene) + radical(bicyclo[2.1.1]hex-2-ene-C5)

Non-identical kinetics! ❌
original:
rxn: [CH]1C2=CC=CC1C=C2(48) <=> [CH]1C2=CC3C1C=CC23(62) origin: Intra_R_Add_Endocyclic
tested:
rxn: [CH]1C2=CC=CC1C=C2(48) <=> [CH]1C2=CC3C1C=CC23(62) origin: Intra_R_Add_Endocyclic

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -47.51 -31.51 -21.94 -15.56 -7.62 -2.87 3.42 6.54
k(T): -46.27 -30.58 -21.19 -14.94 -7.15 -2.49 3.67 6.72

kinetics: Arrhenius(A=(1.08454e+19,'s^-1'), n=-0.859, Ea=(88.43,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone1_2R!H-inRing_1R!H-inRing in family Intra_R_Add_Endocyclic.""")
kinetics: Arrhenius(A=(1.08454e+19,'s^-1'), n=-0.859, Ea=(86.724,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone1_2R!H-inRing_1R!H-inRing in family Intra_R_Add_Endocyclic.""")
Identical kinetics comments:
kinetics: Estimated from node Backbone1_2R!H-inRing_1R!H-inRing in family Intra_R_Add_Endocyclic.

Non-identical kinetics! ❌
original:
rxn: [CH]1C2=CC=CC1C=C2(48) <=> [CH]1C2C=CC13C=CC23(65) origin: Intra_R_Add_Endocyclic
tested:
rxn: [CH]1C2=CC=CC1C=C2(48) <=> [CH]1C2C=CC13C=CC23(65) origin: Intra_R_Add_Endocyclic

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -49.69 -33.15 -23.24 -16.65 -8.43 -3.52 2.99 6.21
k(T): -50.88 -34.04 -23.95 -17.24 -8.88 -3.88 2.75 6.03

kinetics: Arrhenius(A=(1.08454e+19,'s^-1'), n=-0.859, Ea=(91.423,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone1_2R!H-inRing_1R!H-inRing in family Intra_R_Add_Endocyclic.""")
kinetics: Arrhenius(A=(1.08454e+19,'s^-1'), n=-0.859, Ea=(93.051,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone1_2R!H-inRing_1R!H-inRing in family Intra_R_Add_Endocyclic.""")
Identical kinetics comments:
kinetics: Estimated from node Backbone1_2R!H-inRing_1R!H-inRing in family Intra_R_Add_Endocyclic.

Details 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:02:00
Current: Execution time (DD:HH:MM:SS): 00:00:01:59
Reference: Memory used: 893.44 MB
Current: Memory used: 893.69 MB

liquid_oxidation Passed Core Comparison ✅

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

liquid_oxidation Failed Edge Comparison ❌

Original model has 214 species.
Test model has 214 species. ✅
Original model has 1588 reactions.
Test model has 1588 reactions. ✅
The original model has 2 reactions that the tested model does not have. ❌
rxn: CC(C[CH]COO)OO(118) <=> CC(CC[CH]OO)OO(133) origin: intra_H_migration
rxn: CC(C[CH]COO)OO(118) <=> C[C](CCCOO)OO(132) origin: intra_H_migration
The tested model has 2 reactions that the original model does not have. ❌
rxn: CC(C[CH]COO)OO(115) <=> [OH](22) + CC(CCC=O)OO(116) origin: intra_H_migration
rxn: CC(C[CH]COO)OO(115) <=> [OH](22) + CC(=O)CCCOO(112) origin: intra_H_migration

Details 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:04
Current: Execution time (DD:HH:MM:SS): 00:00:01:04
Reference: Memory used: 895.80 MB
Current: Memory used: 891.33 MB

nitrogen Failed Core Comparison ❌

Original model has 41 species.
Test model has 41 species. ✅
Original model has 360 reactions.
Test model has 359 reactions. ❌
The original model has 1 reactions that the tested model does not have. ❌
rxn: HNO(48) + HCO(13) <=> NO(38) + CH2O(18) origin: H_Abstraction

nitrogen Failed Edge Comparison ❌

Original model has 133 species.
Test model has 133 species. ✅
Original model has 983 reactions.
Test model has 981 reactions. ❌
The original model has 2 reactions that the tested model does not have. ❌
rxn: HNO(48) + HCO(13) <=> NO(38) + CH2O(18) origin: H_Abstraction
rxn: HON(T)(83) + HCO(13) <=> NO(38) + CH2O(18) origin: Disproportionation

Details 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:46
Current: Execution time (DD:HH:MM:SS): 00:00:01:45
Reference: Memory used: 771.86 MB
Current: Memory used: 771.93 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. ✅

Details 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:41
Current: Execution time (DD:HH:MM:SS): 00:00:00:40
Reference: Memory used: 891.17 MB
Current: Memory used: 892.57 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

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:25
Reference: Memory used: 947.77 MB
Current: Memory used: 952.17 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:02
Current: Execution time (DD:HH:MM:SS): 00:00:02:19
Reference: Memory used: 2439.06 MB
Current: Memory used: 2334.56 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:34:48
Current: Execution time (DD:HH:MM:SS): 00:00:15:06
Reference: Memory used: 2754.38 MB
Current: Memory used: 2467.04 MB

RMS_CSTR_liquid_oxidation Failed Core Comparison ❌

Original model has 35 species.
Test model has 35 species. ✅
Original model has 139 reactions.
Test model has 144 reactions. ❌
The original model has 3 species that the tested model does not have. ❌
spc: CH3
spc: CCCC(C)O(47)
spc: CCCC=O(88)
The tested model has 3 species that the original model does not have. ❌
spc: CC[CH]CCOO(74)
spc: [CH2]CCCCOO(76)
spc: CC1CC(C)O1(87)
The original model has 10 reactions that the tested model does not have. ❌
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) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + 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) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(47) 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: CCCC(C)[O](44) + CCCCCOO(78) <=> C[CH]CCCOO(75) + CCCC(C)O(47) origin: H_Abstraction
The tested model has 15 reactions that the original model does not have. ❌
rxn: CCCCCO[O](61) <=> [CH2]CCCCOO(76) origin: intra_H_migration
rxn: [O]O(13) + [CH2]CCCCOO(76) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + [CH2]CCCCOO(76) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(76) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + [CH2]CCCCOO(76) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCCOO(76) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + [CH2]CCCCOO(76) origin: H_Abstraction
rxn: C[CH]CC(C)OO(37) <=> [OH](26) + CC1CC(C)O1(87) origin: Cyclic_Ether_Formation
rxn: CC[CH]CCOO(74) <=> CCCCCO[O](61) origin: intra_H_migration
rxn: [O]O(13) + CC[CH]CCOO(74) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + CC[CH]CCOO(74) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CCOO(74) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CC[CH]CCOO(74) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]CCOO(74) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + CC[CH]CCOO(74) origin: H_Abstraction

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 100 species.
Test model has 99 species. ❌
Original model has 376 reactions.
Test model has 375 reactions. ❌
The original model has 1 species that the tested model does not have. ❌
spc: CCCCCOOOO
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

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:35
Current: Execution time (DD:HH:MM:SS): 00:00:00:35
Reference: Memory used: 737.82 MB
Current: Memory used: 736.62 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:34
Current: Execution time (DD:HH:MM:SS): 00:00:02:49
Reference: Memory used: 2504.17 MB
Current: Memory used: 2452.58 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:33
Current: Execution time (DD:HH:MM:SS): 00:00:00:33
Reference: Memory used: 892.76 MB
Current: Memory used: 898.37 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 🤖

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.

3 participants