TDDFT

Time-dependent DFT is a nice black-box approach to computing excited states in general. UV-VIS, and CD spectra are straightforwardly computed using the %tddft block. TDDFT can also be used for core-level spectroscopy. See X-ray Spectroscopy section for this.

TDDFT with GGA functionals

Calculations are automatically performed using the Tamm-Dancoff approximation (TDA) where the B matrix is neglected. It is also possible to perform full TD-DFT calculations. TDA calculations are usually recommended as they are cheaper and the results are very similar between the two approaches. Full-TDDFT calculations give more accurate intensities, however.

Standard Tamm-Dancoff TDDFT:

! BP86 def2-SVP def2/J TightSCF
%maxcore 1000 # Memory settings often need to be modified when running TDDFT. Check batching info in the TDDFT output.
%tddft
nroots 150 # Setting the number of roots (transitions) to be calculated.
maxdim 5 # Davidson expansion space = MaxDim * nroots. Use MaxDim 5-10 for favorable convergence. Note that the larger MaxDim is, the more disk space is required
end

No-TDA calculation (Full-TDDFT, more expensive):

! BP86 def2-SVP def2/J TightSCF
%maxcore 1000 # Memory settings often need to be modified when running TDDFT. Check batching info in the TDDFT output.
%tddft
nroots 150
maxdim 5
tda false
end


Hybrid TDDFT calculations

Hybrid TDDFT calculations are automatically performed using the Tamm-Dancoff approximation but in ORCA 4.0, full TDDFT became available for hybrid functionals as well.

TDDFT calculations tend to be very expensive with hybrid functionals, yet hybrid functionals are often required for good results. The RIJCOSX approximation becomes almost indispensable here and can make calculations that are almost impossibly expensive without the approximation, relatively straightforward with the approximation (see Figure 1 below). Be aware of possible numerical errors due to the COSX grid, which are almost always minor (calculations on anions and with diffuse basis sets may have some grid sensitivity).

Normal calculation:

! B3LYP NORI def2-TZVP TightSCF
%maxcore 1000 # Memory settings often need to be modified when running TDDFT.
%tddft
maxdim 5
nroots 50
end

RIJONX calculation (RI-J approximation for Coulomb integrals, no approximation for Exchange):

! B3LYP def2-TZVP def2/J RIJONX TightSCF
%maxcore 1000 # Memory settings often need to be modified when running TDDFT.
%tddft
maxdim 5
nroots 50
end

RIJCOSX calculation:

! B3LYP def2-TZVP def2/J RIJCOSX TightSCF
%maxcore 1000
%tddft
maxdim 5
nroots 50
end

Timing and accuracy comparison of RIJONX/RIJCOSX approximations vs. No Approximation (NORI). This is an unrestricted B3LYP 50-root TDDFT calculation on a 347-electron system (MoFe3S4 cluster) with 1067 basis functions, using 6 cores:

Figure 1. Left: Timings for the SCF step and TDDFT step using NORI, RIJONX or RIJCOSX. Right: Plotted spectra with and without RIJONX and RIJCOSX approximations.

Analyzing TDDFT calculations

See Printing and visualization for information on how to plot UV-VIS/CD spectra from a TDDFT calculation using orca_mapspc.

Output example (HF molecule):

TD-DFT/TDA EXCITED STATES (SINGLETS)

------------------------------------

STATE 1: E= 0.364696 au 9.924 eV 80041.6 cm**-1

4a -> 5a : 0.999181 (c= -0.99959043)

State 1 is the first excited state, lying 9.924 eV higher than the ground state (transition energy).

The excitation into State 1 can be well described as an orbital excitation from orbital 4a to orbital 5a. Plotting the orbitals (see Printing and visualization) will tell you the nature of the excitation.

Sometimes the excited state has a more complicated nature and must be described as a combination of many orbital pairs. For State 13 below the situtation is more complex:

STATE 13: E= 1.514754 au 41.219 eV 332450.1 cm**-1

1a -> 6a : 0.061381 (c= -0.24775201)

2a -> 9a : 0.616771 (c= 0.78534791)

3a -> 8a : 0.145947 (c= -0.38203062)

4a -> 7a : 0.145947 (c= 0.38203062)

Difference densities

Visualizing the difference densities instead of the molecular orbitals themselves can then be of help. By calculating the difference in electron density in going from the ground state to the excited state often recovers the simple single-electron picture of excitations.

