Jump to content

Requests for technical support from the VASP team should be posted in the VASP Forum.

Category:Time-dependent density functional theory: Difference between revisions

From VASP Wiki
Tal (talk | contribs)
Remove separate Theory section; move equation to Casida TDDFT; add dielectric function expressions for both methods; add scaling table
Tal (talk | contribs)
Restructure Casida section: clarify ALGO=TDHF, add three solving algorithms (IBSE=2 exact diag, IBSE=1 time-evolution, IBSE=3 Lanczos) with equations
Line 1: Line 1:
Time-dependent density-functional theory (TDDFT) extends [[density-functional theory]] to time-varying external potentials, enabling the computation of neutral electronic excitations and frequency-dependent response functions. VASP implements TDDFT in two complementary forms: a Casida-equation formulation based on the diagonalization of an excitonic Hamiltonian, and a real-time (RT-TDDFT) formulation based on the propagation of the Kohn-Sham orbitals after a delta-pulse perturbation. The detailed theoretical background is given in the [[Time-dependent density-functional theory|theory page]].
Time-dependent density-functional theory (TDDFT) extends [[density-functional theory]] to time-varying external potentials, enabling the computation of neutral electronic excitations and frequency-dependent response functions. VASP implements TDDFT primarily through the Casida-equation formulation ({{TAG|ALGO}}{{=}}TDHF), which builds an excitonic Hamiltonian and solves it using exact diagonalization, time-evolution, or Lanczos algorithms. The detailed theoretical background is given in the [[Construction:Time-dependent density-functional theory|theory page]].


== Casida TDDFT ==
== Casida TDDFT ==


