|
Real | | Fixed level-shift value [in a.u.]. |
|
Real | | Dynamic level-shift value [in a.u.]. |
|
MIN=Real | | Minimum value for dynamical level-shift [in a.u.]. |
Description:
The level-shift procedure enables enlargement of the HOMO-LUMO gap during the
SCF iterations [191]. This stabilizes the initial SCF configuration
preferentially. Because of the small HOMO-LUMO gap common in DFT calculations,
this procedure can be very valuable for improving SCF convergence. Beware,
however, that with a fixed level-shift, incorrect convergence to a spurious
excited state is possible. When using SHIFT therefore, it is imperative to
check the converged orbital occupations with the MOS option of the PRINT
keyword (see 4.12.2). The problem can be avoided if the dynamical level-shift
procedure [155] is used. In that case, the shift value is adapted to the
MinMax SCF error. For large errors, which usually occur at the beginning of
the SCF procedure, the full shift value is used. As the error decreases, the
shift value is also decreased (see Example on page
of the tutorial). A small shift value may remain at the end of the SCF procedure.
In fact a minimum shift value can be requested with the MIN option. Small
remaining shift values at the end of the SCF are usually of no concern.
The dynamical level-shift procedure has proven very valuable for the SCF
convergence of transition-metal systems [192]. In the case of ROKS
calculations, the level-shift procedure applies twice, once between the doubly
and singly occupied orbitals and again between the singly-occupied and the
unoccupied orbitals. In both cases, the specified level-shift value is used.
If the SHIFT keyword is used, the level-shift procedure is switched on for all
calculation steps (optimization, frequencies, properties, etc.). In the
case that the level-shift procedure is used only to prepare a start density,
a single-point SCF must be performed with the SHIFT keyword and the resulting
density then has to be read in as the restart density (see 4.5.5) in the
subsequent calculation without the SHIFT keyword.