WIEN2k-FAQ: The SCF cycle fails after a few iterations
©2001 by P. Blaha, K. Schwarz and J. Luitz
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:
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
QTL-B value .gt. XXX in LAPW2
Could not find E-TOP/E-Bottom in LAPW1
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).