X

Search Results

Searching....

7.4 Real-Time SCF Methods

7.4.3 Calculation of Absorption Spectra

(November 19, 2024)

7.4.3.1 Theory

The absorption cross-section σκκ(ω) for light polarized in the κ direction (κ{x,y,z}) can be obtained from the imaginary part () of the frequency-dependent polarizability, ακκ(ω): 1458 Zhu Y., Herbert J. M.
J. Chem. Phys.
(2018), 148, pp. 044117.
Link
, 526 Herbert J. M. et al.
J. Chem. Theory Comput.
(2023), 19, pp. 6745.
Link

σκκ(ω)=(4πωc)[ακκ(ω)]. (7.46)

Within the electric dipole approximation, a rotationally-averaged absorption spectrum A(ω) is then simply

A(ω)=13[σxx(ω)+σyy(ω)+σzz(ω)]. (7.47)

Components ακλ(ω) of the frequency-dependent polarizability tensor 𝜶(ω) are obtained from the Fourier transform () of the time-dependent dipole moment component μκ(t), for a perturbing field λ in the λ direction: 1458 Zhu Y., Herbert J. M.
J. Chem. Phys.
(2018), 148, pp. 044117.
Link

ακλ(ω)=[μκ(t)][λ(t)]. (7.48)

To compute the spectrum in Eq. (7.47), three separate perturbations in the x, y, and z directions are required, else some excitations may be missing if their transition moment is strictly perpendicular to the applied field, causing the matrix element Ψn|λ|Ψ0 to vanish. However, these three perturbations x, y, and z can be applied all at once in a single calculation, in order to generate a superposition consisting of all possible excitations out of the ground state.

7.4.3.2 Fourier Transform Scripts

Two different scripts are provided to obtain the spectrum after the TDKS simulation is completed:

  • $QC/bin/tools/tdks_fft.py

  • $QC/bin/tools/tdks_pade.py

The first of these uses the Fourier transform method in Eq. (7.48) directly while the second makes use of Padé approximants to obtain comparable spectra with shorter propagation times. 526 Herbert J. M. et al.
J. Chem. Theory Comput.
(2023), 19, pp. 6745.
Link
The scripts can be run as follows:

$QC/bin/tools/tdks_fft.py output spectrum.txt
$QC/bin/tools/tdks_pade.py output spectrum.txt

The file spectrum.txt produced by the processing script will contain two columns: frequency (eV) and strength (arbitrary units). These data can be visualized as an (x,y) plot to view the spectrum.

Example 7.29  TDKS job using a CW field and a CAP.

$molecule
   0 1
   H    0.000000   0.000000   0.000000
   H    0.000000   0.000000   0.750000
$end

$rem
   BASIS                6-31G
   METHOD               lrc-wpbe
   TDKS                 true
   LRC_DFT              true
   OMEGA                300
   SCF_CONVERGENCE      9
   INTEGRAL_SYMMETRY    false
$end

$tdks
   DT                   0.10
   MAXITER              5
   PROPAGATOR           MMUT
   FIELD_VECTOR         1 1 1
   FIELD_TYPE           cw
   FIELD_FREQUENCY      1.55
   FIELD_AMP            0.0001
   DO_CAP               true
   CAP_TYPE             atom_centered_spherical
   CAP_R0               18.5  ! units are bohr
   CAP_ETA              0.1   ! units are hartree/bohr^2
$end

View output

7.4.3.3 Dipole Filtering

An important but not-well-recognized aspect of TDKS broadband spectrum calculations is that they may be contaminated by continuum artifacts corresponding to transitions to high-energy virtual MOs. 1408 Yang M. et al.
J. Chem. Theory Comput.
(2022), 18, pp. 992.
Link
, 526 Herbert J. M. et al.
J. Chem. Theory Comput.
(2023), 19, pp. 6745.
Link
This can be especially problematic for core-level spectra, where one X-ray edge may exhibit artifacts arising from a lower-energy edge. For example, N(1s) continuum transitions can appear at energies comparable to the oxygen K-edge consisting of O(1s) valence transitions. 526 Herbert J. M. et al.
J. Chem. Theory Comput.
(2023), 19, pp. 6745.
Link
This is unfortunate, since X-ray spectroscopy is a potentially useful application of the real-time approach, whereas a state-by-state approach (as in LR-TDDFT or any other eigenvalue-based method) may require the calculation of hundreds of individual states in order to obtain a converged spectrum. The TDKS approach is almost always (significantly) more expensive than LR-TDDFT, 526 Herbert J. M. et al.
J. Chem. Theory Comput.
(2023), 19, pp. 6745.
Link
but the former lacks the large memory bottleneck that is incurred by the latter.

Fortunately, artificial states appearing in the TDKS spectrum can be eliminated by means of a dipole-filtering technique, 1408 Yang M. et al.
J. Chem. Theory Comput.
(2022), 18, pp. 992.
Link
, 526 Herbert J. M. et al.
J. Chem. Theory Comput.
(2023), 19, pp. 6745.
Link
although this does require some advance knowledge of what transitions to expect. The key is to recognize that the dipole moment is a linear function of the density matrix,

