amber-developers: Problem with REMD/GB/RESPA

From: Holger Gohlke <>
Date: Thu, 23 Aug 2007 09:00:42 +0200

Dear all,

I think we found a problem when using REMD together with GB and RESPA.

In the "initremd" step, the "force" routine is called only once due to the
return statement around row 985 in runmd.f. If nrespa > 1, nonsense potential
energies are then returned to "subrem". In our case, these energies were
large and positive and very similar, which leads to an almost random exchange
of replica in the first exchange step. This happens every time a remd is

A solution may be to set irespa according to

   ! ---Step 1b: Get the forces for the current coordinates:

   npbstep = nstep

   iprint = 0
   if( nstep == 0 .or. nstep+1 == nstlim ) iprint = 1
   ! TIME_force is started and stopped inside force
   if( initremd ) then
     irespa = 0
   end if

   call force(xx,ix,ih,ipairs,x,f,ener(23),vir, &
         xx(l96),xx(l97),xx(l98),xx(l99), qsetup,qpsander, &

   ! Constant pH transition evaluation
   if ((icnstph /= 0) .and. (mod(irespa,ntcnstph) == 0)) then
      call cnstphendstep(ix(icpstinf),ix(icpresst),ix(icpptcnt), &
            ix(icptrsct), xx(lcpene),xx(lcpcrg),xx(l190),xx(l15),ener(39), &
      call cnstphwrite(ix(icpresst),icpselres,ix(icptrsct))
   end if

   if( initremd ) then
     irespa = 1
   end if

in runmd.f to get full energies calculated in the first step already. As I am
not that familiar with the remd implementation, would someone confirm this?
If it's fine I will send a patch.

Best regards


Dr. Holger Gohlke
Juniorprofessor fuer Molekulare Bioinformatik
J.W. Goethe-Universitaet
Fachbereich Biowissenschaften
Institut fuer Zellbiologie und Neurowissenschaft
Max-von-Laue-Str. 9
60438 Frankfurt/Main
Tel.:  (+49) 69-798-29411; Fax: (+49) 69-798-29527
Received on Sun Aug 26 2007 - 06:07:21 PDT
Custom Search