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.
- 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
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
EXCITATION
{ OPTION }
{ OPTION }
...
END
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:DAVIDSON &
E'' 5
T1.U 2
SUBEND
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:
EXCITATION
VECTORS 50
TOLERANCE 1e-6
ORTHONORMALITY 1e-8
ITERATIONS 30
END
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.
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]
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:
RESPONSE
ALLCOMPONENTS
HYPERPOL 0.01
DYNAHYP
END
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
RESPONSE
ERRALF 1e-6
ERABSX 1e-6
ERRTMX 1e-6
END
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.
RESPONSE
ALLCOMPONENTS
VANDERWAALS 10
END
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.