From: Hamish Swanson (
Date: Wed Dec 16 2020 - 08:04:59 CST

Hi there,

I am trying to determine the dipole moment of a small molecule (c000 arbitrary name) using the following .tcl script:

> mol load psf uc000.psf #molecule psf
> mol load pdb uc000.pdb #molecule pdb
> set sel [atomselect top all]
> set outfile [open dipolet.dat w] #desired output file name
> puts $outfile catch [measure dipole $sel -debye -masscenter]
> close $outfile

VMD returns [0.0 0.0 0.0] as the dipole moment vector. However, when I load the molecule to VMD and repeat the procedure by hand a dipole moment as expected is returned by the Tk console. This gives me confidence in the validity of the .psf and .pdb files, I have also used these in the setup water box equilibration simulations previously, so I do not think they are the cause of the issue.

It is my plan to determine the dipole moment for a series of molecules quickly, hence the script and doing this by hand is not viable.

I am new to VMD and TCL so any input would be much appreciated.


Hamish Swanson
PhD Student
The University of Strathclyde