Skip to content

Fix uncertainty-analysis crashes on surface and radical species - #3023

Draft
sakim8048 wants to merge 4 commits into
ReactionMechanismGenerator:mainfrom
sakim8048:RMG-Pynta
Draft

sakim8048 wants to merge 4 commits into
ReactionMechanismGenerator:mainfrom
sakim8048:RMG-Pynta

Conversation

@sakim8048

Copy link
Copy Markdown

Motivation or Problem

Running RMG's uncertainty tools (rmgpy/tools/uncertainty.py, plus the thermo-source parsing in rmgpy/data/thermo.py) on surface-catalysis models from an automated RMG–Pynta workflow (C2H2 hydrogenation on Pd(111)) crashed due to four indicated problems below. Each one stops source extraction or uncertainty assignment for the whole model:

  1. Method only valid for radicals. A species can be an overall radical while one of its other resonance structures is not (e.g. a singlet carbene). The HBI loop in ThermoDatabase only checked molecule.reactive, so it called estimate_radical_thermo_via_hbi on the non-radical structure. Seen on NC=[C].
  2. thermo appears to not be estimated using any methods. For exotic valences with no matching group node (e.g. N5dc), the group-additivity comment is only RMG's own missing(...) placeholder. extract_source_from_comments didn't recognize those tokens and dropped them, leaving no source. Seen on H2N2 / [N-]=[NH2+].
  3. Could not retrieve saturated species form of [C]C#C. To estimate an adsorbate's thermo, RMG removes the surface sites (a bookkeeping species, not a physical desorption product), estimates that radical's gas-phase thermo by HBI (saturating its radical sites with H and looking up the closed-shell molecule), and then adds an adsorption correction. HBI uses whichever resonance structure's saturated form has library data. For HC≡C–C≡X the bookkeeping radical is H–C≡C–C̈• ([C]C#C), which saturates to the carbene H–C≡C–C̈H (not in the model). Its other resonance structure, H–Ċ=C=C̈, saturates to H₂C=C=C̈, and that is the species the thermo actually came from. Uncertainty.retrieve_saturated_species_from_list only tried the first resonance structure, so it couldn't find the source species and raised.
  4. IndexError while parsing an adsorbate's thermo comment. write_thermo_entry wraps comments at 150 characters with textwrap, which also breaks lines after hyphens inside group names (e.g. adsorptionPt111(C-XRC-\nXR)). On re-reading, extract_source_from_comments turned that newline into a space, split the group label, and failed to find the group.

Description of Changes

  • rmgpy/data/thermo.py, HBI loop: skip resonance structures with get_radical_count() == 0, alongside the existing reactive filter.
  • rmgpy/data/thermo.py, extract_source_from_comments:
    • missing(...) tokens become a bare-label Entry standing in for the missing group. This is safe because the uncorrelated ThermoParameterUncertainty.get_uncertainty_value() path only reads each group tuple's weight, never the entry.
    • Before tokenizing, rejoin a hyphen followed by a line break (a real newline or a literal \n), so wrapped group names parse as one label.
  • rmgpy/tools/uncertainty.py, retrieve_saturated_species_from_list: build the saturated form of every radical resonance structure. Search the model for all of them first, then the thermo libraries, instead of only trying the first structure.

Testing

  • New test test_retrieve_saturated_species_from_other_resonance_structure in test/rmgpy/tools/uncertaintyTest.py: the radical's first resonance structure is the carbene-type [C]C#C, and its saturated species in the model is singlet H2C=C=C:. It fails before the change and passes after it. uncertaintyTest.py: 6 passed.
  • New case in test_parse_thermo_comments (test/rmgpy/data/thermoTest.py): a comment wrapped as adsorptionPt111(C-\nXR3) must give the group label C-XR3. thermoTest.py: 63 passed, 4 skipped.
  • Changes 1 and 2 have no unit tests yet. They were checked by re-running the uncertainty/sensitivity step on the real models where they had crashed (NC=[C], H2N2).
  • All four fixes were confirmed by re-running the failing workflow rounds end to end.
  • I have not run the full RMG-Py test suite

Notes

  • These fixes came out of the RMG–Pynta workflow, but none of them is specific to it: each one fixes a crash in the general uncertainty/thermo-source code paths.
  • Each commit fixes one crash and can be reviewed on its own.
  • Opened as a draft for feedback. I'm happy to add unit tests for changes 1 and 2, or split the PR, if that would help.

