RMG-Py icon indicating copy to clipboard operation
RMG-Py copied to clipboard

Avoid Unnecessary Julia Operations + Optional RMS Installation

Open JacksonBurns opened this issue 11 months ago • 29 comments

Replaces part of #2539 which 1. fixed the conda recipe 2. added a subpackage 3. avoided unnecesary RMS operations and 4. grew totally un-reviewable. This PR contains only 3. - later PRs will implement 1. and 2.

Description of Changes

Two new internal-only boolean variables are added, NO_JULIA and requires_rms:

  • NO_JULIA is set based on whether or not the Julia dependencies (which are now optional) are installed. This resolves #2547 by allowing for a standalone installation of RMG or Arkane.
  • requires_rms is set if the user calling RMG actually has a reactor system that requires an RMS-based reactor. This avoids a lot of work (see which lines can now be skipped in this PR) when running RMG from the CLI inside the Docker container (or a source install with RMS).

I have also renamed the reactors file for clarity, to differentiate it from reactors.py which has the RMG-based pure-python reactors.

Impact of Changes

As of right now, the CI and Docker image still install Julia and RMS as they do now, so the version of RMG that we send out has all the features RMS offers. This change is intended for:

  • generally speeding up RMG
  • allowing people to extend RMG more easily
  • allow fixing the conda recipe (see the referenced PR at the top that necessitated this change, or wait for the follow up PR)

TODO Before Merging

Update user-facing docs to provide details on how to do a julia-less installation and indicate which features require Julia.

I am opening and requesting review now so that we can hash out the finer points of the implementation, and then I can write up the docs for the users once that is settled.

JacksonBurns avatar Mar 11 '24 16:03 JacksonBurns

Also TODO: use pytest.mark to label tests with those that require Julia to allow for running pytest without the Julia stuff.

Also also TODO: after updating the documentation, add a link to the Julia-related installation steps in the exception that is thrown when attempting to call RMS without it installed. See https://github.com/ReactionMechanismGenerator/RMG-Py/pull/2631#discussion_r1520348406

JacksonBurns avatar Mar 11 '24 17:03 JacksonBurns

I'm all in favor of avoiding the julia start up cost for runs that don't need it. Which should solve issue #2547. Although, as I noted in that issue Arkane is dependent on pyjulia entirely independently of RMS.

However, RMS is not an optional install or anything you can treat as an optional backend. We have published RMG features that are not available without RMS, RMS is the only sensible way right now to add a new reactor to RMG, RMG electrochemistry is entirely dependent on RMS because none of the RMG reactors can run it.

Doing so does not save anyone time maintaining the installation because the installation with RMS has to work regardless. The initial install time for RMS is not particularly burdensome. It will even make debugging PRs more complicated because there will be more differences between users' local copies and the tests.

mjohnson541 avatar Mar 11 '24 18:03 mjohnson541

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:01:07 Current: Execution time (DD:HH:MM:SS): 00:00:01:04 Reference: Memory used: 3046.07 MB Current: Memory used: 3027.16 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. ✅

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:19 Current: Execution time (DD:HH:MM:SS): 00:00:02:04 Reference: Memory used: 3158.95 MB Current: Memory used: 3118.50 MB

liquid_oxidation Failed Core Comparison ❌

Original model has 37 species. Test model has 37 species. ✅ Original model has 215 reactions. Test model has 216 reactions. ❌ The tested model has 1 reactions that the original model does not have. ❌ rxn: CCO[O](31) <=> [OH](22) + CC=O(69) origin: intra_H_migration

liquid_oxidation Failed Edge Comparison ❌

Original model has 202 species. Test model has 202 species. ✅ Original model has 1610 reactions. Test model has 1610 reactions. ✅ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCO[O](31) <=> C[CH]OO(70) origin: intra_H_migration The tested model has 1 reactions that the original model does not have. ❌ rxn: CCO[O](31) <=> [OH](22) + CC=O(69) origin: intra_H_migration

Non-identical kinetics! ❌ original: rxn: CCCCCO[O](103) + CC(CC(C)OO)O[O](104) <=> oxygen(1) + CCCCC[O](127) + CC([O])CC(C)OO(129) origin: Peroxyl_Disproportionation tested: rxn: CCCCCO[O](104) + CC(CC(C)OO)O[O](103) <=> oxygen(1) + CCCCC[O](128) + CC([O])CC(C)OO(127) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 7.79 7.46 7.21 7.00 6.67 6.41 5.94 5.60
k(T): 3.52 4.27 4.71 5.01 5.39 5.61 5.91 6.06

kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0.053,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing Ea raised from 0.0 to 0.2 kJ/mol to match endothermicity of reaction.""") kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(4.096,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R""") kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing Ea raised from 0.0 to 0.2 kJ/mol to match endothermicity of reaction. kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R

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:25 Current: Execution time (DD:HH:MM:SS): 00:00:01:13 Reference: Memory used: 3159.87 MB Current: Memory used: 3116.13 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 132 species. Test model has 132 species. ✅ Original model has 997 reactions. Test model has 997 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:02:33 Current: Execution time (DD:HH:MM:SS): 00:00:01:49 Reference: Memory used: 3024.88 MB Current: Memory used: 2983.54 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 ✅

Regression test sulfur:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:57 Current: Execution time (DD:HH:MM:SS): 00:00:00:50 Reference: Memory used: 3120.30 MB Current: Memory used: 3120.82 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:36 Current: Execution time (DD:HH:MM:SS): 00:00:00:32 Reference: Memory used: 3230.77 MB Current: Memory used: 3233.35 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:31 Current: Execution time (DD:HH:MM:SS): 00:00:02:27 Reference: Memory used: 3704.26 MB Current: Memory used: 3710.76 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:05:52 Current: Execution time (DD:HH:MM:SS): 00:00:06:08 Reference: Memory used: 3641.41 MB Current: Memory used: 3659.30 MB

RMS_CSTR_liquid_oxidation Failed Core Comparison ❌

