**From:** Vlad Cojocaru (*Vlad.Cojocaru_at_eml-r.villa-bosch.de*)

**Date:** Mon Oct 29 2007 - 12:59:00 CDT

**Next message:**Chris Chipot: "Re: apply force along an internally defined direction"**Previous message:**Jerome Henin: "Re: apply force along an internally defined direction"**In reply to:**Jerome Henin: "Re: apply force along an internally defined direction"**Next in thread:**Chris Chipot: "Re: apply force along an internally defined direction"**Reply:**Chris Chipot: "Re: apply force along an internally defined direction"**Messages sorted by:**[ date ] [ thread ] [ subject ] [ author ] [ attachment ]

Dear Jerome,

Thanks a lot for answering ... I didnt realize that ABF can do what I

want ... I will study it a bit and get back to you if I have further

questions ...

Best

vlad

Jerome Henin wrote:

*>Dear Vlad,
*

*>The ABF code needs the same kind of vector routines that you are
*

*>using. Our solution was to steal the file vectors.tcl from VMD, which
*

*>implements some useful operations. It lives in the lib/abf directory
*

*>of NAMD, you can source it into your script.
*

*>As a side note, the "abscissa" variable for ABF has been modified
*

*>since NAMD 2.6 and now works in a way similar to what you want to do,
*

*>with two groups of atoms defining the direction. The difference is
*

*>that ABF won't pull at constant velocity. In case you are interested
*

*>anyway, the new file should be publicly available very soon.
*

*>Best,
*

*>Jerome
*

*>
*

*>On 10/29/07, Vlad Cojocaru <Vlad.Cojocaru_at_eml-r.villa-bosch.de> wrote:
*

*>
*

*>
*

*>>Dear NAMD users,
*

*>>
*

*>>I would like to use Tcl forces to move an atom with constant velocity
*

*>>along a directon defined by two other atoms in the protein (an internal
*

*>>direction which would change between time steps in function of how the
*

*>>protein translates and/or rotates). Below I attach an attempt of script
*

*>>to do that. However, I am not sure whether this is a correct script and
*

*>>NAMD complains about the "vecnorm" command.
*

*>>
*

*>>First I would like to ask whether somebody has performed such a task in
*

*>>NAMD and if the script below seems reasonablefor this? If yes, could
*

*>>somebody indicate me how to calculate the direction in each time step
*

*>>without using "vecnorm" (using only routines implemented in namd)?
*

*>>
*

*>>Thanks in advance
*

*>>Best wishes
*

*>>vlad
*

*>>
*

*>>----tcl script ---------
*

*>>
*

*>>set id1 7614
*

*>>set id2 1193
*

*>>set id3 3101
*

*>>
*

*>>set atoms {}
*

*>>lappend atoms $id1 $id2 $id3
*

*>>foreach atom $atoms {
*

*>> addatom $atom
*

*>>}
*

*>># set the SMD output frequency, initialize the time counter,
*

*>>set Tclfreq 50
*

*>>set t 0
*

*>>#set force constant in kcal/mol AA^2 and pulling vel. in AA/ts;
*

*>>set k 7.2
*

*>>#set velocity to be 35 A/100 ps
*

*>>set v 0.00035
*

*>>
*

*>># initial coordinates of pulled atom (t = 0)
*

*>>set x0 52.842
*

*>>set y0 50.161
*

*>>set z0 51.822
*

*>>
*

*>>set outfilename smd_tcl.out
*

*>>open $outfilename w
*

*>>
*

