# smd-tclForce intrerface

From: Jacqueline Schmidt (jacqueline_schmidt_1983_at_yahoo.com)
Date: Wed Dec 26 2012 - 12:04:23 CST

Dear NAMD users, I trying to add an smd force on a group of atoms (a peptide). I have wrote my calcforces routine as below. The problem is the if statement (to get initial center of mass of my groups of atoms) does not work! I just need them for the force calculations, can anyone please help me! why the if { \$t==0} (which must occur at the beginning of the simulation) does not work? set grp2 {} for {set j 1 } { \$j <=107 } {incr j } { lappend grp2 \$j } set a2 [addgroup \$grp2] # set the output frequency, initialize the time counter set Tclfreq 50 set t 0 # force constant (kcal/mol/A^2) set k 10 # pulling velocity (A/timestep) set v 0.0001  set outfilename klpgwsg_smd_tcl.out open \$outfilename w proc calcforces {} {   global Tclfreq t k v a2 c2x c2y c2z outfilename   loadcoords coordinate      if { \$t==0 } { set r20 \$coordinate(\$a2) set r20z [lindex \$r20 2] #print    }   set r2 \$coordinate(\$a2)   set r2x [lindex \$r2 0]   set r2y [lindex \$r2 1]   set r2z [lindex \$r2 2]   set f2x 0   set f2y 0   set f2z [expr \$k*(\$v*\$t-\$r2z+\$r20z)]   lappend f2 \$f2x \$f2y \$f2z   addforce \$a2 \$f2   set foo [expr \$t % \$Tclfreq]   if { \$foo == 0 } {       set outfile [open \$outfilename a]       set time [expr \$t*2/1000.0]       puts \$outfile "\$time \$r2z \$f2z"       close \$outfile   }   incr t   return }

This archive was generated by hypermail 2.1.6 : Tue Dec 31 2013 - 23:22:52 CST