Original model has 35 species. Test model has 37 species. ❌ Original model has 211 reactions. Test model has 232 reactions. ❌ The tested model has 2 species that the original model does not have. ❌ spc: CCC(37) spc: C[CH]OCCC(128) The tested model has 21 reactions that the original model does not have. ❌ rxn: [CH2]CC(5) + pentane(2) <=> CCC(37) + CC[CH]CC(7) origin: H_Abstraction rxn: [CH2]CC(5) + pentane(2) <=> CCC(37) + C[CH]CCC(11) origin: H_Abstraction rxn: CCC(37) + [CH2]CCCC(12) <=> [CH2]CC(5) + pentane(2) origin: H_Abstraction rxn: [CH2]CC(5) + CCCC(C)OO(59) <=> CCC(37) + CCCC(C)O[O](33) origin: H_Abstraction rxn: [CH2]CC(5) + CCCC(C)OO(59) <=> CCC(37) + C[CH]CC(C)OO(48) origin: H_Abstraction rxn: [CH2]CC(5) + C[CH]CCC(11) <=> CCC(37) + C=CCCC(25) origin: Disproportionation rxn: [CH2]CC(5) + CCC(CC)OO(21) <=> CCC(37) + CCC(CC)O[O](18) origin: H_Abstraction rxn: [CH2]CC(5) + CCCCCOO(90) <=> CCC(37) + CCCCCO[O](70) origin: H_Abstraction rxn: [CH2]CC(5) + CCCOO(60) <=> CCCO[O](35) + CCC(37) origin: H_Abstraction rxn: OO(20) + [CH2]CC(5) <=> [O]O(13) + CCC(37) origin: H_Abstraction rxn: [OH](22) + CCC(37) <=> O(40) + [CH2]CC(5) origin: H_Abstraction rxn: CC=O(100) + [CH2]CC(5) <=> C[CH]OCCC(128) origin: R_Addition_MultipleBond rxn: [O]O(13) + [CH2]CC(5) <=> oxygen(1) + CCC(37) origin: H_Abstraction rxn: [CH2]CC(5) + [CH2]CCCC(12) <=> CCC(37) + C=CCCC(25) origin: Disproportionation rxn: [CH2]CC(5) + CCCC(C)OO(59) <=> CCC(37) + CC[CH]C(C)OO(46) origin: H_Abstraction rxn: [CH2]CC(5) + CCC(CC)OO(21) <=> CCC(37) + C[CH]C(CC)OO(29) origin: H_Abstraction rxn: [CH2]CC(5) + CC(CC(C)OO)OO(171) <=> CCC(37) + CC(CC(C)OO)O[O](148) origin: H_Abstraction rxn: [CH2]CC(5) + CC[CH]CC(7) <=> CCC(37) + CC=CCC(16) origin: Disproportionation rxn: [CH2]CC(5) + C[CH]CCC(11) <=> CCC(37) + CC=CCC(16) origin: Disproportionation rxn: CCO[O](36) + C[CH]CCC(11) <=> CCOO(72) + CC=CCC(16) origin: Disproportionation rxn: CCO[O](36) + CC[CH]CC(7) <=> CCOO(72) + CC=CCC(16) origin: Disproportionation

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 197 species. Test model has 206 species. ❌ Original model has 1421 reactions. Test model has 1508 reactions. ❌ The tested model has 9 species that the original model does not have. ❌ spc: C[CH]OCC(142) spc: C=COCCC(143) spc: [CH2]COCCC(144) spc: CC[CH]OCC(145) spc: C[CH]COCC(146) spc: [CH2]CCOCC(147) spc: CCCOCC(149) spc: CC([O])O(150) spc: C[CH]C(O)CC(202) The original model has 11 reactions that the tested model does not have. ❌ rxn: CCCO[O](35) <=> CC[CH]OO(45) origin: intra_H_migration rxn: CCCC(C)[O](61) + C[CH]C(CC)OO(31) <=> CC=C(CC)OO(109) + CCCC(C)O(128) origin: Disproportionation rxn: CCCC(C)[O](61) + C[CH]C(CC)OO(31) <=> C=CC(CC)OO(110) + CCCC(C)O(128) origin: Disproportionation rxn: CCCC(C)[O](61) + C[CH]C(CC)OO(31) <=> CCCC(C)=O(49) + CCC(CC)OO(21) origin: Disproportionation rxn: CCCC(C)[O](61) + CC[CH]C(C)OO(50) <=> CCC=C(C)OO(115) + CCCC(C)O(128) origin: Disproportionation rxn: CCCC(C)[O](61) + CC[CH]C(C)OO(50) <=> CC=CC(C)OO(116) + CCCC(C)O(128) origin: Disproportionation rxn: CCCC(C)[O](61) + CC[CH]C(C)OO(50) <=> CCCC(C)=O(49) + CCCC(C)OO(58) origin: Disproportionation rxn: CCCC(C)[O](61) + C[CH]CC(C)OO(52) <=> CC=CC(C)OO(116) + CCCC(C)O(128) origin: Disproportionation rxn: CCCC(C)[O](61) + C[CH]CC(C)OO(52) <=> C=CCC(C)OO(122) + CCCC(C)O(128) origin: Disproportionation rxn: CCCC(C)[O](61) + C[CH]CC(C)OO(52) <=> CCCC(C)=O(49) + CCCC(C)OO(58) origin: Disproportionation rxn: [CH2]CC(5) + CC(CC(C)OO)O[O](127) <=> C=CC(26) + CC(CC(C)OO)OO(131) origin: Disproportionation The tested model has 98 reactions that the original model does not have. ❌ rxn: [CH2]CC(5) + [CH2]CCCC(12) <=> CCC(37) + C=CCCC(25) origin: Disproportionation rxn: CCO[O](36) + C[CH]CCC(11) <=> CCOO(72) + CC=CCC(16) origin: Disproportionation rxn: CCO[O](36) + CC[CH]CC(7) <=> CCOO(72) + CC=CCC(16) origin: Disproportionation rxn: CCCO[O](35) <=> [OH](22) + CCC=O(50) origin: intra_H_migration rxn: [CH2](3) + CC(38) <=> CCC(37) origin: 1,2_Insertion_carbene rxn: [CH2](3) + CC(38) <=> CCC(37) origin: 1,2_Insertion_carbene rxn: [CH3](10) + C[CH2](6) <=> CCC(37) origin: R_Recombination rxn: [H](8) + C[CH]C(32) <=> CCC(37) origin: R_Recombination rxn: [H](8) + [CH2]CC(5) <=> CCC(37) origin: R_Recombination rxn: [CH2](3) + C[CH]OCC(142) <=> C[CH]OCCC(128) origin: 1,2_Insertion_carbene rxn: [CH2](3) + C[CH]OCC(142) <=> C[CH]OCCC(128) origin: 1,2_Insertion_carbene rxn: [H](8) + C=COCCC(143) <=> C[CH]OCCC(128) origin: R_Addition_MultipleBond rxn: [CH2]COCCC(144) <=> C[CH]OCCC(128) origin: intra_H_migration rxn: CC[CH]OCC(145) <=> C[CH]OCCC(128) origin: intra_H_migration rxn: C[CH]COCC(146) <=> C[CH]OCCC(128) origin: intra_H_migration rxn: [CH2]CCOCC(147) <=> C[CH]OCCC(128) origin: intra_H_migration rxn: oxygen(1) + CCC(37) <=> [O]O(13) + C[CH]C(32) origin: H_Abstraction rxn: CC[CH]CC(7) + CCCOCC(149) <=> C[CH]OCCC(128) + pentane(2) origin: H_Abstraction rxn: C[CH]CCC(11) + CCCOCC(149) <=> C[CH]OCCC(128) + pentane(2) origin: H_Abstraction rxn: [CH2]CCCC(12) + CCCOCC(149) <=> C[CH]OCCC(128) + pentane(2) origin: H_Abstraction rxn: C[CH]C(32) + pentane(2) <=> CCC(37) + CC[CH]CC(7) origin: H_Abstraction rxn: C[CH]C(32) + pentane(2) <=> CCC(37) + C[CH]CCC(11) origin: H_Abstraction rxn: [O]O(13) + CCC(37) <=> OO(20) + C[CH]C(32) origin: H_Abstraction rxn: C[CH]C(32) + CCC(CC)OO(21) <=> CCC(37) + CCC(CC)O[O](18) origin: H_Abstraction rxn: [CH2]CC(5) + CCC(37) <=> C[CH]C(32) + CCC(37) origin: H_Abstraction rxn: C[CH]C(32) + CCCC(C)OO(59) <=> CCC(37) + CCCC(C)O[O](33) origin: H_Abstraction rxn: C[CH]C(32) + CCCOO(60) <=> CCCO[O](35) + CCC(37) origin: H_Abstraction rxn: CCC(37) + [CH2]CCCC(12) <=> C[CH]C(32) + pentane(2) origin: H_Abstraction rxn: C[CH]C(32) + CCCCCOO(90) <=> CCC(37) + CCCCCO[O](70) origin: H_Abstraction rxn: [OH](22) + CC=O(100) <=> O(40) + C=C[O](121) origin: H_Abstraction rxn: [OH](22) + CC=O(100) <=> O(40) + C[C]=O(122) origin: H_Abstraction rxn: [OH](22) + CC=O(100) <=> C[CH]OO(63) origin: R_Addition_MultipleBond rxn: [OH](22) + CC=O(100) <=> CC([O])O(150) origin: R_Addition_MultipleBond rxn: [OH](22) + CCC(37) <=> O(40) + C[CH]C(32) origin: H_Abstraction rxn: C[CH]C(32) + [CH2]CCCC(12) <=> CCC(37) + C=CCCC(25) origin: Disproportionation rxn: C[CH]C(32) + C[CH]CCC(11) <=> CCC(37) + C=CCCC(25) origin: Disproportionation rxn: C[CH]O(123) + CCO[O](36) <=> CC=O(100) + CCOO(72) origin: Disproportionation rxn: CC[O](92) + CCO[O](36) <=> CC=O(100) + CCOO(72) origin: Disproportionation rxn: C[CH]O(123) + C[CH]OO(63) <=> CC=O(100) + CCOO(72) origin: Disproportionation rxn: CC[O](92) + C[CH]OO(63) <=> CC=O(100) + CCOO(72) origin: Disproportionation rxn: C[CH]O(123) + [CH2]COO(69) <=> CC=O(100) + CCOO(72) origin: Disproportionation rxn: CC[O](92) + [CH2]COO(69) <=> CC=O(100) + CCOO(72) origin: Disproportionation rxn: CC=O(100) + CCCC(C)[O](62) <=> C=C[O](121) + CCCC(C)O(108) origin: H_Abstraction rxn: CC=O(100) + CCCC(C)[O](62) <=> C[C]=O(122) + CCCC(C)O(108) origin: H_Abstraction rxn: C[CH]C(32) + CCCC(C)O(108) <=> CCC(37) + CCCC(C)[O](62) origin: H_Abstraction rxn: CCC(37) + CCCC(C)[O](62) <=> [CH2]CC(5) + CCCC(C)O(108) origin: H_Abstraction rxn: C[CH]O(123) + C[CH]C(32) <=> CC=O(100) + CCC(37) origin: Disproportionation rxn: C[CH]O(123) + [CH2]CC(5) <=> CC=O(100) + CCC(37) origin: Disproportionation rxn: CC[O](92) + C[CH]C(32) <=> CC=O(100) + CCC(37) origin: Disproportionation rxn: CC[O](92) + [CH2]CC(5) <=> CC=O(100) + CCC(37) origin: Disproportionation rxn: C[CH]C(32) + CCCC(C)OO(59) <=> CCC(37) + C[CH]CC(C)OO(48) origin: H_Abstraction rxn: C[CH]CC(C)OO(48) + CC(CC(C)OO)O[O](148) <=> CC=CC(C)OO(139) + CC(CC(C)OO)OO(171) origin: Disproportionation rxn: C[CH]CC(C)OO(48) + CC(CC(C)OO)O[O](148) <=> C=CCC(C)OO(140) + CC(CC(C)OO)OO(171) origin: Disproportionation rxn: CCC(37) + CC[CH]C(C)OO(46) <=> C[CH]C(32) + CCCC(C)OO(59) origin: H_Abstraction rxn: C[CH]C(32) + CC(CC(C)OO)OO(171) <=> CCC(37) + CC(CC(C)OO)O[O](148) origin: H_Abstraction rxn: CCC(37) + C[CH]C(CC)OO(29) <=> C[CH]C(32) + CCC(CC)OO(21) origin: H_Abstraction rxn: CCC(CC)OOO(115) + CC(CC(C)OO)OO(171) <=> O(40) + CCC(CC)O[O](18) + CC(CC(C)OO)O[O](148) origin: Bimolec_Hydroperoxide_Decomposition rxn: CCCC(C)OOO(110) + CC(CC(C)OO)OO(171) <=> O(40) + CCCC(C)O[O](33) + CC(CC(C)OO)O[O](148) origin: Bimolec_Hydroperoxide_Decomposition rxn: CCCCCOOO(116) + CC(CC(C)OO)OO(171) <=> O(40) + CCCCCO[O](70) + CC(CC(C)OO)O[O](148) origin: Bimolec_Hydroperoxide_Decomposition rxn: CCCO[O](35) + CC(CC(C)OO)O[O](148) <=> oxygen(1) + CCC[O](97) + CC([O])CC(C)OO(172) origin: Peroxyl_Disproportionation rxn: CCCO[O](35) + CC(CC(C)OO)O[O](148) <=> oxygen(1) + CCC=O(50) + CC(O)CC(C)OO(173) origin: Peroxyl_Termination rxn: CCCO[O](35) + CC(CC(C)OO)O[O](148) <=> oxygen(1) + CCCO(127) + CC(=O)CC(C)OO(162) origin: Peroxyl_Termination rxn: [OH](22) + CCC1OC1C(154) <=> O(40) + CC[C]1OC1C(179) origin: H_Abstraction rxn: [OH](22) + CCC1OC1C(154) <=> O(40) + CCC1O[C]1C(181) origin: H_Abstraction rxn: [OH](22) + CCC1OC1C(154) <=> O(40) + C[CH]C1OC1C(183) origin: H_Abstraction rxn: [OH](22) + CCC1OC1C(154) <=> O(40) + [CH2]C1OC1CC(184) origin: H_Abstraction rxn: [OH](22) + CCC1OC1C(154) <=> O(40) + [CH2]CC1OC1C(185) origin: H_Abstraction rxn: [OH](22) + CC(CC(C)OO)OO(171) <=> O(40) + C[C](CC(C)OO)OO(188) origin: H_Abstraction rxn: [OH](22) + CC(CC(C)OO)OO(171) <=> O(40) + CC([CH]C(C)OO)OO(163) origin: H_Abstraction rxn: [OH](22) + CC(CC(C)OO)OO(171) <=> O(40) + [CH2]C(CC(C)OO)OO(164) origin: H_Abstraction rxn: [OH](22) + CC=CCC(16) <=> O(40) + C[CH]C=CC(193) origin: H_Abstraction rxn: [OH](22) + CC=CCC(16) <=> O(40) + [CH2]CC=CC(194) origin: H_Abstraction rxn: [OH](22) + CC=CCC(16) <=> O(40) + [CH2]C=CCC(83) origin: H_Abstraction rxn: [OH](22) + CC=CCC(16) <=> O(40) + CC=[C]CC(196) origin: H_Abstraction rxn: [OH](22) + CC=CCC(16) <=> O(40) + C[C]=CCC(197) origin: H_Abstraction rxn: [OH](22) + CC=CCC(16) <=> C[CH]C(O)CC(202) origin: R_Addition_MultipleBond rxn: [OH](22) + CC=CCC(16) <=> CC[CH]C(C)O(103) origin: R_Addition_MultipleBond rxn: C[CH]OO(63) + C[CH]CCC(11) <=> CCOO(72) + CC=CCC(16) origin: Disproportionation rxn: C[CH]OO(63) + CC[CH]CC(7) <=> CCOO(72) + CC=CCC(16) origin: Disproportionation rxn: [CH2]COO(69) + C[CH]CCC(11) <=> CCOO(72) + CC=CCC(16) origin: Disproportionation rxn: [CH2]COO(69) + CC[CH]CC(7) <=> CCOO(72) + CC=CCC(16) origin: Disproportionation rxn: CCC1OC1C(154) + CCCC(C)[O](62) <=> CC[C]1OC1C(179) + CCCC(C)O(108) origin: H_Abstraction rxn: CCC1OC1C(154) + CCCC(C)[O](62) <=> CCC1O[C]1C(181) + CCCC(C)O(108) origin: H_Abstraction rxn: CCC1OC1C(154) + CCCC(C)[O](62) <=> C[CH]C1OC1C(183) + CCCC(C)O(108) origin: H_Abstraction rxn: CCC1OC1C(154) + CCCC(C)[O](62) <=> [CH2]C1OC1CC(184) + CCCC(C)O(108) origin: H_Abstraction rxn: CCC1OC1C(154) + CCCC(C)[O](62) <=> [CH2]CC1OC1C(185) + CCCC(C)O(108) origin: H_Abstraction rxn: CCCC(C)[O](62) + CC(CC(C)OO)OO(171) <=> CC(CC(C)OO)O[O](148) + CCCC(C)O(108) origin: H_Abstraction rxn: CCCC(C)[O](62) + CC(CC(C)OO)OO(171) <=> C[C](CC(C)OO)OO(188) + CCCC(C)O(108) origin: H_Abstraction rxn: CCCC(C)[O](62) + CC(CC(C)OO)OO(171) <=> CC([CH]C(C)OO)OO(163) + CCCC(C)O(108) origin: H_Abstraction rxn: CCCC(C)[O](62) + CC(CC(C)OO)OO(171) <=> [CH2]C(CC(C)OO)OO(164) + CCCC(C)O(108) origin: H_Abstraction rxn: CC=CCC(16) + CCCC(C)[O](62) <=> C[CH]C=CC(193) + CCCC(C)O(108) origin: H_Abstraction rxn: CC=CCC(16) + CCCC(C)[O](62) <=> [CH2]CC=CC(194) + CCCC(C)O(108) origin: H_Abstraction rxn: CC=CCC(16) + CCCC(C)[O](62) <=> [CH2]C=CCC(83) + CCCC(C)O(108) origin: H_Abstraction rxn: CC=[C]CC(196) + CCCC(C)O(108) <=> CC=CCC(16) + CCCC(C)[O](62) origin: H_Abstraction rxn: C[C]=CCC(197) + CCCC(C)O(108) <=> CC=CCC(16) + CCCC(C)[O](62) origin: H_Abstraction rxn: C[CH]C(32) + C[CH]CCC(11) <=> CCC(37) + CC=CCC(16) origin: Disproportionation rxn: C[CH]C(32) + CC[CH]CC(7) <=> CCC(37) + CC=CCC(16) origin: Disproportionation rxn: OOO(114) + CC(CC(C)OO)OO(171) <=> [O]O(13) + O(40) + CC(CC(C)OO)O[O](148) 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:42 Current: Execution time (DD:HH:MM:SS): 00:00:00:38 Reference: Memory used: 2959.95 MB Current: Memory used: 2943.83 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. ✅

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 ✅