The Casida formulation of TDDFT recasts the linear-response problem as a non-Hermitian eigenvalue problem
The Casida formulation of TDDFT ({{TAG|ALGO}}{{=}}TDHF) recasts the linear-response problem as a non-Hermitian eigenvalue problem
::<math>
::<math>
\left(\begin{array}{cc}
\left(\begin{array}{cc}
Line 21: Line 21:
with the same mathematical structure as the [[Bethe-Salpeter equation]] (BSE). The eigenvalues <math>\omega_\lambda</math> are the excitation energies, and the eigenvectors <math>\mathbf{X}_\lambda, \mathbf{Y}_\lambda</math> determine the oscillator strengths and the dielectric function with excitonic effects. The difference with respect to BSE is that the beyond-RPA part of the kernel is described by the exchange-correlation kernel <math>f_\mathrm{xc}</math> instead of the screened Coulomb interaction <math>W</math>.
with the same mathematical structure as the [[Bethe-Salpeter equation]] (BSE). The eigenvalues <math>\omega_\lambda</math> are the excitation energies, and the eigenvectors <math>\mathbf{X}_\lambda, \mathbf{Y}_\lambda</math> determine the oscillator strengths and the dielectric function with excitonic effects. The difference with respect to BSE is that the beyond-RPA part of the kernel is described by the exchange-correlation kernel <math>f_\mathrm{xc}</math> instead of the screened Coulomb interaction <math>W</math>.


The Casida equation is solved in VASP by setting {{TAG|ALGO}}{{=}}TDHF. The excitation energies and oscillator strengths are obtained directly from the eigenvalues and eigenvectors of the excitonic Hamiltonian, which makes this approach particularly useful for analyzing individual excitons. Casida TDDFT can be performed using DFT or [[hybrid functional|hybrid-functional]] orbitals and eigenvalues. Using the eigenvalues <math>\omega_\lambda</math> and eigenvectors <math>X_\lambda</math>, the macroscopic dielectric function is obtained as
Casida TDDFT can be performed using DFT or [[hybrid functional|hybrid-functional]] orbitals and eigenvalues. VASP provides three algorithms for solving the Casida equation, selected via {{TAG|IBSE}}:
 
=== Exact diagonalization ===
 
With {{TAG|IBSE}}{{=}}2, the excitonic Hamiltonian is diagonalized exactly. The excitation energies and oscillator strengths are obtained directly from the eigenvalues and eigenvectors, which makes this approach particularly useful for analyzing individual excitons. The macroscopic dielectric function is obtained from the spectral representation as described in the [[Construction:Time-dependent density-functional theory#Connection to the dielectric function|theory page]]:
::<math>
::<math>
\epsilon_M(\mathbf{q},\omega)=
\epsilon_M(\mathbf{q},\omega)=
Line 29: Line 33:
</math>
</math>


The following features are currently supported:
=== Time-evolution algorithm ===
* [[TDDFT calculations|Calculating the dielectric function and eigenvectors]]
* [[TDDFT calculations#Tamm-Dancoff approximation|Tamm-Dancoff approximation]]
* Calculations with [[hybrid functional|hybrid functionals]] and range-separated hybrids
 
== Time-evolution TDDFT (Real-time TDDFT) ==


Real-time TDDFT (RT-TDDFT) is selected with {{TAG|ALGO}}{{=}}TIMEEV. The ground-state Kohn-Sham orbitals are perturbed by a Dirac delta pulse of the electric field, which simultaneously excites all valence-to-conduction transitions. The time-dependent dipole moments are then propagated and the dielectric function is found via a Fourier transform{{cite|sander:jcp:2017}}
With {{TAG|IBSE}}{{=}}1, the Casida equation is solved via real-time propagation. A Dirac delta pulse of the electric field simultaneously excites all valence-to-conduction transitions, and the time-dependent dipole moments are propagated forward in time. The dielectric function is found via a Fourier transform{{cite|sander:jcp:2017}}:
::<math>
::<math>
\epsilon_M(\omega)=1-\frac{4\pi}{\Omega}\int_0^{\infty} \mathrm{d} t
\epsilon_M(\omega)=1-\frac{4\pi}{\Omega}\int_0^{\infty} \mathrm{d} t
\sum_{c,v,\mathbf{k}}\left(\langle\mu_{cv\mathbf{k}}| \xi_{cv\mathbf{k}}(t)\rangle + \mathrm{c.c.}\right) e^{-\mathrm i(\omega-\mathrm i \delta) t},
\sum_{c,v,\mathbf{k}}\left(\langle\mu_{cv\mathbf{k}}| \xi_{cv\mathbf{k}}(t)\rangle + \mathrm{c.c.}\right) e^{-\mathrm i(\omega-\mathrm i \delta) t},
</math>
</math>
where <math>\mu_{cv\mathbf k}</math> are the dipole moments and <math>|\xi_{cv\mathbf k}(t)\rangle</math> is the time-evolved dipole vector. The solution is strictly equivalent to that of the Casida equation for the dielectric function, but does not yield eigenvectors and so cannot be used directly for exciton analysis. Its main advantage is the quadratic scaling with <math>N_{\rm rank}</math>.
where <math>\mu_{cv\mathbf k}</math> are the dipole moments and <math>|\xi_{cv\mathbf k}(t)\rangle</math> is the time-evolved dipole vector. The solution is strictly equivalent to that of the exact diagonalization for the dielectric function, but does not yield eigenvectors and so cannot be used directly for exciton analysis. Its main advantage is the quadratic scaling with <math>N_{\rm rank}</math>. The required number of propagation steps is controlled by the broadening {{TAG|CSHIFT}} and the maximum energy {{TAG|OMEGAMAX}}, and does not depend on the size of the Hamiltonian.


The required number of propagation steps is controlled by the broadening {{TAG|CSHIFT}} and the maximum energy {{TAG|OMEGAMAX}}, and does not depend on the size of the Hamiltonian.
=== Lanczos algorithm ===
 
With {{TAG|IBSE}}{{=}}3, the dielectric function is expressed as a continued fraction
::<math>
\epsilon_{\alpha\beta}(\omega) = \delta_{\alpha\beta} - \frac{4\pi}{\Omega}\cfrac{|u_0|^2}{(\omega - a_1 + \mathrm i\eta) - \cfrac{b_1^2}{(\omega -a_2 + \mathrm i\eta)
    - \cfrac{b_2^2}{...}}},
</math>
where <math>|u_0\rangle</math> is an initial guess vector computed from the dipole moments. The <math>a</math> and <math>b</math> coefficients are evaluated iteratively, with the algorithm stopping once the difference between <math>\epsilon(\omega)</math> from two consecutive iterations is below a threshold selected by {{TAG|BSEPREC}}. Because the starting vector is built from dipole moments, the Lanczos algorithm is sensitive only to optically active transitions and can reach convergence faster than other methods for larger matrices.


The following features are currently supported:
The following features are currently supported:
* Calculating the dielectric function in the [[independent-particle approximation]], [[random phase approximation|RPA]], and full TDDFT
* [[TDDFT calculations|Calculating the dielectric function and eigenvectors]] ({{TAG|IBSE}}{{=}}2)
* Calculations with local kernels, [[hybrid functional|hybrid functionals]], and range-separated hybrids
* [[TDDFT calculations#Tamm-Dancoff approximation|Tamm-Dancoff approximation]]
* [[Improving the dielectric function#Model-BSE|Model-screened ladder diagrams]] via {{TAG|LADDER}}
* Calculations with [[hybrid functional|hybrid functionals]] and range-separated hybrids


== Scaling ==
== Scaling ==
Line 58: Line 64:
{| class="wikitable"
{| class="wikitable"
|-
|-
! !! Time evolution !! Casida
! !! Time evolution / Lanczos !! Exact diagonalization
|-
|-
| Memory || <math>N_{\mathbf{k}} \times (N_v + N_c) \times N_G</math> || <math>(N_{\mathbf{k}} \times N_v \times N_c)^2</math>
| Memory || <math>N_{\mathbf{k}} \times (N_v + N_c) \times N_G</math> || <math>(N_{\mathbf{k}} \times N_v \times N_c)^2</math>

Revision as of 11:49, 15 June 2026

Time-dependent density-functional theory (TDDFT) extends density-functional theory to time-varying external potentials, enabling the computation of neutral electronic excitations and frequency-dependent response functions. VASP implements TDDFT primarily through the Casida-equation formulation (ALGO=TDHF), which builds an excitonic Hamiltonian and solves it using exact diagonalization, time-evolution, or Lanczos algorithms. The detailed theoretical background is given in the theory page.

Casida TDDFT

The Casida formulation of TDDFT (ALGO=TDHF) recasts the linear-response problem as a non-Hermitian eigenvalue problem

[math]\displaystyle{ \left(\begin{array}{cc} \mathbf{A} & \mathbf{B} \\ \mathbf{B}^* & \mathbf{A}^* \end{array}\right)\left(\begin{array}{l} \mathbf{X}_\lambda \\ \mathbf{Y}_\lambda \end{array}\right)=\omega_\lambda\left(\begin{array}{cc} \mathbf{1} & \mathbf{0} \\ \mathbf{0} & -\mathbf{1} \end{array}\right)\left(\begin{array}{l} \mathbf{X}_\lambda \\ \mathbf{Y}_\lambda \end{array}\right), }[/math]

with the same mathematical structure as the Bethe-Salpeter equation (BSE). The eigenvalues [math]\displaystyle{ \omega_\lambda }[/math] are the excitation energies, and the eigenvectors [math]\displaystyle{ \mathbf{X}_\lambda, \mathbf{Y}_\lambda }[/math] determine the oscillator strengths and the dielectric function with excitonic effects. The difference with respect to BSE is that the beyond-RPA part of the kernel is described by the exchange-correlation kernel [math]\displaystyle{ f_\mathrm{xc} }[/math] instead of the screened Coulomb interaction [math]\displaystyle{ W }[/math].

Casida TDDFT can be performed using DFT or hybrid-functional orbitals and eigenvalues. VASP provides three algorithms for solving the Casida equation, selected via IBSE:

Exact diagonalization

With IBSE=2, the excitonic Hamiltonian is diagonalized exactly. The excitation energies and oscillator strengths are obtained directly from the eigenvalues and eigenvectors, which makes this approach particularly useful for analyzing individual excitons. The macroscopic dielectric function is obtained from the spectral representation as described in the theory page:

[math]\displaystyle{ \epsilon_M(\mathbf{q},\omega)= 1+2\lim_{\mathbf{q}\rightarrow 0}v(q)\sum_{\lambda} \left|\sum_{c,v,\mathbf k}\langle c\mathbf{k}|e^{\mathrm i\mathbf{qr}}|v\mathbf{k}\rangle X_\lambda^{cv\mathbf{k}}\right|^2 \left(\frac{1}{\omega_\lambda - \omega - \mathrm i\delta}\right). }[/math]

Time-evolution algorithm

With IBSE=1, the Casida equation is solved via real-time propagation. A Dirac delta pulse of the electric field simultaneously excites all valence-to-conduction transitions, and the time-dependent dipole moments are propagated forward in time. The dielectric function is found via a Fourier transform[1]:

[math]\displaystyle{ \epsilon_M(\omega)=1-\frac{4\pi}{\Omega}\int_0^{\infty} \mathrm{d} t \sum_{c,v,\mathbf{k}}\left(\langle\mu_{cv\mathbf{k}}| \xi_{cv\mathbf{k}}(t)\rangle + \mathrm{c.c.}\right) e^{-\mathrm i(\omega-\mathrm i \delta) t}, }[/math]

where [math]\displaystyle{ \mu_{cv\mathbf k} }[/math] are the dipole moments and [math]\displaystyle{ |\xi_{cv\mathbf k}(t)\rangle }[/math] is the time-evolved dipole vector. The solution is strictly equivalent to that of the exact diagonalization for the dielectric function, but does not yield eigenvectors and so cannot be used directly for exciton analysis. Its main advantage is the quadratic scaling with [math]\displaystyle{ N_{\rm rank} }[/math]. The required number of propagation steps is controlled by the broadening CSHIFT and the maximum energy OMEGAMAX, and does not depend on the size of the Hamiltonian.

Lanczos algorithm

With IBSE=3, the dielectric function is expressed as a continued fraction

[math]\displaystyle{ \epsilon_{\alpha\beta}(\omega) = \delta_{\alpha\beta} - \frac{4\pi}{\Omega}\cfrac{|u_0|^2}{(\omega - a_1 + \mathrm i\eta) - \cfrac{b_1^2}{(\omega -a_2 + \mathrm i\eta) - \cfrac{b_2^2}{...}}}, }[/math]

where [math]\displaystyle{ |u_0\rangle }[/math] is an initial guess vector computed from the dipole moments. The [math]\displaystyle{ a }[/math] and [math]\displaystyle{ b }[/math] coefficients are evaluated iteratively, with the algorithm stopping once the difference between [math]\displaystyle{ \epsilon(\omega) }[/math] from two consecutive iterations is below a threshold selected by BSEPREC. Because the starting vector is built from dipole moments, the Lanczos algorithm is sensitive only to optically active transitions and can reach convergence faster than other methods for larger matrices.

The following features are currently supported:

Scaling

The size of the excitonic Hamiltonian is

[math]\displaystyle{ N_{\rm rank} = N_k \times N_c \times N_v, }[/math]

where [math]\displaystyle{ N_k }[/math], [math]\displaystyle{ N_c }[/math], and [math]\displaystyle{ N_v }[/math] are the number of k points, conduction bands, and valence bands. Building the Hamiltonian scales as [math]\displaystyle{ N^4 }[/math]--[math]\displaystyle{ N^5 }[/math] with the system size. Solving the resulting eigenvalue problem by exact diagonalization scales as [math]\displaystyle{ N_{\rm rank}^3 }[/math], or as [math]\displaystyle{ N^6 }[/math] with the system size. The real-time propagation alternative avoids diagonalization entirely and scales as [math]\displaystyle{ N_{\rm rank}^2 }[/math], or as [math]\displaystyle{ N^4 }[/math] with the system size, making it the method of choice for large systems with many bands or k points.

Time evolution / Lanczos Exact diagonalization
Memory [math]\displaystyle{ N_{\mathbf{k}} \times (N_v + N_c) \times N_G }[/math] [math]\displaystyle{ (N_{\mathbf{k}} \times N_v \times N_c)^2 }[/math]
Compute time [math]\displaystyle{ N_{\mathbf{k}} \times N_v \times N_G }[/math] [math]\displaystyle{ (N_{\mathbf{k}} \times N_v \times N_c)^3 }[/math]
[math]\displaystyle{ + N_{\mathbf{k}} \times N_v \times N_c \times N_G }[/math]
Nonlocal exchange [math]\displaystyle{ + N_{\mathbf{k}}^2 \times N_v^2 \times N_G }[/math]

Exchange-correlation kernel

The exchange-correlation kernel [math]\displaystyle{ f_\mathrm{xc} }[/math] determines how electron-hole interactions beyond the random phase approximation are described in TDDFT. The choice of kernel is tied to the exchange-correlation functional used in the ground-state calculation and is controlled by the tags LHARTREE, LADDER, and LFXC.

  • Local and semilocal kernels (ALDA, APBE): obtained as the second functional derivative of an LDA or PBE exchange-correlation energy. These kernels are computationally cheap and work well for plasmons and metallic systems, but lack the long-range [math]\displaystyle{ -1/q^2 }[/math] behavior and therefore fail to describe bound excitons in semiconductors and insulators.
  • Hybrid-functional kernels: when a fraction of exact exchange is included in the ground-state functional (e.g., PBE0 or HSE), the corresponding TDDFT kernel inherits a long-range non-local exchange contribution. This restores the [math]\displaystyle{ -1/q^2 }[/math] behavior and allows for an approximate description of excitonic effects. The fraction of exact exchange is controlled by AEXX, and the range-separation parameter by HFSCREEN. When a hybrid functional is used, LADDER must be set to .TRUE. so that the non-local exchange contribution of the kernel (the ladder diagrams) is actually included in the time propagation; otherwise the calculation only contains the local part of [math]\displaystyle{ f_\mathrm{xc} }[/math] and the excitonic effects from the hybrid are lost.
  • Screened exchange (ladder diagrams): enabling LADDER adds the screened Coulomb interaction [math]\displaystyle{ W }[/math], yielding the proper long-range electron-hole attraction. In the time-evolution implementation, [math]\displaystyle{ W }[/math] is currently obtained from a model dielectric function controlled by LMODELHF, AEXX, and HFSCREEN.

The combination of these three switches selects the approximation level: setting all three to .FALSE. yields the independent-particle approximation (equivalent to LOPTICS); enabling only LHARTREE gives the RPA; further enabling LFXC or LADDER adds the beyond-RPA contributions.

Additional resources

Lectures

Tutorials

How to

References

Pages in category "Time-dependent density functional theory"

The following 3 pages are in this category, out of 3 total.