Skip to content

Fix GLLBSC convergence in some systems

Tuomas Rossi requested to merge trossi/gpaw:fix-gllbsc-ref-energy into master

For some systems with a band gap, GLLBSC fails if the system has no band gap during some SCF interations (HOMO being above LUMO as given by wfs.get_homo_lumo(s)).

This MR will set the reference energy to Fermi level in such cases.

Thanks to @Chronum94 and @tgmaxson for exploring and testing.

This change would make GLLBSCM (GLLBSC with metallic=True) obsolete as GLLBSC defaults to GLLBSCM behavior for systems without band gap. However, there might be some corner cases that cause trouble. GLLBSCM keyword is kept nevertheless in this MR.

Closes #424 (closed).

Edited by Tuomas Rossi

Merge request reports