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

Adding Common Thermochemistry Functions #232

Open
WardLT opened this issue Aug 12, 2020 · 3 comments
Open

Adding Common Thermochemistry Functions #232

WardLT opened this issue Aug 12, 2020 · 3 comments
Assignees

Comments

@WardLT
Copy link
Collaborator

WardLT commented Aug 12, 2020

Is your feature request related to a problem? Please describe.
I am taking the results of QCEngine calculations and using them to compute thermodynamic properties. Would QCElemental be a good home for them?

Describe the solution you'd like
Ability to take a QCEngine AtomicResult and compute thermodynamic properties.

Describe alternatives you've considered
I have implemented some in another project

Additional context
Has someone else already done this?

@loriab
Copy link
Collaborator

loriab commented Aug 12, 2020

I completely agree something like this should go somewhere in QCArchive.

  • the data layout for storing vib results and thermochem info should go here in qcel, to be mirrored in qcsk. some early discussion schema for vibrational analysis QCSchema#50
  • the analysis upon a completed Hessian I've been thinking should live as a procedure in QCEngine. Though maybe the guts have a case to be here since no "compute" required.
  • I've got similar functionality going at https://github.com/psi4/psi4/blob/master/psi4/driver/qcdb/vib.py . It was pre-qcschema, so still needs modifying to act on AtomicResult and to store in atomic units and use Datum to give expected (e.g., cm^-1) units.
  • The vib.py also has a lingering psi4 salc dependence for classifying normal modes that it just hasn't been a priority to disentangle. symmetry in qca #193

Clearly I've been in the "have plans" stage on this for years without much beyond psi4 to show for it. Perhaps we can combine forces?

@WardLT
Copy link
Collaborator Author

WardLT commented Aug 12, 2020

Sure! I would be glad to make use of your far-superior code for computing vibrational properties. I just finished plugging a hole in another project with a simpler version of the code you have here (e.g., I don't disabiguate "rotational" vs "vibrational" modes).

Could you assign this to me? I am back to working on my quantum chem project again, and should have some cycles to contribute this feature.

@loriab
Copy link
Collaborator

loriab commented Aug 13, 2020

Sounds great, thanks! Dissect and rebuild vib.py as you like. And if you want to have a meeting and hash out a plan, lmk.

  • Please particularly ping me on any why-this-design oddities because the code predates some better tools. (In particular, compare_vibinfos was before compare_recursive and gets a low pass on its attempt to handle degenerate normal coordinates.)
  • No concern about maintaining that particular interface b/c psi will just hop over to the qca one when ready.
  • There is some testing of that file at https://github.com/psi4/psi4/blob/master/tests/pytests/test_vibanalysis.py , where purely analysis testing could be extracted.
  • I'd just skip over symmetry for now, as qcng's current mandate is no-symmetry.
  • Some preliminary qcel work is that pint probably doesn't know about common spectroscopy units to convert them through Datum

It's splendid if you have some cycles to work on this. Let me know how I can help.

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

2 participants