AMBER: SMD using amber

From: ChengZhong Zhang <>
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)


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


            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


            eadd = wx*ax+wy*ay+wz*az

            econ = econ+eadd

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

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

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


      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.

Thanks in advance,

The AMBER Mail Reflector
To post, send mail to
To unsubscribe, send "unsubscribe amber" to
Received on Wed Mar 12 2008 - 06:07:35 PDT
Custom Search