From: Jacqueline Schmidt (jacqueline_schmidt_1983_at_yahoo.com)
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