Regression test RMS_constantVIdealGasReactor_fragment:

Reference: Execution time (DD:HH:MM:SS): 00:00:03:09 Current: Execution time (DD:HH:MM:SS): 00:00:03:08 Reference: Memory used: 3841.29 MB Current: Memory used: 3846.80 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. ✅

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 ✅

beep boop this comment was written by a bot :robot:

github-actions[bot] avatar Mar 11 '24 21:03 github-actions[bot]

Codecov Report

Attention: Patch coverage is 75.72816% with 25 lines in your changes missing coverage. Please review.

Project coverage is 54.26%. Comparing base (6d9a56e) to head (24284bc). Report is 1 commits behind head on main.

:exclamation: Current head 24284bc differs from pull request most recent head 363e2a6

Please upload reports for the commit 363e2a6 to get more accurate results.

Files Patch % Lines
rmgpy/rmg/model.py 73.33% 16 Missing :warning:
rmgpy/rmg/main.py 84.61% 4 Missing :warning:
rmgpy/rmg/reactionmechanismsimulator_reactors.py 75.00% 3 Missing :warning:
rmgpy/rmg/input.py 33.33% 2 Missing :warning:
Additional details and impacted files
@@            Coverage Diff             @@
##             main    #2631      +/-   ##
==========================================
- Coverage   54.79%   54.26%   -0.54%     
==========================================
  Files         125      125              
  Lines       37164    37061     -103     
==========================================
- Hits        20365    20110     -255     
- Misses      16799    16951     +152     

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.

codecov[bot] avatar Mar 11 '24 21:03 codecov[bot]

I'm all in favor of avoiding the julia start up cost for runs that don't need it. Which should solve issue #2547. Although, as I noted in that issue Arkane is dependent on pyjulia entirely independently of RMS.

Thanks for pointing that out! I have added a comment on that issue.

However, RMS is not an optional install or anything you can treat as an optional backend. We have published RMG features that are not available without RMS, RMS is the only sensible way right now to add a new reactor to RMG, RMG electrochemistry is entirely dependent on RMS because none of the RMG reactors can run it.

I see this as less about removing features and more about increasingly the 'extend-ability' of RMG. The RMS features are great, yet some of our users only want to run basic reactors and 'plug in' RMG to other tools, which is difficult in the current state.

Our primary distribution method (Docker) will still include all of the RMS stuff, so by default everyone will still have access to every feature we have ever promised. The CI, too, will continue to install the RMS features and ensure forward-compatibility with the inter-operation of the two packages.

I'll also add that this is somewhat being forced as a technical issue, or at least an issue with my technical understanding. I only alluded to this in my initial comment ("allow fixing the conda recipe") but I'll be more explicit here. In the process of attempting to fix the conda recipe, I did not find a way to build a new RMG binary with the RMS installation included. When attempting to build RMS within the conda recipe I couldn't get the build to 'find' RMG (so it went out to install the old binary), couldn't get the build to run (would fail for difficult-to-discern reasons), and overall the Julia language seems to only just be adopting conda as a binary distribution method (with 'new' packages like Conda.jl) picking up steam).

There may very well be a way to get the binary creation to work, but it will certainly be more difficult than the workflow that this change would allow: We Build Standalone RMG Binary -> Users Install Standalone RMG Binary -> Users Add RMS on Top of It Locally

We have also historically 'promised' binaries, and I see this as the only way to provide those.

Doing so does not save anyone time maintaining the installation because the installation with RMS has to work regardless. The initial install time for RMS is not particularly burdensome. It will even make debugging PRs more complicated because there will be more differences between users' local copies and the tests.

Partly replied to this above - CI will continue to install RMS so it will continue to work in the future.

Second point is a very real challenge, I agree. I can readily imagine circumstances where a user might suggest changes to RMG that pass RMG-only tests locally and then fail RMG+RMS CI on GitHub. This might ultimately be resolved with good practices (i.e. requiring people to run RMG+RMS for development) but I am open to input from the dev team on this.

JacksonBurns avatar Mar 12 '24 15:03 JacksonBurns

I'm all in favor of avoiding the julia start up cost for runs that don't need it. Which should solve issue #2547. Although, as However, RMS is not an optional install or anything you can treat as an optional backend. We have published RMG features that are not available without RMS, RMS is the only sensible way right now to add a new reactor to RMG, RMG electrochemistry is entirely dependent on RMS because none of the RMG reactors can run it.

I see this as less about removing features and more about increasingly the 'extend-ability' of RMG. The RMS features are great, yet some of our users only want to run basic reactors and 'plug in' RMG to other tools, which is difficult in the current state.

Once the julia imports are avoided running RMG without using julia features will not have a meaningful distinction between running RMG without RMS installed. So aside from installation, there won't be a meaningful distinction in difficulty for users.

Our primary distribution method (Docker) will still include all of the RMS stuff, so by default everyone will still have access to every feature we have ever promised. The CI, too, will continue to install the RMS features and ensure forward-compatibility with the inter-operation of the two packages.

I'll also add that this is somewhat being forced as a technical issue, or at least an issue with my technical understanding. I only alluded to this in my initial comment ("allow fixing the conda recipe") but I'll be more explicit here. In the process of attempting to fix the conda recipe, I did not find a way to build a new RMG binary with the RMS installation included. When attempting to build RMS within the conda recipe I couldn't get the build to 'find' RMG (so it went out to install the old binary), couldn't get the build to run (would fail for difficult-to-discern reasons), and overall the Julia language seems to only just be adopting conda as a binary distribution method (with 'new' packages like Conda.jl) picking up steam).

I haven't seen the build script you devised, but this at least sounds resolvable to me. It sounds like RMS is being imported before julia is linked to the correct python (which will cause it to start installing things). Julia-python linking is most easily done inside the python you want to link to by calling julia.install() that should automatically identify julia and link it to the python you are in. I would think that should be done in pyjulia's build script, but for the RMG binary it can be done inside RMG's build script. The point of conda is to be universally applicable so we shouldn't be hindered by choice of language.

mjohnson541 avatar Mar 13 '24 00:03 mjohnson541

Oh wait, sorry...the issue isn't that...the issue is that the python that you're building with in conda is not the python in use when you run the binary. The linking needs done for the run python. Should just be the linking, the package installs and everything should be fine.

mjohnson541 avatar Mar 13 '24 00:03 mjohnson541

I see this as less about removing features and more about increasingly the 'extend-ability' of RMG. The RMS features are great, yet some of our users only want to run basic reactors and 'plug in' RMG to other tools, which is difficult in the current state.

Once the julia imports are avoided running RMG without using julia features will not have a meaningful distinction between running RMG without RMS installed. So aside from installation, there won't be a meaningful distinction in difficulty for users.

My apologies, I'm not sure I understand what you mean, could you restate this another way?

Our primary distribution method (Docker) will still include all of the RMS stuff, so by default everyone will still have access to every feature we have ever promised. The CI, too, will continue to install the RMS features and ensure forward-compatibility with the inter-operation of the two packages. I'll also add that this is somewhat being forced as a technical issue, or at least an issue with my technical understanding. I only alluded to this in my initial comment ("allow fixing the conda recipe") but I'll be more explicit here. In the process of attempting to fix the conda recipe, I did not find a way to build a new RMG binary with the RMS installation included. When attempting to build RMS within the conda recipe I couldn't get the build to 'find' RMG (so it went out to install the old binary), couldn't get the build to run (would fail for difficult-to-discern reasons), and overall the Julia language seems to only just be adopting conda as a binary distribution method (with 'new' packages like Conda.jl) picking up steam).

I haven't seen the build script you devised, but this at least sounds resolvable to me. It sounds like RMS is being imported before julia is linked to the correct python (which will cause it to start installing things). Julia-python linking is most easily done inside the python you want to link to by calling julia.install() that should automatically identify julia and link it to the python you are in. I would think that should be done in pyjulia's build script, but for the RMG binary it can be done inside RMG's build script. The point of conda is to be universally applicable so we shouldn't be hindered by choice of language.

The build.sh looked like this:

make install
export PYTHON=$PREFIX/bin/python
export PYTHONPATH=$SRC_DIR:$PYTHONPATH
python -c "import julia; julia.install(); import diffeqpy; diffeqpy.install()"
julia -e 'using Pkg; Pkg.add(PackageSpec(name="Functors",version="0.4.3")); Pkg.pin("Functors"); Pkg.add(PackageSpec(name="ReactionMechanismSimulator",rev="for_rmg")); using ReactionMechanismSimulator'

the conda_build_config.yaml looked like this:

python:
  - 3.7
numpy:
  - 1.15

and the meta.yaml is here:

recipe
# For conda build
package:
  name: rmg
  version: 3.2.0

source:
  path: ../

build:
  number: {{ environ.get('GIT_DESCRIBE_NUMBER', 0) }}

