Dear Michal and folks,

A few days ago I've faced exactly the same problem after recompiling QE 6.5 with LibXC 4.3.4 to use TB09 to see its effect on the band gap of some semiconductors.

What I saw instead is that an scf run of the SCAN functional, also a metaGGA one, converges smoothly on top of a scf, relax or vc-relax job using PBE, for example. TB09 and the others metaGGA available show the divergent behavior you are mentioning.

Then, I tried a TB09 job on top of the converged SCAN calculation using restart_mode = 'restart' and the job converged in a few iterations, no divergence was observed. After the TB09 scf job converged, I was able to run nscf and bands jobs to obtain both DOS and band structures.

I understand this is not a solution, but a workaround as a more elegant solution is found.


Reinaldo Pis Diez
Center of Inorganic Chemistry
National University of La Plata

Dear Paolo,
I changed io_rho_xml.f90 so that if the kinetic energy density file
isn't found, the array is set to 0:

<       LOGICAL :: ekin_density_exists
<          INQUIRE( FILE=TRIM(dirname) // "ekin-density",
<          IF ( ekin_density_exists ) THEN
<            CALL read_rhog( TRIM(dirname) // "ekin-density", &
<              root_bgrp, intra_bgrp_comm, &
<              ig_l2g, nspin_, rho%kin_g, gamma_only )
<            WRITE(stdout,'(5x,"Reading meta-gga kinetic term")')
<          ELSE
<            rho%kin_g = 1.0
<          ENDIF

Now I can start a TB09 calculation from a PBE density, but still my
test case diverges immediately (=faster than when starting from
scratch), regardless of diagonalization method. For example:
      The initial density is read from file :

      Starting wfcs from file

      total cpu time spent up to now is        0.3 secs

      Self-consistent Calculation

      iteration #  1     ecut=    82.00 Ry     beta= 0.40
      CG style diagonalization

      Error in routine c_bands (1):
      too many bands are not converged

I would be very grateful for any suggestions.

P.S. This is my input file:
     calculation  = "scf"
     prefix       = "sic"

     a           =  4.34800e+00
     ibrav       = 1
    ecutwfc          = 82
    ecutrho          = 328
     nat         = 8
     ntyp        = 2
     occupations = "fixed"
    electron_maxstep = 1000
    conv_thr         = 1e-10
    mixing_mode      = 'plain'
    mixing_beta      = 0.4
   startingpot = 'file'
   startingwfc = 'file'
   diagonalization = 'cg'

K_POINTS automatic
8 8 8   1 1 1

Si     28.08500  Si.upf
C      12.01060  C.upf

Si      0.000000   0.000000   0.000000
Si      0.000000   2.174000   2.174000
Si      2.174000   0.000000   2.174000
Si      2.174000   2.174000   0.000000
C       1.087000   1.087000   1.087000
C       1.087000   3.261000   3.261000
C       3.261000   1.087000   3.261000
C       3.261000   3.261000   1.087000

On Fri, 8 May 2020 at 09:39, Paolo Giannozzi <> wrote:
On Thu, May 7, 2020 at 10:33 PM Michal Krompiec <> 

  it was suggested to start from a density calculated with a different 
functional, but when I try to read in PBE density, it complains that it cannot 
read the kinetic energy file (which obviously cannot be there).

this can be easily changed, I think: just disable the check and set the kinetic 
energy density to zero

Should TPSS or SCAN pseudos work better (and where do I get them from)?

I don't think the problem is in the pseudos but in the nasty numerical behavior 
of meta-GGAs. See for instance here: 
Note that several bugs have been fixed in the development version.


Michal Krompiec
Merck KGaA

Quantum ESPRESSO is supported by MaX (
users mailing list

Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,
Univ. Udine, via delle Scienze 208, 33100 Udine, Italy
Phone +39-0432-558216, fax +39-0432-558222

Quantum ESPRESSO is supported by MaX (
users mailing list
Quantum ESPRESSO is supported by MaX (
users mailing list
Quantum ESPRESSO is supported by MaX (
users mailing list

Reply via email to