To visualize difference densities you use orca_plot (see Printing and visualization ) to create the difference density. orca_plot requires the original job.gbw file and the job.cis file from the TDDFT calculation:

orca_plot job.gbw -i

The orca_plot program will show you a menu with options to plot different types of orbitals, densities etc. Start by selecting the Output file format (Cube format for example), then the grid interval (determines the resolution of the plot, a value of 80 is often OK). Then select option 6, the program will ask for the job.cis file and then you select the state you want. The program will then plot the transition density. Depending on the grid interval you chose, the calculation may take a few minutes.

Transition densities

Visualizing the transition densities is done the same way using orca_plot.

orca_plot requires the original job.gbw file and the job.cis file from the TDDFT calculation:

orca_plot job.gbw -i

The orca_plot program will show you a menu with options to plot different types of orbitals, densities etc. Start by selecting the Output file format (Cube format for example), then the grid interval (determines the resolution of the plot, a value of 80 is often OK). Then select option 7, the program will ask for the job.cis file and then you select the state you want. The program will plot the difference density between the ground state and the excited state in question. Depending on the grid interval you chose, the calculation may take a few minutes.

Natural Transition orbitals

Natural Transition orbitals can be calculated by adding the keyword in the TDDFT block. They can be convenient for analyzing the change in electronic structure between states.

Look in the NTO section of the output for the relevant orbitals for each state (look at the occupation numbers) to figure out what NTO plots to generate (using orca_plot).

Plotting using orca_plot:

orca_plot file.nto -i

orca_plot will just interpret the NTO file as a regular GBW file that contains MOs. That's fine. Don't change the jobtype, just change the orbital numbers (see NTO section of output to see which ones makes sense to plot) and then plot orbitals corresponding to NTO orbital numbers in the outputfile. See ORCA manual for more details.

More details and a tutorial will be written at some point.

! B3LYP def2-TZVP def2/J RIJCOSX TightSCF
%maxcore 1000
%tddft
maxdim 5
nroots 50
DoNTO true
NTOStates 1,2 ,3 # States to consider for NTO Analysis. Default behaviour is to consider all.
end

Analysing electron densities or spin densities for each excited state

After a TDDFT calculation on an open-shell system it could also be useful to analyze the spin density for each excited state. The same could be done for the electron densities themselves but they are less useful.

To do this one must request an excited state gradient calculation for a specific state (Engrad keyword and Iroot X keywords in %tddft block) and request to keep the density files (Keepdens keyword).

For example, this inputfile test.inp:

! BP86 def2-SVP Engrad
%maxcore 1000
%tddft
nroots 5 #Number of roots in the TDDFT calculation
Iroot 2 # The excited state for which the gradient/density is to be computed, here no. 2
end

The outputfile will show the computation of the gradient and density ("TD-DFT/TDA GRADIENT") some basic electric property output like dipole moment of the excited state ("CIS RELAXED DENSITY").

A file, here named test.densities, will have been created: (contains the electron/spin densities for ground and excited states).
Note:
The basename.densities file applies to ORCA5 (the files will be different for older versions).

To now plot these excited state densities/spin densities it is best to use the orca_plot program:

orca_plot test.gbw -i

If you select option 9 ("List all available densities") you will get a list of the names of the available densities in the :


---------------------
List of density names---------------------
Index: Name of Density------------------------------------------------------------------------ 0: test.scfp 1: test.scfr 2: test.cisp 3: test.cisr


Then select file format (5) , resolution (4) and the type of plot (1) and then select option 2 (electron density) or 3 (spin density). Instead of selecting e.g. the ground-state SCF spin density (named "test.scfr") you can instead choose the name "test.cisr" which would be the TDDFT excited-state spin density (for the state you selected with the IRoot).

Then generate the plot (10 keyword). If the Cube File Format is chosen, the file can be open in programs like JMol, Chemcraft, Chimera, VMD.

TDDFT geometry optimizations

An excited state geometry optimization can also be performed as analytical gradients are available. Using the IRoot keyword you select which excited state you want to optimize the geometry for. A relaxed excited density can also be obtained (which can be visualized using orca_plot) if the Keepdens keyword is included.

! BP86 def2-SVP TightSCF Opt Keepdens
%tddft
Nroots 2 # The number of excited states to calculate.
MaxDim 5
IRoot 2 # Selecting the excited state (here no. 2) to perform a geometry optimization on.
end


sTDA and sTDDFT calculations

Todo...