From: Norman Geist (norman.geist_at_uni-greifswald.de)
Date: Wed Mar 02 2016 - 01:53:56 CST

No, currently you do not consider periodic boundary conditions. Maybe “measure bond” does, otherwise you would have to calculate the “shortest periodic distance” yourself similar to:

 

proc pmodulo {n m} {

return [expr $n - m * floor(1.0 * $n/$m)]

}

 

set Dx = [expr pmodulo( $x1 - $x2 + ($boxX/2) $boxX) – ($boxX/2)]

set Dy = [expr pmodulo( $y1 - $y2 + ($boxY/2) $boxY) – ($boxY/2)]

set Dz = [expr pmodulo( $z1 - $z2 + ($boxZ/2) $boxZ) – ($boxZ/2)]

D = [expr sqrt( ($Dx * $Dx) + ($Dy * $Dy) + ($Dz * $Dz) )]

 

 

Norman Geist

 

Von: owner-vmd-l_at_ks.uiuc.edu [mailto:owner-vmd-l_at_ks.uiuc.edu] Im Auftrag von Sangkha Borah
Gesendet: Dienstag, 1. März 2016 17:19
An: vmd-l_at_ks.uiuc.edu
Betreff: vmd-l: Fwd: distance using pbc

 

Dear all,

 

I am trying to calculate the interatomic distances between various atom pairs in a small periodic system containing an oxoanion dissolved in 60 water molecules (the same is also true for a crystalline solid). The trajectory is wrapped about the origin. I wanted to use vmd/tcl script using pbctools

 

The main part of the script goes like --

 

package require pbctools

pbc set {12.42 12.42 12.42} -all

set outfile [open "test.dat" w]

set nf [molinfo top get numframes]

set ind1 [atomselect top "index 1"]

set ind4 [atomselect top "index 4"]

for {set i 0} {$i < $nf} {incr i} {

         $ind1 frame $i

         $ind4 frame $i

         set dis1_4 [veclength [vecsub [lindex [$ind4 get {x y z}] 0] [lindex [$ind1 get {x y z}] 0] ]]

         puts $outfile "$i \t $dis1_4 "

        

}

close $outfile

 

 

This script works!

 

But does it incorporate pbc while calculating the distance ?

 

My intuition is that it perhaps does not! At least the GUI version does not do it.

 

Am I correct ?

 

If so, is there any other way to do so , like the one "pbwithin" instead of within that is used to find the neighbours within a certain cutoff distance using pbc.

 

Please help to clear my doubts.

 

 

 

Regards,

 

Sangkha Borah
IIT Guwahati, Assam, India