By changing the threshold values you mentioned, nscf calculation finished (no 
"cholesky" error)...
This is a common problem and maybe would require an upstream fixing:

when doing an SCF calculation, the diagonalisation threshold is set to a relatively loose value at the beginning, then tightened.

     IF ( iter == 2 ) ethr = 1.D-2
     ethr = MIN( ethr, 0.1D0*dr2 / MAX( 1.D0, nelec ) )
     ! ... do not allow convergence threshold to become too small:
     ! ... iterative diagonalization may become unstable
     ethr = MAX( ethr, 1.D-13 )
(from electrons.f90)

On the other hand, in an NSCF calculation, the threshold for diagonalisation is proportional to the input convergence threshold.

IF ( ethr == 0.D0 ) ethr = 0.1D0 * MIN( 1.D-2, tr2 / nelec )
(from setup.f90)

The latter can turn out to be much tighter than the former, and even impossibly tight sometimes which makes the algorithm fail. Maybe adding a minimu of 1.d-13 also for NSCF would fix this kind of problems, but I'm not 100% sure this is exactly how it is done, as there are several places where ethr is set.

cheers



--
Lorenzo Paulatto - Paris
_______________________________________________
Quantum ESPRESSO is supported by MaX (www.max-centre.eu/quantum-espresso)
users mailing list [email protected]
https://lists.quantum-espresso.org/mailman/listinfo/users

Reply via email to