The squared-gradient minimization (SGM) algorithm410 sidesteps the challenge of optimizing a saddle point in the space of orbital rotation variables , by instead minimizing the square of the energy gradient with respect to those variables. Ground-state SCF methods seek to minimize the energy with respect to and therefore the gradient must be zero at convergence. It is therefore possible to obtain the same result by minimizing to zero. However, all stationary points of are minima of , not just the ground state. It is therefore possible to optimize excited-state orbitals by starting from a reasonable guess (such as a non-aufbau configuration corresponding to the excitation) and minimizing . This avoids all the pitfalls of attempting to optimize unstable stationary points in and thus averts variational collapse.
The SGM algorithm in Q-Chem can be used to optimize orbitals for two different excited state approaches: SCF and ROKS. The former simply attempts to minimize the energy of a single Slater determinant, which is often sufficient for many challenging excitations (including many double excitations).60, 410, 160 However, many excitations (including all single excitations from a closed shell ground state) break electron pairs, leading to states that cannot be described with a single determinant. It is possible to spin-purify the energy of a spin-contaminated, non-aufbau determinant a posteriori, but this requires at least two separate orbital optimizations. An alternative is ROKS (as described in Section 7.8.2, which requires optimization of only a single set of orbitals, for which the spin-purified energy is stationary. Analytic nuclear gradients are available for both SCF and ROKS, permitting geometry optimizations and ab initio molecular dynamics. Analytic frequencies are available for SCF, except with functionals that contain VV10 nonlocal correlation.
There are some slight differences between use of SGM for different orbital classes due to ease of implementation. The SCF procedure with restricted closed-shell (R) and unrestricted (U) orbitals can be run with SCF_ALGORITHM = SGM_LS or SCF_ALGORITHM = SGM_QLS, with initial orbital occupation specified by the $occupied block (as described in Section 7.6 and in Examples 7.8.3 and 7.8.3 below). A SCF calculation with restricted open-shell (RO) orbitals or an ROKS calculation can be performed via SCF_ALGORITHM = SGM or SCF_ALGORITHM = SGM_LS, and a re-ordering of orbitals to ensure that the unpaired ones lie at the frontier. (See Examples 7.8.3 and 7.8.3 below.) The gradient of is computed analytically (except in the case of functionals that contain VV10 nonlocal correlation), for R-, U- and RO-SCF, at a cost equal to a single Fock build. However, the gradient in the ROKS case, and for functionals containing VV10, is computed with a finite-difference approach [see Eq. (4.46)]. In those cases, the cost is equal to that of two Fock builds. Cumulatively, a single SGM iteration costs twice as much as a single GDM iteration when the analytic gradient is available, and three times as much if the finite difference construction must be used, although this does not affect the asymptotic scaling of the calculation with respect to system size.
Excited-state orbital optimization sometimes requires more iterations than what is typical for ground-state SCF calculations, so MAX_SCF_CYCLES should be set to a large value (perhaps 200), rather than the default value of 50. A loose convergence threshold of SCF_CONVERGENCE = 4 is also permissible if only energies are desired, as long as it is explicitly confirmed that the variation in energy over several iterations is much less than the desired accuracy after job completion. (A variation greater than or 0.03 eV would be quite problematic, for example.) Further reduction of SCF_CONVERGENCE likely compromises properties such as dipole moments or nuclear gradients, and is not recommended.
SCF_ALGORITHM
SCF_ALGORITHM
Algorithm used for converging the SCF.
TYPE:
STRING
DEFAULT:
None
OPTIONS:
SGM
SGM_LS
SGM_QLS
RECOMMENDATION:
SGM should be used for RO-SCF or ROKS calculations only. SGM_LS is recommended for R- or U-SCF,
though it can also be used for RO-SCF or ROKS.
SGM_QLS is a slower but more robust option for R- and U-SCF calculations.
DELTA_GRADIENT_SCALE
DELTA_GRADIENT_SCALE
Scales the gradient of by /100, which can be useful for cases with troublesome convergence by reducing step size.
TYPE:
INTEGER
DEFAULT:
100
OPTIONS:
RECOMMENDATION:
Use default. For problematic cases, 50, 25, 10 or even could be useful.
ROKS
ROKS
Controls whether ROKS calculation will be performed.
TYPE:
LOGICAL
DEFAULT:
FALSE
OPTIONS:
FALSE
ROKS is not performed.
TRUE
ROKS will be performed.
RECOMMENDATION:
Set to TRUE if ROKS calculation is desired.
UNRESTRICTED = FALSE should also be ensured.
$comment Calculates Delta-SCF excitation energy for the 2s^2 -> 2p^2 excitation of Be using SCAN and SGM_QLS scf convergence $end $molecule 0 1 Be $end $rem METHOD scan BASIS aug-cc-pVTZ THRESH 14 SCF_CONVERGENCE 8 SCF_ALGORITHM diis SYMMETRY false SYM_IGNORE true XC_GRID 000099000590 $end @@@ $molecule read $end $rem METHOD scan BASIS aug-cc-pVTZ THRESH 14 SCF_ALGORITHM sgm_qls SYMMETRY false SYM_IGNORE true SCF_GUESS read XC_GRID 000099000590 $end $occupied 1 3 1 3 $end
$molecule 0 1 N 0.0000 0.0000 0.0000 H 0.0000 -0.9377 -0.3816 H 0.8121 0.4689 -0.3816 H -0.8121 0.4689 -0.3816 F 0.0000 0.0000 6.0000 F 0.0000 0.0000 7.4120 $end $rem METHOD pbe0 BASIS cc-pVDZ SYMMETRY false SYM_IGNORE true SCF_CONVERGENCE 8 $end @@@ $comment The reorder section is superfluous here since the excitation is HOMO to LUMO and thus the unpaired electron orbitals are already at the frontier. $end $molecule read $end $rem METHOD pbe0 BASIS cc-pVDZ SYMMETRY false SYM_IGNORE true SCF_ALGORITHM sgm ROKS true SCF_GUESS read $end $reorder_mo 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 $end
$comment Calculates Delta-SCF excitation energy for the HOMO-1 -> LUMO+1 excitation of HCHO using SCAN and SGM_LS convergence $end $molecule 0 1 O1 0.0000 0.0000 1.2050 C2 0.0000 0.0000 0.0000 H3 0.0000 0.9429 -0.5876 H4 0.0000 -0.9429 -0.5876 $end $rem METHOD scan BASIS aug-cc-pVTZ THRESH 14 SCF_CONVERGENCE 8 SCF_ALGORITHM diis SYMMETRY false SYM_IGNORE true XC_GRID 000099000590 GEN_SCFMAN true $end @@@ $molecule read $end $rem METHOD scan BASIS aug-cc-pVTZ THRESH 14 SCF_ALGORITHM sgm_ls SYMMETRY false SYM_IGNORE true SCF_GUESS read XC_GRID 000099000590 GEN_SCFMAN true UNRESTRICTED true SCF_CONVERGENCE 7 MAX_SCF_CYCLES 500 $end $occupied 1 2 3 4 5 6 8 10 1 2 3 4 5 6 7 8 $end
$molecule 0 1 F 0.0000 0.0000 0.0000 H 0.0000 0.0000 0.9168 $end $rem method scan basis aug-cc-pCVTZ symmetry false $end @@@ $comment Calculates the RO-DeltaSCF core ionized state. The reorder section pushes F1s (first by energy) to the frontier, instead of the HOMO (5th orbital). $end $molecule 1 2 F 0.0000 0.0000 0.0000 H 0.0000 0.0000 0.9168 $end $rem METHOD scan BASIS aug-cc-pCVTZ UNRESTRICTED false SCF_GUESS read SYMMETRY false SCF_ALGORITHM sgm $end $reorder_mo 2 3 4 5 1 2 3 4 5 1 $end @@@ $comment Calculates the ROKS core excited state. The O1s orbital is in the place of the HOMO from the previous reordering. The present reorder section pushes the LUMO+1 orbital (the 7th orbital) to the frontier, instead of the LUMO (6th orbital). $end $molecule 0 1 F 0.0000 0.0000 0.0000 H 0.0000 0.0000 0.9168 $end $rem METHOD scan ROKS true BASIS aug-cc-pCVTZ SCF_GUESS read SYMMETRY false SCF_ALGORITHM sgm MAX_SCF_CYCLES 200 $end $reorder_mo 1 2 3 4 5 7 6 1 2 3 4 5 7 6 $end