-
Notifications
You must be signed in to change notification settings - Fork 139
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
make adsorptionPt111 more flexible with lone pairs px #665
base: main
Are you sure you want to change the base?
Conversation
Regression Testing ResultsWARNING:root:Initial mole fractions do not sum to one; normalizing. Detailed regression test results.Regression test aromatics:Reference: Execution time (DD:HH:MM:SS): 00:00:01:05 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)(Cds-Cds)(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)(Cds-Cds)) + group(Cds-CdsCsH) + group(Cds-CdsCsH) + group(Cds-Cds(Cds-Cds)H) + group(Cds-Cds(Cds-Cds)H) + group(Cds-CdsCsH) + group(Cdd-CdsCds) + Estimated bicyclic component: polycyclic(s4_6_6_ane) - ring(Cyclohexane) - ring(Cyclohexane) + ring(124cyclohexatriene) + ring(1,4-Cyclohexadiene) Non-identical kinetics! ❌
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:
Observables Test Case: Aromatics Comparison
✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions! aromatics Passed Observable Testing ✅Regression test liquid_oxidation:Reference: Execution time (DD:HH:MM:SS): 00:00:02:09 liquid_oxidation Failed Core Comparison ❌Original model has 37 species. Non-identical kinetics! ❌
kinetics: liquid_oxidation Failed Edge Comparison ❌Original model has 202 species. Non-identical kinetics! ❌
kinetics:
Observables Test Case: liquid_oxidation Comparison
✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions! liquid_oxidation Passed Observable Testing ✅Regression test nitrogen:Reference: Execution time (DD:HH:MM:SS): 00:00:01:24 nitrogen Passed Core Comparison ✅Original model has 41 species. nitrogen Passed Edge Comparison ✅Original model has 133 species.
Observables Test Case: NC Comparison
✅ All Observables varied by less than 0.200 on average between old model and new model in all conditions! nitrogen Passed Observable Testing ✅Regression test oxidation:Reference: Execution time (DD:HH:MM:SS): 00:00:02:27 oxidation Passed Core Comparison ✅Original model has 59 species. oxidation Passed Edge Comparison ✅Original model has 230 species.
Observables Test Case: Oxidation Comparison
✅ All Observables varied by less than 0.500 on average between old model and new model in all conditions! oxidation Passed Observable Testing ✅Regression test sulfur:Reference: Execution time (DD:HH:MM:SS): 00:00:00:54 sulfur Passed Core Comparison ✅Original model has 27 species. sulfur Failed Edge Comparison ❌Original model has 89 species.
Observables Test Case: SO2 Comparison
✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions! sulfur Passed Observable Testing ✅Regression test superminimal:Reference: Execution time (DD:HH:MM:SS): 00:00:00:35 superminimal Passed Core Comparison ✅Original model has 13 species. superminimal Passed Edge Comparison ✅Original model has 18 species. Regression test RMS_constantVIdealGasReactor_superminimal:Reference: Execution time (DD:HH:MM:SS): 00:00:02:24 RMS_constantVIdealGasReactor_superminimal Passed Core Comparison ✅Original model has 13 species. RMS_constantVIdealGasReactor_superminimal Passed Edge Comparison ✅Original model has 13 species.
Observables Test Case: RMS_constantVIdealGasReactor_superminimal Comparison
✅ All Observables varied by less than 0.100 on average between old model and new model in all conditions! RMS_constantVIdealGasReactor_superminimal Passed Observable Testing ✅Regression test RMS_CSTR_liquid_oxidation:Reference: Execution time (DD:HH:MM:SS): 00:00:05:55 RMS_CSTR_liquid_oxidation Passed Core Comparison ✅Original model has 37 species. RMS_CSTR_liquid_oxidation Failed Edge Comparison ❌Original model has 206 species.
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 ✅beep boop this comment was written by a bot 🤖 |
Sounds great, from your description. A couple of thoughts.
LGTM |
6 R u0 p0 c0 {2,S} | ||
4 R u0 px c0 {2,S} | ||
5 R u0 px c0 {2,S} | ||
6 R u0 px c0 {2,S} | ||
7 R u0 p0 c0 {3,S} |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think this should be px too.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good to me. The only cases of R with p0, besides line 1791, that I see left are the nitrogen containing nodes which I am working on.
I ran a mechanism with O2, H2, and CO, and they were basically identical. This PR did change the thermodynamic estimates of some species, I think for the better. Here, the estimate for the thermodynamics of XCOOH now comes from XCOH instead of an average of (XCH, XCCH3, XCOH, XCCHCH2, XCCH2CH3, XCCHO, XCCH2OH):
new:
I also looked through three surface reaction families: Surface_Adsorbtion_Single, Surface_Dissociation, and Surface_Abstraction to see if p0 was used for R groups there. I did not see that this was an issue in those files. It is possible that it shows up here and there in other families, but at first glance it does not appear to be an issue.
Description
The nodes in the adsorption correction file adsorptionPt111.py were rather restrictive. In most nodes it was specified that the general
R
cannot have lone pairsp0
. I didn't pay close attention to this when I restructured the adsorption correction database because theR
was mostly C in the training data. However, this is not correct. In most cases, the R can also be replaced with O/N. Actually, in some cases the training data that I used contained O, but the node would not have been used to estimate the thermo for this species. @kirkbadger18 caught this detail.I revised now the adjacency lists and made the nodes more permissive, by changing the
p0
topx
whenever it is reasonable.I did not touch the nodes containing nitrogen, because @kirkbadger18 is doing a complete overhaul of the nitrogen adsorption corrections.
Testing
I generated a mechanism for the oxidation of ethane on Pt(111) without (left log file) and with (right log file) these changes. The mechanisms are indeed slightly different.
With the more permissible adsorption corrections, RMG deems a bidentate carboxyl to be important
Previously, this species was discovered, but remained in the edge.
You see that the thermochemistry of the species has changed because RMG used the top level node
C*O*
to estimate the thermo and now it uses the more specificC=*RO-*
. Whether this species should exist is another story (because there is also a monodentate carboxyl). However, I think that these updates to the adsorption corrections are necessary since they can affect our thermo estimate for some species and make them (supposedly) more accurate.Review
Carefully review that I haven't missed a node or an
R
. @kirkbadger18 will make another PR soon that changes the N-containing nodes.Generate a mechanism for system of your choice and check if everything works accordingly.