AMBER Archive (2007)Subject: Re: AMBER: Weird restart file with ioutfm=0, iwrap=1 and ntwprt >0
From: David A. Case (case_at_scripps.edu)
Date: Wed Nov 28 2007 - 13:27:52 CST
On Mon, Nov 26, 2007, Hai Long wrote:
>
> I have a problem with sander of Amber 9.0. When I set ntwprt > 0, for
> example, ntwprt=5000, and iwrap = 1 at the same time, it generates a
> weird restart file: from atom # 1 to 5001 coordinates are ok but the
> coordinates for atom # after 5001 is either 0, 0, 0 or equal to the
> ones of atom # 5001. This only happens in sander and pmemd does not
> have this problem. I think I have applied the bug fix patch to my copy
> of Amber. Is it an unfound bug or something?
Looks like a bug. Please try the patch below -- I haven't tested it myself,
but it looks like it should fix the problem. Let us know if something is
still amiss -- otherwise, I'll post a bug fix.
Thanks for the report!...dac
*** runmd.f 3 Apr 2006 23:35:55 -0000 9.0
--- runmd.f 28 Nov 2007 18:57:05 -0000
***************
*** 2021,2034 ****
! --- use temp. array to hold coords. so that the master's values
! are always identical to those on all other nodes:
! call get_stack(l_temp,nrx,routine)
if(.not. rstack_ok)then
deallocate(r_stack)
allocate(r_stack(1:lastrst),stat=alloc_ier)
call reassign_rstack(routine)
endif
REQUIRE(rstack_ok)
! do m=1,nrx
r_stack(l_temp + m - 1) = x(m)
end do
--- 2029,2042 ----
! --- use temp. array to hold coords. so that the master's values
! are always identical to those on all other nodes:
! call get_stack(l_temp,nr3,routine)
if(.not. rstack_ok)then
deallocate(r_stack)
allocate(r_stack(1:lastrst),stat=alloc_ier)
call reassign_rstack(routine)
endif
REQUIRE(rstack_ok)
! do m=1,nr3
r_stack(l_temp + m - 1) = x(m)
end do
***************
*** 2065,2078 ****
call corpac(x,1,nrx,MDCRD_UNIT,loutfm)
if(ntb > 0) call corpac(box,1,3,MDCRD_UNIT,loutfm)
else
! call get_stack(l_temp,nrx,routine)
if(.not. rstack_ok)then
deallocate(r_stack)
allocate(r_stack(1:lastrst),stat=alloc_ier)
call reassign_rstack(routine)
endif
REQUIRE(rstack_ok)
! do m=1,nrx
r_stack(l_temp + m - 1) = x(m)
end do
--- 2073,2086 ----
call corpac(x,1,nrx,MDCRD_UNIT,loutfm)
if(ntb > 0) call corpac(box,1,3,MDCRD_UNIT,loutfm)
else
! call get_stack(l_temp,nr3,routine)
if(.not. rstack_ok)then
deallocate(r_stack)
allocate(r_stack(1:lastrst),stat=alloc_ier)
call reassign_rstack(routine)
endif
REQUIRE(rstack_ok)
! do m=1,nr3
r_stack(l_temp + m - 1) = x(m)
end do
-----------------------------------------------------------------------
The AMBER Mail Reflector
To post, send mail to amber_at_scripps.edu
To unsubscribe, send "unsubscribe amber" to majordomo_at_scripps.edu
|