# Spectroscopy and 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
Enabled [True | False]
Filter
OSMin float
dEMax float
dEMin float
End
PrintLowest integer
End
TDDFTB
Calc [None | Singlet | Triplet]
DavidsonConfig
ATCharges [Precalc | OnTheFly]
SafetyMargin integer
Tolerance float
End
Diagonalization [Auto | Davidson | Exact]
Lowest integer
Print string
ScaleKernel float
UpTo float
End
TDDFTBGradients
Eigenfollow [True | False]
Excitation integer
End
End
End
```

`Properties`

Type: Block Description: DFTB can calculate various properties of the simulated system. This block configures which properties will be calculated. `Excitations`

Type: Block Description: Contains all options related to the calculation of excited states, either as simple single orbitals transitions or from a TD-DFTB calculation. `SingleOrbTrans`

Type: Block Description: 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 this 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. `Enabled`

Type: Bool Default value: False Description: Calculate the single orbital transitions. `Filter`

Type: Block Description: This section allows to remove single orbital transitions based on certain criteria. All filters are disabled by default. `OSMin`

Type: Float Description: Removes single orbital transitions with an oscillator strength smaller than this threshold. A typical value to start (if used at all) would be 1.0e-3. `dEMax`

Type: Float Unit: Hartree Description: Removes single orbital transitions with an orbital energy difference larger than this threshold. `dEMin`

Type: Float Unit: Hartree Description: Removes single orbital transitions with an orbital energy difference smaller than this threshold.

`PrintLowest`

Type: Integer Default value: 10 Description: The number of single orbital transitions that are printed to the screen and written to disk. If not a TD-DFTB calculation, the default is to print the 10 lowest single orbital transitions. In case of a TD-DFTB calculation 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`

Type: Block Description: 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`

Type: Multiple Choice Default value: None Options: [None, Singlet, Triplet] Description: Specifies the multiplicity of the excitations to be calculated. `DavidsonConfig`

Type: Block Description: This 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`

Type: Multiple Choice Default value: Precalc Options: [Precalc, OnTheFly] Description: Select 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 may be disabled if not not enough memory is available. `SafetyMargin`

Type: Integer Default value: 4 Description: 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 needed, 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. Note that the additionally calculated excitations will neither be written to the result file nor be visible in the output. `Tolerance`

Type: Float Default value: 1e-09 Description: Convergence criterion for the norm of the residual.

`Diagonalization`

Type: Multiple Choice Default value: Auto Options: [Auto, Davidson, Exact] Description: Select 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. `Lowest`

Type: Integer Default value: 10 Description: Specifies the number of excitations that are calculated. 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. Also note that if limited both by number and by energy, (lowest and upto), DFTB will always use whatever results in the smaller number of calculated excitations. `Print`

Type: String Description: Specifies whether to print details on the contribution of the individual single orbital transitions to the calculated excitations. `ScaleKernel`

Type: Float Default value: 1.0 Unit: None Description: Set the scaling parameter of the response kernel. A scaling approach can be used to identify plasmons in molecules. While single-particle excitations are only slightly affected by scaling of the response kernel, plasmonic excitations are sensitive to variations in the scaling parameter. Default no scaling is used (scaling parameter = 1.0) `UpTo`

Type: Float Unit: Hartree Description: Set the maximum excitation energy. 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. Note that if limited both by number and by energy, (lowest and upto), DFTB will always use whatever results in the smaller number of calculated excitations.

`TDDFTBGradients`

Type: Block Description: This block configures the calculation of 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 Task 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. `Eigenfollow`

Type: Bool Default value: False Description: If this option is set, 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. `Excitation`

Type: Integer Description: Select which excited state to calculate the gradients for. Gradients can only be calculated for an excited states that has been calculated using TD-DFTB. Make sure that enough excitations are calculated.

## System properties¶

DFTB can calculate various properties of the simulated system.

```
Properties
DipoleMoment [True | False]
BondOrders [True | False]
NBOInput [True | False]
VCD [True | False]
End
```

`Properties`

Type: Block Description: DFTB can calculate various properties of the simulated system. This block configures which properties will be calculated. `DipoleMoment`

Type: Bool Default value: True Description: Whether of not the electric dipole moment is calculated from the calculated Mulliken charges. While it is technically possible to calculate the dipole moment with the DFTB0 model, it is not recommended and the SCC-DFTB or DFTB3 model should be used instead. For periodic systems the dipole moment is ill-defined and should not be interpreted. `BondOrders`

Type: Bool Default value: False Description: Whether or not Mayer bond orders are calculated based on the final molecular orbitals. `NBOInput`

Type: Bool Default value: False Description: Whether or not an input file for the NBO program is written to disk as nboInput.FILE74. The input file follows the FILE47 format as described in the NBO6 manual available on nbo6.chem.wisc.edu. By default, only the calculation of the natural bond orbitals and the natural localized molecular orbitals is enabled, but the nboInput.FILE47 file can be edited by hand to enable other analysis models. Please refer to the NBO6 manual for details. `VCD`

Type: Bool Default value: False Description: Calculate the VCD spectrum after calculating the IR spectrum. Note: symmetry must be set to NOSYM.

## Frequencies, phonons and elastic tensor¶

Frequencies and phonons and can be computed via numerical differentiation by the AMS driver. See the Normal Modes section or the Phonon section of the AMS manual.

Several thermodynamic properties, such as zero-point energy, internal energy, entropy, free energy and specific heat are computed by default when calculating phonons.

The elastic tensor (and related elastic properties such as bulk modulus, shear modulus and young modulus) can be computed via numerical differentiation by AMS. See the Elastic Tensor section of the AMS manual.