requirements:
  build:
    - {{ compiler('c') }}
  host:
    - cairo
    - cairocffi
    - ffmpeg
    - xlrd
    - xlwt
    - h5py
    - graphviz
    - markupsafe
    - psutil
    - ncurses
    - suitesparse

  # external software tools for chemistry
    - coolprop
    - cantera=2.6
    - mopac
    - cclib >=1.6.3,!=1.8.0
    - openbabel >=3

  # Python tools
    - python >=3.7
    - coverage
    - cython >=0.25.2
    - scikit-learn
    - scipy
    - numpy >=1.10.0
    - pydot
    - jinja2
    - jupyter
    - pymongo
    - pyparsing
    - pyyaml
    - networkx
    - matplotlib >=1.5
    - mpmath
    - pandas

  # packages we maintain
    - rmgdatabase
    - gprof2dot
    - lpsolve55
    - muq2
    - numdifftools
    - pydas >=1.0.3
    - pydqed >=1.0.3
    - pyrdl
    - quantities
    - symmetry
    - chemprop==0.0.1
    - rdkit >=2020.03.3.0
  run:
    - cairo
    - cairocffi
    - ffmpeg
    - xlrd
    - xlwt
    - h5py
    - graphviz
    - markupsafe
    - psutil
    - ncurses
    - suitesparse

  # external software tools for chemistry
    - coolprop
    - cantera=2.6
    - mopac
    - cclib >=1.6.3,!=1.8.0
    - openbabel >=3

  # Python tools
    - python >=3.7
    - coverage
    - cython >=0.25.2
    - scikit-learn
    - scipy
    - numpy >=1.10.0
    - pydot
    - jinja2
    - jupyter
    - pymongo
    - pyparsing
    - pyyaml
    - networkx
    - matplotlib >=1.5
    - mpmath
    - pandas

  # packages we maintain
    - rmgdatabase
    - gprof2dot
    - lpsolve55
    - muq2
    - numdifftools
    - pydas >=1.0.3
    - pydqed >=1.0.3
    - pyrdl
    - quantities
    - symmetry
    - chemprop==0.0.1
    - rdkit >=2020.03.3.0
test:
  requires:
    - cairo
    - cairocffi
    - ffmpeg
    - xlrd
    - xlwt
    - h5py
    - graphviz
    - markupsafe
    - psutil
    - ncurses
    - suitesparse

  # external software tools for chemistry
    - coolprop
    - cantera=2.6
    - mopac
    - cclib >=1.6.3,!=1.8.0
    - openbabel >=3

  # Python tools
    - python >=3.7
    - coverage
    - cython >=0.25.2
    - scikit-learn
    - scipy
    - numpy >=1.10.0
    - pydot
    - jinja2
    - jupyter
    - pymongo
    - pyparsing
    - pyyaml
    - networkx
    - matplotlib >=1.5
    - mpmath
    - pandas

  # packages we maintain
    - rmgdatabase
    - gprof2dot
    - lpsolve55
    - muq2
    - numdifftools
    - pydas >=1.0.3
    - pydqed >=1.0.3
    - pyrdl
    - quantities
    - symmetry
    - chemprop==0.0.1
    - rdkit >=2020.03.3.0
  source_files:
    - 'examples/rmg/superminimal'
    - 'examples/arkane/networks/n-butanol'
  imports:
    - rmgpy
    - arkane
  commands:
    - rmg.py examples/rmg/superminimal/input.py
    - Arkane.py examples/arkane/networks/n-butanol/input.py

about:
  home: https://github.com/ReactionMechanismGenerator/RMG-Py
  license: MIT
  summary: "A program for automatically generating kinetic models of chemical reaction mechanisms."

though this last component would be a little bit simpler now that some of the deps have been removed.

I agree that this should be resolvable, but I'm also anxious about the maintainability of the results. Seems like it would be house of cards waiting to crash down, whereas a system that built an RMG binary independently and then added RMS on top of it would allow for greater flexibility in the two steps.

JacksonBurns avatar Mar 13 '24 14:03 JacksonBurns

Sorry, I felt like the reply stuff was getting too nested.

On that point, I guess I don't understand why making RMS an optional install makes future development and plug-ability any easier given that after installation the user experience is the same for a user not using those features.

Super interested about why you needed that Functors line in the build.

Overall on the issues with the build my understanding is that if RMG starts using an RMS feature, RMS tries to install stuff? My interpretation of this is

  1. Python/pyjulia knows where Julia is
  2. The Julia python finds has RMS installed
  3. Julia/PyCall finds the wrong python and can't find the rmg stuff so tries to install it (probably using the default python)

So it seems that our problem is simply that while everything we need is installed PyCall doesn't know where the right python/conda env is. This can be set by defining environment variables: PYTHON and maybe also CONDA_JL_HOME (see https://github.com/JuliaPy/PyCall.jl and https://github.com/JuliaPy/Conda.jl). In the build we can set environmental variables that will automatically load when the environment loads so in theory if we do this for PYTHON and CONDA_JL_HOME RMS will grab the appropriate python and find that the packages it needs are already there. An example of doing this from the build file I wrote for julia binaries is below:

#make julia directory
mkdir -p ${PREFIX}/share/julia/site
mkdir -p ${PREFIX}/bin
#set JULIA_DEPOT_PATH in conda env
export JULIA_DEPOT_PATH="${PREFIX}/share/julia/site"
ACTIVATE_ENV="${PREFIX}/etc/conda/activate.d/env_vars.sh"
DEACTIVATE_ENV="${PREFIX}/etc/conda/deactivate.d/env_vars.sh"

if [ -f "$ACTIVATE_ENV" ]; then
        echo "export JULIA_DEPOT_PATH=\"${PREFIX}/share/julia/site\"" >> $ACTIVATE_ENV
        echo "export JULIA_OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $ACTIVATE_ENV
        echo "export LD_LIBRARY_PATH=\"${PREFIX}/lib\"" >> $ACTIVATE_ENV
else
        mkdir -p ${PREFIX}/etc/conda/activate.d
        touch ${PREFIX}/etc/conda/activate.d/env_vars.sh
        echo '#!/bin/sh' >> $ACTIVATE_ENV
        echo "export JULIA_DEPOT_PATH=\"${PREFIX}/share/julia/site\"" >> $ACTIVATE_ENV
        echo "export JULIA_OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $ACTIVATE_ENV
        echo "export LD_LIBRARY_PATH=\"${PREFIX}/lib\"" >> $ACTIVATE_ENV
fi
if [ -f "$DEACTIVATE_ENV" ]; then
        echo "unset JULIA_DEPOT_PATH" >> $DEACTIVATE_ENV
        echo "export LD_LIBRARY_PATH=$JULIA_OLD_LD_LIBRARY_PATH" >> $DEACTIVATE_ENV
        echo "unset JULIA_OLD_LD_LIBRARY_PATH" >> $DEACTIVATE_ENV
else
        mkdir -p ${PREFIX}/etc/conda/deactivate.d
        touch ${PREFIX}/etc/conda/deactivate.d/env_vars.sh
        echo '#!/bin/sh' >> $DEACTIVATE_ENV
        echo "unset JULIA_DEPOT_PATH" >> $DEACTIVATE_ENV
        echo "export LD_LIBRARY_PATH=$JULIA_OLD_LD_LIBRARY_PATH" >> $DEACTIVATE_ENV
        echo "unset JULIA_OLD_LD_LIBRARY_PATH" >> $DEACTIVATE_ENV
fi

mjohnson541 avatar Mar 15 '24 01:03 mjohnson541

At a high level I'm still skeptical that this is possible - the whole point of Conda.jl seems to be building Julia packages that require Python rather than Python Packages that require Julia. I can give this script a shot, but I must emphasize that this is a maintainability concern. As soon as Conda.jl changes anything we are going to be stuck unable to build RMG binaries again despite nothing being wrong with the Python side.

There's also just such a natural separation between mechanism generator in Python + reactor simulator in Julia that it seems (to me) unnecessary to try and combine the two. This would decouple our release schedule, allow people to extend RMG without also installing RMS, etc.

To me this is also just occam's razor. Why do this (comparatively) complex installation when we could so easily separate the two?

I don't recall the exact reason the Functors thing was there, I think something was wrong with that upstream on whatever day I wrote that build script.

JacksonBurns avatar Mar 15 '24 19:03 JacksonBurns

I'm happy to explain how the python-julia system works, why what I proposed is a robust solution to your particular problem as described (which honestly is rare to find with conda-build problems), what role PyCall.jl and Conda.jl play in the system and why there aren't any concerns about maintainability related to them in particular.

I know this part is new for the binaries and you guys aren't as experienced with these systems as I am. I'm surprised you didn't bring this up with me earlier in the process when you ran into this issue. I would hope that I could have helped you avoid the frustrations it seems you've clearly run into. I'm well aware building binaries is not a fun process especially when dealing with systems you aren't intimately familiar with.

However, I think it would be best to have such a conversation offline.

mjohnson541 avatar Mar 15 '24 20:03 mjohnson541

Sorry, I felt like the reply stuff was getting too nested.

On that point, I guess I don't understand why making RMS an optional install makes future development and plug-ability any easier given that after installation the user experience is the same for a user not using those features.

Super interested about why you needed that Functors line in the build.

Overall on the issues with the build my understanding is that if RMG starts using an RMS feature, RMS tries to install stuff? My interpretation of this is

1. Python/pyjulia knows where Julia is

2. The Julia python finds has RMS installed

3. Julia/PyCall finds the wrong python and can't find the rmg stuff so tries to install it (probably using the default python)

So it seems that our problem is simply that while everything we need is installed PyCall doesn't know where the right python/conda env is. This can be set by defining environment variables: PYTHON and maybe also CONDA_JL_HOME (see https://github.com/JuliaPy/PyCall.jl and https://github.com/JuliaPy/Conda.jl). In the build we can set environmental variables that will automatically load when the environment loads so in theory if we do this for PYTHON and CONDA_JL_HOME RMS will grab the appropriate python and find that the packages it needs are already there. An example of doing this from the build file I wrote for julia binaries is below:

#make julia directory
mkdir -p ${PREFIX}/share/julia/site
mkdir -p ${PREFIX}/bin
#set JULIA_DEPOT_PATH in conda env
export JULIA_DEPOT_PATH="${PREFIX}/share/julia/site"
ACTIVATE_ENV="${PREFIX}/etc/conda/activate.d/env_vars.sh"
DEACTIVATE_ENV="${PREFIX}/etc/conda/deactivate.d/env_vars.sh"

if [ -f "$ACTIVATE_ENV" ]; then
        echo "export JULIA_DEPOT_PATH=\"${PREFIX}/share/julia/site\"" >> $ACTIVATE_ENV
        echo "export JULIA_OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $ACTIVATE_ENV
        echo "export LD_LIBRARY_PATH=\"${PREFIX}/lib\"" >> $ACTIVATE_ENV
else
        mkdir -p ${PREFIX}/etc/conda/activate.d
        touch ${PREFIX}/etc/conda/activate.d/env_vars.sh
        echo '#!/bin/sh' >> $ACTIVATE_ENV
        echo "export JULIA_DEPOT_PATH=\"${PREFIX}/share/julia/site\"" >> $ACTIVATE_ENV
        echo "export JULIA_OLD_LD_LIBRARY_PATH=$LD_LIBRARY_PATH" >> $ACTIVATE_ENV
        echo "export LD_LIBRARY_PATH=\"${PREFIX}/lib\"" >> $ACTIVATE_ENV
fi
if [ -f "$DEACTIVATE_ENV" ]; then
        echo "unset JULIA_DEPOT_PATH" >> $DEACTIVATE_ENV
        echo "export LD_LIBRARY_PATH=$JULIA_OLD_LD_LIBRARY_PATH" >> $DEACTIVATE_ENV
        echo "unset JULIA_OLD_LD_LIBRARY_PATH" >> $DEACTIVATE_ENV
