[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