WIEN2k-FAQ: The SCF cycle fails after a few iterations
©2001 by P. Blaha, K. Schwarz and J. Luitz
Back to:
In cases with larger unitcells and various atoms with more or less
localized electronic states it can happen, that the scf cycle fails in
the second (or after a few more) iteration. Possible error messages include:
-
QTL-B value .gt. XXX in LAPW2
-
Could not find E-TOP/E-Bottom in LAPW1
Usually in such cases the mixing factor in MIXER was too large and too
large charge fluctuations occured (You may see this using 'grep :DIS case.scf' or 'grep :NTOxx
case.scf'). In such a case
-
remove the broyden and the scf files (rm *.broy* case.scf)
-
generate a new starting density (x dstart (-up/-dn)).
- For a spin-polarized
case consider to modify case.inst (or use instgen -ask) and provide a better
guess for the final spinpolarization (eg. set elements like Oxygen as
"non-magnetic", modify the total spin of an atom in case.inst (see UG,
lstart) to better
match the expected value in the solid). Then rerun x lstart and x dstart
/-up/-dn (3 times).
-
or reduce the mixing parameter from 0.2 to e.g. 0.1 in case.inm (sometimes even 0.01 and a change to PRATT-mixing for some iterations may be necessary. Note: final convergence should always be reached using MSEC1-mixing)
-
and restart the scf cycle (run_lapw or runsp_lapw).
Another possibility is that an APW-E-parameter (eg 0.30 Ry)
in case.in1 is too closeto some LO-energies, which results in ghostbands.
Check in case.scf1 whether or not a "searched" energy and a fixed one
got too close like:
OVERALL ENERGY PARAMETER IS 0.3531
E( 1)= 0.3531
E( 1)= 0.2875 E(BOTTOM)= 0.395 E(TOP)= 0.180
In such cases increase the default 0.3531 (originating from 0.30 in case.in1, which is set
automatically to EF-0.2) to something closer to/or even above EF, or
fix the energy parameters without search (case.in1).
Peter Blaha,