Scaling relations from 1 surface
khurlbutt opened this issue · 4 comments
I'm looking at the oxidation of CO on Pd(100). I am using as my two descriptors the binding energy of carbon monoxide (E_CO) and the binding energy of oxygen (E_O). Scaling relationships are found through linear regression to solve a set of equations. In this case, the equations are E_TS,i = a_(E_CO,i) + b_(E_O,i) + c. In general, to solve for three unknowns, three equations are required. A unique surface gives a unique equation. It seems that CatMAP should require input energetics of at least three surfaces (number of descriptors + 1) to solve the model. However, CatMAP seems qualitatively predictive even if only a single surface is fully defined energetically. How can CatMAP determine all three linear regression parameters from the information present in just 1 surface's energetics?
-Kevin Hurlbutt
Hi Kevin,
Thanks for the comment - you are exactly right that it is impossible to solve for 3 unknowns given only a single surface. There should probably be an error or at least a warning thrown if a user does this. As for the qualitative predictions it is probably due to the fact that CO and O are descriptors, and will thus be correct by definition. Therefore, the coverages for these 2 intermediates are probably reasonable, and since the system is so small the results come out reasonable. However, this will not be the case generally. I will leave this issue open until I or someone else adds a warning for underdetermined systems (a warning is probably more appropriate since it is possible to actually specify these parameters and only use one input surface).
I do get a RankWarning that Polyfit is poorly conditioned (I assume because of a deficient rank in the matrix for the least squares fit). Thanks for taking the time to answer.
-Kevin
Yeah, but that warning is pretty cryptic. I added a more verbose error message in the most recent commit, hopefully at the right place. Give it a try and see if it warns you as expected. If not then let me know.
I am solving the problem of hydrogenation of CO2 to methanol on Cu (111) surface. But, my plots are not coming right, they are looking all the same with no contours as in the tutorial.
Can someone please let me know how to solve the problem of Polyfit poorly conditioned. I am also getting the following warning - "Number of energies specified is less than the number of free parameters for H-CO2_s. Scaling is not reliable unless parameters are explicitly specified in constraints_dict." for all the species.
I think there is some problem in the scaling relationship.
coverage.pdf
production_rate.pdf
rate.pdf
rate_control.pdf
mkmfile.txt
My email - tushargoel.tg@gmail.com