On Thu, 17 Mar 2005, Lilong Li wrote:
> 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.
try adding
wf_collect=.true.
to the &control section. that should write a
'serial' wavefunction at the end of the scf run.
axel.
> 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
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://www.democritos.it/mailman/listinfo/pw_forum
>
>
--
=======================================================================
Dr. Axel Kohlmeyer e-mail: axel.kohlmeyer at theochem.ruhr-uni-bochum.de
Lehrstuhl fuer Theoretische Chemie Phone: ++49 (0)234/32-26673
Ruhr-Universitaet Bochum - NC 03/53 Fax: ++49 (0)234/32-14045
D-44780 Bochum http://www.theochem.ruhr-uni-bochum.de/~axel.kohlmeyer/
=======================================================================
If you make something idiot-proof, the universe creates a better idiot.