From: Passerone, Daniele (
Date: Tue May 06 2014 - 09:58:19 CDT

thank you Axel.
All what you write is clear, however let me insist like the "widow in the gospel" and try to propose a way.

Pbwithin has access to the coordinate of the images of the neighbors of atom k.
Now, one could build a functions that adds new atoms at the coordinates used by pbwithin, and then addbond between the original atom k and these new atoms. What do you think? do you see any possibility there ?
Thanks in advance.

Axel Kohlmeyer <> ha scritto:

On Tue, May 6, 2014 at 9:25 AM, Passerone, Daniele <<>> wrote:
Dear users and developers,
I am sorry I am bringing up again a very old issue.

I have a periodic system (polymer) and I loaded a trajectory in dcd format, with variable box.
There is a bond between two carbon atoms across the boundary, in the x direction of a 70 angstrom box.

The command

 topo addbond 734 752

 …adds a 70 angstrom long bond. There is no way to add the bond across the boundary. Would it be possible to add a “minimum image convention” or similar in the addbond routine?

​how should that be possible? it doesn't make any sense. if you create a bond between those two atoms that is the bond you create. whether this bond is interpreted between closest images of those atoms or not is a property of the MD code you are using and has nothing to do with VMD or topotools.​ VMD by itself doesn't know anything about periodic images.

After all, the graphical generation of the periodic images (already available) should use similar instructions… but I don’t know the code to give real advice here.

​that is a misinterpretation of the visuals. the periodic display in VMD is solely done after the fact by simply replicating the principal cell representation. no relations to periodic image are considered anywhere. the only components in VMD that do consider periodic boundaries are a few atomselect subcommands like "pbwithin".

Adding bonds between periodic images would be really great.

​that would require new representations or extending existing representations with a new code path. not a trivial operation​ and also requiring considerable effort.

The workaround of duplicating the cell ( topotools has one such function, but AAIK only for orthorhombic
cell) would be also ok, although I was not able to extend the example in the documentation to a whole trajectory.

this is best done by adding a new subcommand to topotools that extends the replicatemol subcommand to trajectories since VMD would only be able to store one bond topology for the entire trajectory. if the original trajectory has been wrapped, it is not entirely straightforward to do with without creating artefacts.

Thank you very much for your help,



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