<< >> Up Title Contents Index SCM

Time-dependent DFT: Excitation Energies, (Hyper) Polarizabilities


Excitation energies, frequency-dependent (hyper) polarizabilities, Van der Waals dispersion coefficients, higher multipole polarizabilities, Raman scattering intensities and depolarization ratios of closed-shell molecules are all available in ADF [46, 47] as applications of time-dependent DFT (TDDFT); see [48] for a review.

The input description for these properties is split in three parts: (a) general advice and remarks, (b) excitation energies, and (c) frequency-dependent (hyper) polarizabilities and related properties.

General remarks on the use of the TDDFT Response and Excitation functionality

Symmetry
As in calculations without TDDFT the symmetry is automatically detected from the input atomic coordinates and need not be specified, except in the following case: infinite symmetries cannot be handled in the current release (ATOM, C(lin), D(lin)). For such symmetries a subgroup with finite symmetry must be specified in the input. The usual orientation requirements apply.
If higher multipole polarizabilities are required, it may also be necessary to use a lower subgroup (the program will stop with an error message otherwise). For verification of results one can always compare to a NOSYM calculation.
Closed-shell only
The current implementation supports only closed-shell molecules. If occupation numbers other than 0 or 2 are used the program will detect this, (but only at a later stage of the calculation) and abort. All "RESPONSE" calculations must be spin-restricted.
Atomic coordinates in a RAMAN calculation
Atomic coordinate displacements in a RAMAN calculation must be Cartesian, not Z-matrix. Furthermore, the current implementation does not yet support constrained displacements, i.e. you must use all atomic coordinate displacements.
Use of diffuse functions
The properties described here may require diffuse functions to be added to the basis (and fit) sets. Poor results will be obtained if the user is unaware of this. As a general rule, diffuse functions are more important for smaller than for larger molecules, more important for hyperpolarizabilities than for normal polarizabilities, more important for high-lying excitation energies (Rydberg states) than for low-lying excitations, more important for higher multipole polarizabilities than for dipole polarizabilities. The user should know when diffuse functions are required and when they are not: the program will not check anything in this respect. For example, in a study on low-lying excitation energies of a large molecule, diffuse functions will usually have little effect, whereas a hyperpolarizability calculation on a small molecule is pointless unless diffuse functions are included. Diffuse basis sets are included in the database (in the Vdiff/ directory of the database), but only for a few atoms. For some other atoms diffuse basis sets may be available at the web site http:tc.chem.vu.nl/~vgisberg. For other atoms, the user will have to add diffuse basis and fit functions to the existing data base sets. It is not necessary to start from basis V as was done for the basis sets just mentioned. All this means, of course, that usage of the TDDFT functionality is still somewhat experimental. It may be expected that more extensive basis sets will come available in the future, when usage and experience increase.
Linear dependency in basis
If large diffuse basis sets are used, or if diffuse functions are used for atoms that are not far apart the calculation may suffer from numerical problems because of (near-) linear dependencies in the basis set. The user should be aware of this danger and use the DEPENDENCY key to check and solve this.
The TAILS input keyword
For reasons of numerical robustness and safety rather strict defaults apply for the neglect of tails of basis and fit functions (see the key TAILS) in a Response or Excitation calculation. This may result in longer CPU times than needed for non-TDDFT runs, in particular for larger molecules. Possibly this precaution is not necessary, but we have not yet tested this sufficiently to relax the tightened defaults.
Relativistic effects
The Response and Excitations options can be combined with scalar relativistic options (ZORA or Pauli). The one-electron relativistic orbitals and orbital energies are then used as input for the property calculation. Spin orbit effects have not yet been incorporated in this part of the code. In case of a ZORA calculation, the so-called "scaled" orbital energies are used as default.
Choice of XC potential
For properties that depend strongly on the outer region of the molecule (high-lying excitation energies, (hyper) polarizabilities), it may be important to use a XC potential with correct asymptotic behavior (approaching -1/r as r tends to infinity). In ADF the LB94 potential has been implemented for this purpose [24].
With this particular XC functional, the XC potential is computed from the exact charge density for reasons of stability and robustness (whereas for other functions the (cheaper) fit density is used). This implies that computation times may be longer. Another `side effect' is that, since there is no energy expression corresponding to the LB94 potential, the final (bonding) energy of a LB94 calculation uses another GGA and hence the energy result is not (exactly) consistent with the SCF procedure. Note, finally, that the LB94 potential is not suitable for geometry optimizations because it is rather inaccurate in the bonding region, see the discussion of the XC input key.
Applications with the LB94 potential to response calculations with ADF can be found in [49] (polarizabilities), [50-52] (hyperpolarizabilities), [53] (high-lying excitation energies), [54] (multipole polarizabilities and dispersion coefficients)
Accuracy check list
As mentioned before, the TDDFT module is relatively new and not extensively tested for a wide range of applications. Therefore, we strongly recommend the user to build experience about aspects that may affect the accuracy of TDDFT results. In particular we advise to `experiment' with
- Varying integration accuracy
- Varying the SCF convergence
- Varying the ORTHONORMALITY and TOLERANCE values in an EXCITATION calculation
- Varying the TAILS parameters
- Using diffuse functions
- Using the DEPENDENCY key
- Applying the ZORA relativistic corrections for molecules containing heavy nuclei
- Using an asymptotically correct XC potential such as LB94

