In general, the DIIS procedure (Section 4.5.3) is remarkably successful. One difficulty that is
occasionally encountered is the problem of an SCF that occupies two different
sets of orbitals on alternating iterations, and therefore oscillates and fails
to converge. This can be overcome by choosing orbital occupancies that
maximize the overlap of the new occupied orbitals with the set previously
occupied. Q-Chem contains the maximum overlap method
J. Phys. Chem. A
(2008), 112, pp. 13164. developed by Andrew Gilbert and Peter Gill. With GEN_SCFMAN, the MOM algorithm can be applied to R, U, and RO SCF calculations when paired with the DIIS algorithm.
MOM is therefore is a useful adjunct to DIIS in convergence problems involving flipping of orbital occupancies. It is controlled by the $rem variable MOM_START, which specifies the SCF iteration on which the MOM procedure is first enabled. There are two strategies that are useful in setting a value for MOM_START. To help maintain an initial configuration it should be set to start on the first cycle. On the other hand, to assist convergence it should come on later to avoid holding on to an initial configuration that may be far from the converged one.
The MOM-related $rem variables in full are the following:
$molecule +1 1 C 0.000000 0.000000 0.990770 H 0.000000 0.000000 2.081970 C -1.233954 0.000000 0.290926 C -2.444677 0.000000 1.001437 H -2.464545 0.000000 2.089088 H -3.400657 0.000000 0.486785 C -1.175344 0.000000 -1.151599 H -2.151707 0.000000 -1.649364 C 0.000000 0.000000 -1.928130 C 1.175344 0.000000 -1.151599 H 2.151707 0.000000 -1.649364 C 1.233954 0.000000 0.290926 C 2.444677 0.000000 1.001437 H 2.464545 0.000000 2.089088 H 3.400657 0.000000 0.486785 $end $rem UNRESTRICTED false METHOD hf BASIS 6-31+G* SCF_GUESS core THRESH 12 $end @@@ $molecule read $end $rem UNRESTRICTED false METHOD hf BASIS 6-31+G* SCF_GUESS read MOM_START 1 THRESH 12 $end $occupied 1:26 28 1:26 28 $end @@@ $molecule -1 3 read $end $rem UNRESTRICTED false METHOD hf BASIS 6-31+G* SCF_GUESS read THRESH 12 $end