# Time-Dependent Current DFT¶

Time-Dependent Current Density Functional Theory (**TD-CDFT**) is a theoretical framework for computing optical response properties, such as the frequency-dependent dielectric function.

In this section, the TD-CDFT implementation for extended systems (1D, 2D and 3D) in BAND is described. The input keys are described in NewResponse or in OldResponse.

Some examples are available in the `$ADFHOME/examples/band`

directory and are discussed in the Examples section.

## Insulators, semiconductors and metals¶

The TD-CDFT module enables the calculation of real and imaginary parts of the material property tensor \(\chi_e(\omega)\), called the **electric susceptibility**. The electric susceptibility is related to the macroscopic **dielectric function**, \(\varepsilon_M(\omega)\).

For semi-conductors and insulator, for which the bands are either fully occupied or fully unoccupied, the dielectric function \(\varepsilon_M(\omega)\) comprises only of the so called interband component:

In general \(\chi_e(\omega)\) and \(\varepsilon_M(\omega)\) are tensors. They, however, simplify to scalars in isotropic systems.

For metals, for which partially-occupied bands exist, there is a so called intraband component arising due to transitions within a partially-occupied band:

## Frequency dependent kernel¶

It is known that the exact Vignale-Kohn (VK) kernel greatly improves the static polarizabilities of infinite polymers and nanotubes (see reference), but gives bad results for the optical spectra of semiconductors and metals. For the low frequency part one needs a frequency dependent kernel, since Drude-like tails are completely absent in the adiabatic local density approximation (ALDA). With a modified VK kernel, which neglects \(\mu_{xc}\) so that it reduces to the ALDA form in the static limit (see reference), much better results can be obtained. BAND currently only supports the modified VK kernel in either the QV or CNT parametrization, and it should **only be used for metals**.

## EELS¶

From the macroscopic dielectric function it is possible to calculate the electron energy loss function (EELS). In transmission EELS one studies the inelastic scattering of a beam of high energy electrons by a target. The scattering rates obtained in these experiments are related to the dynamical structure factor \(S(q,\omega)\) [A1]. In the special case with wavevector \(q=0\), \(S(q,\omega)\) is related to the longitudinal macroscopic dielectric function. This is the long-wave limit of EELS. For isotropic system the dielectric function is simply a scalar (\(1/3 \text{Tr} (\varepsilon_M(\omega))\) ). In this case the long-wave limit of the electron energy loss function assumes the trivial form

with \(\varepsilon_1\) and \(\varepsilon_2\) as real and imaginary part of the dielectric function.

**References**

The three related Ph.D. theses, due to F. Kootstra (on TD-DFT for insulators), P. Romaniello (on TD-CDFT for metals), and A. Berger (on the Vignale-Kohn functional in extended systems) contain much background information, and can be downloaded from the SCM website.

The most relevant publications on this topic due to the former “Groningen” group of P.L. de Boeij are [22], [23], [24], [25].

[A1] S. E. Schnatterly, in Solid State Physics Vol.34, edited by H. Ehrenreich, F. Seitz, and D. Turnbull (Academic Press, Inc., New York, 1979).

## Input Options¶

In the 2017 release of BAND there are two implementations of the TD-CDFT formalism. The original implementation, relying on obsolete algorithms of BAND, is accessible via the OldResponse key block. The new code section, relying on more modern algorithms of BAND, is accessible via the NewResponse, NewResponseSCF and NewResponseKSpace key blocks. The differences between the two flavours are summarized in the following table:

OldResponse | NewResponse | |

3D-systems | yes | yes |

2D-systems | no | yes |

1D-systems | (yes) | yes |

Semiconductors | yes | yes |

Metals | yes | no |

ALDA | yes | yes |

Vignale-Kohn | yes | no |

Berger2015 (3D) | yes | yes |

Scalar ZORA | yes | yes |

Spin Orbit ZORA | yes | no |