Excitation Input

You can perform a calculation of singlet-singlet and singlet-triplet excitation energies of a closed-shell molecule by supplying in the input file the block key EXCITATION

Several options can be addressed with subkeys in the data block. This functionality is based on TDDFT and consequently has a different theoretical foundation than the SCF techniques described elsewhere in this User's Guide. Two possible ways are available to solve the eigenvalue equation from which the excitation energies and oscillator strengths are obtained, of which the iterative Davidson procedure is the default. In this case, the program needs to know how many excitation energies are needed per irrep, what accuracy is required, and what type of excitation energies are required (singlet-singlet or singlet-triplet). Suitable defaults have been defined for all of these. Each of these points is discussed below.

Exact diagonalization vs. iterative Davidson procedure
The most straightforward procedure is a direct diagonalization of the matrix from which the excitation energies and oscillator strengths are obtained. Since the matrix may become very large, this option is possible only for very small molecules. It can be activated by specifying the word EXACT as one of the subkeys in the EXCITATIONS data block. The default is the iterative Davidson method. A few of the lowest excitation energies and oscillator strengths are then found within an error tolerance. An advantage of the EXACT option is that additional information is produced, such as the Cauchy coefficients that determine the average dipole polarizability.
Singlet versus triplet
By default, the singlet-singlet and singlet-triplet excitation energies are both calculated. The singlets are handled first, then the corresponding triplet excitation energies. One can skip one of these two parts of the calculation by specifying either ONLYSING or ONLYTRIP as a subkey in the data block.
Which excitation energies and how many?
The user can specify how many excitation energies per irrep should be calculated. If no pertaining input is available the program determines these numbers from the smallest differences between occupied and virtual Kohn-Sham orbital energies. By default it looks at the 10 lowest orbital energy differences. This number can be modified, by specifying inside the EXCITATION block key, for example:

One should be aware that this procedure does not guarantee that the lowest 10 (or 30) excitation energies will actually be found, since the orbital energy difference approximation to the excitation energy is rather crude. However, if the program decides on the basis of this procedure to calculate 4 excitation energies in a certain irreducible representation, these 4 excitation energies are certainly the lowest in that particular irrep.
The user has more control when the number of excitations per irrep is explicitly specified within the EXCITATION block key by the DAVIDSON subkey:
The DAVIDSON sub key is a general (simple or block type) subkey. For usage as block type it must, be followed by the continuation code ( &). Its data block may contain any number of records and must end with a record SUBEND. In the subkey data block a list of irreps, followed by the number of requested excitation energies is specified. Note that the irrep name may not be identical to the usual ADF name. For example E'' is called EEE in ADF. The Excitation code will skip an irrep of the label is not recognized. For multidimensional irreps, only the first column is treated, because the other would produce identical output. This implies that the oscillator strengths for E-irreps have to be multiplied by 2 and the oscillator strengths for T-irreps by 3.
The EXACT subkey, mentioned already above, can also be used as a block type subkey to treat only a few irreps instead of all. The number of excitation energies does not have to be specified then.
Accuracy and other technical parameters
A summary of technical parameters with their defaults is:
VECTORS: the maximum number of trial vectors in the Davidson algorithm for which space is allocated. If this number is small less memory will be needed, but the trial vector space is smaller and has to be collapsed more often, at the expense of CPU time. The default if usually adequate.
TOLERANCE: specifies the error tolerance in the square of the excitation energies in hartree units. The default is probably acceptable but we recommend that you verify the results against a stricter default (e.g. 1e-8) for at least a few cases.
ORTHONORMALITY: the Davidson algorithm orthonormalizes its trial vectors. Increasing the default orthonormality criterion increases the CPU time somewhat, but is another useful check on the reliability of the results.
ITERATIONS: the maximum number of attempts within which the Davidson algorithm has to converge. The default appears to be adequate in most cases.

Applications of the Excitation feature in ADF

It may be useful to consult the following (early) applications of the Excitation feature in ADF:

1) For excitation energies based on exact XC potentials: [55]

2) Calculations on Free Base Porphin: [56]

3) Calculations on MnO4-, Ni(CO)4 and Mn2(CO)10: [57]

4) Calculations on M(CO)5 (M=Cr, Mo, W), using the ZORA relativistic approach: [58]

Input description for the Response functionality

The calculation of frequency-dependent (hyper)polarizabilities and related properties is activated with the block key RESPONSE

In this example only the zz component of the dipole polarizability tensor is calculated, at zero frequency. The orientation of the molecule is therefore crucial. Be aware that the program may modify the orientation of the molecule if the input coordinates do not agree with Asymmetry conventions in ADF!
(This calculation could equivalently be done through a finite field method).

