Search Results


7.4 Real-Time SCF Methods

7.4.2 Theory

(February 4, 2022)

Following a perturbation to the ground-state MOs ϕk(𝐫,0) at t=0, these MOs evolve in time according to the time-dependent Schrödinger equation. For an SCF level of theory, this is a one-electron equation

idϕk(𝐫,t)dt=F^(t)ϕk(𝐫,t). (7.30)

This time evolution can equivalently be expressed in terms of the Liouville-von Neumann equation for the time evolution of the density ρ(𝐫,t):

idρ(𝐫,t)dt=[F^(t),ρ(𝐫,t)]. (7.31)

In addition to obtaining broadband spectra, real-time SCF methods can be used to simulate attosecond dynamics of electrons, perhaps in the presence of strong fields. Note that the dynamics that is simulated by integrating either Eq. (7.30) or Eq. (7.31) is electron dynamics, the fundamental timescale of which is attoseconds, as can be estimated by the magnitude of the atomic unit of time (/Eh2.4×10-17 s). The finite integration time step Δt must be small compared to this value, and the default in Q-Chem is set to Δt=0.02a.u.=4.8×10-4 fs. The maximum timescale that can therefore reasonably be simulated is likely only picoseconds, and at present this time propagation is available only within the clamped-nuclei approximation, i.e., it is not possible to simulate the couple electron–nuclear dynamics.

Because the Fock operator F^ depends on its own (time-evolving) eigenfunctions ϕi(𝐫,t), the operator F^(t) that governs the time evolution in Eq. (7.30) or Eq. (7.31) is time-dependent, which complicates the integration of these equations.1292 The simplest possible algorithm to integrate these equations (over a finite time step Δt is the modified midpoint unitary transformation (MMUT) procedure,682 which approximates the operator F^(t+Δt/2). When the MMUT algorithm is used, the cost of a single electron dynamics time step is comparable to the cost of a single SCF cycle of a ground-state SCF calculation, i.e., it requires a single construction and diagonalization of the Fock matrix. The memory footprint is about twice that of the ground state, because the time-dependent MOs are complex-valued, but this is usually considerably smaller than the memory footprint for linear-response (LR-)TDDFT, especially of the number of roots requested in the LR-TDDFT calculation is large (as required for broadband spectra), or if the density of states is high (as in models of semiconductors).793

As compared to the first-order MMUT algorithm, higher-order predictor/corrector algorithms to integrate the dynamics are also available.1292 These algorithms enable the use of larger time steps Δt at a cost of a few Fock builds per time step. Perhaps more importantly, the predictor/corrector algorithms iterate the Fock operators F^(t) and F^(t+Δt) to self-consistency over each time step, which guarantees stable time propagation (assuming that the self-consistent procedure converges). Stable dynamics is not guaranteed by the MMUT algorithm, and total energy conservation turns out to be a necessary but not sufficient criterion to ensure that the trajectory has been integrated accurately. Using MMUT, examples can be found where energy is conserved yet spectra are still shifted (with respect to benchmarks results obtained using very small time steps) due to the use of a too-large value of Δt that is undetected and undiagnosed by non-self-consistent MMUT algorithm.1292

Propagation of the electron dynamics requires only ground-state computational machinery (albeit with complex-valued orbitals), and thus is available at any SCF level of theory, including Hartree-Fock theory or DFT. The name “TDKS” (in contrast to the cumbersome “RT-TDDFT”) emphasizes that Eq. (7.30) is the Kohn-Sham analogue of the time-dependent Schrödinger equation. The cost per time step for a TDKS calculation should be no larger than a few times the cost of a ground-state SCF cycle. Q-Chem’s implementation exploits shared-memory parallelism and the use of at least 8 (but possibly more) processor cores is highly recommended, since the number of required time steps (and thus the number of Fock builds) is likely to be quite large. (The use of multiple cores is requested using the -nt flag.)

A TDKS calculation is requested by setting TDKS = TRUE in the $rem input section, and other job control options are discussed in Section 7.4.3.


       Job control keyword to turn on TDKS calculation
       TRUE Perform a TDKS calculation following a ground-state SCF calculation FALSE Do not perform a TDKS calculation