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:
- 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.
- 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:
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.
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:
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:
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 |