X

Search Results

Searching....

7.13 Core Ionization Energies and Core-Excited States

7.13.2 Calculations of X-Ray Spectroscopy with TDDFT

(November 19, 2024)

x-ray absorption spectroscopy can be calculated using TDDFT by restricting the excitation space to include excitations from a set of core orbitals. This is achieved by setting TRNSS = TRUE in the $rem section, which triggers the use of TDDFT with a truncated excitation space as described in Section 7.3.2. The occupied core orbitals that the user desires to be active in such a calculation should be listed individually in the $alist input section, and the number of such orbitals must be specified using N_SOL in the $rem section. This invokes the CVS approximation, which for TDDFT amounts to freezing all of the occupied orbitals except for the ones that are listed in $alist, while using the full virtual space. Such calculations are not suited to describe the extended x-ray absorption fine structure (EXAFS) region, which corresponds to the scattering of the ionized electron by the neighboring atoms.

Standard exchange-correlation functionals (including hybrids) tend to severely underestimate core excitation energies, 116 Besley N. A., Peach M. J. G., Tozer D. J.
Phys. Chem. Chem. Phys.
(2009), 11, pp. 10350.
Link
although chemical shifts (from one compound to the next) may still be valid. 375 Fransson T. et al.
J. Chem. Theory Comput.
(2021), 17, pp. 1618.
Link
Q-Chem has short-range corrected (SRC) functionals available that are designed to predict K-edge core excitation energies accurately. 116 Besley N. A., Peach M. J. G., Tozer D. J.
Phys. Chem. Chem. Phys.
(2009), 11, pp. 10350.
Link
These functionals are a modification of the more familiar long-range corrected functionals (discussed in Section 5.6). However, in SRC-DFT the short-range component of the Coulomb operator is predominantly Hartree-Fock exchange, while the mid to long-range component is primarily treated with standard DFT exchange. Job control variables for SRC functionals are provided below and their use in conjunction with the CVS approximation is illustrated in Example 7.13.2. See Section 7.3.4.1 for basic TDDFT job control.

HF_SR

HF_SR
       Sets the fraction of Hartree-Fock exchange at r12=0.
TYPE:
       INTEGER
DEFAULT:
       No default
OPTIONS:
       n Corresponding to HF_SR = n/1000
RECOMMENDATION:
       None

HF_LR

HF_LR
       Sets the fraction of Hartree-Fock exchange at r12=.
TYPE:
       INTEGER
DEFAULT:
       No default
OPTIONS:
       n Corresponding to HF_LR = n/1000
RECOMMENDATION:
       None

OMEGA

OMEGA
       Sets the Coulomb attenuation parameter for the short-range component.
TYPE:
       INTEGER
DEFAULT:
       No default
OPTIONS:
       n Corresponding to ω=n/1000, in units of bohr-1
RECOMMENDATION:
       None

OMEGA2

OMEGA2
       Sets the Coulomb attenuation parameter for the long-range component.
TYPE:
       INTEGER
DEFAULT:
       No default
OPTIONS:
       n Corresponding to ω2=n/1000, in units of bohr-1
RECOMMENDATION:
       None

SRC_DFT

SRC_DFT
       Selects form of the short-range corrected functional.
TYPE:
       INTEGER
DEFAULT:
       No default
OPTIONS:
       1 SRC1 functional. 2 SRC2 functional.
RECOMMENDATION:
       None

Example 7.179  Calculation of carbon K-edge [C(1s) virtual excitations] using SRC-TDDFT within the CVS approximation.

$comment
Carbon K-edge excitations for acetone.
The only active occupied orbitals are three C(1s).
The SRC1-R1 is parameterized for "first row" (C, N, O, ...)
$end

$molecule
0 1
  C   -3.0219081    1.0061477    0.0000001
  O   -2.9337180    2.2246186    0.0000001
  C   -1.7817549    0.1662163   -0.0000003
  C   -4.3700966    0.3535647    0.0000004
  H   -0.8735407    0.8061311   -0.0000005
  H   -1.7663727   -0.4765415   -0.9049102
  H   -1.7663723   -0.4765416    0.9049094
  H   -5.1766925    1.1175964    0.0000006
  H   -4.4778785   -0.2802782    0.9049091
  H   -4.4778790   -0.2802781   -0.9049084
$end

$rem
exchange           src1-r1  ! r1 = "first row"
basis              6-31++G*
cis_n_roots        25
cis_triplets       false
trnss              true
trtype             3
n_sol              3 ! no. of active orbs
$end

$alist
2 3 4
$end

View output

Relativistic effects become increasingly significant for calculation of x-ray absorption spectra at the K-edge of heavier elements. The REL_SHIFT keyword introduces a correction to the calculated excitation energies to account for these effects, as illustrated in Example 7.13.2 below. The element-specific correction that is added is equal to the difference between relativistic (Douglas-Kroll-Hess) and non-relativistic Hartree-Fock eigenvalues for the 1s orbital of the isolated atom. 111 Besley N. A., Gilbert A. T. B., Gill P. M. W.
J. Chem. Phys.
(2009), 130, pp. 124308.
Link
, 1323 Wadey J. D., Besley N. A.
J. Chem. Theory Comput.
(2014), 10, pp. 4557.
Link
This probably suffices to account for relativistic effects for K-edge excitations, although in the case of L- or M-edge excitations the situation is complicated by spin-orbit coupling.

REL_SHIFT

REL_SHIFT
       Corrects the calculated TDDFT excitation energy for scalar relativistic effects.
TYPE:
       INTEGER
DEFAULT:
       NONE
OPTIONS:
       Z Corresponding to the atomic number of the core-ionized element.
