From: Noel O'B. <no...@ca...> - 2006-07-13 12:37:40
|
On Wed, 2006-07-12 at 14:32 -0600, Rick Muller wrote: > Should certainly be possible to make a more robust interface. > Currently the HF and DFT codes have the following interface: > > >>> h2 = Molecule('H2',atomlist = [(1,(0,0,-0.7)),(1,(0,0,0.7))]) > >>> energy, orbital_energy, orbitals = dft(h2) > > If you also have the basis set, you can compute both orbital > amplitudes and densities at points in real space. > > Let me know if I can help in any way. I've written code along these > lines before, and can probably dig up something close to what you need. Sounds good. I'd like to see that code if you can find it. 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. Noel P.S. Let me know if you want to move this discussion from the pyquante users list. |