From: Axel Kohlmeyer (
Date: Sat Apr 05 2014 - 02:35:50 CDT

On Sat, Apr 5, 2014 at 2:36 AM, Caro Miguel <> wrote:
> Dear all,
> I am trying to render an ab initio molecular dynamics simulation with VMD, using VASP's vasprun.xml file as input.
> VMD decides which atoms are bonded at the beginning of the simulation and then keeps them bonded for the remainder of the run. The atoms in my system are interacting, and during the course of the simulation bonds are broken and created. However bonds are not updated by VMD and the initially bonded atoms remain connected by sticks (I'm using the CPK drawing method) even if they fall far apart.
> I would like to achieve two things:
> 1) Get VMD to dynamically update bonds depending on interatomic distances

there is the DynamicBonds representation. it is limited to a single
distance cutoff, though.

> 2) Define the interatomic distances at which a pair of atoms can be said to be "bonded" (i.e. define covalent/ionic radii)

> Can this be done?

yes, but it requires some scripting effort and may be very
inefficient. i see two possible ways of doing it.

a) you can set your covalent radii into the radius property of each atom
   then you have to write a little procedure that calls "mol
bondsrecalc top" and use Tcl's trace functionality to have this
function run whenever a new frame is displayed. this may be rather
time consuming

b) you precompute where bonds are broken and formed and store this
information in a list. then you again would write a little procedure
that accesses this data based on the current timestep number and
explicitly breaks and creates bonds as needed. this can be done
through script commands from the topotools plugin for example.


> Thanks and regards,
> Miguel
> Dr. Miguel Caro
> Postdoctoral researcher
> Department of Electronics
> Aalto University, Finland
> Email:
> Work:
> Website:

Dr. Axel Kohlmeyer
College of Science & Technology, Temple University, Philadelphia PA, USA
International Centre for Theoretical Physics, Trieste. Italy.