Skip to content

Hole-Hole Tamm-Dancoff DFT (hh-TDA)

The hole-hole Tamm-Dancoff approximated DFT method12 (often written \(hh\)-TDA-DFT) treats dynamic and static correlation on equal footing by starting from an \(N+2\)-electron reference state and reaching the \(N\)-electron target states by annihilating two electrons at the linear-response level. Ground and excited states then come from the same eigenvalue problem, so they are described consistently — this makes hh-TDA particularly well-suited to photochemistry of systems with low-lying \(\pi\pi^\ast\) and \(n\pi^\ast\) states.

The main restriction is that the excited states of interest should be well-described as excitations to the LUMO of the \(N\)-electron system. hh-TDA inherits the same technical settings as restricted CIS/TDA-DFT, so most of the cis* and cphf* knobs that work for CIS also work here.

Two ways to generate the underlying orbitals are supported:

  1. Direct \(N+2\) reference SCF — converge the SCF on the genuine doubly-anionic species. Use a range-separated hybrid functional to keep the (\(N+2\))-electron problem well-behaved.
  2. Fractional-occupation SCF (FON) with an active space that fits the physical electron count — see Example 2 below. This is the workaround when a real (\(N+2\)) anion would be too unbound to converge.

In either case, the final hh-TDA states correspond to the charge-neutral \(N\)-electron molecule (or whatever \(N\)-electron charge state is implied by the chosen closed/active/charge combination).

Quick start

The required keywords to activate hh-TDA are:

hhtda          yes
hhtdasinglets  <Ns>            # number of singlet hh-TDA states
cisnumstates   <Ns>            # match hhtdasinglets

hhtdatriplets <Nt> can be added to request triplet states alongside the singlets. The remaining technical settings (cisalgorithm, cisguessvecs, cismax, cismaxiter, cistarget, cisconvtol, cphftol, cphfiter) have the same meaning as for ordinary CIS.

Example 1: \(N+2\) reference with a range-separated hybrid

Direct \(N+2\) orbital generation works well when the doubly-anionic SCF is stable. Note that charge is set to the actual charge minus 2 so the SCF actually converges the \(N+2\) system; the final hh-TDA states correspond to the charge-neutral molecule:

hhtda_n2_ref.in
method        wb97x
basis         def2-svp
coordinates   coord.xyz
guess         sad
precision     mixed
dftgrid       1
threall       1.0e-14
threspdp      1.0e-4
convthre      1.0e-6
xtol          1.0e-6

hhtda          yes
hhtdasinglets  10
cisnumstates   10
cisalgorithm   davidson
cisguessvecs   30
cismax         100
cismaxiter     1000
cistarget      1
cisconvtol     1.0e-6

cphftol        1.0e-6
cphfiter       100

# N+2 reference: actual charge is 0, so set "charge -2"
charge        -2
spinmult       1
run            gradient
end

This run produces 10 hh-TDA singlet states corresponding to the charge-neutral molecule and computes the gradient on the first excited state (cistarget 1).

Example 2: FON-based orbital generation

When the doubly-anionic SCF is too unbound to converge (the usual case for small or compact systems), use fractional occupation numbers with an active space sized to give the correct effective electron count. With closed N_c and active N_a and fon yes, the SCF distributes \(2N_c\) + (effective fractional occupancies) electrons among the closed and active orbitals. Choosing \(N_c + N_a = N/2 + 1\) generates the \(N+2\)-electron intermediate needed for hh-TDA.

hhtda_fon.in
method         bhandhlyp
basis          def2-tzvp
coordinates    coord.xyz
max_l_in_basis 2          # drop basis functions higher than d
sphericalbasis yes
guess          sad
precision      mixed
dftgrid        2
threall        1.0e-14
threspdp       1.0e-4
convthre       1.0e-8

# FON SCF for orbital generation
fon            yes
fon_method     constant
closed         0
active         30          # N_c + N_a = N/2 + 1 for an N-electron neutral

# hh-TDA target states
hhtda          yes
hhtdasinglets  10
cisnumstates   10
cisalgorithm   davidson
cisguessvecs   30
cismax         100
cismaxiter     1000
cistarget      1
cisconvtol     1.0e-6
cphftol        1.0e-8
cphfiter       100

