# Spectroscopic Properties¶

## Excited States with Time Dependent DFTB¶

DFTB allows for excited state calculations on molecular systems by means of single orbital transitions as well as time-dependent DFTB as published by Niehaus et al. in *Phys. Rev. B* **63**, 085108 (2001).
Singlet-singlet as well as singlet-triplet excitations can be calculated.
DFTB also supports the calculation of excited state gradients, which allows geometry optimizations and vibrational frequency calculations for excited states.

The TD-DFTB implementation uses the PRIMME library (PReconditioned Iterative MultiMethod Eigensolver) by Andreas Stathopoulos and James R. McCombs, PRIMME: PReconditioned Iterative MultiMethod Eigensolver: Methods and software description ACM Transaction on Mathematical Software Vol. 37, No. 2, (2010), 21:1–21:30.

DFTB excited state calculations are controlled by the following keywords:

```
Properties
Excitations
{SingleOrbTrans
{Filter
{dEMin r}
{dEMax r}
{OSMin r}
End}
{printlowest n}
End}
{TDDFTB
calc singlet|triplet
{lowest n}
{upto r}
{diagonalization exact|davidson|auto}
{DavidsonConfig
{ATCharges onthefly|precalc}
{tolerance r}
{safetymargin n}
End}
{print evcontribs}
End}
{TDDFTBGradients
{excitation n}
{eigenfollow true|false}
End}
End
End
```

`SingleOrbTrans`

The simplest approximation to the true excitations are the single orbital transitions (sometimes called Kohn-Sham transitions), that is transitions where a single electron is excited from an occupied Kohn-Sham orbital into a virtual orbital. The calculation of these transitions is configured in the

`SingleOrbTrans`

section. Note that the`SingleOrbTrans`

section is optional even though the single orbital transitions are also needed for TD-DFTB calculations. If the section is not present all single orbital transitions will still be calculated and used in a subsequent TD-DFTB calculation, but no output will be produced.`Filter`

The Filter section allows to remove single orbital transitions based on certain criteria. All filters are disabled by default.

`dEMin r`

- Removes single orbital transitions with an orbital energy difference smaller than
`dEMin`

. Accepts the minimum energy difference in Hartree as a single number. `dEMax r`

- Removes single orbital transitions with an orbital energy difference larger than
`dEMax`

. Accepts the maximum energy difference in Hartree as a single number. `OSMin r`

- Removes single orbital transitions with an oscillator strength smaller than
`OSMin`

.

`printlowest n`

- The number of single orbital transitions that are printed to the screen and written to disk.
Accepts a single integer.
If the
`TDDFTB`

section does not exist, the default is to print the 10 lowest single orbital transitions. If it does exist it is assumed that the single orbital transitions are only used as an input for TD-DFTB and nothing will be printed unless`printlowest`

is specified explicitly.

`TDDFTB`

Calculations with time-dependent DFTB can be configured in the

`TDDFTB`

section and should in general give better results than the raw single orbital transitions. TD-DFTB calculates the excitations in the basis of the single orbital transitions, whose calculation is configured in the`SingleOrbTrans`

section. Using a filter in`SingleOrbTrans`

can therefore be used to reduce the size of the basis for TD-DFTB. One possible application of this is to accelerate the calculation of electronic absorption spectra by removing single orbital transitions with small oscillator strengths from the basis. Note that the entire`TDDFTB`

section is optional. If no`TDDFTB`

section is found, the behavior depends on the existence of the`SingleOrbTrans`

section: If no`SingleOrbTrans`

section is found (the`Excitations`

section is completely empty then) a TD-DFTB calculation with default parameters will be performed. If only the`SingleOrbTrans`

section is present no TD-DFTB calculation will be done.`calc singlet|triplet`

- Specifies the multiplicity of the excitations to be calculated.
Accepts the values
`singlet`

or`triplet`

. Note that this key is not optional: If the TD-DFTB section is present, this keyword also has to be there. `lowest n`

- Specifies the number of excitations that are calculated.
Accepts a single integer.
The default is to calculate the 10 lowest excitations.
Note that in case of the exact diagonalization all excitations are calculated, but only the
`lowest`

ones are printed to screen and written to the output file. `upto r`

- Attempts to calculate all excitations up to a given energy by calculating a number of excitations equal to the number of single orbital transitions in this window. This is only approximately correct, so one should always add some safety margin. Accepts a single real number which is the maximum excitation energy in Hartree. Note that if both lowest and upto are specified, DFTB will always use whatever results in the smaller number of calculated excitations.
`diagonalization exact|davidson|auto`

- Specifies the method used to solve the TD-DFTB eigenvalue equation. The most straightforward procedure is a direct diagonalization of the matrix from which the excitation energies and oscillator strengths are obtained. Since the matrix grows quickly with system size (number of used single orbital transitions squared), this option is possible only for small molecules. The alternative is the iterative Davidson method, which finds a few of the lowest excitations within an error tolerance without ever storing the full matrix. The default is to make this decision automatically based on the system size and the requested number of excitations.
`DavidsonConfig`

The DavidsonConfig section contains a number of keywords that can be used to override various internals of the Davidson eigensolver. The default values should generally be fine.

`ATCharges onthefly|precalc`

- Controls whether the atomic transition charges are precalculated in advance or reevaluated during the iterations of the Davidson solver. Precalculating the charges will improve the performance, but requires additional storage. The default is to precalculate the atomic transition charges, but the precalculation can be disabled if not not enough memory is available.
`tolerance r`

- Convergence criterion for the norm of the residual. Accepts a single real number. The default is 1e-9.
`safetymargin n`

- The number of eigenvectors the Davidson method will calculate in addition to the ones requested by the user.
With the Davidson eigensolver it is generally a good idea to calculate a few more eigenvectors than requested with the
`lowest`

keyword, as depending on the initial guess for the eigenvectors it can happen that the found ones are not exactly the lowest ones. This problem is especially prominent if one wants to calculate only a small number of excitations for a symmetric molecule, where the initial guesses for the eigenvectors might have the wrong symmetry. The default is to calculate 4 more eigenvectors than requested. Note that the additionally calculated excitations will neither be written to the result file nor be visible in the output.

`print evcontribs`

- Specifies whether to print details on the contribution of the individual single orbital transitions to the calculated excitations. The default is to print nothing.

`TDDFTBGradients`

Use this input to calculate analytical gradients for the TD-DFTB excitation energies, which allows the optimization of excited state geometries and the calculation of vibrational frequencies in excited states (see J. Comput. Chem., 28: 2589–2601). If the gradients are calculated, they will automatically be used for geometry optimizations or vibrational frequency calculations, if the corresponding

`runType`

is selected. Vibrationally resolved UV/Vis spectroscopy (Franck-Condon Factors) can be calculated in combination with the FCF program. See the ADF documentation on Vibrationally resolved electronic spectra.`excitation n`

- Determine which excited state to calculate the gradients for.
Gradients can only be calculated for an excited states that has been calculated in the
`TDDFTB`

block, so make sure that enough excitations are calculated. The default is to calculate the gradients for the first excited state. `eigenfollow true|false`

- If this is set to true, DFTB uses the transition density in atomic orbital basis to follow the initially selected excited state during a geometry optimization. This is useful if excited state potential energy surfaces cross each other and you want to follow the surface you started on. Eigenvector following is disabled by default.