From: Karol L. <kar...@kn...> - 2007-01-21 13:22:41
|
Dear all, This is my first post to the list, so I'd like to say Hi! I'm a PhD student in quantum chemistry/molecular modelling. I've been working on a set of python scripts to automate parsing in my research work. I was thinking about expanding and publishing it, but then learned about cclib. So now I'm starting to use it my work, and would be happy to contribute in areas that are also usefull for me. The first thing I need is parsing electronic energies beyond SCF (MP2, CC, MCSCF). As far as I can see on the wiki, more exact energies are not parsed yet, unless I can't find it. It seems logical that MP2 energies should be stored in an 'mp2energies' attribute, in analogy to 'scfenergies' - yes? As I'm a beginner, should I send the code to this list? Karol P.S. I can't seem to create an account on the cclib wiki. It says "Check your spelling, or use the form below to create a new user account.", but I see no such form. -- written by Karol Langner Sun Jan 21 13:28:11 CET 2007 |
From: Adam T. <a-t...@st...> - 2007-01-21 18:05:47
|
Hi Karol, It's great to hear that you are interested in contributing to cclib! If you want to send code (either full or patched) to the list, Noel and/or I can look it over and add it to our SVN repository. Are you using a cclib release (0.6) or SVN? I think mp2energies makes sense as the attribute to use. Noel, comments? I believe Noel has to give you access to the wiki. Adam On Jan 21, 2007, at 4:55 AM, Karol Langner wrote: > Dear all, > > This is my first post to the list, so I'd like to say Hi! I'm a > PhD student > in quantum chemistry/molecular modelling. I've been working on a > set of > python scripts to automate parsing in my research work. I was > thinking about > expanding and publishing it, but then learned about cclib. So now I'm > starting to use it my work, and would be happy to contribute in > areas that > are also usefull for me. > > The first thing I need is parsing electronic energies beyond SCF > (MP2, CC, > MCSCF). As far as I can see on the wiki, more exact energies are > not parsed > yet, unless I can't find it. It seems logical that MP2 energies > should be > stored in an 'mp2energies' attribute, in analogy to 'scfenergies' - > yes? > > As I'm a beginner, should I send the code to this list? > > Karol > > P.S. I can't seem to create an account on the cclib wiki. It says > "Check your > spelling, or use the form below to create a new user account.", but > I see no > such form. > > -- > written by Karol Langner > Sun Jan 21 13:28:11 CET 2007 > > ---------------------------------------------------------------------- > --- > Take Surveys. Earn Cash. Influence the Future of IT > Join SourceForge.net's Techsay panel and you'll get the chance to > share your > opinions on IT & business topics through brief surveys - and earn cash > http://www.techsay.com/default.php? > page=join.php&p=sourceforge&CID=DEVDEV > _______________________________________________ > cclib-devel mailing list > ccl...@li... > https://lists.sourceforge.net/lists/listinfo/cclib-devel |
From: Adam T. <a-t...@st...> - 2007-01-22 22:08:55
Attachments:
logfileparser.py.diff
|
Thank you for your contributions!! > Here goes for my first little contribution - just parsing total MP2 > energies. > I'm attaching the diff files for the code that parses the MP2 > energies, for > the GAMESS and GAUSSIAN parsers (don't have output files to the other > programs at hand right now). So, there are three files affected in > trunk/src/cclib/parser. I've committed the changes to those two parsers. :o) > I'd add a test and attach output files, but it seems it would be more > efficient to "upgrade" the dvb_gopt tests with MP2 calculations > (the SCF > energies and other attributes will still be there). In any case, > I'm not too > sure about your testing policies, and this addition is pretty > straightforward > anyway. Do your "upgraded" dvb_gopt files give the same numbers for the SCF energies as our current dvb_gopt files? If so, I'm ok with committing them in place of our current ones. Noel, what do you think? > I also included two minor things in these patches: > 1. Corrected and added some units to the LogFile class dosctring > 2. Added apparently missing 'if self.progress: self.progress.update > (nstep, > "Done")' at end of gamess parser. Noel's more experienced with the vibration-related attributes, so I'll let him make the call on whether to change the units like you suggest. I'm also under the impression that the SCF energies are hartrees, but again, I'll defer to Noel. See the attached diff. The addition of the progress updater to GAMESS parser sounds good. GAMESS isn't something I use on a regular basis, so I haven't noticed it's progress missing. :-P Again, thanks for your contributions and I'm excited for you to be added to our list of developers. Adam |
From: Noel O'B. <bao...@gm...> - 2007-01-23 08:20:30
|
Dear Karol, I second that - thanks for the contributions. I've been away for a few days, but will sort out wiki/svn access today. Wiki Spam is a serious problem, and unfortunately the only way we can deal with it is to prevent users from creating accounts. Regarding the attribute name, how many more similar attributes do you expect, and is it possible that several may be extracted at the same time? That is, if you do an MP4 calculation, does this imply an MP2 calculation first of all, and would the user be interested in extracting both? If the user is only interested in the highest available correlated energy, a correlatedenergies attribute might be better, which would be MP4 for an MP4 calculation, and MP2 for an MP2 calculation. The alternative to a specific mp2energies attribute, would be something like a dictionary of 'correlatedenergies' which would have an entry for MP2 (if present), another for MP4 (if present), etc. Or maybe not a dictionary, but a list of tuples, since MP4 is greater than MP2. I'm not very keen on separate attributes for every single possibility, but if you can describe some typical examples we can discuss this... > > Here goes for my first little contribution - just parsing total MP2 > > energies. > > I'm attaching the diff files for the code that parses the MP2 > > energies, for > > the GAMESS and GAUSSIAN parsers (don't have output files to the other > > programs at hand right now). So, there are three files affected in > > trunk/src/cclib/parser. > > > I'd add a test and attach output files, but it seems it would be more > > efficient to "upgrade" the dvb_gopt tests with MP2 calculations > > (the SCF > > energies and other attributes will still be there). In any case, > > I'm not too > > sure about your testing policies, and this addition is pretty > > straightforward > > anyway. We will need to add tests to ensure at least that the new attribute has the correct size and shape. > Do your "upgraded" dvb_gopt files give the same numbers for the SCF > energies as our current dvb_gopt files? If so, I'm ok with committing > them in place of our current ones. Noel, what do you think? I think the diff should make this pretty clear. Having said that, I haven't yet looked at them. > > I also included two minor things in these patches: > > 1. Corrected and added some units to the LogFile class dosctring Thanks! > > 2. Added apparently missing 'if self.progress: self.progress.update > > (nstep, > > "Done")' at end of gamess parser. > > Noel's more experienced with the vibration-related attributes, so > I'll let him make the call on whether to change the units like you > suggest. I'm also under the impression that the SCF energies are > hartrees, but again, I'll defer to Noel. See the attached diff. The development wiki should tell the truth. It's at: http://cclib.sourceforge.net/wiki/index.php/Development_parsed_data The docstring is usually updated just before release, but of course the sooner any mistakes are found, the better. > The addition of the progress updater to GAMESS parser sounds good. > GAMESS isn't something I use on a regular basis, so I haven't noticed > it's progress missing. :-P > > Again, thanks for your contributions and I'm excited for you to be > added to our list of developers. Ditto :-) Noel |
From: Karol L. <kar...@kn...> - 2007-01-23 08:55:15
|
I sent another email to Adam only... I'm so accustomed to clicking just "Reply" for mailing lists. ---------------------------------- On Monday 22 of January 2007 23:08, you wrote: > > I'd add a test and attach output files, but it seems it would be more > > efficient to "upgrade" the dvb_gopt tests with MP2 calculations > > (the SCF > > energies and other attributes will still be there). In any case, > > I'm not too > > sure about your testing policies, and this addition is pretty > > straightforward > > anyway. > > Do your "upgraded" dvb_gopt files give the same numbers for the SCF > energies as our current dvb_gopt files? If so, I'm ok with committing > them in place of our current ones. Noel, what do you think? I haven't run upgraded dvb_gopt tests yet, but I will soon. The SCF will most certainly be the same, but I'm not sure if any other tested won't be affected (something that bases on the electron density). > > I also included two minor things in these patches: > > 1. Corrected and added some units to the LogFile class dosctring > > 2. Added apparently missing 'if self.progress: self.progress.update > > (nstep, > > "Done")' at end of gamess parser. > > Noel's more experienced with the vibration-related attributes, so > I'll let him make the call on whether to change the units like you > suggest. I'm also under the impression that the SCF energies are > hartrees, but again, I'll defer to Noel. See the attached diff. I'm not experienced in vibrations, iether - just looked it up :) As to the SCF energies, both GAMESS and Gaussian output them in hartrees, but cclib converts them to eV (line 237 in gaussianparser.py, line 126 in gamessparser.py, etc.). That is why I changed the scf entry in the docstring, and that is why I went along in converting the MP2 energies. I must admit, I don't support this conversion, as total molecule energies are usually given in hartress in computational chemistry, and I think it should be changed. Karol -- written by Karol Langner Tue Jan 23 09:53:03 CET 2007 |
From: Karol L. <kar...@kn...> - 2007-01-24 14:16:24
|
On Tuesday 23 of January 2007 09:20, Noel O'Boyle wrote: > Regarding the attribute name, how many more similar attributes do you > expect, and is it possible that several may be extracted at the same > time? That is, if you do an MP4 calculation, does this imply an MP2 > calculation first of all, and would the user be interested in > extracting both? If the user is only interested in the highest > available correlated energy, a correlatedenergies attribute might be > better, which would be MP4 for an MP4 calculation, and MP2 for an MP2 > calculation. > > The alternative to a specific mp2energies attribute, would be > something like a dictionary of 'correlatedenergies' which would have > an entry for MP2 (if present), another for MP4 (if present), etc. Or > maybe not a dictionary, but a list of tuples, since MP4 is greater > than MP2. I'm not very keen on separate attributes for every single > possibility, but if you can describe some typical examples we can > discuss this... I was thinking about this the other day, actually, when adding the code for parsing MP2 energies. I think the subject needs some thought and possibly a longer discussion, but let me comment on your ideas here. I think a "correlatedenergies" attribute is not suitable. My main problem with it is that the various methods for getting correlated energies are totally different (conceptually and numerically). But besides that, you can an MP2 correction followed by multiconfigurational calculations (I would like to add these to the parser very soon, also). So some combinations are not unreasonable. IMO having a dictionary is a better idea, becuase it introduces no limitations. But... going this way, it would be reasonable to extend this dictionary to include ANY total molecular energies, after only SCF or otherwise. After all, the present scfenergies attribute contains either Hartree-Fock and DFT energies, depending on the output (not to mention RHF/UHF). I'm having some mixed feelings about whether a dictioary is the right way to go, but having everything in one place seems quite elegant. Something like this: g = cclib.parser.Gaussian("mp2job.log") g.parse() (...) print g.energies.keys() ["RHF", "MP2"] print genergies["MP2"] array( [......, ...., ...]) I'm curious what everyone else thinks about putting all theenergies in one place. > We will need to add tests to ensure at least that the new attribute > has the correct size and shape. If no one else adds tests for the new file Noel uploaded, I'll do it in a few days. Karol -- written by Karol Langner Wed Jan 24 14:59:33 CET 2007 |
From: Noel O'B. <bao...@gm...> - 2007-01-24 14:51:01
|
Are people interested in more than one energy figure, though? Wouldn't they usually just want the most accurate figure. |
From: Karol L. <kar...@kn...> - 2007-01-24 15:11:41
|
On Wednesday 24 of January 2007 15:50, Noel O'Boyle wrote: > Are people interested in more than one energy figure, though? Wouldn't > they usually just want the most accurate figure. Usually I guess so, unless someone is studying various levels of theory. -- written by Karol Langner Wed Jan 24 16:08:23 CET 2007 |