The impact of various approximations on the quality of computed polarizabilities has been studied in, for instance, Refs. [49, 55, 59]. If you are new to this application field, we strongly recommend that you study a few general references first, in particular when you consider hyperpolarizability calculations. These have many pitfalls, technically (which basis sets to use, application of the DEPENDENCY key) and theoretically (how do theoretical tensor components relate to experimental quantities, different conventions used). Please, take a good look both at ADF-specific references [50-52, 60] and at general references related to this subject: Refs. [61-63], the entire issues of Chem.Rev.94, the ACS Symposium Series #628, and further references in the ADF-specific references.

Let's have a look at the available subkeys in the RESPONSE data block. (Not all of them should be used at the same time!)

Entire tensor or only one component
You specify the ALLCOMPONENTS subkey to get the entire polarizability tensor, instead of just the zz component.
Frequencies or wavelengths
Instead of performing the calculation at zero frequency (which results in the static polarizability), one can specify an even-spaced sequence of frequencies, using the subkeys NFREQ, FRQBEG, AND FRQEND with obvious meaning. The (first and last) frequency values are by default in eV. This can be changed into Hartree units (a.u.) or in wavelengths (angstroms) by typing the corresponding word after the frequency value.
Hyperpolarizabilities
The first hyperpolarizability tensor b is calculated if the subkey HYPERPOL is present with a specification of the laser frequency (in hartree units). If also the subkey ALLCOMPONENTS is specified, all components of the hyperpolarizability tensor will be obtained.
As mentioned before, by default only the static dipole hyperpolarizability tensor is computed. If one is interested in the frequency-dependent hyperpolarizability, the input could look like:
The subkey DYNAHYP has to be added and the main frequency w has to be specified in Hartrees after the subkey HYPERPOL. In the output all nonzero components of the tensors governing the static first hyperpolarizability, second harmonic generation, electro-optic pockels effect, and optical rectification are printed.
Note: Second hyperpolarizabilities are currently not available analytically. Some can however be obtained by calculating the first hyperpolarizability in a finite field.
The effect of using different DFT functionals (LDA, LB94, BLYP) on hyperpolarizabilities in small molecules has been investigated in [52].
Higher multipole polarizabilities
Instead of just calculating the dipole-dipole polarizability, one may address the dipole-quadrupole, quadrupole-quadrupole, dipole-octupole, quadrupole-octupole, and octupole-octupole polarizability tensors. These can all be calculated in a single run, using the subkey ALLTENSOR. If only quadrupole-quadrupole or octupole-octupole tensors are needed, the subkey QUADRUPOLE or OCTUPOLE should be used.
Accuracy and convergence
The subkeys ERRALF, ERABSX, ERRTMX determine the convergence criteria for a polarizability calculation. The strict defaults are shown. It is rarely necessary to change the defaults, as these are rather strict but do not lead to many iterations.
Dispersion coefficients
Simple dispersion coefficients (the dipole-dipole interaction between two identical molecules, the C6 coefficient) are calculated in a single ADF calculation. General dispersion coefficients are obtained with the auxiliary program DISPER, which uses two output files (file named TENSOR) of two separate ADF runs as input. See the Utilities and the Examples documents.
To get the dispersion coefficients one has to calculate polarizabilities at imaginary frequencies between 0 and infinity. The ADF program chooses the frequencies itself. The user has to specify the number of frequencies, which in a sense defines the level of accuracy, as an argument to the subkey VANDERWAALS.
Ten frequencies is reasonable. In the example only dipole-dipole interactions are considered. If ALLTENSOR is specified, higher dispersion coefficients are also calculated. This ADF calculation generates a file with name TENSOR, which contains the results of multipole polarizabilities at imaginary frequencies. This TENSOR file has to be saved. Similarly, the TENSOR file for the second monomer has to be saved. The files have to be renamed to files `tensorA' and `tensorB' (case sensitive) respectively. Then the program DISPER has to be called in the same directory where the `tensorA' and `tensorB' files are located. DISPER needs no further input. See the Utilities document.
Raman scattering
Raman scattering intensities and depolarization ratios for all molecular vibrations at a certain laser frequency can be calculated in a single run. The run type must be Frequencies, which is arranged with the GEOMETRY key.
The Response key is used to specify that Raman intensities are computed.
In this example the static Raman scattering is calculated (w = 0). This type of calculation is very similar to an IR intensity calculation. In fact, all IR output is automatically generated as well. At all distorted geometries the dipole polarizability tensor is calculated. This is very time-consuming and is only feasible for small molecules.
There are a few caveats:
- Numerical integration accuracy must be high
- A calculation in which only a subset of the atoms is displaced is not possible for Raman calculations.
- For good results, a well converged (with the same basis and functional) equilibrium geometry must be used.
Because of this last point, it is wise to always start the RAMAN calculation with a TAPE13 restart file from a previous geometry optimization with the same basis, accuracy parameters, and density functional.


<< >> Up Title Contents Index