Add SIDT adsorption correction predictors#2939
Conversation
Regression Testing Results
Detailed regression test results.Regression test aromatics:Reference: Execution time (DD:HH:MM:SS): 00:00:00:56 aromatics Passed Core Comparison ✅Original model has 15 species. aromatics Failed Edge Comparison ❌Original model has 106 species. Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-(Cds-Cds)CsHH) + group(Cds-CdsCsCs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + polycyclic(s2_4_5_diene_1_5) + polycyclic(s3_4_5_ene_3) + polycyclic(s2_5_5_diene_1_5) - ring(Cyclobutene) - ring(Cyclopentene) - ring(Cyclopentene) + radical(cyclopentene-allyl) Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-(Cds-Cds)(Cds-Cds)CsH) + group(Cs-CsCsHH) + group(Cds-CdsCsCs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + Estimated bicyclic component: polycyclic(s2_3_5_ane) - ring(Cyclopentane) - ring(Cyclopropane) + ring(Cyclopentene) + ring(Cyclopropane) + polycyclic(s2_3_6_diene_0_3) + Estimated bicyclic component: polycyclic(s3_5_6_ane) - ring(Cyclohexane) - ring(Cyclopentane) + ring(1,4-Cyclohexadiene) + ring(Cyclopentene) - ring(Cyclopropane) - ring(Cyclopentene) - ring(1,4-Cyclohexadiene) + radical(cyclopentene-4) Non-identical thermo! ❌
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! ❌
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! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: DetailsObservables Test Case: Aromatics Comparison✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions! aromatics Passed Observable Testing ✅Errors occurred during observable testing
INFO:root:Reading input file "/home/runner/work/RMG-Py/RMG-Py/test/regression/aromatics/regression_input.py"...
INFO:root:options(
title = 'Aromatics',
tolerance = 0.5,
)
|
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | 3.54 | 4.28 | 4.73 | 5.02 | 5.39 | 5.62 | 5.91 | 6.06 |
| k(T): | 8.02 | 7.64 | 7.35 | 7.11 | 6.75 | 6.48 | 5.99 | 5.64 |
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: 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: 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.
Details
Observables Test Case: liquid_oxidation Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
liquid_oxidation Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
INFO:root:Reading input file "/home/runner/work/RMG-Py/RMG-Py/test/regression/liquid_oxidation/regression_input.py"...
INFO:root:options(
title='liquid_oxidation',
tolerance=0.1
)
observable(
label='pentane',
structure=SMILES('CCCCC')
)
species(
label='oxygen',
structure=SMILES('[O][O]'),
)
reactorSetups(
reactorTypes=['IdealGasReactor'],
terminationTimes=([1e3], 's'),
initialMoleFractionsList=[{
'pentane': 0.9,
'oxygen': 0.1,
}],
temperatures=([600], 'K'),
pressures=([1.0], 'bar'),
)
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
Regression test nitrogen:
Reference: Execution time (DD:HH:MM:SS): 00:00:01:03
Current: Execution time (DD:HH:MM:SS): 00:00:01:03
Reference: Memory used: 897.91 MB
Current: Memory used: 903.38 MB
nitrogen Passed Core Comparison ✅
Original model has 41 species.
Test model has 41 species. ✅
Original model has 360 reactions.
Test model has 360 reactions. ✅
nitrogen Passed Edge Comparison ✅
Original model has 133 species.
Test model has 133 species. ✅
Original model has 983 reactions.
Test model has 983 reactions. ✅
Details
Observables Test Case: NC Comparison✅ All Observables varied by less than 0.200 on average between old model and new model in all conditions!
nitrogen Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
INFO:root:Reading input file "/home/runner/work/RMG-Py/RMG-Py/test/regression/nitrogen/regression_input.py"...
INFO:root:
options(
title='NC',
tolerance=0.2
)
observable(
label='NC',
structure=SMILES("NC"),
)
observable(
label='OH',
structure=SMILES("[OH]"),
)
species(
label='O2',
structure=SMILES("[O][O]"),
)
species(
label='Ar',
structure=adjacencyList('1 Ar u0 p4 c0'),
)
reactorSetups(
reactorTypes=['IdealGasReactor'],
terminationTimes=([0.002],'s'),
initialMoleFractionsList=[{
"NC": 0.0005,
"O2": 0.002,
"Ar": 0.9975,
}],
temperatures=([1500],'K'),
pressures=([1.],'atm'),
)
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
Regression test oxidation:
Reference: Execution time (DD:HH:MM:SS): 00:00:01:45
Current: Execution time (DD:HH:MM:SS): 00:00:01:44
Reference: Memory used: 772.37 MB
Current: Memory used: 780.44 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. ✅
Details
Observables Test Case: Oxidation Comparison✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions!
oxidation Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
INFO:root:Reading input file "/home/runner/work/RMG-Py/RMG-Py/test/regression/oxidation/regression_input.py"...
INFO:root:options(
title = 'Oxidation',
tolerance = 0.5,
)
observables
observable(
label = 'OH',
structure=SMILES('[OH]'),
)
species definition used in the reactor setup specification
species(
label = 'OH',
structure=SMILES('[OH]'),
)
species(
label = 'N2',
structure=SMILES("N#N"),
)
species(
label = 'O2',
structure=SMILES('[O][O]'),
)
species(
label = 'propane',
structure=SMILES('CCC'),
)
reactor setups
reactorSetups(
reactorTypes=['IdealGasReactor'],
terminationTimes=([100.0],'s'),
initialMoleFractionsList=[{
"propane": 2.0/7.0,
"O2": 1.0,
"N2":4.0,
}],
temperatures=([725.0],'K'),
pressures=([10.0],'bar'),
)
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
WARNING:root:Initial mole fractions do not sum to one; normalizing.
INFO:root:
INFO:root:Original composition:
INFO:root:propane = 0.2857142857142857
INFO:root:O2 = 1.0
INFO:root:N2 = 4.0
INFO:root:
INFO:root:Normalized mole fractions:
INFO:root:propane = 0.05405405405405405
INFO:root:O2 = 0.1891891891891892
INFO:root:N2 = 0.7567567567567568
INFO:root:
Regression test sulfur:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:41
Current: Execution time (DD:HH:MM:SS): 00:00:00:40
Reference: Memory used: 892.87 MB
Current: Memory used: 898.46 MB
sulfur Passed Core Comparison ✅
Original model has 27 species.
Test model has 27 species. ✅
Original model has 74 reactions.
Test model has 74 reactions. ✅
sulfur Failed Edge Comparison ❌
Original model has 89 species.
Test model has 89 species. ✅
Original model has 227 reactions.
Test model has 227 reactions. ✅
The original model has 1 reactions that the tested model does not have. ❌
rxn: O(4) + SO2(15) (+N2) <=> SO3(16) (+N2) origin: primarySulfurLibrary
The tested model has 1 reactions that the original model does not have. ❌
rxn: O(4) + SO2(15) (+N2) <=> SO3(16) (+N2) origin: primarySulfurLibrary
Details
Observables Test Case: SO2 Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
sulfur Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
INFO:root:Reading input file "/home/runner/work/RMG-Py/RMG-Py/test/regression/sulfur/regression_input.py"...
INFO:root:
options(
title='SO2',
tolerance=0.1
)
observable(
label='SO2',
structure=SMILES("O=S=O"),
)
species(
label='H2S',
structure=SMILES("S"),
)
species(
label='O2',
structure=SMILES("[O][O]"),
)
species(
label='N2',
structure=SMILES("N#N"),
)
reactorSetups(
reactorTypes=['IdealGasReactor'],
terminationTimes=([0.01],'s'),
initialMoleFractionsList=[{
"H2S": 0.000756,
"O2": 0.001290,
"N2": 0.997954}],
temperatures=([900],'K'),
pressures=([30.],'bar'),
)
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
Regression test superminimal:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:25
Current: Execution time (DD:HH:MM:SS): 00:00:00:25
Reference: Memory used: 962.19 MB
Current: Memory used: 962.37 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:54
Current: Execution time (DD:HH:MM:SS): 00:00:02:16
Reference: Memory used: 2435.89 MB
Current: Memory used: 2289.00 MB
RMS_constantVIdealGasReactor_superminimal Passed Core Comparison ✅
Original model has 13 species.
Test model has 13 species. ✅
Original model has 19 reactions.
Test model has 19 reactions. ✅
RMS_constantVIdealGasReactor_superminimal Passed Edge Comparison ✅
Original model has 13 species.
Test model has 13 species. ✅
Original model has 19 reactions.
Test model has 19 reactions. ✅
Details
Observables Test Case: RMS_constantVIdealGasReactor_superminimal Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
RMS_constantVIdealGasReactor_superminimal Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
INFO:root:Reading input file "/home/runner/work/RMG-Py/RMG-Py/test/regression/RMS_constantVIdealGasReactor_superminimal/regression_input.py"...
INFO:root:
options(
title='RMS_constantVIdealGasReactor_superminimal',
tolerance=0.1
)
observable(
label='H2',
structure=SMILES("[H][H]"),
)
observable(
label='O2',
structure=SMILES("[O][O]"),
)
reactorSetups(
reactorTypes=['IdealGasReactor'],
terminationTimes=([0.01],'s'),
initialMoleFractionsList=[{
'H2':.67,
'O2':.33,
}],
temperatures=([1000],'K'),
pressures=([1.0],'bar'),
)
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
Regression test RMS_CSTR_liquid_oxidation:
Reference: Execution time (DD:HH:MM:SS): 00:00:30:22
Current: Execution time (DD:HH:MM:SS): 00:00:17:00
Reference: Memory used: 3702.49 MB
Current: Memory used: 2793.23 MB
RMS_CSTR_liquid_oxidation Failed Core Comparison ❌
Original model has 35 species.
Test model has 35 species. ✅
Original model has 140 reactions.
Test model has 182 reactions. ❌
The original model has 3 species that the tested model does not have. ❌
spc: CH3
spc: CCCC(C)O(47)
spc: CCCC=O(94)
The tested model has 3 species that the original model does not have. ❌
spc: [CH2]CCCCOO(66)
spc: CC1CC(C)O1(96)
spc: C=CCC(C)OO(98)
The original model has 10 reactions that the tested model does not have. ❌
rxn: [CH3](10) + CCCC=O(94) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](44) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(37) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(24) <=> CCC(CC)O[O](20) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)OO(24) <=> [CH2]CC(CC)OO(32) + CCCC(C)O(47) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCOO(78) <=> C[CH]CCCOO(65) + CCCC(C)O(47) origin: H_Abstraction
The tested model has 52 reactions that the original model does not have. ❌
rxn: oxygen(1) + O(42) <=> [OH](26) + [O]O(13) origin: H_Abstraction
rxn: [OH](26) + OO(23) <=> [O]O(13) + O(42) origin: H_Abstraction
rxn: CCCCCO[O](61) + CCC(CC)OO(24) <=> CCC(CC)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](26) + [CH2]CCCC(12) <=> O(42) + C=CCCC(18) origin: Disproportionation
rxn: [OH](26) + C[CH]CCC(11) <=> O(42) + C=CCCC(18) origin: Disproportionation
rxn: CC[CH]CC(7) + CCC(CC)O[O](20) <=> CC=CCC(16) + CCC(CC)OO(24) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)O[O](21) <=> CC=CCC(16) + CCCC(C)OO(25) origin: Disproportionation
rxn: CC[CH]CC(7) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(25) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC(CC)O[O](20) <=> CC=CCC(16) + CCC(CC)OO(24) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)O[O](21) <=> CC=CCC(16) + CCCC(C)OO(25) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(25) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: CCC(CC)O[O](20) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCC(CC)OO(24) origin: Disproportionation
rxn: CCCC(C)O[O](21) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCC(C)OO(25) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CC(CC)OO(32) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(24) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(32) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCC(CC)OO(24) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCC(CC)OO(24) <=> CCC(CC)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + [OH](26) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)[O](44) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC[O](79) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)O[O](20) + CCCCCO[O](61) <=> oxygen(1) + CCC([O])CC(41) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: C[CH]CC(C)OO(37) <=> [OH](26) + CC1CC(C)O1(96) origin: Cyclic_Ether_Formation
rxn: CCCCCO[O](61) <=> [CH2]CCCCOO(66) origin: intra_H_migration
rxn: [O]O(13) + [CH2]CCCCOO(66) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + [CH2]CCCCOO(66) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCC(CC)OO(24) <=> CCC(CC)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCC(C)OO(25) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + pentane(2) <=> [CH2]CCCC(12) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](26) + CCCCCOO(78) <=> O(42) + [CH2]CCCCOO(66) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + [CH2]CCCCOO(66) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCCOO(66) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCCOO(66) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: oxygen(1) + C[CH]CC(C)OO(37) <=> [O]O(13) + C=CCC(C)OO(98) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + pentane(2) origin: Disproportionation
rxn: CCC(CC)O[O](20) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCC(CC)OO(24) origin: Disproportionation
rxn: CCCC(C)O[O](21) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCC(C)OO(25) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCCCOO(78) origin: Disproportionation
RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌
Original model has 101 species.
Test model has 107 species. ❌
Original model has 382 reactions.
Test model has 545 reactions. ❌
The original model has 2 species that the tested model does not have. ❌
spc: CCC(CC)OOOO
spc: CCCCCOOOO
The tested model has 8 species that the original model does not have. ❌
spc: CCCCCOOOO(101)
spc: CCCC(C)OOO(102)
spc: CCCCCO(103)
spc: CCC[CH]CO(104)
spc: CCCCCOOO
spc: OOO(106)
spc: CCC(CC)OOO(107)
spc: CCCCCOOO(108)
The original model has 2 reactions that the tested model does not have. ❌
rxn: oxygen(1) + CCC(CC)O[O](20) <=> CCC(CC)OOO[O](39) origin: R_Recombination
rxn: oxygen(1) + CCCCCO[O](61) <=> CCCCCOOO[O](77) origin: R_Recombination
The tested model has 165 reactions that the original model does not have. ❌
rxn: oxygen(1) + O(42) <=> [OH](26) + [O]O(13) origin: H_Abstraction
rxn: [OH](26) + OO(23) <=> [O]O(13) + O(42) origin: H_Abstraction
rxn: CCCCCO[O](61) + CCC(CC)OO(24) <=> CCC(CC)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](26) + [CH2]CCCC(12) <=> O(42) + C=CCCC(18) origin: Disproportionation
rxn: [OH](26) + C[CH]CCC(11) <=> O(42) + C=CCCC(18) origin: Disproportionation
rxn: CC[CH]CC(7) + CCC(CC)O[O](20) <=> CC=CCC(16) + CCC(CC)OO(24) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)O[O](21) <=> CC=CCC(16) + CCCC(C)OO(25) origin: Disproportionation
rxn: CC[CH]CC(7) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(25) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC(CC)O[O](20) <=> CC=CCC(16) + CCC(CC)OO(24) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)O[O](21) <=> CC=CCC(16) + CCCC(C)OO(25) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> CC=CCC(16) + CCCC(C)OO(25) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + pentane(2) origin: Disproportionation
rxn: CCC(CC)O[O](20) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCC(CC)OO(24) origin: Disproportionation
rxn: CCCC(C)O[O](21) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCC(C)OO(25) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CC(CC)OO(32) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(24) origin: H_Abstraction
rxn: [CH2]CC(CC)OO(32) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCC(CC)OO(24) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCC(CC)OO(24) <=> CCC(CC)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + [OH](26) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)[O](44) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC[O](79) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)O[O](20) + CCCCCO[O](61) <=> oxygen(1) + CCC([O])CC(41) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: [CH2]CCCCOO(66) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCC(CC)OO(24) <=> CCC(CC)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + pentane(2) <=> [CH2]CCCC(12) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + pentane(2) origin: Disproportionation
rxn: CCC(CC)O[O](20) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCC(CC)OO(24) origin: Disproportionation
rxn: CCCC(C)O[O](21) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCC(C)OO(25) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCCCOO(78) origin: Disproportionation
rxn: [H](8) + [OH](26) <=> O(42) origin: R_Recombination
rxn: C=CCCC(18) + CC[CH]CC(7) <=> C=CC[CH]C(69) + pentane(2) origin: H_Abstraction
rxn: C=CCCC(18) + CC[CH]CC(7) <=> [CH2]C=CCC(71) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + pentane(2) <=> C=CCCC(18) + CC[CH]CC(7) origin: H_Abstraction
rxn: C=[C]CCC(73) + pentane(2) <=> C=CCCC(18) + CC[CH]CC(7) origin: H_Abstraction
rxn: [CH]=CCCC(74) + pentane(2) <=> C=CCCC(18) + CC[CH]CC(7) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> CCCC[CH]OO(84) + pentane(2) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCC(C)[O](44) <=> CCCC(C)=O(34) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)[O](44) <=> CC=CCC(16) + CCCC(C)O(47) origin: Disproportionation
rxn: C=CC[CH]C(69) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: C=CCCC(18) + C[CH]CCC(11) <=> [CH2]C=CCC(71) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: C=[C]CCC(73) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: [CH]=CCCC(74) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCC(11) + CCCC(C)[O](44) <=> CCCC(C)=O(34) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](44) <=> CC=CCC(16) + CCCC(C)O(47) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](44) <=> C=CCCC(18) + CCCC(C)O(47) origin: Disproportionation
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + O(42) + CCCCC=O(62) origin: Peroxyl_Termination
rxn: [O]O(13) + CCCCCO[O](61) <=> CCCCCOOOO(101) origin: R_Recombination
rxn: [O]O(13) + CCCC(C)[O](44) <=> OO(23) + CCCC(C)=O(34) origin: Disproportionation
rxn: [O]O(13) + CCCC(C)[O](44) <=> oxygen(1) + CCCC(C)O(47) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)[O](44) <=> CCCC(C)OOO(102) origin: R_Recombination
rxn: CCC(CC)O[O](20) + CCCCCO[O](61) <=> oxygen(1) + CCC(=O)CC(30) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CCC(CC)O[O](20) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCC(O)CC(46) origin: Peroxyl_Termination
rxn: C=CC[CH]C(69) + CCC(CC)OO(24) <=> C=CCCC(18) + CCC(CC)O[O](20) origin: H_Abstraction
rxn: C=CCCC(18) + CCC(CC)O[O](20) <=> [CH2]C=CCC(71) + CCC(CC)OO(24) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCC(CC)OO(24) <=> C=CCCC(18) + CCC(CC)O[O](20) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCC(CC)OO(24) <=> C=CCCC(18) + CCC(CC)O[O](20) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCC(CC)OO(24) <=> C=CCCC(18) + CCC(CC)O[O](20) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCC(CC)OO(24) <=> CCC(CC)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCC(CC)OO(24) <=> CCC(CC)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCC(CC)OO(24) <=> CCC(CC)O[O](20) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCC(CC)O[O](20) <=> CCCC(C)=O(34) + CCC(CC)OO(24) origin: Disproportionation
rxn: CCCC(C)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)=O(34) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CCCC(C)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCCC(C)O(47) origin: Peroxyl_Termination
rxn: C=CC[CH]C(69) + CCCC(C)OO(25) <=> C=CCCC(18) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)O[O](21) <=> [CH2]C=CCC(71) + CCCC(C)OO(25) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCCC(C)OO(25) <=> C=CCCC(18) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)OO(25) <=> C=CCCC(18) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)OO(25) <=> C=CCCC(18) + CCCC(C)O[O](21) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)O[O](21) <=> CCCC(C)=O(34) + CCCC(C)OO(25) origin: Disproportionation
rxn: CC[C](CC)OO(52) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(24) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCCCCOO(78) <=> CCCCCO[O](61) + CCC(CC)OO(24) origin: H_Abstraction
rxn: C[CH]CC(C)OO(37) + CCC(CC)OO(24) <=> CC[C](CC)OO(52) + CCCC(C)OO(25) origin: H_Abstraction
rxn: C[CH]C(CC)OO(31) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCC(CC)OO(24) origin: H_Abstraction
rxn: C=CCCC(18) + [CH2]CCCC(12) <=> C=CC[CH]C(69) + pentane(2) origin: H_Abstraction
rxn: C=CCCC(18) + [CH2]CCCC(12) <=> [CH2]C=CCC(71) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + pentane(2) <=> C=CCCC(18) + [CH2]CCCC(12) origin: H_Abstraction
rxn: C=[C]CCC(73) + pentane(2) <=> C=CCCC(18) + [CH2]CCCC(12) origin: H_Abstraction
rxn: [CH]=CCCC(74) + pentane(2) <=> C=CCCC(18) + [CH2]CCCC(12) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CC[CH]CCOO(64) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CCC[CH]COO(63) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CCCC[CH]OO(84) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCC(C)[O](44) <=> CCCC(C)=O(34) + pentane(2) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCCC(C)[O](44) <=> C=CCCC(18) + CCCC(C)O(47) origin: Disproportionation
rxn: C[CH]CC(C)OO(37) + CCCC(C)OO(25) <=> CCC[C](C)OO(58) + CCCC(C)OO(25) origin: H_Abstraction
rxn: CC[CH]C(C)OO(35) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCCC(C)OO(25) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(36) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCCC(C)OO(25) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(38) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCCC(C)OO(25) origin: H_Abstraction
rxn: [OH](26) + C=CCCC(18) <=> O(42) + C=CC[CH]C(69) origin: H_Abstraction
rxn: [OH](26) + C=CCCC(18) <=> O(42) + [CH2]C=CCC(71) origin: H_Abstraction
rxn: [OH](26) + C=CCCC(18) <=> O(42) + [CH2]CCC=C(72) origin: H_Abstraction
rxn: [OH](26) + C=CCCC(18) <=> O(42) + C=[C]CCC(73) origin: H_Abstraction
rxn: [OH](26) + C=CCCC(18) <=> O(42) + [CH]=CCCC(74) origin: H_Abstraction
rxn: [OH](26) + C=CCCC(18) <=> [CH2]C(O)CCC(91) origin: R_Addition_MultipleBond
rxn: [OH](26) + C=CCCC(18) <=> CCC[CH]CO(104) origin: R_Addition_MultipleBond
rxn: [OH](26) + CCCC(C)[O](44) <=> O(42) + CCCC(C)=O(34) origin: Disproportionation
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCCCCO(103) origin: Peroxyl_Termination
rxn: C=CC[CH]C(69) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: C=CCCC(18) + CCCCCO[O](61) <=> [CH2]C=CCC(71) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCCCO[O](61) <=> CCCC(C)=O(34) + CCCCCOO(78) origin: Disproportionation
rxn: O(42) + C=CCCC(18) <=> CCCCCO(103) origin: 1,3_Insertion_ROR
rxn: O(42) + C=CCCC(18) <=> CCCC(C)O(47) origin: 1,3_Insertion_ROR
rxn: C=CCCC(18) + CCCC(C)[O](44) <=> C=CC[CH]C(69) + CCCC(C)O(47) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](44) <=> [CH2]C=CCC(71) + CCCC(C)O(47) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](44) <=> [CH2]CCC=C(72) + CCCC(C)O(47) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)O(47) <=> C=CCCC(18) + CCCC(C)[O](44) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)O(47) <=> C=CCCC(18) + CCCC(C)[O](44) origin: H_Abstraction
rxn: C=CC[CH]C(69) + CCCC(C)OO(25) <=> C=CCCC(18) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: C=CCCC(18) + C[CH]CC(C)OO(37) <=> [CH2]C=CCC(71) + CCCC(C)OO(25) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCCC(C)OO(25) <=> C=CCCC(18) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)OO(25) <=> C=CCCC(18) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)OO(25) <=> C=CCCC(18) + C[CH]CC(C)OO(37) origin: H_Abstraction
rxn: [OH](26) + CCCC(C)O(47) <=> O(42) + CCCC(C)[O](44) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCC(C)OO(25) <=> C[CH]CC(C)OO(37) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)O(47) <=> OO(23) + CCCC(C)[O](44) origin: H_Abstraction
rxn: CCCC(C)[O](44) + CCCC(C)[O](44) <=> CCCC(C)=O(34) + CCCC(C)O(47) origin: Disproportionation
rxn: CCCC(C)[O](44) + C[CH]CC(C)OO(37) <=> CC=CC(C)OO(97) + CCCC(C)O(47) origin: Disproportionation
rxn: CCCC(C)[O](44) + C[CH]CC(C)OO(37) <=> C=CCC(C)OO(98) + CCCC(C)O(47) origin: Disproportionation
rxn: CCCC(C)[O](44) + C[CH]CC(C)OO(37) <=> CCCC(C)=O(34) + CCCC(C)OO(25) origin: Disproportionation
rxn: CCCC(C)O[O](21) + CCC(CC)OO[O](48) <=> oxygen(1) + CCCC(C)[O](44) + CCC(CC)O[O](20) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](21) + CCCC(C)OO[O](49) <=> oxygen(1) + CCCC(C)[O](44) + CCCC(C)O[O](21) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](21) + CCCCCOO[O](105) <=> oxygen(1) + CCCC(C)[O](44) + CCCCCO[O](61) origin: Peroxyl_Disproportionation
rxn: OO(23) + OOO(106) <=> [O]O(13) + [O]O(13) + O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OOO(106) + CCC(CC)OO(24) <=> [O]O(13) + O(42) + CCC(CC)O[O](20) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OOO(107) <=> [O]O(13) + O(42) + CCC(CC)O[O](20) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OOO(106) + CCCC(C)OO(25) <=> [O]O(13) + O(42) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OOO(102) <=> [O]O(13) + O(42) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OOO(106) + CCCCCOO(78) <=> [O]O(13) + O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCCCOOO(108) <=> [O]O(13) + O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(24) + CCC(CC)OOO(107) <=> O(42) + CCC(CC)O[O](20) + CCC(CC)O[O](20) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(25) + CCC(CC)OOO(107) <=> O(42) + CCC(CC)O[O](20) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(24) + CCCC(C)OOO(102) <=> O(42) + CCC(CC)O[O](20) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCC(CC)OOO(107) <=> O(42) + CCC(CC)O[O](20) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(24) + CCCCCOOO(108) <=> O(42) + CCC(CC)O[O](20) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(25) + CCCC(C)OOO(102) <=> O(42) + CCCC(C)O[O](21) + CCCC(C)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCC(C)OOO(102) <=> O(42) + CCCC(C)O[O](21) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(25) + CCCCCOOO(108) <=> O(42) + CCCC(C)O[O](21) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCCCOOO(108) <=> O(42) + CCCCCO[O](61) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
Details
Observables Test Case: RMS_CSTR_liquid_oxidation Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
RMS_CSTR_liquid_oxidation Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
INFO:root:Reading input file "/home/runner/work/RMG-Py/RMG-Py/test/regression/RMS_CSTR_liquid_oxidation/regression_input.py"...
INFO:root:options(
title='RMS_CSTR_liquid_oxidation',
tolerance=0.1
)
observable(
label='pentane',
structure=SMILES('CCCCC')
)
species(
label='oxygen',
structure=SMILES('[O][O]'),
)
reactorSetups(
reactorTypes=['IdealGasReactor'],
terminationTimes=([1e3], 's'),
initialMoleFractionsList=[{
'pentane': 0.9,
'oxygen': 0.1,
}],
temperatures=([600], 'K'),
pressures=([1.0], 'bar'),
)
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
Regression test fragment:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:34
Current: Execution time (DD:HH:MM:SS): 00:00:00:34
Reference: Memory used: 737.37 MB
Current: Memory used: 743.90 MB
fragment Passed Core Comparison ✅
Original model has 10 species.
Test model has 10 species. ✅
Original model has 2 reactions.
Test model has 2 reactions. ✅
fragment Passed Edge Comparison ✅
Original model has 33 species.
Test model has 33 species. ✅
Original model has 47 reactions.
Test model has 47 reactions. ✅
Details
Observables Test Case: fragment Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
fragment Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
INFO:root:Reading input file "/home/runner/work/RMG-Py/RMG-Py/test/regression/fragment/regression_input.py"...
INFO:root:
options(
title='fragment',
tolerance=0.1
)
observable(
label="LCCCC",
structure=fragment_adj(
"""1 C u0 p0 c0 {2,S} {3,S} {5,S} {6,S}
2 C u0 p0 c0 {1,S} {4,S} {7,S} {8,S}
3 C u0 p0 c0 {1,S} {9,S} {10,S} {11,S}
4 C u0 p0 c0 {2,S} {12,S} {13,S} {14,S}
5 H u0 p0 c0 {1,S}
6 H u0 p0 c0 {1,S}
7 H u0 p0 c0 {2,S}
8 H u0 p0 c0 {2,S}
9 L u0 p0 c0 {3,S}
10 H u0 p0 c0 {3,S}
11 H u0 p0 c0 {3,S}
12 H u0 p0 c0 {4,S}
13 H u0 p0 c0 {4,S}
14 H u0 p0 c0 {4,S}
"""
),
)
species(
label="LCCCC",
structure=fragment_adj(
"""1 C u0 p0 c0 {2,S} {3,S} {5,S} {6,S}
2 C u0 p0 c0 {1,S} {4,S} {7,S} {8,S}
3 C u0 p0 c0 {1,S} {9,S} {10,S} {11,S}
4 C u0 p0 c0 {2,S} {12,S} {13,S} {14,S}
5 H u0 p0 c0 {1,S}
6 H u0 p0 c0 {1,S}
7 H u0 p0 c0 {2,S}
8 H u0 p0 c0 {2,S}
9 L u0 p0 c0 {3,S}
10 H u0 p0 c0 {3,S}
11 H u0 p0 c0 {3,S}
12 H u0 p0 c0 {4,S}
13 H u0 p0 c0 {4,S}
14 H u0 p0 c0 {4,S}
"""
),
)
species(
label="RCCCC",
structure=fragment_adj(
"""1 C u0 p0 c0 {2,S} {3,S} {5,S} {6,S}
2 C u0 p0 c0 {1,S} {4,S} {7,S} {8,S}
3 C u0 p0 c0 {1,S} {9,S} {10,S} {11,S}
4 C u0 p0 c0 {2,S} {12,S} {13,S} {14,S}
5 H u0 p0 c0 {1,S}
6 H u0 p0 c0 {1,S}
7 H u0 p0 c0 {2,S}
8 H u0 p0 c0 {2,S}
9 R u0 p0 c0 {3,S}
10 H u0 p0 c0 {3,S}
11 H u0 p0 c0 {3,S}
12 H u0 p0 c0 {4,S}
13 H u0 p0 c0 {4,S}
14 H u0 p0 c0 {4,S}
"""
),
)
reactorSetups(
reactorTypes=['IdealGasReactor'],
terminationTimes=([0.01],'s'),
initialMoleFractionsList=[{
"LCCCC": 1,
"RCCCC": 1,
}],
temperatures=([1600],'K'),
pressures=([40.0],'bar'),
)
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
WARNING:root:Initial mole fractions do not sum to one; normalizing.
INFO:root:
INFO:root:Original composition:
INFO:root:LCCCC = 1
INFO:root:RCCCC = 1
INFO:root:
INFO:root:Normalized mole fractions:
INFO:root:LCCCC = 0.5
INFO:root:RCCCC = 0.5
INFO:root:
Regression test RMS_constantVIdealGasReactor_fragment:
Reference: Execution time (DD:HH:MM:SS): 00:00:03:21
Current: Execution time (DD:HH:MM:SS): 00:00:02:43
Reference: Memory used: 2539.29 MB
Current: Memory used: 2443.40 MB
RMS_constantVIdealGasReactor_fragment Passed Core Comparison ✅
Original model has 10 species.
Test model has 10 species. ✅
Original model has 2 reactions.
Test model has 2 reactions. ✅
RMS_constantVIdealGasReactor_fragment Passed Edge Comparison ✅
Original model has 27 species.
Test model has 27 species. ✅
Original model has 24 reactions.
Test model has 24 reactions. ✅
Details
Observables Test Case: RMS_constantVIdealGasReactor_fragment Comparison✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions!
RMS_constantVIdealGasReactor_fragment Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
INFO:root:Reading input file "/home/runner/work/RMG-Py/RMG-Py/test/regression/RMS_constantVIdealGasReactor_fragment/regression_input.py"...
INFO:root:
options(
title='RMS_constantVIdealGasReactor_fragment',
tolerance=0.1
)
observable(
label="LCCCC",
structure=fragment_adj(
"""1 C u0 p0 c0 {2,S} {3,S} {5,S} {6,S}
2 C u0 p0 c0 {1,S} {4,S} {7,S} {8,S}
3 C u0 p0 c0 {1,S} {9,S} {10,S} {11,S}
4 C u0 p0 c0 {2,S} {12,S} {13,S} {14,S}
5 H u0 p0 c0 {1,S}
6 H u0 p0 c0 {1,S}
7 H u0 p0 c0 {2,S}
8 H u0 p0 c0 {2,S}
9 L u0 p0 c0 {3,S}
10 H u0 p0 c0 {3,S}
11 H u0 p0 c0 {3,S}
12 H u0 p0 c0 {4,S}
13 H u0 p0 c0 {4,S}
14 H u0 p0 c0 {4,S}
"""
),
)
species(
label="LCCCC",
structure=fragment_adj(
"""1 C u0 p0 c0 {2,S} {3,S} {5,S} {6,S}
2 C u0 p0 c0 {1,S} {4,S} {7,S} {8,S}
3 C u0 p0 c0 {1,S} {9,S} {10,S} {11,S}
4 C u0 p0 c0 {2,S} {12,S} {13,S} {14,S}
5 H u0 p0 c0 {1,S}
6 H u0 p0 c0 {1,S}
7 H u0 p0 c0 {2,S}
8 H u0 p0 c0 {2,S}
9 L u0 p0 c0 {3,S}
10 H u0 p0 c0 {3,S}
11 H u0 p0 c0 {3,S}
12 H u0 p0 c0 {4,S}
13 H u0 p0 c0 {4,S}
14 H u0 p0 c0 {4,S}
"""
),
)
species(
label="RCCCC",
structure=fragment_adj(
"""1 C u0 p0 c0 {2,S} {3,S} {5,S} {6,S}
2 C u0 p0 c0 {1,S} {4,S} {7,S} {8,S}
3 C u0 p0 c0 {1,S} {9,S} {10,S} {11,S}
4 C u0 p0 c0 {2,S} {12,S} {13,S} {14,S}
5 H u0 p0 c0 {1,S}
6 H u0 p0 c0 {1,S}
7 H u0 p0 c0 {2,S}
8 H u0 p0 c0 {2,S}
9 R u0 p0 c0 {3,S}
10 H u0 p0 c0 {3,S}
11 H u0 p0 c0 {3,S}
12 H u0 p0 c0 {4,S}
13 H u0 p0 c0 {4,S}
14 H u0 p0 c0 {4,S}
"""
),
)
reactorSetups(
reactorTypes=['IdealGasReactor'],
terminationTimes=([0.01],'s'),
initialMoleFractionsList=[{
"LCCCC": 1,
"RCCCC": 1,
}],
temperatures=([1600],'K'),
pressures=([40.0],'bar'),
)
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
WARNING:root:Initial mole fractions do not sum to one; normalizing.
INFO:root:
INFO:root:Original composition:
INFO:root:LCCCC = 1
INFO:root:RCCCC = 1
INFO:root:
INFO:root:Normalized mole fractions:
INFO:root:LCCCC = 0.5
INFO:root:RCCCC = 0.5
INFO:root:
Regression test minimal_surface:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:32
Current: Execution time (DD:HH:MM:SS): 00:00:00:31
Reference: Memory used: 898.88 MB
Current: Memory used: 906.56 MB
minimal_surface Passed Core Comparison ✅
Original model has 11 species.
Test model has 11 species. ✅
Original model has 3 reactions.
Test model has 3 reactions. ✅
minimal_surface Passed Edge Comparison ✅
Original model has 38 species.
Test model has 38 species. ✅
Original model has 38 reactions.
Test model has 38 reactions. ✅
Details
Observables Test Case: minimal_surface Comparison✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions!
minimal_surface Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
INFO:root:Reading input file "/home/runner/work/RMG-Py/RMG-Py/test/regression/minimal_surface/regression_input.py"...
INFO:root:options(
title = 'minimal_surface',
tolerance = 0.5,
)
observables
observable(
label = 'CH4',
structure=SMILES('C'),
)
observable(
label = 'O2',
structure=SMILES('[O][O]'),
)
observable(
label = 'X',
structure=adjacencyList(
"""
1 X u0 p0 c0
"""),
)
List of species
species(
label='CH4',
structure=SMILES("[CH4]"),
)
species(
label='O2',
structure=adjacencyList(
"""
1 O u1 p2 c0 {2,S}
2 O u1 p2 c0 {1,S}
"""),
)
species(
label='N2',
structure=SMILES("N#N"),
)
species(
label='X',
structure=adjacencyList(
"""
1 X u0 p0 c0
"""),
)
reactor setups
reactorSetups(
reactorTypes=['IdealGasReactor'],
terminationTimes=([1.0], 's'),
initialMoleFractionsList=[{
'CH4': 0.15,
'O2': 0.15,
'N2': 0.7,
}],
initialSurfaceMoleFractionsList=[{
'X': 1.0,
}],
temperatures=([1000.0], 'K'),
pressures=([1.0], 'bar'),
)
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
INFO:root:Thermo file has default temperature range 300.0 to 1000.0 and 1000.0 to 5000.0
INFO:root:Thermo file has no default temperature ranges
INFO:root:(The line it would be on is ' 300.000 1000.000 5000.000\n' but that is not formatted as such)
INFO:root:(It should have Tmin in columns 1-10, Tmid in columns 11-20, and Tmax in columns 21-30)
INFO:root:Ignoring short but non-empty line: ' 300.000 1000.000 5000.000\n'
INFO:root:Thermo file has no default temperature ranges
INFO:root:(The line it would be on is ' 300.000 1000.000 5000.000\n' but that is not formatted as such)
INFO:root:(It should have Tmin in columns 1-10, Tmid in columns 11-20, and Tmax in columns 21-30)
INFO:root:Ignoring short but non-empty line: ' 300.000 1000.000 5000.000\n'
beep boop this comment was written by a bot 🤖
JacksonBurns
left a comment
There was a problem hiding this comment.
Unit tests would be a good addition - something to check if we can load and interact with the SIDTs. Form of the implementation looks good, though.
2425f8b to
21d3ef7
Compare
|
I've added some database tests to test that the SIDTs are loaded and that they work properly. They look a little bit out of place, I chose the test structure I did because each SIDT can have different tagging/decomposition and test molecules, but I'm open to better ideas if anyone has any. |
JacksonBurns
left a comment
There was a problem hiding this comment.
These tests are a great starting point, and enough for the scope of this initial PR adding the feature. I will update the branch and set to merge
this avoids issues with the testing database
443817f to
c12c252
Compare
This enables use of SIDTs stored in the RMG-database to predict adsorption corrections. The SIDTs are added in ReactionMechanismGenerator/RMG-database#723 trained on Pt111 adsorption corrections data that @kirkbadger18 sent me.
Without a framework for computing independent errors on the current RMG adsorption groups it is difficult to definitively measure how much of an improvement this should be. However, the leave-one-out errors on the SIDTs are similar to the training errors on the RMG adsorption groups, so this should almost certainly be a significant improvement.