Besides these differences, one should not expect both flavours to give the exact same result, if the reciprocal space limit is not reached! This can be explained by different approaches to evaluate the integration weights of single-particle transitions in recirpocal space.

Attention

Response properties **converge slowly** with respect to k-space sampling (number of k-points). **Always check the convergence of** \(\varepsilon_M\) **with respect to** KSPACE **options!!!**

### NewResponse¶

The dielectric function is computed when the key block NewResponse is present in the input. Several important settings can be defined in this key block.

Additional details can be specified via the NewResponseKSpace and NewResponseSCF key blocks.

`NewResponse`

Perform a TD-CDFT calculation to obtain real and imaginary parts of the frequency-dependent dielectric function. (New version)

NewResponse {nFreq ival1} {FreqLow rval1} {FreqHigh rval2} {EShift rval3} {ActiveESpace rval4} {DensityCutOff rval5} {ActiveXYZ string} End

Omitting the specific options in the NewResponse block will cause default settings to be used during the calculation, as given below.

`nFreq`

- (
**Default: 5**) the number of frequencies for which a linear response TD-CDFT calculation is performed. `FreqLow`

- (
**Default: 1.0**, unit: eV) \(\omega_{Low}\) is the lower limit of the frequency range for which response properties are calculated. `FreqHigh`

- (
**Default: 3.0**, unit eV) \(\omega_{High}\) is the upper limit of the frequency range for which response properties are calculated. `EShift`

- (
**Default: 0.0**, unit eV) energy shift of the virtual crystal orbitals. `ActiveESpace`

- (
**Default: 5.0**, unit eV) Modifies the energy threshold \(\Delta E^{max}_{thresh}\) for which single orbital transitions \(\Delta \varepsilon_{ia}\) are taken into account. There is a lower threshold \(\Delta E^{min}_{thresh}\), too.

\[ \begin{align}\begin{aligned}\Delta E^{max}_{thres} = \omega_{High} + E_{active}\\\Delta E^{min}_{thres} = max\left( \omega_{Low} - E_{active}, 0.0 \right)\\\Delta \varepsilon_{ia} = \varepsilon_a(virtual) - \varepsilon_i(occupied)\end{aligned}\end{align} \]`DensityCutOff`

- (
**Default: 1E-3**) For 1D and 2D systems the unitcell volume is undefined. Here, the volume is calculated as the volume bordered by the isosurface for the value**rval5**of the total density. `ActiveXYZ`

- (
**Default: T T T**) expects a string consisting of three letters of either ‘T’ (for true) or ‘F’ (for false) where the first is for the X-, the second for the Y- and the third for the Z-component of the response properties. If true, then the response properties for this component will be evaluated.

`NewResponseSCF`

Modify the details for the linear-response self-consistent optimization cycle. Only influencing the NewResponse code!

NewResponseSCF {nCycle ival1} {Mixing rval1} {Criterion rval2} {XC ival2} {Bootstrap ival3} {DIIS lval1} End

`nCycle`

- (
**Default: 20**) number of SCF cycles for each frequency to be evaluated. `Mixing`

- (
**Default: 0.2**) mixing value for the SCF optimization. `Criterion`

- (
**Default: 0.001**) for the SCF convergence the RMS of the induced density change is tested. If this value is below the`Criterion`

the SCF is finished. Furthermore, one can find the calculated electric susceptibility for each SCF step in the output and can therefore decide if the default value is too loose or too strict. `XC`

- (
**Default: 1**) influences if the bare induced Coulomb response (*XC 0*) is used for the effective, induced potential or the induced potential derived from the ALDA kernel as well (*XC 1*). `Bootstrap`

- (
**Default: 0**) defines if the Berger2015 kernel (*Bootstrap 1*) is used or not (*Bootstrap 0*). If you chose the Berger2015 kernel, you have to set`NewResponseSCF%XC`

