Skip to content
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

Estimate Cp(inf) for adsorbates #5

Open
cfgoldsmith opened this issue Jun 21, 2016 · 4 comments
Open

Estimate Cp(inf) for adsorbates #5

cfgoldsmith opened this issue Jun 21, 2016 · 4 comments

Comments

@cfgoldsmith
Copy link
Owner

cfgoldsmith commented Jun 21, 2016

RMG estimates Cp(0) and Cp(inf). For adsorbates, our current Cp(inf) is 3_N_R. This is not correct. The adsorbate can have internal rotors, and the four surface-adsorbate modes that are parallel to the surface will limit to 2D gas. A better estimate is:
Cp(inf) = 3_N_R - R * N_{rotors in gas phase} * Cp_{free rotors} - 2 * R * Cp(inf){2D translation} - 2 * R * Cp(inf){2D rotation} - R * Cp(inf){helicopter}
where:
Cp
{free rotors} = 1/2
Cp(inf){2D translation} = 1/2
Cp(inf)
{2D rotation} = 1/2
Cp(inf)_{helicopter} = 1/2 or 1, depending upon the molecule and bond type. (e.g. 1/2 for single bonded polyatomic species, 1 otherwise)

We will fix this later. See Issue #1

rwest added a commit to rwest/RMG-Py that referenced this issue Jun 21, 2016
@mazeau
Copy link

mazeau commented Jan 12, 2018

A brief note that when merging the official master, the treatment of default or omitted Cp0 and CpInf values during conversion from NASA polynomials changed. Just in case it makes a difference

@rwest
Copy link
Collaborator

rwest commented Apr 30, 2018

This isn't exactly the problem @mazeau is working on, but it's pretty close, and she hasn't opened an issue in the tracker for her problem, so I'm posting here.
I think your culprit is here: https://github.com/mazeau/RMG-Py/blob/catmerge2/rmgpy/data/thermo.py#L1379
Where adsorbates estimated via adding an adsorption correction to a gas phase molecule currently have their Cp0 and CpInf set to None.
Whether you fix it there, or perhaps around https://github.com/mazeau/RMG-Py/blob/catmerge2/rmgpy/data/thermo.py#L1125
We have a calculateCp0() and calculateCpInf() methods on both Species and Molecule eg. https://github.com/mazeau/RMG-Py/blob/catmerge2/rmgpy/molecule/molecule.py#L1637
and also a findCp0andCpInf(species, heatCap) function at https://github.com/mazeau/RMG-Py/blob/catmerge2/rmgpy/data/thermo.py#L2349. Probably we should be using that one. See where else it is called from, to give you ideas as to where is an appropriate place for us to call it from.

rwest added a commit to rwest/RMG-Py that referenced this issue May 1, 2018
@mazeau
Copy link

mazeau commented Jul 6, 2018

CH3OH:X methanol VdW-bonded to a surface
Before merging in the Master:
screen shot 2018-07-06 at 10 37 27 am

After merging in the Master:
screen shot 2018-07-06 at 10 37 36 am

The gas phase CH3OH (from the rmg website, probably equivalent to after the merge):
screen shot 2018-07-06 at 10 37 46 am

@cfgoldsmith
Copy link
Owner Author

cfgoldsmith commented Sep 19, 2018

During our conference call on 18.Sept.2018, I suggested that we adopt the classical limit, which I am pretty sure is what RMG does anyway (for gas phase, that would be (3/2 + 3/2 + 3 N -6)*R, where N is the number of atoms. I suggested that our original approach of 3 N *R for adsorbates was fine and wasn't likely to cause problems. However, I don't think that is true. Specifically, some of our adsorbates -- pretty much all of the vdW, but really anything with a weak binding energy -- use a 2D gas approximation for the vibrational modes that correspond to frustrated translation. In this case, the correct classical limit would be (3 N -1)*R. If the molecule is so weakly bound that we use the 2D gas approximation for frustrated rotation, then the limit becomes (3 N -2)*R. So right now RMG-Cat will somehow increase the Cp by 1 or 2 R for those cases. We need to figure out how to avoid this.

rwest added a commit to rwest/RMG-Py that referenced this issue Jan 18, 2019
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jan 20, 2019
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jan 20, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jan 21, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jan 21, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jan 25, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jan 25, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jan 27, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jan 28, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Jan 31, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Feb 1, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Feb 6, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Feb 6, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Mar 12, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Mar 31, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
rwest added a commit to rwest/RMG-Py that referenced this issue Apr 22, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
mjohnson541 pushed a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Apr 25, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
alongd pushed a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Apr 25, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
mliu49 pushed a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Apr 25, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
mliu49 pushed a commit to ReactionMechanismGenerator/RMG-Py that referenced this issue Apr 25, 2019
See cfgoldsmith#5
for more detailed version.

Heat capacity for surface species is 0.01 not 0.
Absolute 0 causes problem.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants