For optimizing excited-state geometries and other applications, it can be important to find and follow electronically excited states of a particular character as the geometry changes. Various state-tracking procedures have been proposed for such cases.Harabuchi:2014, Closser:2014, Zhang:2015b One such algorithm, based on the overlap of the attachment/detachment densities at successive steps, in available in Q-Chem (see Section 7.14.1).Closser:2014 Using the densities avoids any issues that may be introduced by sign changes in the orbitals or configuration-interaction coefficients.
Two parameters are used to influence the choice of the electronic surface. One () controls the energy window for states included in the search, and the other () controls how well the states must overlap in order to be considered of the same character. These can be set by the user or generated automatically based on the magnitude of the nuclear displacement. The energy window is defined relative to the estimated energy for the current step (i.e., ), which in turn is based on the energy, gradient and nuclear displacement of previous steps. This estimated energy is specific to the type of calculation (e.g., geometry optimization).
The similarity metric for the overlap is defined as
where is the difference in attachment density matrices (Eq. (7.107)) and is the difference in detachment density matrices (Eq. (7.105)), at successive steps. Equation (9.14) uses the matrix spectral norm,
where is the largest eigenvalue of .
The selected state always satisfies one of the following
It is the only state in the window defined by .
It is the state with the largest overlap, provided at least one state has .
It is the nearest state energetically if all states in the window have , or if there are no states in the energy window.
State-following can currently be used with CIS or TDDFT excited states and is initiated with the $rem variable STATE_FOLLOW. It can be used with geometry optimization, ab initio molecular dynamics,Closser:2014 or with the freezing/growing-string method. The desired state is specified using SET_STATE_DERIV for optimization or dynamics, or using SET_STATE_REACTANT and SET_STATE_PRODUCT for the freezing- or growing-string methods. The results for geometry optimizations can be affected by the step size (GEOM_OPT_DMAX), and using a step size smaller than the default value can provide better results. Also, it is often challenging to converge the strings in freezing/growing-string calculations.