Reviewer tips

  • Before merging to the main, I think it will be helpful if I could create a designated branch for further testings and modifications
  • However, if this changes are reviewed and considered to be useful to the main branch, please leave me a comment to move forward.

@rwest
rwest requested a review from sevyharris October 30, 2026 02:04
sakim8048 and others added 4 commits October 29, 2026 22:05
…hbi loop

A species can be an overall radical while one of its other resonance
structures is a non-radical valence tautomer (e.g. a singlet carbene).
The per-resonance-structure loop only checked molecule.reactive, so it
still called estimate_radical_thermo_via_hbi on the non-radical
structure and crashed with "Method only valid for radicals." Add a
molecule.get_radical_count() > 0 check alongside the existing
reactive-only filtering.

Found via rmg-pynta's sensitivity/uncertainty selection driver hitting
this on a real round-0 core (species NC=[C]).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
extract_source_from_comments raised "thermo appears to not be
estimated using any methods" for species whose group-additivity
comment is entirely RMG's own "missing(...)" placeholder (emitted
when no matching group node exists for an exotic valence, e.g.
N5dc). The token-matching loop only recognized real groupType
prefixes, so these tokens were silently dropped, leaving no
recognized source. Give them a bare-label Entry standing in for a
missing groupType instead -- safe here since the uncorrelated
ThermoParameterUncertainty.get_uncertainty_value() path only reads
each group tuple's weight, never the entry.

Confirmed against rmg-pynta round 1 edge species H2N2(81) /
[N-]=[NH2+](81).

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
Thermo estimation saturates whichever resonance structure has library data.
The desorbed form of HC#C-C#X is [C]C#C with a radical and a lone pair on
the bare carbon, which saturates to the carbene [CH]C#C, while its thermo
came from the C=C=[CH] structure. The uncertainty tool only tried the first
structure and raised "Could not retrieve saturated species form of [C]C#C".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
write_thermo_entry wraps comments at 150 characters with textwrap, which
also breaks after hyphens in group names (adsorptionPt111(C-XRC-\nXR)).
extract_source_from_comments turned that newline into a space and failed
to find the group.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@github-actions

Copy link
Copy Markdown

Regression Testing Results

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

Detailed regression test results.

Regression test aromatics:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:55
Current: Execution time (DD:HH:MM:SS): 00:00:00:54
Reference: Memory used: 815.00 MB
Current: Memory used: 814.63 MB

aromatics Passed Core Comparison ✅

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

aromatics Failed Edge Comparison ❌

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

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

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

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

Non-identical thermo! ❌
original: [CH]1C2C=CC3=CC2C13
tested: [CH]1C2C=CC3=CC2C13

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
200.28 76.10 25.91 33.35 40.28 46.48 56.24 62.60 71.29
144.26 70.81 25.26 32.45 39.06 44.87 53.78 59.67 69.60

thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-CsCsHH) + group(Cds- Cds(Cds-Cds)Cs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + polycyclic(s2_4_4_ene_1) + polycyclic(s3_4_6_ene_1) + polycyclic(s3_4_6_diene_1_5) - ring(Cyclobutane) - ring(Cyclobutene) - ring(Cyclohexene) + radical(cyclobutane)
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-CsCsHH) + group(Cds- Cds(Cds-Cds)Cs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + polycyclic(s2_4_4_ene_1) + polycyclic(s3_4_6_ene_1) + Estimated bicyclic component: polycyclic(s2_4_6_ane) - ring(Cyclohexane) - ring(Cyclobutane) + ring(Cyclohexene) + ring(Cyclobutene) - ring(Cyclobutane) - ring(Cyclobutene) - ring(Cyclohexene) + radical(cyclobutane)

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

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

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

Non-identical kinetics! ❌
original:
rxn: C1=CC2C=C[C]1C=C2(49) <=> [CH]1C2C=CC3=CC2C13(80) origin: Intra_R_Add_Endocyclic
tested:
rxn: C1=CC2C=C[C]1C=C2(49) <=> [CH]1C2C=CC3=CC2C13(80) origin: Intra_R_Add_Endocyclic

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): -59.93 -40.64 -29.08 -21.38 -11.79 -6.05 1.56 5.34
k(T): -25.05 -14.47 -8.15 -3.94 1.29 4.42 8.54 10.57