to ‘0’. Since it shall be used in combination with the bare Coulomb response only.**Note:**The evaluation of response properties using the Berger2015 is recommend for 3D systems only! `DIIS`

- (
**Default: true**) in case the DIIS method is not working, one can switch to plain mixing by setting DIIS to*false*.

`NewResponseKSPACE`

Modify the details for the integration weights evaluation in reciprocal space for each single-particle transition. Only influencing the NewResponse code!

NewResponseKSPACE {Eta rval1} {SubSimp ival1} End

`Eta`

- (
**Default: 1E-5**) determines the small, finite imaginary number \(i \cdot \eta\), which is necessary in the context of integration weights for single-particle transitions in reciprocal space. `SubSimp`

(

**Default: 3**) determines into how many subintegrals each integration around a k point is split. This is only true for so-called quadratic integration grids. The larger the number the better the convergence behavior for the sampling in reciprocal space.Attention

computing time for the weights is influced linear for 1D, quadratic for 2D and cubic for 3D!

### OldResponse¶

`OldResponse`

Perform a TD-CDFT calculation to obtain real and imaginary parts of frequency-dependent dielectric function. (Old/Original version)

OldResponse {nfreq ival1} {strtfr rval1} {endfr rval2} {shift rval3} {cnvi rval4} {cnvj rval5} {ebndtl rval6} {isz ival2} {iyxc ival3} {static} {newvk} {cnt} {qv} {Berger2015} End

Omitting the specific options in the OldResponse block will cause default settings to be used during the calculation, as given below.

`nfreq`

- (
**Default: 5**) the number of frequencies for which a linear response TD-CDFT calculation is performed. `strtfr`

- (
**Default: 1.0**, unit eV) is the lower bound frequency of the frequency range over which the dielectric function is calculated. `endfr`

- (
**Default: 3.0**, unit eV) is the upper bound frequency of the frequency range over which the dielectric function is calculated. `shift`

- (
**Default: 0.0**, unit eV) energy shift for the virtual crystal orbitals. `cnvi`

- (
**Default: 1d-3**) the first convergence criterion for the change in the fitcoefficients for the fitfunctions, when fitting the density. `cnvj`

- (
**Default: 1d-3**) the second convergence criterion for the change in the fitcoefficients for the fitfunctions, when fitting the density. `ebndtl`

- (
**Default: 1d-3**, unit au) the energy band tolerance, for determination which routines to use for calculating the numerical integration weights, when the energy band posses no or to less dispersion. `isz`

(

**Default: 0**) integer indicating whether or not scalar zeroth order relativistic effects are included in the TDCDFT calculation. 0 = relativistic effects are not included, 1 = relativistic effects are included.Attention

The current implementation does

**NOT**work with the option`XC%SpinOrbitMagnetization`

equal**NonCollinear**!`iyxc`

- (
**Default: 0**) integer for printing yxc-tensor (see reference). 0 = not printed, 1 = printed. `static`

- An alternative method that allows an analytic evaluation of the static response (normally the static response is approximated by a finite small frequency value). This option should only be used for non-relativistic calculations on insulators, and it has no effect on metals.
**Note:**experience shows that KSPACE convergence can be slower.

`newvk`

- Use the slightly modified version of the VK kernel.[58] When using this option one uses effectively the static option, even for metals, so one should check carefully the convergence with the KSPACE parameter.

`qv/cnt`

Use the

**QV**or**CNT**parametrization for the longitudinal and transverse kernels of the XC kernel of the homogeneous electron gas. Use this in conjunction with the newvk option.[60, 61] An example response block for a vignale kohn calculation looks as follows:OldResponse {...} newvk iyxc 1 cnt END

`Berger2015`

Use the parameter-free polarization functional by A. Berger.[59] This is possible for 3D insulators and metals.

**Note:**The evaluation of response properties using the Berger2015 is recommend for 3D systems only!OldResponse {...} Berger2015 END