*>>proc calcforces {} {
*

*>>
*

*>> global atoms id1 id2 id3 Tclfreq t k v x0 y0 z0 outfilename
*

*>>
*

*>> # form local array coords
*

*>>
*

*>> loadcoords coords
*

*>>
*

*>># calculate direction of pulling
*

*>>
*

*>> set n [vecnorm [expr 0.5*[vecsub $coords($id2) $coords($id3)]]]
*

*>>
*

*>># get coords of pulled atom
*

*>>
*

*>> set r $coords($id1)
*

*>>
*

*>> # get the new x,y,z components and calculate the force
*

*>>
*

*>> set x1 [lindex $r 0]
*

*>> set y1 [lindex $r 1]
*

*>> set z1 [lindex $r 2]
*

*>>
*

*>> set nx [lindex $n 0]
*

*>> set ny [lindex $n 1]
*

*>> set nz [lindex $n 2]
*

*>>
*

*>> set vx [expr $v*$nx]
*

*>> set vy [expr $v*$ny]
*

*>> set vz [expr $v*$nz]
*

*>>
*

*>> # calculate forces
*

*>>
*

*>> set fx [expr $k*($x0+$vx*$t-$x1)]
*

*>> set fy [expr $k*($y0+$vy*$t-$y1)]
*

*>> set fz [expr $k*($z0+$vz*$t-$z1)]
*

*>> lappend f $fx $fy $fz
*

*>>
*

*>> # add forces
*

*>>
*

*>> addforce $id1 $f
*

*>>
*

*>> # set the output
*

*>>
*

*>> set foo [expr $t % $Tclfreq]
*

*>> if { $foo == 0 } {
*

*>> set outfile [open $outfilename a]
*

*>> set time [expr $t/1000.0]
*

*>> puts $outfile "$time $r $f"
*

*>> close $outfile
*

*>> }
*

*>> incr t
*

*>> return
*

*>>}
*

*>>
*

*>>
*

*>>
*

*>>
*

*>>--
*

*>>----------------------------------------------------------------------------
*

*>>Dr. Vlad Cojocaru
*

*>>
*

*>>EML Research gGmbH
*

*>>Schloss-Wolfsbrunnenweg 33
*

*>>69118 Heidelberg
*

*>>
*

*>>Tel: ++49-6221-533266
*

*>>Fax: ++49-6221-533298
*

*>>
*

*>>e-mail:Vlad.Cojocaru[at]eml-r.villa-bosch.de
*

*>>
*

*>>http://projects.villa-bosch.de/mcm/people/cojocaru/
*

*>>
*

*>>----------------------------------------------------------------------------
*

*>>EML Research gGmbH
*

*>>Amtgericht Mannheim / HRB 337446
*

*>>Managing Partner: Dr. h.c. Klaus Tschira
*

*>>Scientific and Managing Director: Prof. Dr.-Ing. Andreas Reuter
*

*>>http://www.eml-r.org
*

*>>----------------------------------------------------------------------------
*

*>>
*

*>>
*

*>>
*

*>>
*

*>>
*

*>
*

*>
*

*>
*

-- ---------------------------------------------------------------------------- Dr. Vlad Cojocaru EML Research gGmbH Schloss-Wolfsbrunnenweg 33 69118 Heidelberg Tel: ++49-6221-533266 Fax: ++49-6221-533298 e-mail:Vlad.Cojocaru[at]eml-r.villa-bosch.de http://projects.villa-bosch.de/mcm/people/cojocaru/ ---------------------------------------------------------------------------- EML Research gGmbH Amtgericht Mannheim / HRB 337446 Managing Partner: Dr. h.c. Klaus Tschira Scientific and Managing Director: Prof. Dr.-Ing. Andreas Reuter http://www.eml-r.org ----------------------------------------------------------------------------

**Next message:**Chris Chipot: "Re: apply force along an internally defined direction"**Previous message:**Jerome Henin: "Re: apply force along an internally defined direction"**In reply to:**Jerome Henin: "Re: apply force along an internally defined direction"**Next in thread:**Chris Chipot: "Re: apply force along an internally defined direction"**Reply:**Chris Chipot: "Re: apply force along an internally defined direction"**Messages sorted by:**[ date ] [ thread ] [ subject ] [ author ] [ attachment ]

*
This archive was generated by hypermail 2.1.6
: Wed Feb 29 2012 - 15:45:26 CST
*