kinetics: Arrhenius(A=(6.50724e+19,'s^-1'), n=-0.859, Ea=(106.547,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone1_2R!H-inRing_1R!H-inRing in family Intra_R_Add_Endocyclic. Multiplied by reaction path degeneracy 6.0""")
kinetics: Arrhenius(A=(6.50724e+19,'s^-1'), n=-0.859, Ea=(58.664,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone1_2R!H-inRing_1R!H-inRing in family Intra_R_Add_Endocyclic. Multiplied by reaction path degeneracy 6.0""")
Identical kinetics comments:
kinetics: Estimated from node Backbone1_2R!H-inRing_1R!H-inRing in family Intra_R_Add_Endocyclic.
Multiplied by reaction path degeneracy 6.0

Errors occurred during edge comparison ⚠️ ERROR conda.cli.main_run:execute(149): `conda run python scripts/checkModels.py aromatics-edge stable_regression_results/aromatics/chemkin/chem_edge_annotated.inp stable_regression_results/aromatics/chemkin/species_edge_dictionary.txt test/regression/aromatics/chemkin/chem_edge_annotated.inp test/regression/aromatics/chemkin/species_edge_dictionary.txt` failed. (See above for error)
✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions! aromatics Passed Observable Testing ✅

Regression test liquid_oxidation:

Reference: Execution time (DD:HH:MM:SS): 00:00:01:48
Current: Execution time (DD:HH:MM:SS): 00:00:01:55
Reference: Memory used: 893.77 MB
Current: Memory used: 897.31 MB

liquid_oxidation Passed Core Comparison ✅

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

liquid_oxidation Failed Edge Comparison ❌

Original model has 214 species.
Test model has 214 species. ✅
Original model has 1588 reactions.
Test model has 1591 reactions. ❌
The original model has 4 reactions that the tested model does not have. ❌
rxn: C[CH]CC(C)OO(33) <=> CCC[C](C)OO(78) origin: intra_H_migration
rxn: CCCC[CH]OO(96) <=> C[CH]CCCOO(60) origin: intra_H_migration
rxn: CC(C[CH]COO)OO(118) <=> CC(CC[CH]OO)OO(133) origin: intra_H_migration
rxn: CC(C[CH]COO)OO(118) <=> C[C](CCCOO)OO(132) origin: intra_H_migration
The tested model has 7 reactions that the original model does not have. ❌
rxn: C[CH]CC(C)OO(31) <=> [OH](22) + CCCC(C)=O(28) origin: intra_H_migration
rxn: C[CH]CCCOO(63) <=> [OH](22) + CCCCC=O(60) origin: intra_H_migration
rxn: CC(C[CH]COO)OO(115) <=> [OH](22) + CC(CCC=O)OO(116) origin: intra_H_migration
rxn: CC(C[CH]COO)OO(115) <=> [OH](22) + CC(=O)CCCOO(112) origin: intra_H_migration
rxn: CC(CC(C)OO)O[O](90) + CC(CCCOO)O[O](108) <=> oxygen(1) + CC([O])CC(C)OO(110) + CC([O])CCCOO(122) origin: Peroxyl_Disproportionation
rxn: CC(CC(C)OO)O[O](90) + CC(CCCOO)O[O](108) <=> oxygen(1) + CC(=O)CC(C)OO(95) + CC(O)CCCOO(152) origin: Peroxyl_Termination
rxn: CC(CC(C)OO)O[O](90) + CC(CCCOO)O[O](108) <=> oxygen(1) + CC(=O)CCCOO(112) + CC(O)CC(C)OO(143) origin: Peroxyl_Termination

Non-identical kinetics! ❌
original:
rxn: CCC(CC)O[O](36) + CCCCCO[O](35) <=> oxygen(1) + CCC([O])CC(69) + CCCCC[O](67) origin: Peroxyl_Disproportionation
tested:
rxn: CCC(CC)O[O](36) + CCCCCO[O](37) <=> oxygen(1) + CCC([O])CC(67) + CCCCC[O](69) origin: Peroxyl_Disproportionation

k(1bar) 300K 400K 500K 600K 800K 1000K 1500K 2000K
k(T): 8.02 7.64 7.35 7.11 6.75 6.48 5.99 5.64
k(T): 3.54 4.28 4.73 5.02 5.39 5.62 5.91 6.06

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

Errors occurred during edge comparison ⚠️ ERROR conda.cli.main_run:execute(149): `conda run python scripts/checkModels.py liquid_oxidation-edge stable_regression_results/liquid_oxidation/chemkin/chem_edge_annotated.inp stable_regression_results/liquid_oxidation/chemkin/species_edge_dictionary.txt test/regression/liquid_oxidation/chemkin/chem_edge_annotated.inp test/regression/liquid_oxidation/chemkin/species_edge_dictionary.txt` failed. (See above for error)
✅ 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:00:55
Current: Execution time (DD:HH:MM:SS): 00:00:01:02
Reference: Memory used: 898.19 MB
Current: Memory used: 898.83 MB

nitrogen Passed Core Comparison ✅

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

nitrogen Failed Edge Comparison ❌

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

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

Hf(300K) S(300K) Cp(300K) Cp(400K) Cp(500K) Cp(600K) Cp(800K) Cp(1000K) Cp(1500K)
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 in family Intra_R_Add_Endocyclic.""")
kinetics: Arrhenius(A=(6.95187e+18,'s^-1'), n=-1.628, Ea=(88.327,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.""")
Identical kinetics comments:
kinetics: Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.

