AMBER Archive (2007)

Subject: Re: AMBER: problems trying to modify Amber8

From: David A. Case (case_at_scripps.edu)
Date: Tue Jan 02 2007 - 17:53:36 CST


On Thu, Dec 28, 2006, Ed Pate wrote:
>
> I am trying to modify sander in amber8 to output the coordinates of 4
> atoms much more frequently than the .crd output of the entire protein in a
> GB simulation. I have modified the source code, using locations of the
> parameters ntwx (crd output frequency) and mdcrd (crd output file) in
> Amber8 as my guides. Details of the modifications are below. The
> modified code runs fine and outputs the desired 4 atom coordinates and
> .crd file for the first 1000 or so time steps (tested on shorter runs).
> The program then hangs. CPU usage appears to indicate that one processor
> drops out as it hangs.
>
> I am running on an Opteron-275 based system, Portland group fortran and
> infiniband interconnects.

Other than the point below (which is not important), I don't see anything
wrong. Is it possible to try a test calculation on some other cluster (or
even on a single-cpu system, with just two processes running)? Or use a
different compiler on the opteron system? ...etc....

[I'm assuming that you can run your system fine (for more than 1000 steps)
without the epr dumps. If not, the problem might be unrelated to your code
modifcations.]

> open(unit=22,file='/home/pate/sl3_myosin.d/eprout.dat', &
> status='replace',form='formatted')

Just to be paranoid, try status='new', which might have less chance to be
buggy than with 'replace.'

>
> !-------------------------------------------------------------------
> ! patch 12/28/06 e.p. subroutine corpac_epr for epr output
> ! arguments the same as for corpac, except last argument = length
> ! of array r
> !
> subroutine corpac_epr(r,n1,ne1,nf,nlength)
> !
> !
> implicit none
> integer n1,ne1,nlength,nf
> _REAL_ r(nlength)
> integer j
> write(nf,'(12f12.7)') (r(j),j=n1,ne1)
> return
> end subroutine corpac_epr

Note that the nlength variable is effectively ignored anyway. You could
write "_REAL_ r(1)" or "_REAL_ r(*)" just as well, (or indeed, could just
use the unmodified corpac() routine itself.) The latter might be worth
a try....

...good luck...dac

-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu