From: Noel O'B. <noe...@ma...> - 2006-08-29 09:28:59
|
Hello Mehdi, > > I would like to contribute to cclib by writing a parser for > Molpro (in fact I already started). > Fantastic! > How can I do that ? This needs a longer answer. :-) (1) Have you worked on an open source project before? If not, it might be a good idea to skim read http://producingoss.com/ . (2) Have you used SVN before? This is how we store our code. If not, you might like to read chapters 1-3 of http://svnbook.red-bean.com/ . (3) To start, check out the latest copy of our code as described under: http://cclib.sourceforge.net/wiki/index.php/Development#Checking_cclib_out_of_subversion Adam and myself will need to discuss the addition of a new developer. In the meanwhile please still continue working on the parser, and we will be able to merge the changes. Once you are added as a developer, we'll look over your shoulder for a while as you commit changes to give you some advice. In relation to adding a new parser: (4) We don't have access to Molpro, so you will have to run all of the test jobs. Look at the 'data' folder on subversion and you will see that for every comp chem package we have test jobs on divinyl benzene at the B3LYP/STO-3G level of theory: (a) a geometry optimization (with SCF convergence information and geometry optimization convergence information) (b) a single point energy calculation (with ao overlaps and mo coeffs) (c) a single point unrestricted energy calculation (with ao overlaps and mo coeffs) (d) a vibration frequency calculation with IR information (e) a vibration frequency calculation with Raman information (if possible) (f) a TD-DFT calculation (if possible) Any additional calculations used to define the parser should not be added to SVN - there is a different procedure, which I will describe when you want to do this. (5) The only way we stay sane is tests. No parser is released until it passes all of the tests (run testall.py). You will need to add molpro to the test scripts of course. This implies that every parser needs to parse the same things, and use the same units (see the wiki for information). > Also have you considered parsing also first/second order > derivative infomation ? I would be interested in hearing more about this - for example, how can this information be used? Our goal with cclib is not to extract all possible information, but that information which is useful for algorithms (which cclib also includes) or visualization (by some other software). Regards, Noel P.S. Please cc everything to the cclib developers list (usually by clicking Reply All) |
From: <meh...@ch...> - 2006-08-29 10:12:52
|
Hi, Thanks for the quick reply, I will have a look at (1), (2) ... ;-) But just to answer quickly to this question > > Also have you considered parsing also first/second order > > derivative infomation ? > I would be interested in hearing more about this - for example, how can > this information be used? Our goal with cclib is not to extract all > possible information, but that information which is useful for > algorithms (which cclib also includes) or visualization (by some other > software). Well, you will need for instance such information as a guess; some QC packages implements methods which are not always available in the other (ex: a better optimizers etc), also some people would like to visualize vibrational modes using the sowftware of their choice wich would then be possible (I can actually parse a Molpro file and produce a molden file containing only the information that I need) Regards, Mehdi |
From: Noel O'B. <noe...@ma...> - 2006-08-29 10:29:56
|
On Tue, 2006-08-29 at 12:12 +0200, Mehdi Bounouar wrote: > > > Also have you considered parsing also first/second order > > > derivative infomation ? > > I would be interested in hearing more about this - for example, how can > > this information be used? Our goal with cclib is not to extract all > > possible information, but that information which is useful for > > algorithms (which cclib also includes) or visualization (by some other > > software). > > Well, you will need for instance such information as a guess; some QC packages > implements methods which are not always available in the other > (ex: a better optimizers etc), also some people would like to visualize vibrational modes using the > sowftware of their choice wich would then be possible (I can actually parse a Molpro file > and produce a molden file containing only the information that I need) We do intend to extract the cartesian displacements for vibrational frequencies - I didn't realise you were talking about this. See: http://sourceforge.net/mailarchive/forum.php?thread_id=29367282&forum_id=48080 for a possible name for this attribute. We intend to add this to the next release, if possible. Are you suggesting something above and beyond this, though? > Regards, > > Mehdi |
From: Noel O'B. <noe...@ma...> - 2006-08-29 12:05:00
|
On Tue, 2006-08-29 at 13:26 +0200, Mehdi Bounouar wrote: > > > > We do intend to extract the cartesian displacements for vibrational > > frequencies - I didn't realise you were talking about this. See: > > http://sourceforge.net/mailarchive/forum.php?thread_id=29367282&forum_id=48080 for a possible name for this attribute. We intend to add this to the next release, if possible. Are you suggesting something above and beyond this, though? > > Well IMHO I would rather prefer to an option to extract the Force > constant matrix (FCM), because if I would like to do displacements along a > vector, I have a problem to trust the outputed vectors (sometimes > truncated, sometimes even wrong). Also I think having a "unified" parsed > FCM, but unified I mean that one does not have to check if it is mass weighted, > units etc. > Lets say for instance I want to use Molpro because it has nice and quick method > to generate to generate a FCM, I could then parse it and use it as a guess for > doing a Geom-Opt in GAMESS because I trust the Optimiser Algorithm. > So you're saying that it's possible to calculate the cartesian displacements from the FCM. How is this done exactly? It's possible that we will extract both, as many output files will only contain the cartesian displacements. However, we will provide (separately) a method to calculate the cartesians from the FCM, if this is possible. Before you write some specific code, it would be great also if you could look at the output of the other comp chem packages. Do they already contain this information? If not, we will have to create further example input files that *do* contain it. I am about to finish a postdoc in two days time, after which I will have reduced access to comp chem packages. Do you have access to any others besides Molpro? On a different question: looking at the web, I gather you do a lot of work on vibrational frequencies. Are you familiar with so-called scaled quantum mechanical (SQM) methods? e.g. http://dx.doi.org/10.1016/j.theochem.2006.03.025 It would be nice to extract the information necessary for such a study, and then to implement the method as an algorithm. I remember trying to do this during my PhD but I didn't have access to any software to do this, nor did I have the technical background to be able to do this myself. If the FCM were required for this, I think it would certainly justify extracting it. Do you know what else is needed? Regards, Noel |
From: Noel O'B. <noe...@ma...> - 2006-08-29 15:36:58
|
On Tue, 2006-08-29 at 16:21 +0200, Mehdi Bounouar wrote: > > So you're saying that it's possible to calculate the cartesian > > displacements from the FCM. How is this done exactly? It's possible that > > we will extract both, as many output files will only contain the > > cartesian displacements. However, we will provide (separately) a method > > to calculate the cartesians from the FCM, if this is possible. > I have put an attachment that shows how to do this, > the principle should be correct as the values are close, > Note: the cartesian displacements vectors are sometimes of opposite signs. Thanks for the code. I'll make it into a function and add it to the algorithms when I get a chance. The opposite signs are an artefact or are they significant? For visualisation I would say it's not important; but might this be significant for other uses? Is there some convention on these things that we should be obeying, e.g. something in that book by Decius, Cross and Wilson that is covered with dust on my bookshelf? > > Are you familiar with so-called scaled > > quantum mechanical (SQM) methods? e.g. > > http://dx.doi.org/10.1016/j.theochem.2006.03.025 > > It would be nice to extract the information necessary for such a study, > > and then to implement the method as an algorithm. I remember trying to > > do this during my PhD but I didn't have access to any software to do > > this, nor did I have the technical background to be able to do this > > myself. If the FCM were required for this, I think it would certainly > > justify extracting it. Do you know what else is needed? > > Honestly, I have no idea :-) but I will try to have a look it. It's no big deal - I guess we should concentrate on the parser first. However, it might be interesting as there is no free software available to do this kind of thing. BTW, once Adam gets back from holidays we can sort out making you a developer. Unfortunately, I'm going on holidays for a week this Friday as well as changing postdocs. But I'd like to get you up and running as soon as possible, so stay tuned. > Mehdi |