RMG-Py v4.0.0 🎉#2967
Conversation
Regression Testing Results
Detailed regression test results.Regression test aromatics:Reference: Execution time (DD:HH:MM:SS): 00:00:00:41 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_ene_1) + polycyclic(s3_5_6_diene_1_5) - ring(Cyclopropane) - ring(Cyclopentene) - ring(Cyclohexene) + radical(cyclopentene-4) Non-identical thermo! ❌
thermo: Thermo group additivity estimation: group(Cs-CsCsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsHH) + group(Cds- Cds(Cds-Cds)Cs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + polycyclic(s2_3_5_ene_1) + polycyclic(s2_3_6_ene_1) + Estimated bicyclic component: polycyclic(s3_5_6_ane) - ring(Cyclohexane) - ring(Cyclopentane) + ring(Cyclohexene) + ring(Cyclopentene) - ring(Cyclopropane) - ring(Cyclopentene) - ring(Cyclohexene) + radical(cyclopentene-allyl) Non-identical thermo! ❌
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(1,4-Cyclohexadiene) + ring(124cyclohexatriene) Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Errors occurred during edge comparison
ERROR conda.cli.main_run:execute(148): `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)
|
| 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 original model has 2 reactions that the tested model does not have. ❌
rxn: HNO(48) + HCO(13) <=> NO(38) + CH2O(18) origin: H_Abstraction
rxn: HON(T)(83) + HCO(13) <=> NO(38) + CH2O(18) origin: Disproportionation
Non-identical kinetics! ❌
original:
rxn: NCO(66) <=> O1[C]=N1(126) origin: Intra_R_Add_Endocyclic
tested:
rxn: NCO(66) <=> O1[C]=N1(126) origin: Intra_R_Add_Endocyclic
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | -49.54 | -33.65 | -24.16 | -17.85 | -10.01 | -5.35 | 0.80 | 3.82 |
| k(T): | -66.25 | -46.19 | -34.19 | -26.21 | -16.28 | -10.36 | -2.54 | 1.31 |
kinetics: Arrhenius(A=(6.95187e+18,'s^-1'), n=-1.628, Ea=(88.327,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.""")
kinetics: Arrhenius(A=(6.95187e+18,'s^-1'), n=-1.628, Ea=(111.271,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.""")
Identical kinetics comments:
kinetics: Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.
Errors occurred during edge comparison ⚠️
ERROR conda.cli.main_run:execute(148): `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)
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:10
Current: Execution time (DD:HH:MM:SS): 00:00:01:30
Reference: Memory used: 791.47 MB
Current: Memory used: 791.33 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:29
Current: Execution time (DD:HH:MM:SS): 00:00:00:39
Reference: Memory used: 905.18 MB
Current: Memory used: 904.13 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(148): `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)
Details
Observables Test Case: SO2 ComparisonThe 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.
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 ❌
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
ERROR conda.cli.main_run:execute(148): conda run python rmgpy/tools/regression.py test/regression/sulfur/regression_input.py stable_regression_results/sulfur/chemkin test/regression/sulfur/chemkin failed. (See above for error)
Regression test superminimal:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:18
Current: Execution time (DD:HH:MM:SS): 00:00:00:23
Reference: Memory used: 981.75 MB
Current: Memory used: 963.61 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:20
Current: Execution time (DD:HH:MM:SS): 00:00:03:03
Reference: Memory used: 2424.16 MB
Current: Memory used: 2442.85 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:10:21
Current: Execution time (DD:HH:MM:SS): 00:00:29:56
Reference: Memory used: 2759.39 MB
Current: Memory used: 3510.45 MB
RMS_CSTR_liquid_oxidation Failed Core Comparison ❌
Original model has 35 species.
Test model has 35 species. ✅
Original model has 182 reactions.
Test model has 176 reactions. ❌
The original model has 3 species that the tested model does not have. ❌
spc: CCH2
spc: CC1CC(C)O1(96)
spc: C=CCC(C)OO(98)
The tested model has 3 species that the original model does not have. ❌
spc: CH3
spc: CCCC=O(88)
spc: [CH2]CCC(C)O(93)
The original model has 8 reactions that the tested model does not have. ❌
rxn: C[CH]CC(C)OO(34) <=> [OH](26) + CC1CC(C)O1(96) origin: Cyclic_Ether_Formation
rxn: C[CH2](6) + [CH2]CC(5) <=> pentane(2) origin: R_Recombination
rxn: oxygen(1) + C[CH]CC(C)OO(34) <=> [O]O(13) + C=CCC(C)OO(98) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(98) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(98) + pentane(2) origin: Disproportionation
rxn: CCCC(C)O[O](20) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(98) + CCCC(C)OO(24) origin: Disproportionation
rxn: CCC(CC)O[O](21) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(98) + CCC(CC)OO(25) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(98) + CCCCCOO(78) origin: Disproportionation
The tested model has 2 reactions that the original model does not have. ❌
rxn: CCCC(C)[O](44) <=> [CH2]CCC(C)O(93) origin: intra_H_migration
rxn: [CH3](10) + CCCC=O(88) <=> CCCC(C)[O](44) origin: R_Addition_MultipleBond
Errors occurred during core comparison ⚠️
ERROR conda.cli.main_run:execute(148): `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 Passed Edge Comparison ✅
Original model has 107 species.
Test model has 107 species. ✅
Original model has 545 reactions.
Test model has 545 reactions. ✅
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:24
Current: Execution time (DD:HH:MM:SS): 00:00:00:33
Reference: Memory used: 754.20 MB
Current: Memory used: 752.79 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:02:41
Current: Execution time (DD:HH:MM:SS): 00:00:03:29
Reference: Memory used: 2524.66 MB
Current: Memory used: 2563.81 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:25
Current: Execution time (DD:HH:MM:SS): 00:00:00:30
Reference: Memory used: 909.36 MB
Current: Memory used: 907.37 MB
minimal_surface Passed Core Comparison ✅
Original model has 11 species.
Test model has 11 species. ✅
Original model has 3 reactions.
Test model has 3 reactions. ✅
minimal_surface Passed Edge Comparison ✅
Original model has 38 species.
Test model has 38 species. ✅
Original model has 38 reactions.
Test model has 38 reactions. ✅
Details
Observables Test Case: minimal_surface Comparison✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions!
minimal_surface Passed Observable Testing ✅
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 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
/home/runner/work/RMG-Py/RMG-Py/rmgpy/tools/canteramodel.py:550: UserWarning: ReactorSurface::syncState: Behavior changed in Cantera 3.2 for consistency with ReactorBase. To set SurfPhase state from ReactorSurface object, use restoreState().
species_data.append(np.concatenate((cantera_reactor.thermo[species_names_list].X, rsurf.kinetics.coverages)))
beep boop this comment was written by a bot 🤖
bb36cab to
07ac049
Compare
|
@rwest today is the scheduled release date for RMG 4.0 - could you review the changelog? Also, I see these outstanding PRs:
The first one in this list seems like the only one we could consider merging before this release. |
|
#2706 has been approved, along with its database counterpart? |
|
oops missed that one (was just going on those with code changes more recent than this PR) - can we merge those two now? |
|
Please don't wait on me to rebase, approve, merge things. |
|
I think 2968 -> 2963 -> 2969 -> 2970 -> 2971 are a sequence, that may all be ready. @sevyharris broke them apart to facilitate review. |
|
I will spend the day shepherding these in! |
rwest
left a comment
There was a problem hiding this comment.
I made a few comments. I haven't read the changelog looking for omissions, just read what is there (not what is missing). Is everything discussed in the paper mentioned?
Should it be ordered by some sort of importance?
| To install a specific version of RMG, add the version to the install command:: | ||
|
|
||
| conda create --name rmg_33_env -c conda-forge -c rmg 'rmg==4.0.0.rc1' | ||
| conda create --name rmg_33_env -c conda-forge -c rmg 'rmg==4.0.0' |
There was a problem hiding this comment.
| conda create --name rmg_33_env -c conda-forge -c rmg 'rmg==4.0.0' | |
| conda create --name rmg4_env -c conda-forge -c rmg 'rmg==4.0.0' |
Environment name? Not sure what's best. rmg_env, rmg4env ? (I personally hate typing underscores!). Anyway, I doubt rmg_33_env is best.
Would want this to be consistent everywhere (I'm probably not going to check right now)
| - Removed deprecated `imp.load_source` calls and eliminated unreachable code segments | ||
|
|
||
| - New Features | ||
| - Introduced an auto-database feature and a new YAML file writer |
There was a problem hiding this comment.
If doing a bullet pointed list, why put these two very different things in one bullet point with an "and"?
|
|
||
| - New Features | ||
| - Introduced an auto-database feature and a new YAML file writer | ||
| - Introduced multi-part Uncertainty analysis suite, including covariance matrix exports and quadrature integration |
There was a problem hiding this comment.
@sevyharris is "quadrature integration" the right term here?
There was a problem hiding this comment.
For this bullet I would suggest:
"Extended uncertainty analysis suite to export covariance matrices, import detailed correlations from RMG libraries, and add uncertainties in quadrature."
| Date: June 10, 2026 | ||
|
|
||
| TODO: fill out | ||
| The below list is a summary. For a complete list of all changes, see the `Official RMG-Py Release Page <https://github.com/ReactionMechanismGenerator/RMG-Py/compare/3.3.0...4.0.0>`_. |
There was a problem hiding this comment.
I think this URL is wrong. Did we have a 3.3? there is no such tag?
Do we want
v3.2.1...release/v4.0.0
or something? (probably that is also wrong)
|
I think #2891 might be good too? |
Regression Testing Results
Detailed regression test results.Regression test aromatics:Reference: Execution time (DD:HH:MM:SS): 00:00:00:51 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(s3_5_5_ene_1) - ring(Cyclobutene) - ring(Cyclopentene) - ring(Cyclopentane) + 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_ene_1) + polycyclic(s3_5_6_diene_1_5) - ring(Cyclopropane) - ring(Cyclopentene) - ring(Cyclohexene) + 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-CsCsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsCsH) + group(Cs-(Cds-Cds)CsHH) + group(Cds- Cds(Cds-Cds)Cs) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + polycyclic(s2_3_5_ene_1) + polycyclic(s2_3_6_diene_1_3) + Estimated bicyclic component: polycyclic(s3_5_6_ane) - ring(Cyclohexane) - ring(Cyclopentane) + ring(1,3-Cyclohexadiene) + ring(Cyclopentene) - ring(Cyclopropane) - ring(Cyclopentene) - ring(1,3-Cyclohexadiene) + radical(cyclopentene-allyl) Non-identical thermo! ❌
Identical thermo comments: 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: Non-identical kinetics! ❌
kinetics: Non-identical kinetics! ❌
kinetics: Errors occurred during edge comparison
ERROR conda.cli.main_run:execute(148): `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)
|
| 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 in family Intra_R_Add_Endocyclic.""")
kinetics: Arrhenius(A=(6.95187e+18,'s^-1'), n=-1.628, Ea=(111.271,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.""")
Identical kinetics comments:
kinetics: Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.
Errors occurred during edge comparison ⚠️
ERROR conda.cli.main_run:execute(148): `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)
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:33
Current: Execution time (DD:HH:MM:SS): 00:00:01:34
Reference: Memory used: 794.14 MB
Current: Memory used: 797.06 MB
oxidation Passed Core Comparison ✅
Original model has 59 species.
Test model has 59 species. ✅
Original model has 694 reactions.
Test model has 694 reactions. ✅
oxidation Passed Edge Comparison ✅
Original model has 230 species.
Test model has 230 species. ✅
Original model has 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:36
Current: Execution time (DD:HH:MM:SS): 00:00:00:36
Reference: Memory used: 912.95 MB
Current: Memory used: 914.06 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(148): `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)
Details
Observables Test Case: SO2 ComparisonThe 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.
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 ❌
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
ERROR conda.cli.main_run:execute(148): conda run python rmgpy/tools/regression.py test/regression/sulfur/regression_input.py stable_regression_results/sulfur/chemkin test/regression/sulfur/chemkin failed. (See above for error)
Regression test superminimal:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:22
Current: Execution time (DD:HH:MM:SS): 00:00:00:23
Reference: Memory used: 954.34 MB
Current: Memory used: 958.63 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:39
Current: Execution time (DD:HH:MM:SS): 00:00:02:54
Reference: Memory used: 2530.77 MB
Current: Memory used: 2557.17 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:11:29
Current: Execution time (DD:HH:MM:SS): 00:00:41:55
Reference: Memory used: 2714.13 MB
Current: Memory used: 3458.33 MB
RMS_CSTR_liquid_oxidation Failed Core Comparison ❌
Original model has 35 species.
Test model has 35 species. ✅
Original model has 147 reactions.
Test model has 185 reactions. ❌
The original model has 5 species that the tested model does not have. ❌
spc: CCH2
spc: CCC([O])CC(41)
spc: CC[CH]CCOO(74)
spc: [CH2]CCCCOO(76)
spc: CC1CC(C)O1(87)
The tested model has 5 species that the original model does not have. ❌
spc: CH3
spc: CCCC(C)O(46)
spc: C=CC[CH]C(69)
spc: CCCC=O(94)
spc: [CH2]CCC(C)O(99)
The original model has 24 reactions that the tested model does not have. ❌
rxn: [O]O(13) + CCC(CC)O[O](22) <=> oxygen(1) + [OH](24) + CCC([O])CC(41) origin: Peroxyl_Disproportionation
rxn: CCC(CC)O[O](22) + CCC(CC)O[O](22) <=> oxygen(1) + CCC([O])CC(41) + CCC([O])CC(41) origin: Peroxyl_Disproportionation
rxn: CCC(CC)O[O](22) + CCCC(C)O[O](21) <=> oxygen(1) + CCC([O])CC(41) + CCCC(C)[O](44) origin: Peroxyl_Disproportionation
rxn: [OH](24) + CCC([O])CC(41) <=> CCC(CC)OO(27) origin: R_Recombination
rxn: CCC(CC)OO(27) + CCC(CC)OO(27) <=> H2O(42) + CCC([O])CC(41) + CCC(CC)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(27) + CCCC(C)OO(26) <=> H2O(42) + CCC([O])CC(41) + CCCC(C)O[O](21) 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: C[CH]CC(C)OO(37) <=> [OH](24) + CC1CC(C)O1(87) origin: Cyclic_Ether_Formation
rxn: CCCCCO[O](61) <=> [CH2]CCCCOO(76) origin: intra_H_migration
rxn: [O]O(13) + [CH2]CCCCOO(76) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + [CH2]CCCCOO(76) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(76) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + [CH2]CCCCOO(76) origin: H_Abstraction
rxn: [CH2]CCCC(12) + [CH2]CCCCOO(76) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCCOO(76) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: CC[CH]CCOO(74) <=> CCCCCO[O](61) origin: intra_H_migration
rxn: [O]O(13) + CC[CH]CCOO(74) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + CC[CH]CCOO(74) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CCOO(74) + CCCC(C)OO(26) <=> CCCC(C)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CC[CH]CCOO(74) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CC[CH]CCOO(74) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]CCOO(74) <=> C=CCCC(17) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH2](6) + [CH2]CC(5) <=> pentane(2) origin: R_Recombination
The tested model has 62 reactions that the original model does not have. ❌
rxn: oxygen(1) + H2O(42) <=> [OH](24) + [O]O(13) origin: H_Abstraction
rxn: [OH](24) + OO(23) <=> [O]O(13) + H2O(42) origin: H_Abstraction
rxn: [OH](24) + [CH2]CCCC(12) <=> H2O(42) + C=CCCC(18) origin: Disproportionation
rxn: [OH](24) + C[CH]CCC(11) <=> H2O(42) + C=CCCC(18) origin: Disproportionation
rxn: CCCC(C)[O](41) <=> [CH2]CCC(C)O(99) origin: intra_H_migration
rxn: [CH3](10) + CCCC=O(94) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](41) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)O(46) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)[O](41) <=> oxygen(1) + CCCC(C)O(46) origin: H_Abstraction
rxn: C[CH]CCC(11) + CCCC(C)[O](41) <=> C=CCCC(18) + CCCC(C)O(46) origin: Disproportionation
rxn: CCCC(C)[O](41) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCC(C)O(46) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCC(C)[O](41) <=> C=CCCC(18) + CCCC(C)O(46) origin: Disproportionation
rxn: H2O(42) + C=CCCC(18) <=> CCCC(C)O(46) origin: 1,3_Insertion_ROR
rxn: [OH](24) + CCCC(C)O(46) <=> H2O(42) + CCCC(C)[O](41) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(46) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)O(46) <=> OO(23) + CCCC(C)[O](41) origin: H_Abstraction
rxn: [O]O(13) + C=CC[CH]C(69) <=> oxygen(1) + C=CCCC(18) origin: H_Abstraction
rxn: OO(23) + C=CC[CH]C(69) <=> [O]O(13) + C=CCCC(18) origin: H_Abstraction
rxn: C=CC[CH]C(69) + [CH2]CCCC(12) <=> C=CCCC(18) + C=CCCC(18) origin: Disproportionation
rxn: C=CC[CH]C(69) + C[CH]CCC(11) <=> C=CCCC(18) + C=CCCC(18) origin: Disproportionation
rxn: C=CCCC(18) + CC[CH]CC(7) <=> C=CC[CH]C(69) + pentane(2) origin: H_Abstraction
rxn: C=CC[CH]C(69) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: C=CC[CH]C(69) + CCCC(C)OO(27) <=> C=CCCC(18) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: C=CC[CH]C(69) + CCC(CC)OO(26) <=> C=CCCC(18) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: C=CCCC(18) + [CH2]CCCC(12) <=> C=CC[CH]C(69) + pentane(2) origin: H_Abstraction
rxn: C=CC[CH]C(69) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> H2O(42) + C=CC[CH]C(69) origin: H_Abstraction
rxn: C=CC[CH]C(69) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](41) <=> C=CC[CH]C(69) + CCCC(C)O(46) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCC(C)O[O](22) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: CC[CH]CC(7) + CCC(CC)O[O](21) <=> CC=CCC(16) + CCC(CC)OO(26) origin: Disproportionation
rxn: CC[CH]CC(7) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(34) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)[O](41) <=> CC=CCC(16) + CCCC(C)O(46) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)O[O](22) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC(CC)O[O](21) <=> CC=CCC(16) + CCC(CC)OO(26) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(34) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](41) <=> CC=CCC(16) + CCCC(C)O(46) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + pentane(2) origin: Disproportionation
rxn: CCCC(C)O[O](22) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCC(CC)O[O](21) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](41) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCC(C)O(46) origin: Disproportionation
rxn: [CH2]CC(CC)OO(38) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCC(CC)OO(26) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCC(CC)OO(26) <=> [CH2]CC(CC)OO(38) + CCCC(C)O(46) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> C[CH]CCCOO(65) + CCCC(C)O(46) origin: H_Abstraction
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + [OH](24) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)[O](41) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC[O](79) + CCCCC[O](79) origin: Peroxyl_Disproportionation
Errors occurred during core comparison ⚠️
ERROR conda.cli.main_run:execute(148): `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 99 species.
Test model has 112 species. ❌
Original model has 384 reactions.
Test model has 554 reactions. ❌
The tested model has 13 species that the original model does not have. ❌
spc: [O]OOO(20)
spc: [O]OO(28)
spc: CCCC(C)OOOO
spc: CCC(CC)OOOO
spc: CCCCCOOOO
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 tested model has 170 reactions that the original model does not have. ❌
rxn: oxygen(1) + H2O(42) <=> [OH](24) + [O]O(13) origin: H_Abstraction
rxn: [OH](24) + OO(23) <=> [O]O(13) + H2O(42) origin: H_Abstraction
rxn: [OH](24) + [CH2]CCCC(12) <=> H2O(42) + C=CCCC(18) origin: Disproportionation
rxn: [OH](24) + C[CH]CCC(11) <=> H2O(42) + C=CCCC(18) origin: Disproportionation
rxn: [O]O(13) + CCCC(C)[O](41) <=> oxygen(1) + CCCC(C)O(46) origin: H_Abstraction
rxn: C[CH]CCC(11) + CCCC(C)[O](41) <=> C=CCCC(18) + CCCC(C)O(46) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCCC(C)[O](41) <=> C=CCCC(18) + CCCC(C)O(46) origin: Disproportionation
rxn: H2O(42) + C=CCCC(18) <=> CCCC(C)O(46) origin: 1,3_Insertion_ROR
rxn: [OH](24) + CCCC(C)O(46) <=> H2O(42) + CCCC(C)[O](41) origin: H_Abstraction
rxn: [O]O(13) + CCCC(C)O(46) <=> OO(23) + CCCC(C)[O](41) origin: H_Abstraction
rxn: C=CCCC(18) + CC[CH]CC(7) <=> C=CC[CH]C(69) + pentane(2) origin: H_Abstraction
rxn: C=CC[CH]C(69) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: C=CC[CH]C(69) + CCCC(C)OO(27) <=> C=CCCC(18) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: C=CC[CH]C(69) + CCC(CC)OO(26) <=> C=CCCC(18) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: C=CCCC(18) + [CH2]CCCC(12) <=> C=CC[CH]C(69) + pentane(2) origin: H_Abstraction
rxn: C=CC[CH]C(69) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> H2O(42) + C=CC[CH]C(69) origin: H_Abstraction
rxn: C=CC[CH]C(69) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](41) <=> C=CC[CH]C(69) + CCCC(C)O(46) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCC(C)O[O](22) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: CC[CH]CC(7) + CCC(CC)O[O](21) <=> CC=CCC(16) + CCC(CC)OO(26) origin: Disproportionation
rxn: CC[CH]CC(7) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(34) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)[O](41) <=> CC=CCC(16) + CCCC(C)O(46) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)O[O](22) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC(CC)O[O](21) <=> CC=CCC(16) + CCC(CC)OO(26) origin: Disproportionation
rxn: C[CH]CCC(11) + [CH2]CCCC(12) <=> CC=CCC(16) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> CC=CCC(16) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(34) <=> CC=CCC(16) + CCCC(C)OO(27) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](41) <=> CC=CCC(16) + CCCC(C)O(46) origin: Disproportionation
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + pentane(2) origin: Disproportionation
rxn: CCCC(C)O[O](22) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCC(CC)O[O](21) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](41) + C[CH]CC(C)OO(34) <=> CC=CC(C)OO(88) + CCCC(C)O(46) origin: Disproportionation
rxn: [CH2]CC(CC)OO(38) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCC(CC)OO(26) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> C[CH]CCCOO(65) + pentane(2) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + [OH](24) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)[O](41) + 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: oxygen(1) + [O]O(13) <=> [O]OOO(20) origin: R_Recombination
rxn: [O]OO(28) + [O]OO(28) <=> oxygen(1) + [O]O(13) + [O]O(13) origin: Peroxyl_Disproportionation
rxn: oxygen(1) + CCCC(C)O[O](22) <=> CCCC(C)OOO[O](39) origin: R_Recombination
rxn: oxygen(1) + CCC(CC)O[O](21) <=> CCC(CC)OOO[O](40) origin: R_Recombination
rxn: [O]OO(28) + CCCC(C)OO[O](48) <=> oxygen(1) + [O]O(13) + CCCC(C)O[O](22) origin: Peroxyl_Disproportionation
rxn: [O]OO(28) + CCC(CC)OO[O](49) <=> oxygen(1) + [O]O(13) + CCC(CC)O[O](21) origin: Peroxyl_Disproportionation
rxn: oxygen(1) + CCCCCO[O](61) <=> CCCCCOOO[O](77) origin: R_Recombination
rxn: oxygen(1) + [OH](24) <=> [O]OO(28) origin: R_Recombination
rxn: H(8) + [OH](24) <=> H2O(42) origin: R_Recombination
rxn: [O]O(13) + CCCCCO[O](61) <=> oxygen(1) + H2O(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](41) <=> OO(23) + CCCC(C)=O(31) origin: Disproportionation
rxn: [O]O(13) + CCCC(C)[O](41) <=> CCCC(C)OOO(102) origin: R_Recombination
rxn: C=CCCC(18) + CC[CH]CC(7) <=> [CH2]C=CCC(71) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + pentane(2) <=> C=CCCC(18) + CC[CH]CC(7) origin: H_Abstraction
rxn: C=[C]CCC(73) + pentane(2) <=> C=CCCC(18) + CC[CH]CC(7) origin: H_Abstraction
rxn: [CH]=CCCC(74) + pentane(2) <=> C=CCCC(18) + CC[CH]CC(7) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CC(7) + CCCCCOO(78) <=> CCCC[CH]OO(84) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + pentane(2) <=> CC[CH]CC(7) + CCCCCOO(78) origin: H_Abstraction
rxn: CC[CH]CC(7) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + pentane(2) origin: Disproportionation
rxn: CC[CH]CC(7) + CCCC(C)[O](41) <=> CCCC(C)=O(31) + pentane(2) origin: Disproportionation
rxn: C=CCCC(18) + C[CH]CCC(11) <=> [CH2]C=CCC(71) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: C=[C]CCC(73) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: [CH]=CCCC(74) + pentane(2) <=> C=CCCC(18) + C[CH]CCC(11) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + pentane(2) <=> C[CH]CCC(11) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCC(11) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + pentane(2) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC(C)[O](41) <=> CCCC(C)=O(31) + pentane(2) origin: Disproportionation
rxn: CCCC(C)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCC(C)=O(31) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CCCC(C)O[O](22) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCCC(C)O(46) origin: Peroxyl_Termination
rxn: C=CCCC(18) + CCCC(C)O[O](22) <=> [CH2]C=CCC(71) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCCC(C)OO(27) <=> C=CCCC(18) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)OO(27) <=> C=CCCC(18) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)OO(27) <=> C=CCCC(18) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: CCCC(C)O[O](22) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCCC(C)[O](41) + CCCC(C)O[O](22) <=> CCCC(C)=O(31) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCC([O])CC(44) + CCCCC[O](79) origin: Peroxyl_Disproportionation
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCC(=O)CC(36) + CCCCCO(103) origin: Peroxyl_Termination
rxn: CCC(CC)O[O](21) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCC(O)CC(47) origin: Peroxyl_Termination
rxn: C=CCCC(18) + CCC(CC)O[O](21) <=> [CH2]C=CCC(71) + CCC(CC)OO(26) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCC(CC)OO(26) <=> C=CCCC(18) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCC(CC)OO(26) <=> C=CCCC(18) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCC(CC)OO(26) <=> C=CCCC(18) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC(CC)O[O](21) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + CCC(CC)OO(26) origin: Disproportionation
rxn: CCCC(C)[O](41) + CCC(CC)O[O](21) <=> CCCC(C)=O(31) + CCC(CC)OO(26) origin: Disproportionation
rxn: C[CH]CC(C)OO(34) + CCC(CC)OO(26) <=> CC[C](CC)OO(52) + CCCC(C)OO(27) origin: H_Abstraction
rxn: C[CH]C(CC)OO(37) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCC(CC)OO(26) origin: H_Abstraction
rxn: C[CH]CC(C)OO(34) + CCCC(C)OO(27) <=> CCC[C](C)OO(57) + CCCC(C)OO(27) origin: H_Abstraction
rxn: CC[CH]C(C)OO(32) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]C(CCC)OO(33) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCC(C)OO(35) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCC(C)OO(27) origin: H_Abstraction
rxn: C=CCCC(18) + [CH2]CCCC(12) <=> [CH2]C=CCC(71) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + pentane(2) <=> C=CCCC(18) + [CH2]CCCC(12) origin: H_Abstraction
rxn: C=[C]CCC(73) + pentane(2) <=> C=CCCC(18) + [CH2]CCCC(12) origin: H_Abstraction
rxn: [CH]=CCCC(74) + pentane(2) <=> C=CCCC(18) + [CH2]CCCC(12) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CC[CH]CCOO(64) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CCC[CH]COO(63) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCOO(78) <=> CCCC[CH]OO(84) + pentane(2) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + pentane(2) <=> [CH2]CCCC(12) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCC(C)[O](41) <=> CCCC(C)=O(31) + pentane(2) origin: Disproportionation
rxn: CCCCCO[O](61) + CCCCCO[O](61) <=> oxygen(1) + CCCCC=O(62) + CCCCCO(103) origin: Peroxyl_Termination
rxn: C=CCCC(18) + CCCCCO[O](61) <=> [CH2]C=CCC(71) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCCCOO(78) <=> C=CCCC(18) + CCCCCO[O](61) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCCCO[O](61) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](41) + CCCCCO[O](61) <=> CCCC(C)=O(31) + CCCCCOO(78) origin: Disproportionation
rxn: [OH](24) + C=CCCC(18) <=> H2O(42) + [CH2]C=CCC(71) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> H2O(42) + [CH2]CCC=C(72) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> H2O(42) + C=[C]CCC(73) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> H2O(42) + [CH]=CCCC(74) origin: H_Abstraction
rxn: [OH](24) + C=CCCC(18) <=> [CH2]C(O)CCC(97) origin: R_Addition_MultipleBond
rxn: [OH](24) + C=CCCC(18) <=> CCC[CH]CO(104) origin: R_Addition_MultipleBond
rxn: H2O(42) + C=CCCC(18) <=> CCCCCO(103) origin: 1,3_Insertion_ROR
rxn: C=CCCC(18) + C[CH]CC(C)OO(34) <=> [CH2]C=CCC(71) + CCCC(C)OO(27) origin: H_Abstraction
rxn: [CH2]CCC=C(72) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)OO(27) <=> C=CCCC(18) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](41) <=> [CH2]C=CCC(71) + CCCC(C)O(46) origin: H_Abstraction
rxn: C=CCCC(18) + CCCC(C)[O](41) <=> [CH2]CCC=C(72) + CCCC(C)O(46) origin: H_Abstraction
rxn: C=[C]CCC(73) + CCCC(C)O(46) <=> C=CCCC(18) + CCCC(C)[O](41) origin: H_Abstraction
rxn: [CH]=CCCC(74) + CCCC(C)O(46) <=> C=CCCC(18) + CCCC(C)[O](41) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)[O](41) <=> H2O(42) + CCCC(C)=O(31) origin: Disproportionation
rxn: CC[CH]CCOO(64) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC(C)[O](41) + C[CH]CC(C)OO(34) <=> CCCC(C)=O(31) + CCCC(C)OO(27) origin: Disproportionation
rxn: CCCC(C)[O](41) + C[CH]CC(C)OO(34) <=> C=CCC(C)OO(89) + CCCC(C)O(46) origin: Disproportionation
rxn: CCCC(C)[O](41) + CCCC(C)[O](41) <=> CCCC(C)=O(31) + CCCC(C)O(46) origin: Disproportionation
rxn: [O]OO(28) + CCCC(C)O[O](22) <=> oxygen(1) + [O]O(13) + CCCC(C)[O](41) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + CCCC(C)OO[O](48) <=> oxygen(1) + CCCC(C)[O](41) + CCCC(C)O[O](22) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + CCC(CC)OO[O](49) <=> oxygen(1) + CCCC(C)[O](41) + CCC(CC)O[O](21) origin: Peroxyl_Disproportionation
rxn: CCCC(C)O[O](22) + CCCCCOO[O](105) <=> oxygen(1) + CCCC(C)[O](41) + CCCCCO[O](61) origin: Peroxyl_Disproportionation
rxn: OO(23) + OOO(106) <=> [O]O(13) + [O]O(13) + H2O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OOO(106) + CCCC(C)OO(27) <=> [O]O(13) + H2O(42) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OOO(102) <=> [O]O(13) + H2O(42) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OOO(106) + CCC(CC)OO(26) <=> [O]O(13) + H2O(42) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OOO(107) <=> [O]O(13) + H2O(42) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OOO(106) + CCCCCOO(78) <=> [O]O(13) + H2O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCCCOOO(108) <=> [O]O(13) + H2O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(27) + CCCC(C)OOO(102) <=> H2O(42) + CCCC(C)O[O](22) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(26) + CCCC(C)OOO(102) <=> H2O(42) + CCC(CC)O[O](21) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(27) + CCC(CC)OOO(107) <=> H2O(42) + CCC(CC)O[O](21) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCC(C)OOO(102) <=> H2O(42) + CCCC(C)O[O](22) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)OO(27) + CCCCCOOO(108) <=> H2O(42) + CCCC(C)O[O](22) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(26) + CCC(CC)OOO(107) <=> H2O(42) + CCC(CC)O[O](21) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCC(CC)OOO(107) <=> H2O(42) + CCC(CC)O[O](21) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCC(CC)OO(26) + CCCCCOOO(108) <=> H2O(42) + CCC(CC)O[O](21) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCCCOO(78) + CCCCCOOO(108) <=> H2O(42) + CCCCCO[O](61) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
Errors occurred during edge comparison ⚠️
ERROR conda.cli.main_run:execute(148): `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)
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:30
Current: Execution time (DD:HH:MM:SS): 00:00:00:33
Reference: Memory used: 758.15 MB
Current: Memory used: 757.69 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:06
Current: Execution time (DD:HH:MM:SS): 00:00:03:20
Reference: Memory used: 2538.03 MB
Current: Memory used: 2541.56 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:29
Current: Execution time (DD:HH:MM:SS): 00:00:00:29
Reference: Memory used: 916.68 MB
Current: Memory used: 915.69 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 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
/home/runner/work/RMG-Py/RMG-Py/rmgpy/tools/canteramodel.py:550: UserWarning: ReactorSurface::syncState: Behavior changed in Cantera 3.2 for consistency with ReactorBase. To set SurfPhase state from ReactorSurface object, use restoreState().
species_data.append(np.concatenate((cantera_reactor.thermo[species_names_list].X, rsurf.kinetics.coverages)))
beep boop this comment was written by a bot 🤖
@JacksonBurns All the PRs I intended for RMG 4 have been merged in (#2959 and ReactionMechanismGenerator/RMG-database#730 were the last). My apologies for any confusion caused by the new set of PRs! I should've put it in the title that they're not part of the 4.0.0 deadline. As for #2968, it's ready and could be snuck in ahead of the 4.0.0 release, but it's okay if it isn't. |
|
Sorry - my mistake. |
| - Introduced multi-part Uncertainty analysis suite, including covariance matrix exports and quadrature integration | ||
| - Added comprehensive surface sensitivity features for `SurfaceReactor` | ||
| - Added support for coverage-dependent thermochemistry and kinetics for surface catalysis | ||
| - Added an Arkane xTB Electronic Structure Software (ESS) adapter |
There was a problem hiding this comment.
Sorry I totally forgot about this until reading through here, but we never merged the atom energy corrections for xtB: ReactionMechanismGenerator/RMG-database#721
The adapter can read xTB files without it, but if someone tries to compute the thermo, the enthalpies will be way off.
I'm not sure how many people will actually try to get NASA polynomials out of xTB because it's not very accurate, but this is a tiny PR and it's ready to go.

Official release of RMG-Py v4.0.0 coinciding with the upcoming manuscript.
Pair PR on RMG-database: ReactionMechanismGenerator/RMG-database#733