Errors occurred during edge comparison ⚠️ ERROR conda.cli.main_run:execute(149): `conda run python scripts/checkModels.py nitrogen-edge stable_regression_results/nitrogen/chemkin/chem_edge_annotated.inp stable_regression_results/nitrogen/chemkin/species_edge_dictionary.txt test/regression/nitrogen/chemkin/chem_edge_annotated.inp test/regression/nitrogen/chemkin/species_edge_dictionary.txt` failed. (See above for error)
✅ All Observables varied by less than 0.200 on average between old model and new model in all conditions! nitrogen Passed Observable Testing ✅

Regression test oxidation:

Reference: Execution time (DD:HH:MM:SS): 00:00:01:30
Current: Execution time (DD:HH:MM:SS): 00:00:01:38
Reference: Memory used: 782.48 MB
Current: Memory used: 782.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 1524 reactions.
Test model has 1524 reactions. ✅

✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions! oxidation Passed Observable Testing ✅
Errors occurred during observable testing ⚠️ WARNING: Initial mole fractions do not sum to one; normalizing.

Regression test sulfur:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:37
Current: Execution time (DD:HH:MM:SS): 00:00:00:39
Reference: Memory used: 894.82 MB
Current: Memory used: 894.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

Errors occurred during edge comparison ⚠️ ERROR conda.cli.main_run:execute(149): `conda run python scripts/checkModels.py sulfur-edge stable_regression_results/sulfur/chemkin/chem_edge_annotated.inp stable_regression_results/sulfur/chemkin/species_edge_dictionary.txt test/regression/sulfur/chemkin/chem_edge_annotated.inp test/regression/sulfur/chemkin/species_edge_dictionary.txt` failed. (See above for error)
✅ 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:23
Current: Execution time (DD:HH:MM:SS): 00:00:00:25
Reference: Memory used: 933.81 MB
Current: Memory used: 921.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:21
Current: Execution time (DD:HH:MM:SS): 00:00:03:06
Reference: Memory used: 2479.26 MB
Current: Memory used: 2569.99 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. ✅

✅ 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:31:12
Current: Execution time (DD:HH:MM:SS): 00:00:13:00
Reference: Memory used: 3750.37 MB
Current: Memory used: 2959.51 MB

RMS_CSTR_liquid_oxidation Failed Core Comparison ❌

