The absorption cross-section for light polarized in the direction
() can be obtained from the imaginary part () of the frequency-dependent
polarizability, :
1458
J. Chem. Phys.
(2018),
148,
pp. 044117.
Link
,
526
J. Chem. Theory Comput.
(2023),
19,
pp. 6745.
Link
(7.46) |
Within the electric dipole approximation, a rotationally-averaged absorption spectrum is then simply
(7.47) |
Components of the frequency-dependent
polarizability tensor are obtained from the Fourier transform ()
of the time-dependent dipole moment component , for a perturbing field
in the direction:
1458
J. Chem. Phys.
(2018),
148,
pp. 044117.
Link
(7.48) |
To compute the spectrum in Eq. (7.47), three separate perturbations in the , , and directions are required, else some excitations may be missing if their transition moment is strictly perpendicular to the applied field, causing the matrix element to vanish. However, these three perturbations , , and 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.
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
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 plot to view the spectrum.
$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
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
J. Chem. Theory Comput.
(2022),
18,
pp. 992.
Link
,
526
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
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
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
J. Chem. Theory Comput.
(2022),
18,
pp. 992.
Link
,
526
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,
(7.49) |
Here, 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 allows us to decompose into a separate contribution from each. To do this, define a matrix
(7.50) |
in which all but the th row and column of have been set to zero. Then
(7.51) |
where
(7.52) |
Taking the Fourier transform of the time series provides the spectral contribution of the th 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 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 for the first group,
for the second group, and 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:
Define groups and .
RECOMMENDATION:
Use if desired. In addition to the full dipole moment function , 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 TiO 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.
$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
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 , , and . In the same directory are files named group.n.dat that contain the same information but restricted to the th 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.