Parse rotational constants and molecular mass for Gaussian logs#1054
Parse rotational constants and molecular mass for Gaussian logs#1054amandadumi merged 9 commits intocclib:masterfrom
Conversation
shivupa
left a comment
There was a problem hiding this comment.
This looks good so far. Just a note about the convertor. I will check on adding a test that covers this
|
|
|
Per #256 it seems like we were hoping users would calculate rotational constants from our method Would this work with the expected use case you had in mind @amarkpayne |
|
haha @berquist beat me to it |
|
Well, I could see wanting to parse what's there rather than recomputing it. If you're doing this for a database (anything more than 100 logfiles, just to pick a number), the MOI tensor calculation and diagonalization will probably become significant in terms of time. |
|
In our use case the user would be parsing hundreds of files, so speed would be preferable here. Let me also look at your method though |
|
I agree then it would make sense to make this a parsed attribute.
Let us know if you get stuck at any point and we can help you Edit: |
|
So not to muddy the discussion but I actually was able to try out the TLDR it looks like either approach will work for us, so let me know what you prefer. Also let me know if molmass is fine as is as an attribute |
|
Sorry to jump in, but it's also going to depend on the size of the molecule. The MOI and diagonalization is negligible for v. small molecules, but if you get to 100s of atoms, times 100s of log files, you'll want to parse it if available. For a database in the group, I'd definitely prefer to parse for formats where available. |
It is up to you. In the short term you could proceed by using the I think we might not need
Agreed! |
|
@amarkpayne Poke. If you use |
f5932ed to
7d05a13
Compare
|
Since Mark hasn't responded, I've decided to try finishing this off. It's also parsed for MOPAC, but as wavenumbers, so it needs a conversion. Right now that part of MOPAC isn't tested. I figured that should be in a follow-up PR. |
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## master #1054 +/- ##
=======================================
Coverage 87.85% 87.86%
=======================================
Files 69 69
Lines 13503 13511 +8
=======================================
+ Hits 11863 11871 +8
Misses 1640 1640 ☔ View full report in Codecov by Sentry. |
amandadumi
left a comment
There was a problem hiding this comment.
Thank you for getting to this and sorry I wasn't able to yet. But this all looks great, just two questions!
Convert to wavenumber units to standardize with mopac parser
bbe42c4 to
9638d8d
Compare
amandadumi
left a comment
There was a problem hiding this comment.
This looks good to me! Thank you.
|
poke |
Purpose
Currently, cclib has the ability to parse rotational constants and molecular mass from MOPAC log files (I think this functionality was added to cclib long ago by RMG developer Greg Magoon to support his work on QMTP in RMG). This PR extends this ability to Gaussian log files, which is something we use cclib for in RMG.
Testing
I have tested locally that the added code works by testing it on Gaussian log files for various semi-empirical calculations. It is the same suite of tests that we use to test the MOPAC parsing ability already implemented in cclib
Other considerations
This is my first time contributing to cclib, so let me know if I missed any steps in your usual development workflow. I tried to follow the guidelines outlined in your online documentation.