# This determines the number of electrons in the SCF
charge         0
spinmult       1

# Compute the non-adiabatic coupling between S0 and S1
run            coupling
nacstate1      0
nacstate2      1
end

In this input, the SCF smears all \(N\) electrons across the 30 active orbitals to construct the \(N+2\) intermediate reference. The hh-TDA step then doubly occupies the 30 active orbitals and annihilates two electrons within them to generate the final \(N\)-electron states.

Common variants

Triplet excited states

Add hhtdatriplets <N> alongside hhtdasinglets. Both can be requested in the same run; the implementation supports either or both.

Hartree-Fock-like response kernel

By default the hh-TDA response kernel inherits the chosen DFT functional. For some systems (especially when comparing to CIS reference data) it is useful to evaluate the response with a Hartree-Fock-like kernel:

hhtdaexactexchange  yes

A custom response kernel can be specified with hhtdakernel <r12-options> when more control is needed.

Dual reference density

The dual-reference-density variant uses one density for the ground state and another for the excited states. Enable with:

hhtdadualrefdensity  yes

K-edge X-ray spectra

For core-excited (K-edge) hh-TDA spectra, request a number of states at the K-edge in addition to (or instead of) the valence states:

hhtdakedgenumsinglets  4         # K-edge singlets
hhtdakedge             6         # core orbital index (carbon K-edge is element-dependent)
hhtdakedgee            290.0     # search-window center in eV (default depends on hhtdakedge)
hhtdakedgeoffset       2         # offset within the core manifold

When hhtdakedge is 6/7/8 (C/N/O K-edges) and hhtdakedgee is left unspecified, TeraChem uses internal defaults (220, 350, and 480 eV respectively, with ~60 eV buffer).

Summary of keywords

hh-TDA master switches and states

Keyword Type Default Description
hhtda bool no Master switch — activates hh-TDA
hhtdasinglets int 0 Number of singlet states to compute
hhtdatriplets int 0 Number of triplet states to compute
cisnumstates int 0 Total number of CIS-like states allocated by the Davidson solver. Should at least equal the requested singlets + triplets.

Response kernel

Keyword Type Default Description
hhtdaexactexchange bool no Use a Hartree-Fock-like response kernel instead of the DFT kernel
hhtdakernel string — Custom response kernel specification (advanced)
hhtdadualrefdensity bool no Use distinct ground- and excited-state reference densities

K-edge X-ray excited states

Keyword Type Default Description
hhtdakedgenumsinglets int 0 Number of K-edge singlet states
hhtdakedgenumtriplets int 0 Number of K-edge triplet states
hhtdakedge int — Core element atomic number (e.g. 6 for C, 7 for N, 8 for O)
hhtdakedgeoffset int 0 Offset within the core manifold
hhtdakedgee float element-dependent Energy window center in eV (used to filter K-edge excitations from the Davidson eigenvectors)

Shared with CIS / TDA-DFT

hh-TDA inherits the rest of its solver and gradient settings from the CIS implementation. The keywords most often touched are:

Keyword Description
cisalgorithm Davidson solver mode (davidson for production, debug for diagnostics)
cisguessvecs Number of initial guess vectors for Davidson
cismax Maximum Davidson subspace dimension
cismaxiter Maximum Davidson iterations
cistarget State for which to evaluate gradients/properties (0 = ground, 1 = first excited, ...)
cisconvtol Convergence tolerance for the Davidson eigenpairs
cphftol CPHF response-equation convergence tolerance
cphfiter Maximum CPHF iterations

Run modes

hh-TDA works with several run modes inherited from CIS:

run value What it does
energy Compute the hh-TDA spectrum
gradient Compute the gradient on state cistarget
coupling Compute non-adiabatic couplings between nacstate1 and nacstate2
minimize Minimize on state cistarget
md Born-Oppenheimer dynamics on state cistarget

  1. C. Bannwarth, J. K. Yu, E. G. Hohenstein, and T. J. Martínez, J. Chem. Phys. (2020). ↩

  2. J. K. Yu, C. Bannwarth, E. G. Hohenstein, and T. J. Martínez (in preparation). ↩