From: Axel Kohlmeyer (akohlmey_at_gmail.com)
Date: Tue Nov 09 2010 - 08:10:49 CST

On Tue, 2010-11-09 at 13:11 +0000, Stephen Cox wrote:
> Hi,

steve,

> I am trying to visualize the freezing of ice and I have an external
> program that specifies which molecules may be defined as solid.
> Obviously when going from liquid to ice the number of "solid"
> particles changes and this poses a problem when reading in a
> trajectory coordinate file as all atom descriptors (name, mass etc)
> are read in only from the first frame and vmd doesn't allow variable
> number of atoms in an xyz file (for example). I have tried multiple
> molecule animation but this seems impractical for long
> trajectories...
>
> Is there any way that I can label the atoms defined as solid at each
> frame so that vmd can recognise them? Alternatively, could I script an
> atom selection on a frame by frame basis?

the most elegant way to handle this would be to store
the solid/liquid flag in the "user" field (or "user2",
user3", "user4"). this is a per atom and per timestep
property that can be used in a selection. e.g. if you
flag all solid atoms with -1 and and all liquid with
+1 then "user < 0.0" will select the solid ones (well,
you have to tell VMD to update the selection in every
step in the trajectory tab, too). you can either compute
this from a VMD script or have your program write the
information to a file and then read it back into the
user field. this pdf discusses some examples of how to
do this.

http://sites.google.com/site/akohlmey/redirect/cpmd-vmd.pdf

the absolute best way would be to change your external
code to become a plugin for VMD. ;)

let us know if you need any additional pointers.

cheers,
    axel.

> Thanks in advance for any help,
> Steve

-- 
Dr. Axel Kohlmeyer
akohlmey_at_gmail.com http://goo.gl/1wk0
Institute for Computational Molecular Science
Temple University, Philadelphia PA, USA.