else
        mkdir -p ${PREFIX}/etc/conda/deactivate.d
        touch ${PREFIX}/etc/conda/deactivate.d/env_vars.sh
        echo '#!/bin/sh' >> $DEACTIVATE_ENV
        echo "unset JULIA_DEPOT_PATH" >> $DEACTIVATE_ENV
        echo "export LD_LIBRARY_PATH=$JULIA_OLD_LD_LIBRARY_PATH" >> $DEACTIVATE_ENV
        echo "unset JULIA_OLD_LD_LIBRARY_PATH" >> $DEACTIVATE_ENV
fi

Actually, in addition to this we also need to run Pkg.build("PyCall") once in the conda environment after construction...cleanest would be the first time the conda environment activates, although calling julia.install() inside RMG will also do this.

mjohnson541 avatar Mar 15 '24 20:03 mjohnson541

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:01:05 Current: Execution time (DD:HH:MM:SS): 00:00:01:03 Reference: Memory used: 2982.38 MB Current: Memory used: 2971.48 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: C=CC1C=CC2=CC1C=C2 tested: C=CC1C=CC2=CC1C=C2

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
83.22 82.78 35.48 45.14 53.78 61.40 73.58 82.20 95.08
83.22 84.16 35.48 45.14 53.78 61.40 73.58 82.20 95.08

Identical thermo comments: 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(s3_5_6_ane) - ring(Cyclohexane) - ring(Cyclopentane) + ring(1,3-Cyclohexadiene) + ring(Cyclopentadiene)

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)
164.90 80.93 22.21 28.97 35.25 40.69 48.70 53.97 64.36
129.39 79.85 22.98 30.09 36.61 42.21 50.22 55.39 65.95

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(124cyclohexatriene) thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)(Cds-Cds)(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)(Cds-Cds)) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)H) + group(Cds-CdsCsH) + group(Cdd-CdsCds) + Estimated bicyclic component: polycyclic(s4_6_6_ane) - ring(Cyclohexane) - ring(Cyclohexane) + ring(124cyclohexatriene) + ring(1,4-Cyclohexadiene)

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

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -3.00 -0.74 0.70 1.71 3.07 3.97 5.33 6.15
k(T): 4.24 4.69 5.05 5.33 5.79 6.14 6.78 7.23

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(9.943,'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 38.5 to 41.6 kJ/mol to match endothermicity of reaction.""") kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(0,'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: 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 38.5 to 41.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 3.0

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): -7.44 -4.08 -2.05 -0.69 1.02 2.06 3.46 4.18
k(T): 5.77 5.83 5.88 5.92 5.97 6.02 6.10 6.16