μλ(t)=tr[𝐏(t)𝐃λ(t)]. (7.49)

Here, λ{x,y,z} represents a Cartesian component of the dipole moment and 𝐃λ is the matrix representation of the dipole moment operator μ^λ, expressed in the MO basis. The sum over occupied MOs k allows us to decompose μλ into a separate contribution from each. To do this, define a matrix

𝐃λ,k=(0(𝐃λ)1,k0(𝐃λ)k,1(𝐃λ)k,k(𝐃λ)k,nocc0(𝐃λ)nocc,k0) (7.50)

in which all but the kth row and column of 𝐃λ have been set to zero. Then

μλ(t)=koccμλ,k(t) (7.51)

where

μλ,k(t)=tr[𝐏(t)𝐃λ,k(t)]. (7.52)

Taking the Fourier transform of the time series μλ,k(t) provides the spectral contribution of the kth MO, and the sum of all such contributions affords the full TDKS spectrum. This need not be done on an orbital-by-orbital basis; instead, contributions from groups of MOs could be summed together, representing various partitions of the summation in Eq. (7.51). An oxygen K-edge spectrum that is free of contamination from N(1s) continuum transitions could be obtained by only allowing the sum over k to include the O(1s) orbital(s).

The aforementioned technique is a way of decomposing the full TDKS spectrum into contributions from individual occupied MOs or groups thereof. Arbitrary groupings can be computed, although only when those groups of MOs are non-disjoint will the Fourier transforms sum to the full TDKS spectrum. In this way, the effects of different occupied MOs can be deleted from the spectrum, both to look for (and remove) artifacts, but also to assign spectral features by determining the occupied MOs from which they arise.

Dipole filtering is accomplished by adding the keyword active_groups to the $tdks input section. An example of the format is

¯         active_groups  k1 k2 k3 | k4 k5 | k6 k7 k8

This requests a decomposition into three groups of occupied MOs, with indices {k1,k2,k3} for the first group, {k4,k5} for the second group, and {k6,k7,k8} for the third. (Group indices are separated by the “|” symbol.) For unrestricted calculations, the α- and β-spin MO indices for the active groups must be listed separately, using keywords active_alpha_groups and active_beta_groups that both have the same format as active_groups.

active_groups
       Specify groups of active MO indices for dipole filtering.
INPUT SECTION: $tdks
TYPE:
       STRING
DEFAULT:
       None
OPTIONS:
       k1k2|k3k4 Define groups {k1,k2,} and {k3,k4,}.
RECOMMENDATION:
       Use if desired. In addition to the full dipole moment function 𝝁(t), separate dipole moment functions for each group will be written to the scratch directory. For unrestricted SCF calculations, use active_alpha_groups and active_beta_groups instead.

The following example demonstrates how to decompose the absorption spectrum for TiO2 into contributions from Ti(1s), Ti(2s), O(1s), and Ti(2p) orbitals. In order to setup this job, one must have performed a prior SCF calculation to ascertain which indices correspond to the MOs of interest.

Example 7.30  Example of dipole filtering for TDKS. Note that the propagation time (maxiter) would need to be much longer for a real simulation.

$comment
TDKS with dipole filtering
Decompose the spectrum into contributions from active groups of occupied MOs,
   1    |    2    |  3 4  |  5 6 7
 Ti(1s)    Ti(2s)   O(1s)   Ti(2p)
$end

$molecule
0 1
Ti  0.0000000 0.000000  0.6131572
O  -1.3586178 0.000000 -0.3066726
O   1.3586178 0.000000 -0.3066726
$end

$rem
exchange src1-r1
basis    def2-tzvpd
tdks     true
thresh   12
scf_convergence 8
sym_ignore      true
$end

$tdks
active_groups  1 | 2 | 3 4 | 5 6 7
dt 0.02
maxiter 10
Propagator MMUT
field_vector 1 1 1
field_type delta
field_amp 0.0001
$end

View output

The relevant output from a TDKS calculation with dipole filtering is placed into the scratch directory, in a sub-directory named $QCSCRATCH/tdks-dipole. Upon completion of the calculation that director is copied into the same directory that contains the input and output files, and is renamed as outFileName.tdks-dipole where outFileName is the Q-Chem output file. For restricted SCF calculations, the tdks-dipole directory contains a file named full.dat consisting of the full dipole moment function, arranged as components μx(t), μy(t), and μz(t). In the same directory are files named group.n.dat that contain the same information but restricted to the nth group of MOs. For unrestricted SCF calculations, full.dat is replaced by full-alpha.dat and full-beta.dat, while group.n.dat is replaced by group-alpha.n.dat and group-beta.n.dat. The data in these .dat files can be individually Fourier transformed to obtain spectral contributions from each group of MOs. If there are no omissions and no redundancies in the list of MOs, then the group spectra should sum to the full spectrum. For example, full-alpha.dat and full-beta.dat together provide the full spectrum for an unrestricted TDKS calculation.