Similar to RCA/EDIIS,153, 156, 609 the ADIIS algorithm proposed by Hu and Yang 491 is also supposed to accelerate SCF convergence in cases where DIIS performs poorly in the initial iterations. This algorithm also involves a Fock matrix extrapolation scheme:
(4.42) |
where is the extrapolated Fock matrix to be diagonalized to generate the updated MOs and electron density, is the Fock matrix constructed from the density matrix of the -th iteration, and are the extrapolation coefficients, which are obtained by minimizing the augmented Roothaan-Hall (ARH) energy function of an extrapolated density
(4.43) |
while subjected to the constraint for all . As suggested in the original literature, 491 variable substitutions are conducted () to convert the constrained optimization to a standard, unconstrained optimization problem (optimizers such as L-BFGS can be used to solve the latter). Note that while the sums in Eqs. 4.42 and 4.43 runs from 1 to , in practice it is unnecessary to extrapolate using all and obtained in the previous SCF cycles. In the Q-Chem implementation of ADIIS, the number of ’s and ’s used in the extrapolation has a maximum of 6.
The ADIIS algorithm is known to become less efficient in the region close to SCF convergence. Therefore, it is desirable to use the “ADIIS+DIIS” algorithm, which carries out ADIIS when the SCF error is below a threshold or the number of ADIIS iterations reaches a certain value. This hybrid algorithm, which can be invoked by setting “SCF_ALGORITHM = ADIIS_DIIS” in Q-Chem, was shown to afford accelerated convergence for cases where DIIS alone was unable or took much longer to converge the SCF problem. 491
ADIIS_INNER_CONV
ADIIS_INNER_CONV
Convergence criterion for the ADIIS inner loops (L-BFGS optimization of Eq. 4.43)
TYPE:
INTEGER
DEFAULT:
12
OPTIONS:
Using 10 as the convergence criterion for the ADIIS inner loops
RECOMMENDATION:
Use the default
THRESH_ADIIS_SWITCH
THRESH_ADIIS_SWITCH
The threshold for switching from ADIIS to DIIS in ADIIS_DIIS calculations
TYPE:
INTEGER
DEFAULT:
3
OPTIONS:
n
Switching from ADIIS to DIIS when the SCF error is below
RECOMMENDATION:
3 or 4 is suitable
MAX_ADIIS_CYCLES
MAX_ADIIS_CYCLES
The maximum number of ADIIS cycles before switching to DIIS in ADIIS_DIIS calculations
TYPE:
INTEGER
DEFAULT:
30
OPTIONS:
Doing at most ADIIS iterations before switching to DIIS
RECOMMENDATION:
Use the default; typically there is no benefit of doing ADIIS for too many iterations
$molecule 2 1 Cd 0.000000 0.000000 0.000000 N 0.000000 0.000000 -2.260001 N -0.685444 0.000000 -4.348035 C 0.676053 0.000000 -4.385069 C 1.085240 0.000000 -3.091231 C -1.044752 0.000000 -3.060220 H 1.231530 0.000000 -5.300759 H 2.088641 0.000000 -2.711077 H -2.068750 0.000000 -2.726515 H -1.313170 0.000000 -5.174718 $end $rem JOBTYPE SP METHOD B3LYP BASIS 3-21G SYMMETRY FALSE SYM_IGNORE TRUE THRESH 14 SCF_GUESS SADMO SCF_ALGORITHM ADIIS_DIIS SCF_CONVERGENCE 8 $end