kinetics: Arrhenius(A=(4.06926e+10,'cm^3/(mol*s)'), n=0.47, Ea=(18.137,'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 75.2 to 75.9 kJ/mol to match endothermicity of reaction.""") 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: Estimated from node Root_Ext-1R!H-R_N-4R->O Multiplied by reaction path degeneracy 3.0 Ea raised from 75.2 to 75.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

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): -7.17 -3.66 -1.56 -0.16 1.60 2.65 4.05 4.75
k(T): 4.06 4.76 5.18 5.46 5.81 6.02 6.30 6.44

kinetics: Arrhenius(A=(7.23e+12,'cm^3/(mol*s)'), n=0, Ea=(19.262,'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=(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""") 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]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): -30.48 -21.35 -15.79 -12.03 -7.23 -4.28 -0.16 2.03
k(T): -4.55 -1.90 -0.23 0.94 2.49 3.50 5.02 5.92

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(47.659,'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 195.4 to 199.4 kJ/mol to match endothermicity of reaction.""") 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: 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 195.4 to 199.4 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.

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): -31.23 -21.91 -16.23 -12.40 -7.51 -4.50 -0.31 1.91
k(T): -5.30 -2.46 -0.68 0.57 2.21 3.28 4.87 5.80

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(48.686,'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 202.2 to 203.7 kJ/mol to match endothermicity of reaction.""") 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: 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 202.2 to 203.7 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.

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): -27.24 -18.91 -13.84 -10.40 -6.02 -3.30 0.48 2.51
k(T): -1.38 0.48 1.67 2.52 3.68 4.45 5.66 6.39

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(43.208,'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 180.2 to 180.8 kJ/mol to match endothermicity of reaction.""") 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: 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 180.2 to 180.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

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): -11.95 -7.61 -5.01 -3.27 -1.10 0.20 1.93 2.80
k(T): -0.49 0.99 1.87 2.46 3.19 3.64 4.23 4.52

kinetics: Arrhenius(A=(2.529e+11,'cm^3/(mol*s)'), n=0, Ea=(23.821,'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=(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""") 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) <=> 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): -12.28 -7.86 -5.21 -3.44 -1.23 0.10 1.87 2.75
k(T): -0.66 0.85 1.76 2.37 3.13 3.58 4.19 4.49

kinetics: Arrhenius(A=(2.529e+11,'cm^3/(mol*s)'), n=0, Ea=(24.273,'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=(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""") 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]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): -30.44 -21.32 -15.76 -12.01 -7.22 -4.26 -0.16 2.03
k(T): -4.51 -1.87 -0.20 0.96 2.51 3.52 5.03 5.92

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(47.606,'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 195.1 to 199.2 kJ/mol to match endothermicity of reaction.""") 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: 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 195.1 to 199.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.

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): -32.11 -22.57 -16.76 -12.84 -7.84 -4.76 -0.49 1.78
k(T): -6.18 -3.12 -1.20 0.13 1.88 3.01 4.70 5.67

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(49.895,'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 205.2 to 208.8 kJ/mol to match endothermicity of reaction.""") 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: 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 205.2 to 208.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.

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): -33.97 -23.97 -17.88 -13.77 -8.54 -5.32 -0.86 1.50
k(T): -8.04 -4.52 -2.32 -0.81 1.18 2.46 4.32 5.39

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(52.457,'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 214.4 to 219.5 kJ/mol to match endothermicity of reaction.""") 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: 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 214.4 to 219.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.

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): -30.48 -21.35 -15.79 -12.03 -7.23 -4.28 -0.16 2.03
k(T): -4.55 -1.90 -0.23 0.94 2.49 3.50 5.02 5.92

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(47.659,'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 195.4 to 199.4 kJ/mol to match endothermicity of reaction.""") 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: 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 195.4 to 199.4 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.

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): -19.49 -12.98 -9.00 -6.29 -2.81 -0.64 2.42 4.08
k(T): 3.96 4.60 5.07 5.43 5.98 6.39 7.11 7.60

kinetics: Arrhenius(A=(51.5097,'cm^3/(mol*s)'), n=3.635, Ea=(33.226,'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 133.4 to 139.0 kJ/mol to match endothermicity of reaction.""") 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: 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 133.4 to 139.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 9.0

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:08 Current: Execution time (DD:HH:MM:SS): 00:00:02:04 Reference: Memory used: 3105.74 MB Current: Memory used: 3071.60 MB

liquid_oxidation Passed Core Comparison ✅

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

liquid_oxidation Failed Edge Comparison ❌

Original model has 202 species. Test model has 202 species. ✅ Original model has 1610 reactions. Test model has 1610 reactions. ✅

Non-identical kinetics! ❌ original: rxn: CCCCCO[O](104) + CC(CC(C)OO)O[O](103) <=> oxygen(1) + CCCCC[O](127) + CC([O])CC(C)OO(129) origin: Peroxyl_Disproportionation tested: rxn: CCCCCO[O](104) + CC(CC(C)OO)O[O](103) <=> oxygen(1) + CCCCC[O](128) + CC([O])CC(C)OO(127) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 7.79 7.46 7.21 7.00 6.67 6.41 5.94 5.60
k(T): 3.52 4.27 4.71 5.01 5.39 5.61 5.91 6.06

kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0.053,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing Ea raised from 0.0 to 0.2 kJ/mol to match endothermicity of reaction.""") kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(4.096,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R""") kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing Ea raised from 0.0 to 0.2 kJ/mol to match endothermicity of reaction. kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R

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:22 Current: Execution time (DD:HH:MM:SS): 00:00:01:14 Reference: Memory used: 3100.00 MB Current: Memory used: 3080.04 MB

nitrogen Passed Core Comparison ✅

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

nitrogen Passed Edge Comparison ✅

Original model has 132 species. Test model has 132 species. ✅ Original model has 995 reactions. Test model has 995 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:02:20 Current: Execution time (DD:HH:MM:SS): 00:00:01:46 Reference: Memory used: 2976.81 MB Current: Memory used: 2958.54 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 ✅

Regression test sulfur:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:54 Current: Execution time (DD:HH:MM:SS): 00:00:00:49 Reference: Memory used: 3081.25 MB Current: Memory used: 3078.55 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:34 Current: Execution time (DD:HH:MM:SS): 00:00:00:32 Reference: Memory used: 3181.24 MB Current: Memory used: 3173.04 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:26 Current: Execution time (DD:HH:MM:SS): 00:00:02:27 Reference: Memory used: 3644.32 MB Current: Memory used: 3642.18 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:06:05 Current: Execution time (DD:HH:MM:SS): 00:00:06:10 Reference: Memory used: 3590.43 MB Current: Memory used: 3575.23 MB

RMS_CSTR_liquid_oxidation Passed Core Comparison ✅

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

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 206 species. Test model has 206 species. ✅ Original model has 1508 reactions. Test model has 1508 reactions. ✅ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCCO[O](34) <=> [OH](22) + CCC=O(44) origin: intra_H_migration The tested model has 1 reactions that the original model does not have. ❌ rxn: CCCO[O](36) <=> CC[CH]OO(45) origin: intra_H_migration

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:39 Current: Execution time (DD:HH:MM:SS): 00:00:00:38 Reference: Memory used: 2905.14 MB Current: Memory used: 2894.54 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. ✅

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 ✅

Regression test RMS_constantVIdealGasReactor_fragment:

Reference: Execution time (DD:HH:MM:SS): 00:00:03:04 Current: Execution time (DD:HH:MM:SS): 00:00:03:08 Reference: Memory used: 3807.51 MB Current: Memory used: 3794.07 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. ✅

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 ✅

beep boop this comment was written by a bot :robot:

github-actions[bot] avatar Mar 15 '24 21:03 github-actions[bot]

Rebased onto the latest cclib CI fix in #2638

JacksonBurns avatar Mar 22 '24 19:03 JacksonBurns

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:01:05 Current: Execution time (DD:HH:MM:SS): 00:00:01:04 Reference: Memory used: 2775.14 MB Current: Memory used: 2752.61 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: C=CC1C=CC2=CC1C=C2 tested: C=CC1C=CC2=CC1C=C2

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
83.22 82.78 35.48 45.14 53.78 61.40 73.58 82.20 95.08
83.22 84.16 35.48 45.14 53.78 61.40 73.58 82.20 95.08

Identical thermo comments: 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(s3_5_6_ane) - ring(Cyclohexane) - ring(Cyclopentane) + ring(1,3-Cyclohexadiene) + ring(Cyclopentadiene)

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

liquid_oxidation Failed Core Comparison ❌

Original model has 37 species. Test model has 37 species. ✅ Original model has 215 reactions. Test model has 216 reactions. ❌ The tested model has 1 reactions that the original model does not have. ❌ rxn: CCO[O](30) <=> [OH](22) + CC=O(69) origin: intra_H_migration

liquid_oxidation Failed Edge Comparison ❌

Original model has 202 species. Test model has 202 species. ✅ Original model has 1613 reactions. Test model has 1613 reactions. ✅ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCO[O](30) <=> C[CH]OO(73) origin: intra_H_migration The tested model has 1 reactions that the original model does not have. ❌ rxn: CCO[O](30) <=> [OH](22) + CC=O(69) origin: intra_H_migration

Non-identical kinetics! ❌ original: rxn: CCCCCO[O](104) + CC(CC(C)OO)O[O](103) <=> oxygen(1) + CCCCC[O](127) + CC([O])CC(C)OO(129) origin: Peroxyl_Disproportionation tested: rxn: CCCCCO[O](104) + CC(CC(C)OO)O[O](103) <=> oxygen(1) + CCCCC[O](128) + CC([O])CC(C)OO(127) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 7.79 7.46 7.21 7.00 6.67 6.41 5.94 5.60
k(T): 3.52 4.27 4.71 5.01 5.39 5.61 5.91 6.06

kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0.053,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing Ea raised from 0.0 to 0.2 kJ/mol to match endothermicity of reaction.""") kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(4.096,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R""") kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing Ea raised from 0.0 to 0.2 kJ/mol to match endothermicity of reaction. kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R

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:21 Current: Execution time (DD:HH:MM:SS): 00:00:01:13 Reference: Memory used: 2910.90 MB Current: Memory used: 2858.85 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 132 species. Test model has 132 species. ✅ Original model has 997 reactions. Test model has 997 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)
141.64 58.66 12.26 12.27 12.09 11.96 12.26 12.72 12.15
116.46 53.90 11.62 12.71 13.49 13.96 14.14 13.85 13.58

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

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

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

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

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:02:23 Current: Execution time (DD:HH:MM:SS): 00:00:01:46 Reference: Memory used: 2780.00 MB Current: Memory used: 2741.80 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 ✅

Regression test sulfur:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:54 Current: Execution time (DD:HH:MM:SS): 00:00:00:50 Reference: Memory used: 2886.10 MB Current: Memory used: 2861.99 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:34 Current: Execution time (DD:HH:MM:SS): 00:00:00:32 Reference: Memory used: 2992.09 MB Current: Memory used: 2958.99 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:27 Current: Execution time (DD:HH:MM:SS): 00:00:02:27 Reference: Memory used: 3451.60 MB Current: Memory used: 3458.48 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:06:08 Current: Execution time (DD:HH:MM:SS): 00:00:06:15 Reference: Memory used: 3384.60 MB Current: Memory used: 3363.76 MB

RMS_CSTR_liquid_oxidation Failed Core Comparison ❌

Original model has 37 species. Test model has 37 species. ✅ Original model has 233 reactions. Test model has 232 reactions. ❌ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCO[O](34) <=> [OH](21) + CC=O(61) origin: intra_H_migration

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 206 species. Test model has 206 species. ✅ Original model has 1508 reactions. Test model has 1508 reactions. ✅ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCO[O](34) <=> [OH](21) + CC=O(61) origin: intra_H_migration The tested model has 1 reactions that the original model does not have. ❌ rxn: CCO[O](35) <=> C[CH]OO(62) origin: intra_H_migration

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:40 Current: Execution time (DD:HH:MM:SS): 00:00:00:38 Reference: Memory used: 2711.97 MB Current: Memory used: 2685.41 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. ✅

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 ✅

Regression test RMS_constantVIdealGasReactor_fragment:

Reference: Execution time (DD:HH:MM:SS): 00:00:03:06 Current: Execution time (DD:HH:MM:SS): 00:00:03:10 Reference: Memory used: 3584.70 MB Current: Memory used: 3577.63 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. ✅

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 ✅

beep boop this comment was written by a bot :robot:

github-actions[bot] avatar Mar 22 '24 21:03 github-actions[bot]

@hwpang please re-review!

JacksonBurns avatar Jun 07 '24 14:06 JacksonBurns

@mjohnson541 I'm seeing that there are many discussions above, could you summarize and list out the action items (if there are any) so that we can merge this PR?

hwpang avatar Jun 07 '24 14:06 hwpang

So I don't have any issues with the "Avoid Unnecessary Julia Operations" part of this PR. However, I think the "Optional RMS Installation" part is very premature:

  1. The "Avoid Unnecessary Julia Operations" removes nearly all annoyance users have with waiting for julia precompilation when they don't need it.

  2. In PR #2636 we showed that Julia/RMS is not the source of the issues building binaries, the issue at stake was shown to be a cython compilation issue that RMS merely catches first because it was the first thing to import from RMG.

  3. We are about to completely overhaul this system in #2640 so even if there were issues that would warrant a design change such as making RMS optional, it doesn't make sense to make that decision, let alone implement it now, based on the current RMG-RMS interface when we are about to overhaul the whole system in what we believe will be a highly positive way with #2640.

mjohnson541 avatar Jun 10 '24 02:06 mjohnson541

@mjohnson541 Regarding the third point, I think the problem is that #2640 is blocked by #2635, and #2635 is blocked by this PR according to my understanding from discussion with @JacksonBurns.

@JacksonBurns Could you elaborate on how #2635 is blocked by this PR? This will help us decide what to do. Could you also comment on Matt's second point?

hwpang avatar Jun 11 '24 19:06 hwpang

Regression Testing Results

WARNING:root:Initial mole fractions do not sum to one; normalizing. WARNING:root:Initial mole fractions do not sum to one; normalizing. WARNING:root:Initial mole fractions do not sum to one; normalizing. ⚠️ 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:01:05 Current: Execution time (DD:HH:MM:SS): 00:00:01:03 Reference: Memory used: 2763.12 MB Current: Memory used: 2749.15 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: C=CC1C=CC2=CC1C=C2 tested: C=CC1C=CC2=CC1C=C2

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
83.22 82.78 35.48 45.14 53.78 61.40 73.58 82.20 95.08
83.22 84.16 35.48 45.14 53.78 61.40 73.58 82.20 95.08

Identical thermo comments: 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(s3_5_6_ane) - ring(Cyclohexane) - ring(Cyclopentane) + ring(1,3-Cyclohexadiene) + ring(Cyclopentadiene)

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

liquid_oxidation Failed Core Comparison ❌

Original model has 37 species. Test model has 37 species. ✅ Original model has 216 reactions. Test model has 215 reactions. ❌ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCO[O](31) <=> [OH](22) + CC=O(69) origin: intra_H_migration

liquid_oxidation Failed Edge Comparison ❌

Original model has 202 species. Test model has 202 species. ✅ Original model has 1613 reactions. Test model has 1613 reactions. ✅ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCO[O](31) <=> [OH](22) + CC=O(69) origin: intra_H_migration The tested model has 1 reactions that the original model does not have. ❌ rxn: CCO[O](31) <=> C[CH]OO(73) 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:24 Current: Execution time (DD:HH:MM:SS): 00:00:01:12 Reference: Memory used: 2900.43 MB Current: Memory used: 2859.23 MB

nitrogen Failed Core Comparison ❌

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

nitrogen Failed Edge Comparison ❌

Original model has 132 species. Test model has 132 species. ✅ Original model has 995 reactions. Test model has 997 reactions. ❌ The tested model has 2 reactions that the original 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

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:02:22 Current: Execution time (DD:HH:MM:SS): 00:00:01:46 Reference: Memory used: 2760.86 MB Current: Memory used: 2751.11 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 ✅

Regression test sulfur:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:56 Current: Execution time (DD:HH:MM:SS): 00:00:00:50 Reference: Memory used: 2867.41 MB Current: Memory used: 2858.89 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:35 Current: Execution time (DD:HH:MM:SS): 00:00:00:32 Reference: Memory used: 2960.32 MB Current: Memory used: 2973.70 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:22 Current: Execution time (DD:HH:MM:SS): 00:00:02:23 Reference: Memory used: 3452.76 MB Current: Memory used: 3450.40 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:05:52 Current: Execution time (DD:HH:MM:SS): 00:00:05:53 Reference: Memory used: 3361.75 MB Current: Memory used: 3371.45 MB

RMS_CSTR_liquid_oxidation Passed Core Comparison ✅

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

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 206 species. Test model has 206 species. ✅ Original model has 1508 reactions. Test model has 1508 reactions. ✅

Non-identical kinetics! ❌ original: rxn: CCCO[O](36) + CCCC(C)O[O](33) <=> oxygen(1) + CCC[O](96) + CCCC(C)[O](61) origin: Peroxyl_Disproportionation tested: rxn: CCCO[O](36) + CCCC(C)O[O](33) <=> oxygen(1) + CCC[O](96) + CCCC(C)[O](61) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 3.69 4.39 4.82 5.10 5.45 5.66 5.94 6.08
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61

kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.866,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R""") kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""") kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing

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:40 Current: Execution time (DD:HH:MM:SS): 00:00:00:38 Reference: Memory used: 2698.60 MB Current: Memory used: 2691.41 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. ✅

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 ✅

Regression test RMS_constantVIdealGasReactor_fragment:

Reference: Execution time (DD:HH:MM:SS): 00:00:03:01 Current: Execution time (DD:HH:MM:SS): 00:00:03:02 Reference: Memory used: 3601.16 MB Current: Memory used: 3592.79 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. ✅

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 ✅

beep boop this comment was written by a bot :robot:

github-actions[bot] avatar Jun 11 '24 22:06 github-actions[bot]

Long Comment! Breaking Into Sections

Continuing Review

@hwpang I have addressed your comments and rebased - please re-review!

I am going to tack on a couple commits to the docs about the installation process.

Addressing @hwpang's Notes

@JacksonBurns Could you elaborate on how #2635 is blocked by this PR?

  • The Python version upgrade (#2635) is blocked by the conda binary fix (#2641) because we want to release conda binaries with Python 3.7 before we move to Python 3.11+ (to support older workloads, and because the version upgrade will change the performance of RMG).
  • The conda binary fix is blocked by this PR, because that fix assumes that RMG can be installed and run without RMS in order to build the conda binary.
  • Your Julia dependency overhaul (#2640) is blocked by the Python version upgrade because PythonCall does not support our version of Python, making that PR very circuitously blocked by this one.

Addressing @mjohnson541's Notes

  1. The "Avoid Unnecessary Julia Operations" removes nearly all annoyance users have with waiting for julia precompilation when they don't need it.

:+1: to this benefit - but I'd also like to mention that there are other benefits:

  • would allow developers to run pytest via Python instead of python-jl, dramatically cutting down on execution time
  • would make using RMG as a library in others software easier, since it doesn't require this additional set of dependencies
  1. In PR #2636 we showed that Julia/RMS is not the source of the issues building binaries, the issue at stake was shown to be a cython compilation issue that RMS merely catches first because it was the first thing to import from RMG.

I don't think this is a reason to not merge this PR. #2641 shows that by merging this we could get the build to work.

  1. We are about to completely overhaul this system in #2640 [...]

See my notes in the above section about why this is blocked.

JacksonBurns avatar Jun 12 '24 13:06 JacksonBurns

@JacksonBurns Thanks for the explanation! I have left some minor comments, and I am happy to merge this (so that we can get other PRs unblocked) after they are addressed.

hwpang avatar Jun 12 '24 15:06 hwpang

Regression Testing Results

WARNING:root:Initial mole fractions do not sum to one; normalizing. WARNING:root:Initial mole fractions do not sum to one; normalizing. WARNING:root:Initial mole fractions do not sum to one; normalizing. ⚠️ 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:01:05 Current: Execution time (DD:HH:MM:SS): 00:00:01:04 Reference: Memory used: 2765.54 MB Current: Memory used: 2753.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 Passed Edge Comparison ✅

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

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:08 Current: Execution time (DD:HH:MM:SS): 00:00:02:07 Reference: Memory used: 2911.88 MB Current: Memory used: 2865.91 MB

liquid_oxidation Failed Core Comparison ❌

Original model has 37 species. Test model has 37 species. ✅ Original model has 216 reactions. Test model has 215 reactions. ❌ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCO[O](30) <=> [OH](22) + CC=O(72) origin: intra_H_migration

Non-identical kinetics! ❌ original: rxn: CCCC(C)O[O](20) + CCCCCO[O](104) <=> oxygen(1) + CCCC(C)[O](61) + CCCCC[O](127) origin: Peroxyl_Disproportionation tested: rxn: CCCC(C)O[O](20) + CCCCCO[O](104) <=> oxygen(1) + CCCC(C)[O](61) + CCCCC[O](127) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 3.77 4.45 4.86 5.14 5.48 5.68 5.96 6.09
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61

kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.756,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R""") kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""") kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing

liquid_oxidation Failed Edge Comparison ❌

Original model has 202 species. Test model has 202 species. ✅ Original model has 1610 reactions. Test model has 1618 reactions. ❌ The original model has 2 reactions that the tested model does not have. ❌ rxn: CCO[O](30) <=> [OH](22) + CC=O(72) origin: intra_H_migration rxn: CCCCCO[O](104) + CCCCCO[O](104) <=> oxygen(1) + CCCCC=O(106) + CCCCCO(130) origin: Peroxyl_Termination The tested model has 10 reactions that the original model does not have. ❌ rxn: CCO[O](29) <=> C[CH]OO(73) origin: intra_H_migration rxn: [CH2]CCOO(70) + CCCCCOO(105) <=> CCCOO(36) + CC[CH]CCOO(108) origin: H_Abstraction rxn: [CH2]CCOO(70) + CCCCCOO(105) <=> CCCOO(36) + CCC[CH]COO(107) origin: H_Abstraction rxn: [CH2]CCOO(70) + CCCCCOO(105) <=> CCCOO(36) + C[CH]CCCOO(109) origin: H_Abstraction rxn: [CH2]CCOO(70) + CCCCCOO(105) <=> CCCOO(36) + CCCC[CH]OO(135) origin: H_Abstraction rxn: CCCOO(36) + [CH2]CCCCOO(110) <=> [CH2]CCOO(70) + CCCCCOO(105) origin: H_Abstraction rxn: C[CH]CCCO(157) + CCCCCO[O](104) <=> CC=CCCO(183) + CCCCCOO(105) origin: Disproportionation rxn: C[CH]CCCO(157) + CCCCCO[O](104) <=> C=CCCCO(184) + CCCCCOO(105) origin: Disproportionation rxn: C[CH]CCCO(157) + C[CH]CCCO(157) <=> CC=CCCO(183) + CCCCCO(130) origin: Disproportionation rxn: C[CH]CCCO(157) + C[CH]CCCO(157) <=> C=CCCCO(184) + CCCCCO(130) origin: Disproportionation

Non-identical kinetics! ❌ original: rxn: CCCC(C)O[O](20) + CCCCCO[O](104) <=> oxygen(1) + CCCC(C)[O](61) + CCCCC[O](127) origin: Peroxyl_Disproportionation tested: rxn: CCCC(C)O[O](20) + CCCCCO[O](104) <=> oxygen(1) + CCCC(C)[O](61) + CCCCC[O](127) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 3.77 4.45 4.86 5.14 5.48 5.68 5.96 6.09
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61

kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.756,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R""") kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""") kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing

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:23 Current: Execution time (DD:HH:MM:SS): 00:00:01:15 Reference: Memory used: 2903.45 MB Current: Memory used: 2862.33 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 132 species. Test model has 132 species. ✅ Original model has 997 reactions. Test model has 997 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:02:21 Current: Execution time (DD:HH:MM:SS): 00:00:01:47 Reference: Memory used: 2771.24 MB Current: Memory used: 2741.45 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 ✅

Regression test sulfur:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:54 Current: Execution time (DD:HH:MM:SS): 00:00:00:50 Reference: Memory used: 2872.34 MB Current: Memory used: 2853.45 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:35 Current: Execution time (DD:HH:MM:SS): 00:00:00:33 Reference: Memory used: 2953.67 MB Current: Memory used: 2971.57 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:23 Current: Execution time (DD:HH:MM:SS): 00:00:02:23 Reference: Memory used: 3450.99 MB Current: Memory used: 3433.79 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:05:54 Current: Execution time (DD:HH:MM:SS): 00:00:05:55 Reference: Memory used: 3368.83 MB Current: Memory used: 3373.24 MB

RMS_CSTR_liquid_oxidation Passed Core Comparison ✅

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

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 206 species. Test model has 206 species. ✅ Original model has 1508 reactions. Test model has 1508 reactions. ✅ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCCO[O](36) <=> CC[CH]OO(51) origin: intra_H_migration The tested model has 1 reactions that the original model does not have. ❌ rxn: CCCO[O](36) <=> [OH](21) + CCC=O(44) origin: intra_H_migration

Non-identical kinetics! ❌ original: rxn: CCCO[O](36) + CCCC(C)O[O](33) <=> oxygen(1) + CCC[O](97) + CCCC(C)[O](64) origin: Peroxyl_Disproportionation tested: rxn: CCCO[O](36) + CCCC(C)O[O](33) <=> oxygen(1) + CCC[O](92) + CCCC(C)[O](65) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 3.69 4.39 4.82 5.10 5.45 5.66 5.94 6.08
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61

kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.866,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R""") kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""") kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing

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:40 Current: Execution time (DD:HH:MM:SS): 00:00:00:39 Reference: Memory used: 2702.63 MB Current: Memory used: 2688.36 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. ✅

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 ✅

Regression test RMS_constantVIdealGasReactor_fragment:

Reference: Execution time (DD:HH:MM:SS): 00:00:03:01 Current: Execution time (DD:HH:MM:SS): 00:00:03:02 Reference: Memory used: 3592.03 MB Current: Memory used: 3585.91 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. ✅

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 ✅

beep boop this comment was written by a bot :robot:

github-actions[bot] avatar Jun 12 '24 16:06 github-actions[bot]

Regression Testing Results

WARNING:root:Initial mole fractions do not sum to one; normalizing. WARNING:root:Initial mole fractions do not sum to one; normalizing. WARNING:root:Initial mole fractions do not sum to one; normalizing. ⚠️ 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:01:05 Current: Execution time (DD:HH:MM:SS): 00:00:01:03 Reference: Memory used: 2765.54 MB Current: Memory used: 2751.70 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
164.90 80.93 22.21 28.97 35.25 40.69 48.70 53.97 64.36

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) + Estimated bicyclic component: polycyclic(s4_6_6_ane) - ring(Cyclohexane) - ring(Cyclohexane) + ring(124cyclohexatriene) + ring(124cyclohexatriene)

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

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 4.24 4.69 5.05 5.33 5.79 6.14 6.78 7.23
k(T): -3.00 -0.74 0.70 1.71 3.07 3.97 5.33 6.15

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(0,'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=(9.943,'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 38.5 to 41.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 3.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 3.0 Ea raised from 38.5 to 41.6 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): -7.44 -4.08 -2.05 -0.69 1.02 2.06 3.46 4.18

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=(18.137,'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 75.2 to 75.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 75.2 to 75.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): -7.17 -3.66 -1.56 -0.16 1.60 2.65 4.05 4.75

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=(19.262,'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]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): -30.48 -21.35 -15.79 -12.03 -7.23 -4.28 -0.16 2.03

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=(47.659,'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 195.4 to 199.4 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 195.4 to 199.4 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=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): -31.23 -21.91 -16.23 -12.40 -7.51 -4.50 -0.31 1.91

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=(48.686,'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 202.2 to 203.7 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 202.2 to 203.7 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=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): -27.24 -18.91 -13.84 -10.40 -6.02 -3.30 0.48 2.51

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=(43.208,'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 180.2 to 180.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 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 180.2 to 180.8 kJ/mol to match endothermicity of reaction.

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): -11.95 -7.61 -5.01 -3.27 -1.10 0.20 1.93 2.80

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=(23.821,'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) <=> 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): -12.28 -7.86 -5.21 -3.44 -1.23 0.10 1.87 2.75

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=(24.273,'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]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): -30.44 -21.32 -15.76 -12.01 -7.22 -4.26 -0.16 2.03

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=(47.606,'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 195.1 to 199.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 195.1 to 199.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): -32.11 -22.57 -16.76 -12.84 -7.84 -4.76 -0.49 1.78

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=(49.895,'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 205.2 to 208.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 205.2 to 208.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=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): -33.97 -23.97 -17.88 -13.77 -8.54 -5.32 -0.86 1.50

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=(52.457,'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 214.4 to 219.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 214.4 to 219.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): -30.48 -21.35 -15.79 -12.03 -7.23 -4.28 -0.16 2.03

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=(47.659,'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 195.4 to 199.4 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 195.4 to 199.4 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): -19.49 -12.98 -9.00 -6.29 -2.81 -0.64 2.42 4.08

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=(33.226,'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 133.4 to 139.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 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 133.4 to 139.0 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:02:08 Current: Execution time (DD:HH:MM:SS): 00:00:02:04 Reference: Memory used: 2911.88 MB Current: Memory used: 2860.38 MB

liquid_oxidation Passed Core Comparison ✅

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

liquid_oxidation Passed Edge Comparison ✅

Original model has 202 species. Test model has 202 species. ✅ Original model has 1610 reactions. Test model has 1610 reactions. ✅

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:23 Current: Execution time (DD:HH:MM:SS): 00:00:01:13 Reference: Memory used: 2903.45 MB Current: Memory used: 2881.54 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 132 species. Test model has 132 species. ✅ Original model has 997 reactions. Test model has 997 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:02:21 Current: Execution time (DD:HH:MM:SS): 00:00:01:46 Reference: Memory used: 2771.24 MB Current: Memory used: 2743.99 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 ✅

Regression test sulfur:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:54 Current: Execution time (DD:HH:MM:SS): 00:00:00:49 Reference: Memory used: 2872.34 MB Current: Memory used: 2859.96 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:35 Current: Execution time (DD:HH:MM:SS): 00:00:00:33 Reference: Memory used: 2953.67 MB Current: Memory used: 2969.24 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:23 Current: Execution time (DD:HH:MM:SS): 00:00:02:24 Reference: Memory used: 3450.99 MB Current: Memory used: 3443.20 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:05:54 Current: Execution time (DD:HH:MM:SS): 00:00:05:59 Reference: Memory used: 3368.83 MB Current: Memory used: 3360.90 MB

RMS_CSTR_liquid_oxidation Failed Core Comparison ❌

Original model has 37 species. Test model has 37 species. ✅ Original model has 233 reactions. Test model has 232 reactions. ❌ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCO[O](35) <=> [OH](21) + CC=O(61) origin: intra_H_migration

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 206 species. Test model has 206 species. ✅ Original model has 1508 reactions. Test model has 1508 reactions. ✅ The original model has 2 reactions that the tested model does not have. ❌ rxn: CCO[O](35) <=> [OH](21) + CC=O(61) origin: intra_H_migration rxn: CCCO[O](36) <=> CC[CH]OO(51) origin: intra_H_migration The tested model has 2 reactions that the original model does not have. ❌ rxn: CCCO[O](36) <=> [OH](22) + CCC=O(44) origin: intra_H_migration rxn: CCO[O](34) <=> C[CH]OO(63) origin: intra_H_migration

Non-identical kinetics! ❌ original: rxn: CCCO[O](36) + CCCC(C)O[O](33) <=> oxygen(1) + CCC[O](97) + CCCC(C)[O](64) origin: Peroxyl_Disproportionation tested: rxn: CCCO[O](36) + CCCC(C)O[O](33) <=> oxygen(1) + CCC[O](94) + CCCC(C)[O](62) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 3.69 4.39 4.82 5.10 5.45 5.66 5.94 6.08
k(T): 7.83 7.49 7.23 7.02 6.68 6.42 5.95 5.61

kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(3.866,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R""") kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(0,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing""") kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing

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:40 Current: Execution time (DD:HH:MM:SS): 00:00:00:38 Reference: Memory used: 2702.63 MB Current: Memory used: 2686.80 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. ✅

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 ✅

Regression test RMS_constantVIdealGasReactor_fragment:

Reference: Execution time (DD:HH:MM:SS): 00:00:03:01 Current: Execution time (DD:HH:MM:SS): 00:00:03:03 Reference: Memory used: 3592.03 MB Current: Memory used: 3588.15 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. ✅

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 ✅

beep boop this comment was written by a bot :robot:

github-actions[bot] avatar Jun 12 '24 20:06 github-actions[bot]

@mjohnson541 My bad, sorry, I thought Jackson has replied and resolved your concerns, so I set it to automerge after seeing that he addressed my change requests. Thanks for disabling the automerge.

hwpang avatar Jun 13 '24 14:06 hwpang

What else should we discuss?

JacksonBurns avatar Jun 13 '24 18:06 JacksonBurns

Regression Testing Results

WARNING:root:Initial mole fractions do not sum to one; normalizing. WARNING:root:Initial mole fractions do not sum to one; normalizing. WARNING:root:Initial mole fractions do not sum to one; normalizing. ⚠️ 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:01:10 Current: Execution time (DD:HH:MM:SS): 00:00:01:04 Reference: Memory used: 2778.28 MB Current: Memory used: 2751.15 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)
164.90 80.93 22.21 28.97 35.25 40.69 48.70 53.97 64.36
129.39 79.85 22.98 30.09 36.61 42.21 50.22 55.39 65.95

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(124cyclohexatriene) thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)(Cds-Cds)(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)(Cds-Cds)) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)H) + group(Cds-CdsCsH) + group(Cdd-CdsCds) + Estimated bicyclic component: polycyclic(s4_6_6_ane) - ring(Cyclohexane) - ring(Cyclohexane) + ring(124cyclohexatriene) + ring(1,4-Cyclohexadiene)

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

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -3.00 -0.74 0.70 1.71 3.07 3.97 5.33 6.15
k(T): 4.24 4.69 5.05 5.33 5.79 6.14 6.78 7.23

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(9.943,'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 38.5 to 41.6 kJ/mol to match endothermicity of reaction.""") kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(0,'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: 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 38.5 to 41.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 3.0

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): -7.44 -4.08 -2.05 -0.69 1.02 2.06 3.46 4.18
k(T): 5.77 5.83 5.88 5.92 5.97 6.02 6.10 6.16

kinetics: Arrhenius(A=(4.06926e+10,'cm^3/(mol*s)'), n=0.47, Ea=(18.137,'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 75.2 to 75.9 kJ/mol to match endothermicity of reaction.""") 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: Estimated from node Root_Ext-1R!H-R_N-4R->O Multiplied by reaction path degeneracy 3.0 Ea raised from 75.2 to 75.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

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): -7.17 -3.66 -1.56 -0.16 1.60 2.65 4.05 4.75
k(T): 4.06 4.76 5.18 5.46 5.81 6.02 6.30 6.44

kinetics: Arrhenius(A=(7.23e+12,'cm^3/(mol*s)'), n=0, Ea=(19.262,'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=(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""") 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]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): -30.48 -21.35 -15.79 -12.03 -7.23 -4.28 -0.16 2.03
k(T): -4.55 -1.90 -0.23 0.94 2.49 3.50 5.02 5.92

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(47.659,'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 195.4 to 199.4 kJ/mol to match endothermicity of reaction.""") 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: 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 195.4 to 199.4 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.

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): -31.23 -21.91 -16.23 -12.40 -7.51 -4.50 -0.31 1.91
k(T): -5.30 -2.46 -0.68 0.57 2.21 3.28 4.87 5.80

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(48.686,'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 202.2 to 203.7 kJ/mol to match endothermicity of reaction.""") 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: 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 202.2 to 203.7 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.

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): -27.24 -18.91 -13.84 -10.40 -6.02 -3.30 0.48 2.51
k(T): -1.38 0.48 1.67 2.52 3.68 4.45 5.66 6.39

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(43.208,'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 180.2 to 180.8 kJ/mol to match endothermicity of reaction.""") 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: 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 180.2 to 180.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

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): -11.95 -7.61 -5.01 -3.27 -1.10 0.20 1.93 2.80
k(T): -0.49 0.99 1.87 2.46 3.19 3.64 4.23 4.52

kinetics: Arrhenius(A=(2.529e+11,'cm^3/(mol*s)'), n=0, Ea=(23.821,'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=(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""") 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) <=> 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): -12.28 -7.86 -5.21 -3.44 -1.23 0.10 1.87 2.75
k(T): -0.66 0.85 1.76 2.37 3.13 3.58 4.19 4.49

kinetics: Arrhenius(A=(2.529e+11,'cm^3/(mol*s)'), n=0, Ea=(24.273,'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=(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""") 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]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): -30.44 -21.32 -15.76 -12.01 -7.22 -4.26 -0.16 2.03
k(T): -4.51 -1.87 -0.20 0.96 2.51 3.52 5.03 5.92

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(47.606,'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 195.1 to 199.2 kJ/mol to match endothermicity of reaction.""") 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: 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 195.1 to 199.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.

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): -32.11 -22.57 -16.76 -12.84 -7.84 -4.76 -0.49 1.78
k(T): -6.18 -3.12 -1.20 0.13 1.88 3.01 4.70 5.67

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(49.895,'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 205.2 to 208.8 kJ/mol to match endothermicity of reaction.""") 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: 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 205.2 to 208.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.

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): -33.97 -23.97 -17.88 -13.77 -8.54 -5.32 -0.86 1.50
k(T): -8.04 -4.52 -2.32 -0.81 1.18 2.46 4.32 5.39

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(52.457,'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 214.4 to 219.5 kJ/mol to match endothermicity of reaction.""") 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: 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 214.4 to 219.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.

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): -30.48 -21.35 -15.79 -12.03 -7.23 -4.28 -0.16 2.03
k(T): -4.55 -1.90 -0.23 0.94 2.49 3.50 5.02 5.92

kinetics: Arrhenius(A=(17.1699,'cm^3/(mol*s)'), n=3.635, Ea=(47.659,'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 195.4 to 199.4 kJ/mol to match endothermicity of reaction.""") 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: 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 195.4 to 199.4 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.

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): -19.49 -12.98 -9.00 -6.29 -2.81 -0.64 2.42 4.08
k(T): 3.96 4.60 5.07 5.43 5.98 6.39 7.11 7.60

kinetics: Arrhenius(A=(51.5097,'cm^3/(mol*s)'), n=3.635, Ea=(33.226,'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 133.4 to 139.0 kJ/mol to match endothermicity of reaction.""") 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: 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 133.4 to 139.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 9.0

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

liquid_oxidation Passed Core Comparison ✅

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

liquid_oxidation Passed Edge Comparison ✅

Original model has 202 species. Test model has 202 species. ✅ Original model has 1610 reactions. Test model has 1610 reactions. ✅

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:27 Current: Execution time (DD:HH:MM:SS): 00:00:01:11 Reference: Memory used: 2907.66 MB Current: Memory used: 2865.61 MB

nitrogen Failed Core Comparison ❌

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

nitrogen Failed Edge Comparison ❌

Original model has 132 species. Test model has 132 species. ✅ Original model has 995 reactions. Test model has 997 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) The tested model has 2 reactions that the original 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

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""") 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""") Identical kinetics comments: kinetics: Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H

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:02:31 Current: Execution time (DD:HH:MM:SS): 00:00:01:47 Reference: Memory used: 2779.39 MB Current: Memory used: 2740.63 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 ✅

Regression test sulfur:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:58 Current: Execution time (DD:HH:MM:SS): 00:00:00:49 Reference: Memory used: 2878.29 MB Current: Memory used: 2861.59 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

The following observables did not match:

❌ Observable species O=S=O varied by more than 0.100 on average between old model SO2(15) and new model SO2(15) in condition 1.

⚠️ The following reaction conditions had some discrepancies: Condition 1: Reactor Type: IdealGasReactor Reaction Time: 0.01 s T0: 900 K P0: 30 bar Initial Mole Fractions: {'S': 0.000756, '[O][O]': 0.00129, 'N#N': 0.997954}

sulfur Failed Observable Testing ❌

Regression test superminimal:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:41 Current: Execution time (DD:HH:MM:SS): 00:00:00:33 Reference: Memory used: 2998.19 MB Current: Memory used: 2974.85 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:24 Current: Execution time (DD:HH:MM:SS): 00:00:02:20 Reference: Memory used: 3461.57 MB Current: Memory used: 3441.21 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:05:58 Current: Execution time (DD:HH:MM:SS): 00:00:05:53 Reference: Memory used: 3386.19 MB Current: Memory used: 3379.04 MB

RMS_CSTR_liquid_oxidation Failed Core Comparison ❌

Original model has 37 species. Test model has 37 species. ✅ Original model has 233 reactions. Test model has 232 reactions. ❌ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCO[O](34) <=> [OH](22) + CC=O(61) origin: intra_H_migration

RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 206 species. Test model has 206 species. ✅ Original model has 1508 reactions. Test model has 1508 reactions. ✅ The original model has 1 reactions that the tested model does not have. ❌ rxn: CCO[O](34) <=> [OH](22) + CC=O(61) origin: intra_H_migration The tested model has 1 reactions that the original model does not have. ❌ rxn: CCO[O](35) <=> C[CH]OO(62) origin: intra_H_migration

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:44 Current: Execution time (DD:HH:MM:SS): 00:00:00:39 Reference: Memory used: 2709.76 MB Current: Memory used: 2687.75 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. ✅

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 ✅

Regression test RMS_constantVIdealGasReactor_fragment:

Reference: Execution time (DD:HH:MM:SS): 00:00:03:07 Current: Execution time (DD:HH:MM:SS): 00:00:03:03 Reference: Memory used: 3586.79 MB Current: Memory used: 3587.61 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. ✅

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 ✅

beep boop this comment was written by a bot :robot:

github-actions[bot] avatar Jun 18 '24 16:06 github-actions[bot]

This pull request is being automatically marked as stale because it has not received any interaction in the last 90 days. Please leave a comment if this is still a relevant pull request, otherwise it will automatically be closed in 30 days.

github-actions[bot] avatar Sep 17 '24 08:09 github-actions[bot]

Ongoing

JacksonBurns avatar Sep 17 '24 12:09 JacksonBurns

Porting to #2694

JacksonBurns avatar Nov 20 '24 17:11 JacksonBurns