Original model has 35 species.
Test model has 35 species. ✅
Original model has 142 reactions.
Test model has 135 reactions. ❌
The original model has 7 species that the tested model does not have. ❌
spc: CCCC(C)O(47)
spc: CCCCCO
spc: CC=O(87)
spc: CCCC=O(88)
spc: [CH2]CCC(C)O(93)
spc: CC=CC(C)OO(97)
spc: CC(CC(C)OO)OO
The tested model has 7 species that the original model does not have. ❌
spc: CCH2
spc: C=CC(18)
spc: CC[CH]C(C)OO(35)
spc: [CH2]C(CCC)OO(36)
spc: [CH2]CCC(C)OO(38)
spc: CC[CH]CCOO(64)
spc: [CH2]CCCCOO(66)
The original model has 45 reactions that the tested model does not have. ❌
rxn: [O]O(13) + [CH2]CCCC(12) <=> CCCCCOO(78) origin: R_Recombination
rxn: [OH](24) + [OH](24) <=> OO(23) origin: R_Recombination
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + CCCCCO[O](61) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [O]O(13) + [CH2]CCCC(12) <=> OO(23) + C=CCCC(17) origin: Disproportionation
rxn: CC=O(87) + [CH2]CC(5) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: [OH](24) + CCCC(C)OO(26) <=> H2O(42) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> H2O(42) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: CCCC(C)OO(26) + CCCCCOO(78) <=> H2O(42) + CCCC(C)[O](44) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(26) <=> [OH](24) + H2O(42) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(26) <=> [O]O(13) + H2O(42) + CCCC(C)[O](44) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCC(CC)OO(27) <=> H2O(42) + CCC(CC)O[O](22) origin: H_Abstraction
rxn: OO(23) + CCC(CC)OO(27) <=> [OH](24) + H2O(42) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CCCCCO[O](61) origin: H_Abstraction
rxn: OO(23) + CCCCCOO(78) <=> [OH](24) + H2O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + OO(23) <=> [OH](24) + [O]O(13) + H2O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)[O](44) <=> [CH2]CCC(C)O(93) origin: intra_H_migration
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> CC(CC(C)OO)O[O](100) origin: R_Recombination
rxn: [CH3](10) + CCCC=O(88) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + CC=CC(C)OO(97) origin: Disproportionation
rxn: CCCC(C)[O](44) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(47) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(27) <=> H2O(42) + [CH2]CC(CC)OO(32) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> [CH2]CC(CC)OO(32) + CCCC(C)O(47) origin: H_Abstraction
rxn: [O]O(13) + C[CH]CCCOO(75) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + C[CH]CCCOO(75) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(75) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + C[CH]CCCOO(75) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]CCCOO(75) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CCCOO(75) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> C[CH]CCCOO(75) + CCCC(C)O(47) origin: H_Abstraction
rxn: [OH](24) + CCCCC[O](79) <=> CCCCCOO(78) origin: R_Recombination
rxn: CCCC(C)OO(26) + CCCCCOO(78) <=> H2O(42) + CCCCC[O](79) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(27) + CCCCCOO(78) <=> H2O(42) + CCCCC[O](79) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCCCOO(78) <=> H2O(42) + CCCCC[O](79) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCCCOO(78) <=> [O]O(13) + H2O(42) + CCCCC[O](79) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(27) + CCCCCOO(78) <=> H2O(42) + CCC([O])CC(41) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OO(27) <=> [O]O(13) + H2O(42) + CCC([O])CC(41) origin: Bimolec_Hydroperoxide_Decomposition
The tested model has 38 reactions that the original model does not have. ❌
rxn: CC[CH]C(C)OO(35) <=> CCCC(C)O[O](20) origin: intra_H_migration
rxn: [O]O(13) + CC[CH]C(C)OO(35) <=> oxygen(1) + CCCC(C)OO(24) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)OO(24) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)OO(24) origin: H_Abstraction
rxn: OO(23) + CC[CH]C(C)OO(35) <=> [O]O(13) + CCCC(C)OO(24) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCC(CC)OO(25) <=> CCC(CC)O[O](21) + CCCC(C)OO(24) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCC(C)OO(24) <=> CC[CH]C(C)OO(35) + pentane(2) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CC[CH]C(C)OO(35) <=> C=CCCC(17) + CCCC(C)OO(24) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]C(C)OO(35) <=> C=CCCC(17) + CCCC(C)OO(24) origin: Disproportionation
rxn: CCCCCO[O](61) <=> [CH2]CCCCOO(66) origin: intra_H_migration
rxn: C[CH2](6) + [CH2]CC(5) <=> pentane(2) origin: R_Recombination
rxn: CC[CH]CCOO(64) <=> CCCCCO[O](61) origin: intra_H_migration
rxn: C[CH]CCC(11) <=> C[CH2](6) + C=CC(18) origin: R_Addition_MultipleBond
rxn: CCCC(C)O[O](20) <=> [CH2]C(CCC)OO(36) origin: intra_H_migration
rxn: [O]O(13) + [CH2]C(CCC)OO(36) <=> oxygen(1) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)OO(24) origin: H_Abstraction
rxn: OO(23) + [CH2]C(CCC)OO(36) <=> [O]O(13) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + CCC(CC)OO(25) <=> CCC(CC)O[O](21) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [O]O(13) + C=CCCC(17) <=> [CH2]C(CCC)OO(36) origin: R_Addition_MultipleBond
rxn: [CH2]C(CCC)OO(36) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCCC(12) + [CH2]C(CCC)OO(36) <=> C=CCCC(17) + CCCC(C)OO(24) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]C(CCC)OO(36) <=> C=CCCC(17) + CCCC(C)OO(24) origin: Disproportionation
rxn: [CH2]CCC(C)OO(38) <=> CCCC(C)O[O](20) origin: intra_H_migration
rxn: [O]O(13) + [CH2]CCC(C)OO(38) <=> oxygen(1) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(38) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(38) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)OO(24) origin: H_Abstraction
rxn: OO(23) + [CH2]CCC(C)OO(38) <=> [O]O(13) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(38) + CCC(CC)OO(25) <=> CCC(CC)O[O](21) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(38) + CCCC(C)OO(24) <=> CCCC(C)O[O](20) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(38) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(38) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)OO(24) origin: H_Abstraction
rxn: [CH2]CCCC(12) + [CH2]CCC(C)OO(38) <=> C=CCCC(17) + CCCC(C)OO(24) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCC(C)OO(38) <=> C=CCCC(17) + CCCC(C)OO(24) origin: Disproportionation