RECOMMENDATION:
       The relativistic correction is equal to the difference of relativistic (Douglas-Kroll-Hess) and non-relativistic Hartree-Fock/cc-pCVTZ eigenvalues for the 1s orbital of the isolated atom.

Example 7.180  Calculation of core-excited states at the phosphorus K-edge, including a scalar relativistic shift.

$molecule
   0 1
   H     1.196206    0.000000   -0.469131
   P     0.000000    0.000000    0.303157
   H    -0.598103   -1.035945   -0.469131
   H    -0.598103    1.035945   -0.469131
$end

$rem
   EXCHANGE       SRC2-R2  ! R2 = "second row" (Al, S, P, ...)
   BASIS          6-311(2+,2+)G**
   CIS_N_ROOTS    6
   CIS_TRIPLETS   false
   TRNSS          true
   TRTYPE         3
   N_SOL          1
   REL_SHIFT      15
$end

$alist
   1
$end

View output

Despite the relatively low computational cost of TDDFT, it can become challenging to calculate x-ray absorption spectra for large systems. The high density of core-excited states makes simulating spectra more computationally expensive than comparable calculations of the UV/vis spectra. This is particularly the case when excitations from many core-orbitals are required, which is often the situation when studying the carbon K-edge of organic molecules. There are two aspects to the computational cost, firstly the CPU time required and secondly the memory required. An implementation of TDDFT called “fTDDFTs” combines aggressive integral screening and a coarse DFT quadrature grid, which is especially efficient for the calculation of x-ray absorption spectra. 119 Besley N. A.
J. Chem. Theory Comput.
(2016), 12, pp. 5018.
Link
, 120 Besley N. A.
Acc. Chem. Res.
(2020), 53, pp. 1306.
Link
This approach may be fine-tuned using the $rem variables FAST_XAS, XAS_SCREEN_LEVEL and XAS_EDGE. The memory required for these calculations can be reduced further through the TDDFT_NVIRT keyword that reduces the number of virtual orbitals included in the TDDFT calculation. Job control variables for fTDDFTs are listed below and are illustrated in Example 7.13.2.

Note:  Currently fTDDFTs works only for restricted CIS/TDA calculations and is not parallelized. (Multiple threads can be used for the initial SCF calculation but the subsequent CIS/TDA calculation is performed in serial.)

FAST_XAS

FAST_XAS
       Controls whether fast TDDFT for core excitations is used.
TYPE:
       LOGICAL
DEFAULT:
       FALSE Normal TDDFT calculation.
OPTIONS:
       TRUE Use fast TDDFT.
RECOMMENDATION:
       None

XAS_SCREEN_LEVEL

XAS_SCREEN_LEVEL
       Sets the integral screening procedure for fast TDDFT.
TYPE:
       INTEGER
DEFAULT:
       NONE
OPTIONS:
       1 only evaluate integrals that include the inner core basis function on relevant atom(s). 2 only evaluate integrals that include basis functions on relevant atom(s).
RECOMMENDATION:
       1

XAS_EDGE

XAS_EDGE
       Specifies the nuclear charge of element being excited.
TYPE:
       INTEGER
DEFAULT:
       NONE
OPTIONS:
       n Corresponding to the nuclear charge of element being excited.
RECOMMENDATION:
       None

TDDFT_NVIRT

TDDFT_NVIRT
       Specifies the number of virtual orbitals included in the XAS TDDFT calculation.
TYPE:
       INTEGER
DEFAULT:
       NONE
OPTIONS:
       n Corresponding to the lowest energy n virtual orbitals.
RECOMMENDATION:
       None

Example 7.181  Fast, low-memory calculation of core-excited states at the oxygen K-edge of CO using fTDDFTs.

$molecule
   0 1
   C     0.000000    0.000000   -0.648906
   O     0.000000    0.000000    0.486357
$end

$rem
   EXCHANGE           SRC1-R1
   BASIS              6-311G*
   CIS_N_ROOTS        6
   CIS_TRIPLETS       false
   TRNSS              true
   TRTYPE             3
   N_SOL              1
   FAST_XAS           true
   XAS_EDGE           6
   XAS_SCREEN_LEVEL   1
$end

$alist
   1
$end

View output

It is also possible to compute x-ray emission spectroscopy using TDDFT. This is achieved by using a reference determinant with a core-hole. 1323 Wadey J. D., Besley N. A.
J. Chem. Theory Comput.
(2014), 10, pp. 4557.
Link
, 373 Fouda A. E. A., Besley N. A.
J. Comput. Chem.
(2020), 41, pp. 1081.
Link
The calculated excitation energies can be quite sensitive to the choice of basis set, and for the K-edge of heavier elements it can be necessary to use large or specially adapted basis sets to provide a good description of the core region. 372 Fouda A. E. A., Besley N. A.
Theor. Chem. Acc.
(2018), 137, pp. 6.
Link
, 484 Hanson-Heine M. W. D., George M. W., Besley N. A.
Chem. Phys. Lett.
(2018), 699, pp. 279.
Link

Example 7.182  This example shows a calculation of the XES spectrum of water using TDDFT + MOM.

$molecule
   0 1
   O   0.0000   0.0000   0.1168
   H   0.0000   0.7629  -0.4672
   H   0.0000  -0.7629  -0.4672
$end

$rem
   method       cam-b3lyp
   basis        cc-pvdz
$end

@@@

$molecule
   +1 2
   O   0.0000   0.0000   0.1168
   H   0.0000   0.7629  -0.4672
   H   0.0000  -0.7629  -0.4672
$end

$rem
   method       cam-b3lyp
   basis        cc-pvdz
   scf_guess    read
   mom_start    1
   cis_n_roots  5
   cis_triplets false
$end

$occupied
   1:5
   2:5
$end

View output