# AMBER: SMD using amber

From: ChengZhong Zhang <czhang.cbrinstitute.org>
Date: Mon, 10 Mar 2008 21:54:23 -0400

Dear Group,

I want to use Amber 9 to do steering molecular dynamics (SMD) simulations with harmonic forces exerted on two ends of a protein.
I would like to implement this as a harmonic constraint, i.e., constraining atoms A and B to destinate positions A' and B', but I also want to have different spring constants in each spatial directions, which mimics pulling in given directions instead of towards fixed points.
After a search in the archive I found that modifying the xconst() subroutine in ene.f could implement different spring constants. And I did the following

do ii = 1,natc

i = igroup(ii)

if(myatm(i))then

#---------- modified ---------------------------

ii3=3*ii-3

wt_x = weit(ii3+1)

wt_y = weit(ii3+2)

wt_z = weit(ii3+3)

#-----------------------------------------------

i3 = 3*i-3

ax = x(i3+1)-xc(i3+1)

ay = x(i3+2)-xc(i3+2)

az = x(i3+3)-xc(i3+3)

#---------- modified ---------------------------

wx = wt_x*ax

wy = wt_y*ay

wz = wt_z*az

#-----------------------------------------------

f(i3+1) = f(i3+1)-(wx+wx)

f(i3+2) = f(i3+2)-(wy+wy)

f(i3+3) = f(i3+3)-(wz+wz)

endif

end do

Simply put, I want to input a length 3 array of restraint weight instead of a single weight.
Now my question is,in the restraint file, how should I input the the constraints, specificly, how is the restraint constant read into the subroutine? Any hint or suggestion are welcome.