Errors occurred during core comparison ⚠️ ERROR conda.cli.main_run:execute(149): `conda run python scripts/checkModels.py RMS_CSTR_liquid_oxidation-core stable_regression_results/RMS_CSTR_liquid_oxidation/chemkin/chem_annotated.inp stable_regression_results/RMS_CSTR_liquid_oxidation/chemkin/species_dictionary.txt test/regression/RMS_CSTR_liquid_oxidation/chemkin/chem_annotated.inp test/regression/RMS_CSTR_liquid_oxidation/chemkin/species_dictionary.txt` failed. (See above for error)
RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌

Original model has 100 species.
Test model has 76 species. ❌
Original model has 385 reactions.
Test model has 263 reactions. ❌
The original model has 24 species that the tested model does not have. ❌
spc: OOOO(25)
spc: CCCCCOOOO
spc: CCCCCO
spc: [CH2]COO(80)
spc: [CH2]CCOO(81)
spc: [CH2]OO(82)
spc: [CH2]CCCOO(83)
spc: CCCC[CH]OO(84)
spc: CCCCO
spc: CCC(C)O
spc: CC=O(87)
spc: CCCC=O(88)
spc: CCCCO(89)
spc: CC[CH]C(C)O(90)
spc: [CH2]C(O)CCC(91)
spc: C[CH]CC(C)O(92)
spc: [CH2]CCC(C)O(93)
spc: C[CH]CCOO(94)
spc: [CH2]C(C)C(C)OO(95)
spc: CC1CC(C)O1(96)
spc: CC=CC(C)OO(97)
spc: C=CCC(C)OO(98)
spc: CC([O])CC(C)O(99)
spc: CC(CC(C)OO)OO
The original model has 122 reactions that the tested model does not have. ❌
rxn: [O]O(13) + [CH2]CCCC(12) <=> CCCCCOO(78) origin: R_Recombination
rxn: [OH](24) + [OH](24) <=> OO(23) origin: R_Recombination
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + CCCCCO[O](61) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [O]O(13) + [CH2]CCCC(12) <=> OO(23) + C=CCCC(17) origin: Disproportionation
rxn: CC=O(87) + [CH2]CC(5) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: [OH](24) + CCCC(C)OO(26) <=> H2O(42) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> H2O(42) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: CCCC(C)OO(26) + CCCCCOO(78) <=> H2O(42) + CCCC(C)[O](44) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(26) <=> [OH](24) + H2O(42) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(26) <=> [O]O(13) + H2O(42) + CCCC(C)[O](44) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCC(CC)OO(27) <=> H2O(42) + CCC(CC)O[O](22) origin: H_Abstraction
rxn: OO(23) + CCC(CC)OO(27) <=> [OH](24) + H2O(42) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CCCCCO[O](61) origin: H_Abstraction
rxn: OO(23) + CCCCCOO(78) <=> [OH](24) + H2O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + OO(23) <=> [OH](24) + [O]O(13) + H2O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)[O](44) <=> [CH2]CCC(C)O(93) origin: intra_H_migration
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> CC(CC(C)OO)O[O](100) origin: R_Recombination
rxn: [CH3](10) + CCCC=O(88) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + CC=CC(C)OO(97) origin: Disproportionation
rxn: CCCC(C)[O](44) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> C[CH]CC(C)OO(37) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> CCC(CC)O[O](22) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(47) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(27) <=> H2O(42) + [CH2]CC(CC)OO(32) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> [CH2]CC(CC)OO(32) + CCCC(C)O(47) origin: H_Abstraction
rxn: [O]O(13) + C[CH]CCCOO(75) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + C[CH]CCCOO(75) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(75) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + C[CH]CCCOO(75) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]CCCOO(75) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CCCOO(75) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> C[CH]CCCOO(75) + CCCC(C)O(47) origin: H_Abstraction
rxn: [OH](24) + CCCCC[O](79) <=> CCCCCOO(78) origin: R_Recombination
rxn: CCCC(C)OO(26) + CCCCCOO(78) <=> H2O(42) + CCCCC[O](79) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(27) + CCCCCOO(78) <=> H2O(42) + CCCCC[O](79) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCCCOO(78) <=> H2O(42) + CCCCC[O](79) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCCCOO(78) <=> [O]O(13) + H2O(42) + CCCCC[O](79) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(27) + CCCCCOO(78) <=> H2O(42) + CCC([O])CC(41) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OO(27) <=> [O]O(13) + H2O(42) + CCC([O])CC(41) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [O]O(13) + [O]O(13) <=> OOOO(25) origin: R_Recombination
rxn: oxygen(1) + CCCCCO[O](61) <=> CCCCCOOO[O](77) origin: R_Recombination
rxn: CH2(S)(3) + CCCCOO(50) <=> CCCCCOO(78) origin: 1,2_Insertion_carbene
rxn: CH2(S)(3) + CCCCOO(50) <=> CCCCCOO(78) origin: 1,2_Insertion_carbene
rxn: H(8) + CCCCCO[O](61) <=> CCCCCOO(78) origin: R_Recombination
rxn: [CH2]COO(80) + [CH2]CC(5) <=> CCCCCOO(78) origin: R_Recombination
rxn: C[CH2](6) + [CH2]CCOO(81) <=> CCCCCOO(78) origin: R_Recombination
rxn: H(8) + CC[CH]CCOO(74) <=> CCCCCOO(78) origin: R_Recombination
rxn: [CH2]OO(82) + [CH2]CCC(9) <=> CCCCCOO(78) origin: R_Recombination
rxn: H(8) + CCC[CH]COO(73) <=> CCCCCOO(78) origin: R_Recombination
rxn: [CH3](10) + [CH2]CCCOO(83) <=> CCCCCOO(78) origin: R_Recombination
rxn: H(8) + C[CH]CCCOO(75) <=> CCCCCOO(78) origin: R_Recombination
rxn: H(8) + CCCC[CH]OO(84) <=> CCCCCOO(78) origin: R_Recombination
rxn: H(8) + [CH2]CCCCOO(76) <=> CCCCCOO(78) origin: R_Recombination
rxn: H(8) + [O]O(13) <=> OO(23) origin: R_Recombination
rxn: CH2(S)(3) + CCCC[O](85) <=> CCCC(C)[O](44) origin: 1,2_Insertion_carbene
rxn: CH2(S)(3) + CCC(C)[O](86) <=> CCCC(C)[O](44) origin: 1,2_Insertion_carbene
rxn: CH2(S)(3) + CCC(C)[O](86) <=> CCCC(C)[O](44) origin: 1,2_Insertion_carbene
rxn: H(8) + CCCC(C)=O(34) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](44) <=> CCC[C](C)O(89) origin: intra_H_migration
rxn: CC[CH]C(C)O(90) <=> CCCC(C)[O](44) origin: intra_H_migration
rxn: CCCC(C)[O](44) <=> [CH2]C(O)CCC(91) origin: intra_H_migration
rxn: CCCC(C)[O](44) <=> C[CH]CC(C)O(92) origin: intra_H_migration
rxn: CH2(S)(3) + C[CH]CCOO(94) <=> C[CH]CC(C)OO(37) origin: 1,2_Insertion_carbene
rxn: [CH2]C(C)C(C)OO(95) <=> C[CH]CC(C)OO(37) origin: 1,2_shiftC
rxn: C[CH]CC(C)OO(37) <=> [OH](24) + CC1CC(C)O1(96) origin: Cyclic_Ether_Formation
rxn: H(8) + CC=CC(C)OO(97) <=> C[CH]CC(C)OO(37) origin: R_Addition_MultipleBond
rxn: H(8) + C=CCC(C)OO(98) <=> C[CH]CC(C)OO(37) origin: R_Addition_MultipleBond
rxn: C[CH]OO(52) + C=CC(18) <=> C[CH]CC(C)OO(37) origin: R_Addition_MultipleBond
rxn: CC[CH]C(C)OO(35) <=> C[CH]CC(C)OO(37) origin: intra_H_migration
rxn: [CH2]CCC(C)OO(38) <=> C[CH]CC(C)OO(37) origin: intra_H_migration
rxn: C[CH]CC(C)OO(37) <=> CCC[C](C)OO(54) origin: intra_H_migration
rxn: C[CH]CC(C)OO(37) <=> [CH2]C(CCC)OO(36) origin: intra_H_migration
rxn: C[CH]CC(C)OO(37) <=> CC([O])CC(C)O(99) origin: intra_OH_migration
rxn: [O]O(13) + CC[CH]CCOO(74) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCC[CH]COO(73) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCC[CH]OO(84) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + [CH2]CCCCOO(76) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: oxygen(1) + CCCC(C)[O](44) <=> [O]O(13) + CCCC(C)=O(34) origin: Disproportionation
rxn: oxygen(1) + CCCC(C)[O](44) <=> CCCC(C)OO[O](49) origin: R_Recombination
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + C=CCC(C)OO(98) origin: Disproportionation
rxn: OO(23) + CC[CH]CCOO(74) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + CCC[CH]COO(73) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCCCOO(78) <=> OO(23) + CCCC[CH]OO(84) origin: H_Abstraction
rxn: OO(23) + [CH2]CCCCOO(76) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CCOO(74) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(73) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(76) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> H2O(42) + CCC[C](C)OO(54) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> H2O(42) + CC[CH]C(C)OO(35) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> H2O(42) + [CH2]C(CCC)OO(36) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(26) <=> H2O(42) + [CH2]CCC(C)OO(38) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> CCC[C](C)OO(54) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> CC[CH]C(C)OO(35) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> [CH2]C(CCC)OO(36) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(26) <=> [CH2]CCC(C)OO(38) + CCCC(C)O(47) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(27) <=> H2O(42) + CC[C](CC)OO(59) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(27) <=> H2O(42) + C[CH]C(CC)OO(31) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> CC[C](CC)OO(59) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(27) <=> C[CH]C(CC)OO(31) + CCCC(C)O(47) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CC[CH]CCOO(74) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CCC[CH]COO(73) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CCCC[CH]OO(84) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + [CH2]CCCCOO(76) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CC[CH]CCOO(74) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCC[CH]COO(73) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCCC[CH]OO(84) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + [CH2]CCCCOO(76) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]CCOO(74) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC[CH]COO(73) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC[CH]OO(84) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCCOO(76) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CC[CH]CCOO(74) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCC[CH]COO(73) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCCC[CH]OO(84) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> [CH2]CCCCOO(76) + CCCC(C)O(47) origin: H_Abstraction

