<div dir="ltr"><div>It seems to disappear if one sets "diago_david_ndim=2". This option sets the maximum size of wavefunctions + correction vectors packet to 2 x number of wavefunctions. I suspect that this should be the default instead of the current one (4) but I haven't enough tests to make a definite statement</div><div><br></div><div>Paolo<br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Jun 12, 2019 at 12:30 PM Lorenzo Monacelli <<a href="mailto:mesonepigreco@gmail.com">mesonepigreco@gmail.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Dear QE developers,<br>
<br>
I think I found a bad bug in the non self-consistent calculation of pw.x<br>
<br>
While the self consistent calculation ends properly, when running a non <br>
self-consistent calculation results in a crash with the error:<br>
<br>
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br>
      task #         0<br>
      from cdiaghg : error #        40<br>
      S matrix not positive definite<br>
  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%<br>
<br>
I checked the cdiaghg subroutine, the S matrix should be the overlap <br>
matrix for the eigenvalue problem Hv = eSv<br>
<br>
That, in case of local Norm Conserving pseudo of Hydrogen (my <br>
calculation)  I suppose it should be the identity, however, if I enforce <br>
it to be the indentity at the beginning of cdiaghg the code says that it <br>
is not able to converge the scf caclulation either.<br>
<br>
I attach the input of the scf calculation (that converges) and the one <br>
of the non-self-consistent calculation (that produces this output).<br>
<br>
I also tried to switch the diagonalization method to cg as suggested as <br>
fix, but nothing changes.<br>
<br>
I modified also the cdiaghg subroutine, to print the S matrix, that you <br>
find attached (random numbers, seems to be uninitialized).<br>
<br>
In both the diagonalization methods if I enforce S to be the identity <br>
matrix the code crashes by saying that it was not able to converge.<br>
<br>
The problem seems to arise especially if I request for more bands with <br>
the nbnd flag in system (but sometimes it occurs even if no extra band <br>
is required).<br>
<br>
The QE version I used is the current version in the develop branch of <br>
gitlab, but I noticed the same error occurring also with 6.3 and 6.2 in <br>
other cases.<br>
<br>
If I ask for exactly the same input file a scf calculation (instead of a <br>
nscf) everything goes fine (same K points, same diagonalization, same <br>
number of extrabands), but indeed, this is not what I would like to do...<br>
<br>
I I run the nscf calculation after a scf calculation with exactly the <br>
same input (that works), the nscf calculation fails (this means that the <br>
crash is not caused by a bad starting point for the density).<br>
<br>
All these make me really think of a bug in the nscf calculation, rather <br>
than a wrong input.<br>
<br>
Best regards,<br>
<br>
Lorenzo Monacelli<br>
<br>
<br>
P.S.<br>
<br>
In the attached file the pw_* are the nscf input and output, the scf* <br>
are the scf input and output. I run<br>
<br>
<br>
_______________________________________________<br>
developers mailing list<br>
<a href="mailto:developers@lists.quantum-espresso.org" target="_blank">developers@lists.quantum-espresso.org</a><br>
<a href="https://lists.quantum-espresso.org/mailman/listinfo/developers" rel="noreferrer" target="_blank">https://lists.quantum-espresso.org/mailman/listinfo/developers</a><br>
</blockquote></div><br clear="all"><br>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,<br>Univ. Udine, via delle Scienze 208, 33100 Udine, Italy<br>Phone +39-0432-558216, fax +39-0432-558222<br><br></div></div></div></div></div>