Handle van der Waals bonds in binding energy correction#2988
Conversation
correct_binding_energy walks each surface site to apply the linear scaling relationship, but assumed every bonded site had a covalent (single/double/triple/quadruple) bond. A physisorbed site is attached by a van der Waals bond of order 0.0, which fell through to the else branch and raised NotImplementedError. This crashed RMG whenever a family such as Surface_Dissociation_vdWBidentate_Beta produced a vdW-bonded species (e.g. [Pt]~[O]=C[O][Pt]), as reported in ReactionMechanismGenerator#2987. A van der Waals contact is not covalently bound to the surface, so it correctly contributes nothing to the LSR correction (bond order 0). This mirrors the existing vdW handling in Molecule.desorb_molecule. Closes ReactionMechanismGenerator#2987 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Regression Testing Results
Detailed regression test results.Regression test aromatics:Reference: Execution time (DD:HH:MM:SS): 00:00:00:53 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_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-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)(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 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: 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)
|
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | 8.02 | 7.64 | 7.35 | 7.11 | 6.75 | 6.48 | 5.99 | 5.64 |
| k(T): | 3.54 | 4.28 | 4.73 | 5.02 | 5.39 | 5.62 | 5.91 | 6.06 |
kinetics: Arrhenius(A=(3.18266e+20,'cm^3/(mol*s)'), n=-2.694, Ea=(-0.265,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing in family Peroxyl_Disproportionation.""")
kinetics: Arrhenius(A=(3.2e+12,'cm^3/(mol*s)'), n=0, Ea=(4.064,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R in family Peroxyl_Disproportionation.""")
kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing in family Peroxyl_Disproportionation.
kinetics: Estimated from node Root_Ext-5R-R_7R!H->C_N-7C-inRing_Ext-5R-R in family Peroxyl_Disproportionation.
Errors occurred during edge comparison ⚠️
ERROR conda.cli.main_run:execute(148): `conda run python scripts/checkModels.py liquid_oxidation-edge stable_regression_results/liquid_oxidation/chemkin/chem_edge_annotated.inp stable_regression_results/liquid_oxidation/chemkin/species_edge_dictionary.txt test/regression/liquid_oxidation/chemkin/chem_edge_annotated.inp test/regression/liquid_oxidation/chemkin/species_edge_dictionary.txt` failed. (See above for error)
liquid_oxidation Passed Observable Testing ✅
Regression test nitrogen:
Reference: Execution time (DD:HH:MM:SS): 00:00:01:01
Current: Execution time (DD:HH:MM:SS): 00:00:00:56
Reference: Memory used: 912.23 MB
Current: Memory used: 916.63 MB
nitrogen Passed Core Comparison ✅
Original model has 41 species.
Test model has 41 species. ✅
Original model has 360 reactions.
Test model has 360 reactions. ✅
nitrogen Failed Edge Comparison ❌
Original model has 133 species.
Test model has 133 species. ✅
Original model has 983 reactions.
Test model has 983 reactions. ✅
Non-identical thermo! ❌
original: O1[C]=N1
tested: O1[C]=N1
| Hf(300K) | S(300K) | Cp(300K) | Cp(400K) | Cp(500K) | Cp(600K) | Cp(800K) | Cp(1000K) | Cp(1500K) |
|---|---|---|---|---|---|---|---|---|
| 116.46 | 53.90 | 11.62 | 12.71 | 13.49 | 13.96 | 14.14 | 13.85 | 13.58 |
| 141.64 | 58.66 | 12.26 | 12.27 | 12.09 | 11.96 | 12.26 | 12.72 | 12.15 |
thermo: Thermo group additivity estimation: group(O2s-CdN3d) + group(N3d-OCd) + group(Cd-HN3dO) + ring(Cyclopropene) + radical(CdJ-NdO)
thermo: Thermo group additivity estimation: group(O2s-CdN3d) + group(N3d-OCd) + group(Cd-HN3dO) + ring(oxirene) + radical(CdJ-NdO)
Non-identical kinetics! ❌
original:
rxn: NCO(66) <=> O1[C]=N1(126) origin: Intra_R_Add_Endocyclic
tested:
rxn: NCO(66) <=> O1[C]=N1(126) origin: Intra_R_Add_Endocyclic
| k(1bar) | 300K | 400K | 500K | 600K | 800K | 1000K | 1500K | 2000K |
|---|---|---|---|---|---|---|---|---|
| k(T): | -49.54 | -33.65 | -24.16 | -17.85 | -10.01 | -5.35 | 0.80 | 3.82 |
| k(T): | -66.25 | -46.19 | -34.19 | -26.21 | -16.28 | -10.36 | -2.54 | 1.31 |
kinetics: Arrhenius(A=(6.95187e+18,'s^-1'), n=-1.628, Ea=(88.327,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.""")
kinetics: Arrhenius(A=(6.95187e+18,'s^-1'), n=-1.628, Ea=(111.271,'kcal/mol'), T0=(1,'K'), comment="""Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.""")
Identical kinetics comments:
kinetics: Estimated from node Backbone0_N-2R!H-inRing_N-1R!H-inRing_Sp-2R!H-1R!H in family Intra_R_Add_Endocyclic.
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)
nitrogen Passed Observable Testing ✅
Regression test oxidation:
Reference: Execution time (DD:HH:MM:SS): 00:00:01:35
Current: Execution time (DD:HH:MM:SS): 00:00:01:31
Reference: Memory used: 795.91 MB
Current: Memory used: 797.98 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. ✅
oxidation Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
WARNING: Initial mole fractions do not sum to one; normalizing.
Regression test sulfur:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:38
Current: Execution time (DD:HH:MM:SS): 00:00:00:35
Reference: Memory used: 912.06 MB
Current: Memory used: 909.76 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)
sulfur Passed Observable Testing ✅
Regression test superminimal:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:24
Current: Execution time (DD:HH:MM:SS): 00:00:00:23
Reference: Memory used: 974.66 MB
Current: Memory used: 973.07 MB
superminimal Passed Core Comparison ✅
Original model has 13 species.
Test model has 13 species. ✅
Original model has 21 reactions.
Test model has 21 reactions. ✅
superminimal Passed Edge Comparison ✅
Original model has 18 species.
Test model has 18 species. ✅
Original model has 28 reactions.
Test model has 28 reactions. ✅
Regression test RMS_constantVIdealGasReactor_superminimal:
Reference: Execution time (DD:HH:MM:SS): 00:00:03:07
Current: Execution time (DD:HH:MM:SS): 00:00:02:51
Reference: Memory used: 2463.44 MB
Current: Memory used: 2489.63 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. ✅
RMS_constantVIdealGasReactor_superminimal Passed Observable Testing ✅
Regression test RMS_CSTR_liquid_oxidation:
Reference: Execution time (DD:HH:MM:SS): 00:00:10:13
Current: Execution time (DD:HH:MM:SS): 00:00:21:30
Reference: Memory used: 2748.78 MB
Current: Memory used: 2689.77 MB
RMS_CSTR_liquid_oxidation Failed Core Comparison ❌
Original model has 35 species.
Test model has 35 species. ✅
Original model has 116 reactions.
Test model has 140 reactions. ❌
The original model has 4 species that the tested model does not have. ❌
spc: CCH2
spc: C=CC(19)
spc: CC[CH]CCOO(64)
spc: C=CCC(C)OO(89)
The tested model has 4 species that the original model does not have. ❌
spc: [CH2]CC(5)
spc: CH3
spc: CC=O(93)
spc: [CH2]CCC(C)O(99)
The original model has 4 reactions that the tested model does not have. ❌
rxn: oxygen(1) + C[CH]CC(C)OO(34) <=> [O]O(13) + C=CCC(C)OO(89) origin: Disproportionation
rxn: CC[CH]CCOO(64) <=> CCCCCO[O](61) origin: intra_H_migration
rxn: [O]O(13) + CC[CH]CCOO(64) <=> oxygen(1) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCC(11) <=> C[CH2](6) + C=CC(19) origin: R_Addition_MultipleBond
The tested model has 28 reactions that the original model does not have. ❌
rxn: OO(23) + CCCCCO[O](61) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCO[O](61) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [O]O(13) + [CH2]CCCC(12) <=> OO(23) + C=CCCC(18) origin: Disproportionation
rxn: CC=O(93) + [CH2]CC(5) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
rxn: [OH](24) + CCC(CC)OO(26) <=> H2O(42) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: OO(23) + CCC(CC)OO(26) <=> [OH](24) + H2O(42) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCCC(C)OO(27) <=> H2O(42) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(27) <=> H2O(42) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: OO(23) + CCCC(C)OO(27) <=> [OH](24) + H2O(42) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(27) <=> [O]O(13) + H2O(42) + CCCC(C)[O](41) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CCCCCO[O](61) origin: H_Abstraction
rxn: OO(23) + CCCCCOO(78) <=> [OH](24) + H2O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + OO(23) <=> [OH](24) + [O]O(13) + H2O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)[O](41) <=> [CH2]CCC(C)O(99) origin: intra_H_migration
rxn: [OH](24) + CCC(CC)OO(26) <=> H2O(42) + [CH2]CC(CC)OO(38) origin: H_Abstraction
rxn: OO(23) + CCCCCOO(78) <=> [O]O(13) + H2O(42) + CCCCC[O](79) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OO(26) <=> [O]O(13) + H2O(42) + CCC([O])CC(44) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + C[CH]CCCOO(65) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + C[CH]CCCOO(65) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]CCCOO(65) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CCCOO(65) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: OO(23) + [CH2]CCCCOO(66) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + [CH2]CCCCOO(66) 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
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 90 species.
Test model has 99 species. ❌
Original model has 306 reactions.
Test model has 384 reactions. ❌
The tested model has 9 species that the original model does not have. ❌
spc: CCCCO
spc: CCC(C)O
spc: CC=O(93)
spc: CCCC=O(94)
spc: CCCCO(95)
spc: CC[CH]C(C)O(96)
spc: [CH2]C(O)CCC(97)
spc: C[CH]CC(C)O(98)
spc: [CH2]CCC(C)O(99)
The original model has 1 reactions that the tested model does not have. ❌
rxn: H(8) + [OH](25) <=> H2O(42) origin: R_Recombination
The tested model has 79 reactions that the original model does not have. ❌
rxn: OO(23) + CCCCCO[O](61) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CCCCCO[O](61) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCCCO[O](61) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [O]O(13) + [CH2]CCCC(12) <=> OO(23) + C=CCCC(18) origin: Disproportionation
rxn: CC=O(93) + [CH2]CC(5) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
rxn: [OH](24) + CCC(CC)OO(26) <=> H2O(42) + CCC(CC)O[O](21) origin: H_Abstraction
rxn: OO(23) + CCC(CC)OO(26) <=> [OH](24) + H2O(42) + CCC(CC)O[O](21) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCCC(C)OO(27) <=> H2O(42) + CCCC(C)O[O](22) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(27) <=> H2O(42) + C[CH]CC(C)OO(34) origin: H_Abstraction
rxn: OO(23) + CCCC(C)OO(27) <=> [OH](24) + H2O(42) + CCCC(C)O[O](22) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCCC(C)OO(27) <=> [O]O(13) + H2O(42) + CCCC(C)[O](41) origin: Bimolec_Hydroperoxide_Decomposition
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CCCCCO[O](61) origin: H_Abstraction
rxn: OO(23) + CCCCCOO(78) <=> [OH](24) + H2O(42) + CCCCCO[O](61) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + OO(23) <=> [OH](24) + [O]O(13) + H2O(42) origin: Bimolec_Hydroperoxide_Decomposition
rxn: CCCC(C)[O](41) <=> [CH2]CCC(C)O(99) origin: intra_H_migration
rxn: [OH](24) + CCC(CC)OO(26) <=> H2O(42) + [CH2]CC(CC)OO(38) origin: H_Abstraction
rxn: OO(23) + CCCCCOO(78) <=> [O]O(13) + H2O(42) + CCCCC[O](79) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + CCC(CC)OO(26) <=> [O]O(13) + H2O(42) + CCC([O])CC(44) origin: Bimolec_Hydroperoxide_Decomposition
rxn: OO(23) + C[CH]CCCOO(65) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: C[CH]CCCOO(65) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + C[CH]CCCOO(65) origin: H_Abstraction
rxn: [CH2]CCCC(12) + C[CH]CCCOO(65) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + C[CH]CCCOO(65) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: OO(23) + [CH2]CCCCOO(66) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [CH2]CCCCOO(66) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + [CH2]CCCCOO(66) 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(S)(3) + CCCC[O](91) <=> CCCC(C)[O](41) origin: 1,2_Insertion_carbene
rxn: CH2(S)(3) + CCC(C)[O](92) <=> CCCC(C)[O](41) origin: 1,2_Insertion_carbene
rxn: CH2(S)(3) + CCC(C)[O](92) <=> CCCC(C)[O](41) origin: 1,2_Insertion_carbene
rxn: H(8) + CCCC(C)=O(31) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
rxn: [CH3](10) + CCCC=O(94) <=> CCCC(C)[O](41) origin: R_Addition_MultipleBond
rxn: CCCC(C)[O](41) <=> CCC[C](C)O(95) origin: intra_H_migration
rxn: CC[CH]C(C)O(96) <=> CCCC(C)[O](41) origin: intra_H_migration
rxn: CCCC(C)[O](41) <=> [CH2]C(O)CCC(97) origin: intra_H_migration
rxn: CCCC(C)[O](41) <=> C[CH]CC(C)O(98) origin: intra_H_migration
rxn: oxygen(1) + CCCC(C)[O](41) <=> [O]O(13) + CCCC(C)=O(31) origin: Disproportionation
rxn: oxygen(1) + CCCC(C)[O](41) <=> CCCC(C)OO[O](48) origin: R_Recombination
rxn: CCCC(C)[O](41) + pentane(2) <=> CC[CH]CC(7) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + pentane(2) <=> C[CH]CCC(11) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + pentane(2) <=> [CH2]CCCC(12) + CCCC(C)O(46) origin: H_Abstraction
rxn: OO(23) + CC[CH]CCOO(64) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: OO(23) + CCC[CH]COO(63) <=> [O]O(13) + CCCCCOO(78) origin: H_Abstraction
rxn: [O]O(13) + CCCCCOO(78) <=> OO(23) + CCCC[CH]OO(84) origin: H_Abstraction
rxn: CC[CH]CCOO(64) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: CCC[CH]COO(63) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: CCCC[CH]OO(84) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCCCOO(78) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(26) <=> H2O(42) + CC[C](CC)OO(52) origin: H_Abstraction
rxn: [OH](24) + CCC(CC)OO(26) <=> H2O(42) + C[CH]C(CC)OO(37) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCC(CC)OO(26) <=> CCC(CC)O[O](21) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCC(CC)OO(26) <=> CC[C](CC)OO(52) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCC(CC)OO(26) <=> C[CH]C(CC)OO(37) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCC(CC)OO(26) <=> [CH2]CC(CC)OO(38) + CCCC(C)O(46) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(27) <=> H2O(42) + CCC[C](C)OO(57) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(27) <=> H2O(42) + CC[CH]C(C)OO(32) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(27) <=> H2O(42) + [CH2]C(CCC)OO(33) origin: H_Abstraction
rxn: [OH](24) + CCCC(C)OO(27) <=> H2O(42) + [CH2]CCC(C)OO(35) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> CCCC(C)O[O](22) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> CCC[C](C)OO(57) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> CC[CH]C(C)OO(32) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> C[CH]CC(C)OO(34) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> [CH2]C(CCC)OO(33) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCC(C)OO(27) <=> [CH2]CCC(C)OO(35) + CCCC(C)O(46) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CC[CH]CCOO(64) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CCC[CH]COO(63) origin: H_Abstraction
rxn: [OH](24) + CCCCCOO(78) <=> H2O(42) + CCCC[CH]OO(84) origin: H_Abstraction
rxn: [CH2]CCCC(12) + CC[CH]CCOO(64) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCC[CH]COO(63) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: [CH2]CCCC(12) + CCCC[CH]OO(84) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CC[CH]CCOO(64) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCC[CH]COO(63) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: C[CH]CCC(11) + CCCC[CH]OO(84) <=> C=CCCC(18) + CCCCCOO(78) origin: Disproportionation
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> CCCCCO[O](61) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> CC[CH]CCOO(64) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> CCC[CH]COO(63) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> C[CH]CCCOO(65) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> CCCC[CH]OO(84) + CCCC(C)O(46) origin: H_Abstraction
rxn: CCCC(C)[O](41) + CCCCCOO(78) <=> [CH2]CCCCOO(66) + CCCC(C)O(46) origin: H_Abstraction
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)
RMS_CSTR_liquid_oxidation Passed Observable Testing ✅
Regression test fragment:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:32
Current: Execution time (DD:HH:MM:SS): 00:00:00:33
Reference: Memory used: 758.84 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. ✅
fragment Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
WARNING: Initial mole fractions do not sum to one; normalizing.
Regression test RMS_constantVIdealGasReactor_fragment:
Reference: Execution time (DD:HH:MM:SS): 00:00:03:37
Current: Execution time (DD:HH:MM:SS): 00:00:03:19
Reference: Memory used: 2587.50 MB
Current: Memory used: 2513.01 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. ✅
RMS_constantVIdealGasReactor_fragment Passed Observable Testing ✅
Errors occurred during observable testing ⚠️
WARNING: Initial mole fractions do not sum to one; normalizing.
Regression test minimal_surface:
Reference: Execution time (DD:HH:MM:SS): 00:00:00:31
Current: Execution time (DD:HH:MM:SS): 00:00:00:29
Reference: Memory used: 918.85 MB
Current: Memory used: 915.67 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. ✅
minimal_surface Passed Observable Testing ✅
beep boop this comment was written by a bot 🤖
|
i have tested this and it working perfectly |
Azeezakinyemi999
left a comment
There was a problem hiding this comment.
I have tested this PR and the issue is completely resolved
Motivation or Problem
Fixes #2987.
RMG crashes with
NotImplementedError: Unsupported bond order 0.0 for binding energy correctionwhenever a reaction family produces a partially-physisorbed (van der Waals) bidentate adsorbate on a metal whose binding energies differ from the Pt111 group-additivity reference. This was observed with theSurface_Dissociation_vdWBidentate_Betafamily generating species such as[Pt]~[O]=C[O][Pt], scaled to Nickel.When applying the linear scaling relationship (in
ThermoDatabase.correct_binding_energy), it walks each surface site and classifies its bond as single/double/triple/quadruple. A van der Waals bond matched none of those cases and raisedNotImplementedError. Previously vdW adsorbates had zero bonds — but with the new bidentate families, you can now have an explicit vdW-bonded site with a bond of order 0.Description of Changes
bond.is_van_der_waals()case incorrect_binding_energy. A van der Waals bond contributes a bond order of0and therefore nothing to the LSR correction. This mirrors the existing vdW handling inMolecule.desorb_molecule.test_binding_energy_correction_with_van_der_waals_bond, covering the exact species from the issue (X~O=CH-O-X).Testing already performed
NotImplementedError: Unsupported bond order 0.0before the change.thermoTest.pypass.