X

Search Results

Searching....

7.8 Restricted Open-Shell and ΔSCF Methods

7.8.3 Squared-Gradient Minimization

(February 4, 2022)

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 E with respect to θ and therefore the gradient ^θE must be zero at convergence. It is therefore possible to obtain the same result by minimizing Δ(θ)=^θE2 to zero. However, all stationary points of E 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 E 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 10-3Eh 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 N/100, which can be useful for cases with troublesome convergence by reducing step size.
TYPE:
       INTEGER
DEFAULT:
       100
OPTIONS:
       N
RECOMMENDATION:
       Use default. For problematic cases, N=50, 25, 10 or even N=1 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.

Example 7.28  Restricted ΔSCF double excitation from 2s to 2p of Be atom, using SGM_QLS and the ground state orbitals as an initial guess.

$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

View output

Example 7.29  ROKS single excitation from HOMO to LUMO for an NH3F2 model complex, which describes electron transfer from NH3 to F2. Ground state orbitals are used as an initial guess.

$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

View output

Example 7.30  Unrestricted ΔSCF single excitation from HOMO-1 to LUMO+1 for HCHO using SGM_LS SCF convergence algorithm and the ground state orbitals as an initial guess.

$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

View output

Example 7.7.31  Combined RO-ΔSCF core-ionization and 1sLUMO+1 ROKS core-excited state.

$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

View output