[Pw_forum] a question about a calculation on a relatively large system
Paolo Giannozzi
giannozz at nest.sns.it
Mon May 28 16:27:05 CEST 2007
On Jan 15, 2007, at 14:27 , Peter Winey wrote:
> I am trying to do a structural relaxation on a relatively large
> system,
> which has 240 atoms in one unit cell
> [...]
> The run stopped without giving any information expect saying that "mpi
> stopped without calling mpi_finalize" or sth like that.
>
> I repeated the calculation and it always stopped at the same place.
> It is wierd since I had no problem before when running smaller systems
> (say, 150 atoms).
I recently encountered a similar problem (with 200 atoms; no problem
in a smaller cell). Apparently the code crashes in the three following
lines of update_inverse_hessian, in Modules/bfgs_modules.f90 :
inv_hess = inv_hess + 1.D0 / sdoty * &
( ( 1.D0 + ( y .dot. Hy ) / sdoty ) * matrix( s,
s ) - &
( matrix( s, yH ) + matrix( Hy, s ) ) )
If you replace the three lines above with old-style fortran:
ydotHy = ( y .dot. Hy )
do j=1,n
do i=1,n
inv_hess(i,j) = inv_hess(i,j) + 1.D0 / sdoty * &
( ( 1.D0 + ydotHy / sdoty ) * s(i) * s(j) - &
( s(i)*yH(j) + Hy(i)*s(j) ) )
end do
end do
it works (ifort on a PC cluster). I cannot see any good reason
for such a behavior.
By the way: in case of trouble with bfgs, one can always
try damped dynamics.
Paolo
---
Paolo Giannozzi, Democritos and University of Udine, Italy
More information about the users
mailing list