From: Noel O'B. <no...@ca...> - 2006-07-28 19:07:18
|
-------- Forwarded Message -------- From: Rick Muller <rm...@sa...> To: Noel O'Boyle <no...@ca...> Subject: Re: Package independent analysis of comp chem calcs Date: Wed, 26 Jul 2006 09:52:28 -0600 Noel, I had hoped to clean this up before sending it to you, but it's a busy time of the year, and I haven't had the time to dedicate to it. I've attached a few python modules that I use for parsing Jaguar and GAMESS output. To be honest, much of the time I just write lightweight parsers from scratch, instead of the attached modules. But to read in an overlap matrix or something the routines are useful. The files have a copyright notice in them, but you may treat them as public domain and do what you like with them. Keep me posted on what you do. I'll be glad to write the module to output cube files from PyQuante, but you might have to nag me once or twice. Best of luck! Rick On Jul 13, 2006, at 9:16 AM, Noel O'Boyle wrote: > On Thu, 2006-07-13 at 08:51 -0600, Rick Muller wrote: >> Ah, but here's a problem, one of those things that only works when >> you start writing code. >> >> I was assuming that the basisset be a list of PyQuante basis >> functions, which have a built-in function .amp(x,y,z) to give the >> basis function amplitude at the point x,y,z. If you want to do this >> in cclib you would essentially have to recreate (or steal -- you're >> welcome to them) the PyQuante functions that define a basis set, >> normalize it, and compute the amplitudes. This is certainly possible, >> but it isn't as elegant as one might like. >> However, I actually use >> PyQuante functions to do analysis like this all the time. I'll read >> in a Jaguar or GAMESS output file, parse it for the orbitals, >> recreate the basis set and overlap matrix in PyQuante, and display >> information that I want. > But this is great! This is exactly what I want to do, and you've even > gotten the parsing code written already. If you're happy to give me > this > code for cclib, that would be fantastic. > >> Alternatively, I can simply include code to output a cube file from >> PyQuante. > That would be good too. As this is the next step, once the density is > calculated. > > Regards, > Noel > >> On Jul 13, 2006, at 6:37 AM, Noel O'Boyle wrote: >> >>> >>> I think a first attempt to make a useful bridge between cclib and >>> PyQuante would be for cclib to provide a function density() as >>> follows: >>> >>> def density(mocoeffs, coordinates, basis set, delta = 0.1, cube = >>> None): >>> """Calculate the electron density using PyQuante. >>> >>> Requires: >>> mocoeffs - mol. orb. coefficients in terms of atom >>> orbitals >>> coordinates >>> basis set - a set of Gaussian functions per atom >>> (expressed as >>> per PyQuante user guide) >>> Optional: >>> delta - the dx/y/z value for points in the cube. >>> Defaults to >>> 0.1Ang or something sensible. >>> cube - the dimensions of the cube. Default is something >>> sensible >>> Returns: >>> a Numeric array of the density (which can be visualised with >>> MayaVi for example) >>> """ >>> >>> If this makes sense to you and seems doable, I'll start hacking >>> basis >>> set info out of log files. Of course, I will make sure that the >>> above >>> code will work equally well for users of PyQuante and other comp. >>> chem. >>> packages. >>> >>> In PyQuante everything is Gaussian-based right? No STOs? If so, that >>> rules out ADF I think. |