Excited-State Calculation (TDDFT)

Python API · stjames models · API examples

How it works

Calculate electronic excitation energies and UV–Vis absorption spectra with linear-response time-dependent density-functional theory (TDDFT), or optimize a selected excited state. Excitation energies determine transition wavelengths; oscillator strengths describe their absorption intensities.

Settings

  • Level of theory: select "TDDFT / UV-Vis spectroscopy." The screening, routine, and Rydberg presets use the functional labeled ωB97X-D3 with def2-SVP, def2-TZVP(-f), and def2-TZVPD, respectively. Diffuse functions in def2-TZVPD help describe spatially extended Rydberg states.
  • Use TDA?: enabled by default. The Tamm–Dancoff approximation simplifies the response calculation and often improves stability. Disable it for full TDDFT; energies and intensities can change.
  • Num excitations: defaults to 5; the web form accepts 1–100. Start with about 10 roots for small molecules and 20–50 for larger molecules or the UV region, then increase until the spectrum covers your wavelength range.
  • Target root: leave blank for an energy-only absorption calculation. For excited-state gradients, optimization, or frequencies, choose a root from 1 through the number of excitations; 1 is the lowest excited state. The target also determines the reported total energy.
  • Tasks: "Energy" calculates transitions at the supplied geometry. "Optimize" relaxes the selected excited state; subsequent tasks use the final geometry. "Frequencies" calculates target-state vibrational frequencies using a numerical Hessian and can be expensive.

Notes

For absorption spectra, first obtain a suitable ground-state geometry, then run an energy-only TDDFT calculation. An excited-state optimization answers a different question: how the molecule relaxes after excitation. Conformers, protonation, tautomers, and solvent can all affect comparison with experiment.

The preset labeled ωB97X-D3 currently uses the engine's ωB97X functional with D3(0) dispersion. Record this method substitution when reporting calculations or comparing to historical benchmarks.

Roots are selected by energy order at each geometry. Keep roots above an optimization target and inspect changes in state character: states can exchange order during relaxation. The workflow does not automatically follow a state by its character. Closed-shell calculations return singlet excitations; a triplet-excitation selector is not exposed.

The adiabatic TDDFT approximation used here cannot describe double excitations. Charge-transfer states and strongly correlated systems need careful validation of the chosen functional; Rydberg states need diffuse basis functions. This workflow does not calculate nonadiabatic dynamics or search for conical intersections.

This published comparison illustrates how excitation-energy accuracy varies between functionals. Its QUESTDB results use the cited study's methods; consult that protocol when comparing with Rowan's current presets.

Functionals evaluated on QUESTDB excitation energies

Functionals evaluated on QUESTDB excitation energies, data from figure 6 of Liang et al.

Further reading