prev
up
next
SCF

The SCF procedure is regulated with keys that set the maximum number of iterations, the convergence criterion, and various items that control the iterative update method. Molecules may display wildly different SCF-iteration behavior, ranging from easy and rapid convergence to troublesome oscillations. We expect that the default settings take care of most cases, but one should realize that this is a difficult and tricky subject. The user has a few (main) options to adapt the procedure to the situation at hand: simple damping or the DIIS procedure (Direct Inversion in the Iterative Subspace). Either of them can be combined with Level-Shifting.

At each cycle the density is computed as a summation of occupied orbitals (squared); the new density defines the new potential from which the orbitals are re-computed, et cetera, until convergence is reached. To speed-up convergence and to avoid non-convergent oscillatory behavior the values at the next iteration are constructed as a mixture of the computed new data and those used at the cycles before. This may involve only the previous cycle and is then called damping. Alternatively the DIIS procedure can be invoked, which is a generalization of damping to include more previous iterations.

Subkeys in the data block of the master key SCF control the aspects mentioned above. Each subkey is optional. Omission means the application of default values. Omission of the SCF key altogether implies defaults for all subkeys.

SCF
 Iterations Niter
 Converge SCFcnv { sconv2 }
 mixing mix
 diis {N=n} {OK=ok} {CX=cx} {CXX=cxx} {BFAC=bfac} {cyc=cyc}
 lshift vshift {Err=shift_err} {Cyc=shift_cyc}
End

Niter

The maximum number of SCF cycles allowed. In case of Geometry Optimizations it applies separately to each of the SCF procedures that are executed. Default is 50 (in Create mode: 100). The program executes at least one cycle, even if you specify a non-positive number.

SCFcnv

The criterion to stop the SCF updates. The tested error is the commutator of the Fock matrix and the P-matrix (=density matrix in the representation of the basis functions) from which the F-matrix was obtained. This commutator is zero when absolute self-consistency is reached. Convergence is considered reached when the maximum element falls below SCFcnv and the norm of the matrix below 10*SCFcnv. The default is 1e-6 (in Create mode: 1e-8).

sconv2

A second criterion which plays a role a) during geometry optimizations and b) when the SCF procedure has difficulty converging.
a) During an optimization the SCF convergence criterion is relaxed as long as the geometry has not yet converged. At the start-up geometry, and at the final geometry, the normal criterion (SCFcnv) is applied, at intermediate cycles the criterion is adjusted depending on how far the geometry has converged. sconv2 defines a minimum criterion: the actual criterion in effect will not be less than sconv2.
b) When in any SCF procedure the currently applicable criterion does not seem to be achievable, the program stops the SCF. When the secondary criterion (sconv2) has been met, only a warning is issued and the program continues normally. If the secondary criterion was not met either, the program terminates any further geometry optimizations, frequency steps, etc. You can prevent the program from terminating in such a case with the key ALLOW.
The default for sconv2 is 1e-3.

Mix

The relative weight of the new potential, as computed from the occupied orbitals, to be mixed with the potential that was used in the previous cycle, to define the potential for the next. Mixing is used only if, and as long as, the DIIS procedure (see below) is not operational. Default: 0.2.
For problematic systems that require strong damping, one should decrease the mix-parameter.

DIIS

The DIIS subkey specification(s) can be given to control the DIIS procedure. Each of these specifications is optional. Simple damping will be used during the first few cycles, until the DIIS procedure becomes operational. Two conditions must be satisfied for this: 1) at least two iterations must have been done anyway (to build up sufficient information for the DIIS to work at all) and 2) the error must be small enough; see however the cyc option below.
There have been claims in the literature that the DIIS should not be used until fair convergence has been reached. Our experience thus far does not indicate that this should be taken too seriously, except in special situations. To allow the user complete control, the start-up criteria can be set in input.

N

The number of expansion vectors used in the DIIS. The number of previous cycles taken into the linear combination is then n-1 (the new computed potential is also involved in the linear combination.
Default n=10. An input value smaller than 2 disables the DIIS.

OK

The DIIS starting criterion. The DIIS procedure is not invoked until a) the maximum commutator element is smaller than OK (default: 0.5) or b) a certain number of SCF cycles has been executed.

Cyc

The SCF cycle no. at which the DIIS will start irrespective of the OK value above. Default: 5.

Cx

An upper bound on linear combination coefficients as applied in the DIIS. As soon as any coefficient exceeds cx, all information about older cycles but the last two is discarded and the DIIS starts again to accumulate info from the current cycle on. The computed linear combination, with the large coefficient(s), is used for the next iteration, however. Default=5.0

Cxx

A second upper bound on the coefficients (should in principle be bigger than cx). When a coefficient exceeds cxx, the computed linear combination is not used for the next cycle, but simple damping is applied.

Bfac

A factor to bias the DIIS combination vector in favor of the new computed potential. Default=0 (no bias). A sensible alternative value is 0.2

VShift

The level shifting parameter. The diagonal elements of the Fock matrix, in the representation of the orbitals of the previous iteration, are raised by vshift hartree energy units for the virtual orbitals. This may help to solve convergence problems when during the SCF iterations charge is sloshing back and forth between different orbitals that are close in energy and all located around the Fermi level. Level shifting is not supported in the case of Spin-Orbit coupling. At the moment properties that use virtuals, like excitation energies, response properties, NMR calculations, will give incorrect results if level shifting is applied.

Shift_err

Specifies that level shifting will be turned off by the program as soon as the SCF error drops below a threshold; default value: 0. (Note that the default value has changed in ADF2004.01, previous value: 1e-2).

Shift_cyc

Specifies that level shifting is not turned on before the given SCF cycle number (for the start-up geometry); default value: 1.

Note1: very strong damping, i.e. a very small value of mix such as 1e-3, may not combine very well with the DIIS procedure. The reason is that with strong damping successive SCF cycles tend to be very similar and the vectors building up the DIIS space become linearly dependent. We recommend in difficult cases either to use a not too strong damping (mix=0.03) or to use strong damping while the DIIS is disabled (by setting n=0 for the DIIS subkey) during a limited number of SCF iterations, and then restart with DIIS activated and less stringent damping.

Note2: Another feature, electron smearing, may be used to overcome convergence difficulties. The idea is to distribute electron occupations fractionally over a few states around the Fermi level, by a pseudo-thermal distribution function. This aspect is controlled with the Smear option to the Occupations key. One should be aware that the applied distribution of occupations is not really an approximation to the finite-temperature case. In fact, the results are unphysical and one should not use the results as a meaningful outcome. The smearing trick is only to be used to overcome convergence difficulties. Having reached convergence with it, one should typically do a follow-up restart calculation without smearing, using the converged outcomes to hopefully get the thing to converge properly. A typical 'allowed' application is the usage of smearing during geometry optimizations, because the intermediate geometries are not relevant anyway and only a step towards the final results. By default, the program does not apply any smearing unless during a geometry optimization. See the Occupations key for more details.

SCM Home Page
Quality Software. Quantum Science
*
*
Copyright Terms of UsePrivacy Policy
Home Products Try & Buy Downloads Documentation Support News About SCM Contact
Home     Products     Try & Buy     Downloads     Documentation     Support     News     About SCM     Contact