cfgoldsmith / RMG-Py

Python version of the amazing Reaction Mechanism Generator (RMG).
http://reactionmechanismgenerator.github.io/RMG-Py/
Other
1 stars 4 forks source link

LSR doesn't reproduce Pt(111) thermo #51

Open cfgoldsmith opened 5 years ago

cfgoldsmith commented 5 years ago

We set the LSR parameters to correct values for H, C, N, O on Pt(111). We generate a mechanism. We then compare the thermo in output.html with values in the thermo library. They should be the same, but they are not. Fortunately, they are close (e.g. I think the reference enthalpy for CH3* differed by ~3 kcal/mol), so it is not catastrophic, but we need to fix it.

I think switching the way we do LSR (by specifying the intercept) should fix this problem (see Issue 40 https://github.com/cfgoldsmith/RMG-Py/issues/40)

kblondal commented 5 years ago

For CH3*, the reference enthalpy in output.html is -13.17 kcal/mol, whereas in the thermo library it is -10.94 kcal/mol. The C adatom value for Pt I used is -6.750 eV.

rwest commented 5 years ago

We need these values to match your "correct values": https://github.com/cfgoldsmith/RMG-Py/commit/13d0780ddca6724b80669f210cb49f99ed87757b

Feel free to fix them

cfgoldsmith commented 5 years ago

Perfect, thanks.

kblondal commented 5 years ago

Thanks, I did as you said and pushed to my cat branch: https://github.com/kblondal/RMG-Py/blob/5ab526122262566968f466e053bb2ccc028a580d/rmgpy/data/thermo.py#L1267-L1273

Now the reference enthalpy and entropy in the output.html file is consistent with the Pt thermo library. However the heat capacity is still off. It's consistently a bit lower in the output.html file than if calculated based on the thermo library. Taking CH3* as an example again, Cp(300K) = 8.86 cal/molK in output.html, but 10.95 cal/molK based on Pt thermo.

rwest commented 5 years ago

That's weird. It grabs thermo for an adsorbate from a library, and outputs something different? Could it be extrapolation to zero kelvin or infinite temperature extremes are shifting things? Does the detailed annotated chemkin file (or the HTML) include comments about where the thermo for that species came from? what do they say?

cfgoldsmith commented 5 years ago

My first thought is that the extrapolation/Wilhoit/etc is responsible, but it seems odd that 300K would be off, so I'm not sure either.

kblondal commented 5 years ago

I just calculated Cp(300) for CH3* by hand based on the NASA polynomials given in the .cti file and the Pt thermo file and now I get 8.86 cal/molK for both af them. So RMG-Cat is actually probably grabbing and outputting all the right values based on the Pt thermo library. The code I am using to print heat capacity values is for the thermo before being fitted to a NASA polynomial. Maybe the discrepancy I get is just due to the fitting. I'll double check that it is done correctly. I should have just compared the polynomials to begin with, sorry about that. But it seems that this issue is solved!

(To answer the question: The annotated chemkin file says "surfaceThermoPt Binding energy corrected by LSR", but there is no such note anymore in the html file.)