Errors occurred during edge comparison ⚠️ ERROR conda.cli.main_run:execute(149): `conda run python scripts/checkModels.py RMS_CSTR_liquid_oxidation-edge stable_regression_results/RMS_CSTR_liquid_oxidation/chemkin/chem_edge_annotated.inp stable_regression_results/RMS_CSTR_liquid_oxidation/chemkin/species_edge_dictionary.txt test/regression/RMS_CSTR_liquid_oxidation/chemkin/chem_edge_annotated.inp test/regression/RMS_CSTR_liquid_oxidation/chemkin/species_edge_dictionary.txt` failed. (See above for error)
✅ 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:32
Current: Execution time (DD:HH:MM:SS): 00:00:00:32
Reference: Memory used: 743.36 MB
Current: Memory used: 743.17 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. ✅

✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions! fragment Passed Observable Testing ✅
Errors occurred during observable testing ⚠️ WARNING: Initial mole fractions do not sum to one; normalizing.

Regression test RMS_constantVIdealGasReactor_fragment:

Reference: Execution time (DD:HH:MM:SS): 00:00:02:48
Current: Execution time (DD:HH:MM:SS): 00:00:03:35
Reference: Memory used: 2728.53 MB
Current: Memory used: 2610.29 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. ✅

✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions! RMS_constantVIdealGasReactor_fragment Passed Observable Testing ✅
Errors occurred during observable testing ⚠️ WARNING: Initial mole fractions do not sum to one; normalizing.

Regression test minimal_surface:

Reference: Execution time (DD:HH:MM:SS): 00:00:00:31
Current: Execution time (DD:HH:MM:SS): 00:00:00:30
Reference: Memory used: 900.28 MB
Current: Memory used: 901.26 MB

minimal_surface Passed Core Comparison ✅

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

minimal_surface Passed Edge Comparison ✅

Original model has 38 species.
Test model has 38 species. ✅
Original model has 38 reactions.
Test model has 38 reactions. ✅

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

beep boop this comment was written by a bot 🤖

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant