smd simulation

From: Jacqueline Schmidt (
Date: Wed Feb 27 2013 - 08:27:43 CST

Dear NAMD users, I am trying to perform a smd md on a peptide which is adsorbed to a mineral surface. For this purpose I added a constant velocity to the peptide atoms trough tcl interface. To make the surface not moving upwards I added a smd velocity equal to zero with a very large arbitrary force constant (I don't want to fix the surface coordinates; I want the atoms in the surface remain flexible but at the same time not move upwards with the peptide). However, despite the very large force constant for the surface, it is still moving upward in some occasions along with the peptide. Does anyone has experience on these type of simulations? I appreciate any comments (my question was how to prevent surface from moving upward without fixing its coordinates) Thanks, jackie ************Here is the conf file , smd section************ # SMD settings #this is applied on the surface if {1} { SMD                 on SMDFile             smd_ref.pdb SMDk                10000 SMDVel              0.000 SMDDir              1  1  1 SMDOutputFreq       100 } # Tcl interface #this is applied on the peptide if {1} { tclForces           on tclForcesScript     smd.tcl } ********Here is the tcl script************************** #define a group including the peptide atoms set grp2 {} for {set j 1 } { $j <=90 } {incr j } { lappend grp2 $j } set a2 [addgroup $grp2] # set the output frequency, initialize the time counter set Tclfreq 10 set t 0 # force constant (kcal/mol/A^2) set k 20 # pulling velocity (A/timestep) set v 0.0000025  set outfilename rklpda_smd_tcl.out open $outfilename w set r20z 31 proc calcforces {} {   global Tclfreq t k v a2 r20z  outfilename   loadcoords coordinate   set r2 $coordinate($a2)   set r2x [lindex $r2 0]   set r2y [lindex $r2 1]   set r2z [lindex $r2 2]   if { $t == 0 } {      set r20z $r2z   }   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]  # calc time in ps       set time [expr $t]       puts $outfile "$time $r2z $f2z"        close $outfile   }    incr t   return }

This archive was generated by hypermail 2.1.6 : Wed Dec 31 2014 - 23:20:58 CST