From: Jay Shore (Jay.Shore_at_SDSTATE.EDU)
Date: Tue Oct 09 2007 - 14:10:35 CDT


Thank you for your comments and the copy of trimcube. They were very

I guess I did not explain my mapping idea well enough. I want to take the
isosurfaces as produced by VMD and then integrate the volume to determine
what percent of the electron density is contained inside. I will have to
decide how many surfaces to do this to. I can then write a new cube file
with values based on what percent of electron density is composed in each

I have started to look at the VMD code to try to see how surfaces are
defined. I will try to use trimcube for the integration part.

Thanks again.

> On Sun, 7 Oct 2007, Jay Shore wrote:
> JS> Howdy,
> hi jay,
> JS> I am creating movies using VMD to incorporate into my General Chemistry
> and
> JS> physical chemistry lectures. I want to show the students electron density
> JS> surfaces colored according to the electrostatic potential, but I am not
> sure
> JS> what is the most appropriate Isovalue to choose for the surface. It would
> be
> the main purpose for mapping the electrostatic potential on the
> electron density is to show the "polarity" of a molecule and how
> it is perceived by other molecules. that means you want to pick an
> isovalue that shows the "outside" of a molecule, i.e. a very low one.
> i usually pick a value that is just large enough to still show a smooth
> surface and the general shape of the molecule. you will notice, that
> the colorization will not change significantly for as long as your
> isovalue is small (no big surprise, there is little electron density
> left).
> JS> nice to know what percent of the electron density was encompassed by a
> JS> surface. To do this I think that I would have to write a program to
> JS> integrate the volume inside the surfaces.
> to illustrate those porportions, you are probably better off using
> a hydrogen molecule and a two dimensional graph. for most of the
> time meaningful iso-surfaces will contain almost all electron density.
> most of the electron density is contained in the inner shell electrons
> anyways for almost all atoms/molecules.
> [...]
> JS> So, my questions:
> JS>
> JS> Am I missing an application that already exists that will convert my cube
> JS> files into something resembling percent of electron density? I have done
> a
> JS> lot of searching (googling) but to no avail.
> i am not aware of any code to do what you need, but you may find the
> attached code useful. it purpose is to trim away empty parts of a cube
> file (and thus reduce memory consumption), but also allows to normalize
> electrostatic potential maps from pseudopotential calculations.
> it uses simple summing over the grid points as integration, which proved
> to be accurate enough for visualization purposes. it should be
> straightforward to modify it to your needs.
> JS> If I do convert the value of the cube file to percent electron density
> JS> contained (by integrating the volume of the surface) can I still use VMD
> to
> JS> draw the surfaces. I don't see why not, but maybe I am missing something.
 i don't quite see how this mapping would work. to get the percentage of
 contained electron density you'll have to integrate and that will change
 the shape of the isosurface. particularly, if you compare multiple
> JS> What is the most meaningful way of representing an electron density
> surface?
> JS> Percent electron density contained or the atoms in molecules approach
> (e.g.
> JS> Bader). I know that it depends on exactly what I want to show, but is one
> JS> method preferred over another?
> bader analyis is something different, since it computes the
> _partitioning_ of the electron density. the integration of the
> partitions and comparison to core charge leads numbers of how
> atoms are polarized.
> JS> If I decide to write the code to do the integration and conversion, is
> there
> JS> a good starting point? I assume that I should do it in C or Fortran
> because
> JS> of the size of the cube files and a script would take too long.
> if you want to write anything, that could potentially be integrated into
> VMD, i recommend writing in C/C++. that will make it easier. there are
> some recent efforts to improve support for volumetric data sets akin
> to what you need, but i have not followed that development closely, so
> i cannot tell you how much is already available in current test release
> of VMD.
> hope this helps.
> cheers,
> axel.
> JS>
> JS> I would appreciate any comments or suggestions.
> JS> Thanks,
> JS> Jay
> JS>
> JS>
> JS>
> JS>