[Pw_forum] lapack error in efg calculation

Lilong Li lilong at unc.edu
Fri Mar 18 05:15:55 CET 2005


Thanks for the quick fix. I stumbled into another problem and after quite some time I started to get a clue what's going on.

I used 16 processors for the scf run and of course for the EFG post processing I don't need 16 processors. So I used a single processor. Now the program complains that it cannot read the wavefunction. If I type the same command again, it would run and after some time it outputs a "davcio error" and aborts.

It turned out that for the first time running efg.x, the program assumes that the wavefunction is also saved in a single file and it cannot see the file, so it compains and exits. But during the process, it touches a zero length wavefunction file, prefix.wfc. Next time running it, the program happily sees that there is a file called "prefix.wfc", so it continues the calculation, but when it really needs to read the wavefunction (in efg.f90, which calls davcio), of course it cnnot read this zero length file, so davcio raises an error and aborts. 

I also tried to run 16 processors for efg.x, but it complains from the beginning "error reading inputpp namelist". I guess this is described in the manual, too many processors for simple jobs.

Any fix to the problem? Thanks in advance.

Lilong
On Thu, Mar 17, 2005 at 11:15:07AM +0100, Paolo Giannozzi wrote:
> On Wednesday 16 March 2005 20:07, Lilong Li wrote:
> 
> >            write (stdout, *) 'paw_nl(',l,nt,')',paw_nl(l,nt)
> >            call invmat (paw_nl(l,nt), s, sinv, norm)
> >
> > It fails when another atom only has the largest l number of 1.
> > paw_nl(2,nt) would then be zero when it calls invmat, and the N
> > and LDA will also be zero when invmat calls DGETRF.
> 
> this is obviously wrong
> 
> > Any suggestions to solve the problem?
> 
> try to put the problematic piece of code into an if...endif block, like this:
> 
> do l=0,paw_lmaxkb
>    if (paw_nl(l,nt) > 0) then
>       allocate (s(paw_nl(l,nt),paw_nl(l,nt)))
>       allocate (sinv(paw_nl(l,nt),paw_nl(l,nt)))
>       ...
>       deallocate(sinv)
>       deallocate(s)
>    end if
> end do
> 
> Paolo
> -- 
> Paolo Giannozzi             e-mail:  giannozz at nest.sns.it
> Scuola Normale Superiore    Phone:   +39/050-509876, Fax:-563513 
> Piazza dei Cavalieri 7      I-56126 Pisa, Italy
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum



More information about the users mailing list