Category:Time-dependent density functional theory: Difference between revisions
| (46 intermediate revisions by 3 users not shown) | |||
| Line 1: | Line 1: | ||
The | '''Time-dependent density-functional theory''' (TDDFT) extends [[:Category:Exchange-correlation functionals|density-functional theory]] to time-varying external potentials, enabling the computation of neutral electronic excitations and frequency-dependent response functions. The accuracy of TDDFT strongly depends on the choice of the exchange-correlation kernel <math>f_\mathrm{xc}</math> ({{TAG|LFXC}}, {{TAG|LADDER}}) and if the nonlocal limit of <math>f_\mathrm{xc}</math> is properly treated, excitonic effects can be captured with good accuracy{{cite|tal:prr:2020}}. VASP provides multiple implementations of TDDFT, each with its own advantages and disadvantages, so that the best algorithm can be selected based on the problem at hand. The detailed theoretical background is given on the [[Time-dependent density-functional theory|theory page]]. | ||
* Lecture on {{Video|bse:alexey:2026|TDDFT theory and calculations}}. | |||
== Casida TDDFT ({{TAG|ALGO|TDHF}}) == | |||
The Casida formulation of TDDFT recasts the linear-response problem as a non-Hermitian eigenvalue problem | |||
::<math> | |||
\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>\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. | |||
VASP provides three algorithms for solving the Casida equation, selected via {{TAG|IBSE}}: | |||
=== Exact diagonalization ({{TAG|IBSE|2}}) === | |||
The 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: | |||
::<math> | |||
\varepsilon_M(\omega) = 1 - \frac{4\pi}{\Omega} \sum_\lambda \left|\sum_{cv\mathbf k} \mu_{cv\mathbf k} X_\lambda^{cv\mathbf k}\right|^2 \left[\frac{1}{\omega - \omega_\lambda + \mathrm i\eta} - \frac{1}{\omega + \omega_\lambda + \mathrm i\eta}\right], | |||
</math> | |||
where <math>\mu_{cv\mathbf{k}}^j=\frac{\langle c\mathbf{k}|v_j|v\mathbf{k}\rangle}{\varepsilon_c(\mathbf{k})-\varepsilon_v(\mathbf{k})}</math> is the dipole matrix element, <math>X_\lambda^{cv\mathbf k}</math> are the eigenvector components, and <math>\omega_\lambda</math> are the excitation energies. | |||
=== Time-evolution algorithm ({{TAG|IBSE|1}}) === | |||
and the | This algorithm is based on the same time-evolution approach described in the [[#Time-evolution or real-time TDDFT (ALGO=TIMEEV)|real-time TDDFT section]], but applied within the Casida framework. The key difference is that the Hamiltonian in transition space is built once and never updated during the propagation. Only the time-dependent dipole vector <math>|\mu_{cv\mathbf k}(t)\rangle</math> is propagated forward in time using the fixed Hamiltonian. | ||
<math | The dielectric function is found via a Fourier transform{{cite|sander:jcp:2017}}: | ||
::<math> | |||
\varepsilon_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 \eta) t}, | |||
</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. | |||
=== Lanczos algorithm ({{TAG|IBSE|3}}) === | |||
<math | The dielectric function is expressed as a continued fraction | ||
::<math> | |||
\varepsilon_M(\omega) = 1 - \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>\varepsilon(\omega)</math> from two consecutive iterations is below a threshold selected by {{TAG|BSEPREC}}. | |||
=== Scaling with the system size=== | |||
<math | Building the Hamiltonian scales as <math>N^4</math>–<math>N^5</math> with the system size. Solving the equation scales as <math>N^6</math> for exact diagonalization ({{TAG|IBSE|2}}) and <math>N^4</math> for the time-evolution ({{TAG|IBSE|1}}) and Lanczos ({{TAG|IBSE|3}}) algorithms. | ||
== Time-evolution or real-time TDDFT ({{TAG|ALGO|TIMEEV}}) == | |||
An alternative to solving the Casida equation is to compute the frequency-dependent response via real-time propagation of the Kohn-Sham orbitals {{cite|sander:jcp:2017}}. The starting point is the time-dependent Kohn-Sham equation, | |||
::<math> | |||
\mathrm i \frac{\partial}{\partial t}\left|\phi_{v\mathbf k}[n(t)]\right\rangle = \left[-\frac{\nabla^2}{2} + V_{\mathrm H}[n(t)] + V_{\mathrm{xc}}[n(t)] + V_\mathrm{ext}(t)\right]\left|\phi_{v\mathbf k}[n(t)]\right\rangle, | |||
</math> | </math> | ||
where all potentials are functionals of the time-evolving density <math>n(\mathbf r, t)</math>. A delta-like perturbation is applied to the ground-state system, and the time-dependent coefficients are propagated forward in time. The dielectric function is then obtained from the Fourier transform of the time-dependent dipole moments: | |||
::<math> | |||
\varepsilon_M(\omega) = 1 - \frac{4\pi e^2}{\Omega} \int_0^\infty \mathrm d t \sum_{cv\mathbf k} \left(\langle\mu_{cv\mathbf k}|c_{cv\mathbf k}(t)\rangle + \mathrm{c.c.}\right) e^{-\mathrm i(\omega - \mathrm i\eta)t}, | |||
</math> | |||
where <math>\mu_{cv\mathbf{k}}</math> is the dipole matrix element and <math>c_{cv\mathbf k}(t)</math> are the time-dependent expansion coefficients. This approach avoids building and storing the full Hamiltonian in transition space. The detailed theory and propagation algorithm are described on the [[Time-dependent density-functional theory|theory page]]. | |||
=== Scaling with the system size=== | |||
<math | The compute time per time step scales as <math>N^3</math> with the system size. When nonlocal exchange is included ({{TAG|LADDER}}{{=}}.TRUE.), an additional <math>N_{\mathbf{k}}^2 \times N_v^2 \times N_G</math> contribution arises from evaluating the exchange integrals at each time step. | ||
== Dyson-equation TDDFT ({{TAG|ALGO|CHI}}) == | |||
<math> | Instead of recasting the problem as an eigenvalue equation, TDDFT can also be solved by directly evaluating the two-point Dyson equation for the density-density response function <math>\chi</math>. The macroscopic dielectric function is then obtained from | ||
::<math> | |||
\varepsilon_M(\omega) = 1 - v(\mathbf{G}=0) \, \chi_{\mathbf{G}=0,\mathbf{G}'=0}(\mathbf{q},\omega), | |||
\ | |||
</math> | </math> | ||
where <math>v(\mathbf{G})</math> is the Coulomb kernel and <math>\chi_{\mathbf{G},\mathbf{G}'}(\mathbf{q},\omega)</math> is the interacting response function in reciprocal space. This approach gives access to the full matrix <math>\chi_{\mathbf{G},\mathbf{G}'}(\mathbf{q},\omega)</math> and is used, for instance, to compute the screened Coulomb interaction <math>W</math> needed in ''GW'' calculations. However, the Dyson equation must be inverted at every frequency point, which makes it expensive for computing spectra with fine resolution. The only nonlocal exchange-correlation kernel currently supported is the nanoquanta kernel ({{TAG|LFXC}}). | |||
=== Scaling with the system size=== | |||
== | |||
The compute time scales as <math>N^4</math> with the system size. The Dyson equation must be inverted at every frequency point ({{TAG|NOMEGA}}), so the total cost grows linearly with the number of frequency points. | |||
== Additional resources == | == Additional resources == | ||
=== Tutorials === | === Tutorials === | ||
*Tutorial calculating optical absorption of C diamond using | * Tutorial calculating optical absorption of C diamond using {{Tutorial|bse:e03|TDDDH}}. | ||
*Tutorial on the | * Tutorial on the {{Tutorial|bse:e09|efficient Brillouin zone sampling}} using TDDDH and {{Tutorial|bse:e10|exciton analysis}} using TDDDH. | ||
=== How to === | === How to === | ||
* Practical guide for solving the | * Practical guide for solving the Casida equation via diagonalization: [[TDDFT calculations]]. | ||
* Practical guide for real-time TDDFT calculations: [[Time-evolution algorithm]]. | |||
== References == | == References == | ||
< | <references/> | ||
[[Category:VASP|TDDFT]][[Category:Many-body perturbation theory]][[Category:Linear response]] | |||
Latest revision as of 11:40, 17 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. The accuracy of TDDFT strongly depends on the choice of the exchange-correlation kernel [math]\displaystyle{ f_\mathrm{xc} }[/math] (LFXC, LADDER) and if the nonlocal limit of [math]\displaystyle{ f_\mathrm{xc} }[/math] is properly treated, excitonic effects can be captured with good accuracy[1]. VASP provides multiple implementations of TDDFT, each with its own advantages and disadvantages, so that the best algorithm can be selected based on the problem at hand. The detailed theoretical background is given on the theory page.
- Lecture on TDDFT theory and calculations.
Casida TDDFT (ALGO = TDHF)
The Casida formulation of TDDFT 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.
VASP provides three algorithms for solving the Casida equation, selected via IBSE:
Exact diagonalization (IBSE = 2)
The 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:
- [math]\displaystyle{ \varepsilon_M(\omega) = 1 - \frac{4\pi}{\Omega} \sum_\lambda \left|\sum_{cv\mathbf k} \mu_{cv\mathbf k} X_\lambda^{cv\mathbf k}\right|^2 \left[\frac{1}{\omega - \omega_\lambda + \mathrm i\eta} - \frac{1}{\omega + \omega_\lambda + \mathrm i\eta}\right], }[/math]
where [math]\displaystyle{ \mu_{cv\mathbf{k}}^j=\frac{\langle c\mathbf{k}|v_j|v\mathbf{k}\rangle}{\varepsilon_c(\mathbf{k})-\varepsilon_v(\mathbf{k})} }[/math] is the dipole matrix element, [math]\displaystyle{ X_\lambda^{cv\mathbf k} }[/math] are the eigenvector components, and [math]\displaystyle{ \omega_\lambda }[/math] are the excitation energies.
Time-evolution algorithm (IBSE = 1)
This algorithm is based on the same time-evolution approach described in the real-time TDDFT section, but applied within the Casida framework. The key difference is that the Hamiltonian in transition space is built once and never updated during the propagation. Only the time-dependent dipole vector [math]\displaystyle{ |\mu_{cv\mathbf k}(t)\rangle }[/math] is propagated forward in time using the fixed Hamiltonian.
The dielectric function is found via a Fourier transform[2]:
- [math]\displaystyle{ \varepsilon_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 \eta) 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.
Lanczos algorithm (IBSE = 3)
The dielectric function is expressed as a continued fraction
- [math]\displaystyle{ \varepsilon_M(\omega) = 1 - \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{ \varepsilon(\omega) }[/math] from two consecutive iterations is below a threshold selected by BSEPREC.
Scaling with the system size
Building the Hamiltonian scales as [math]\displaystyle{ N^4 }[/math]–[math]\displaystyle{ N^5 }[/math] with the system size. Solving the equation scales as [math]\displaystyle{ N^6 }[/math] for exact diagonalization (IBSE = 2) and [math]\displaystyle{ N^4 }[/math] for the time-evolution (IBSE = 1) and Lanczos (IBSE = 3) algorithms.
Time-evolution or real-time TDDFT (ALGO = TIMEEV)
An alternative to solving the Casida equation is to compute the frequency-dependent response via real-time propagation of the Kohn-Sham orbitals [2]. The starting point is the time-dependent Kohn-Sham equation,
- [math]\displaystyle{ \mathrm i \frac{\partial}{\partial t}\left|\phi_{v\mathbf k}[n(t)]\right\rangle = \left[-\frac{\nabla^2}{2} + V_{\mathrm H}[n(t)] + V_{\mathrm{xc}}[n(t)] + V_\mathrm{ext}(t)\right]\left|\phi_{v\mathbf k}[n(t)]\right\rangle, }[/math]
where all potentials are functionals of the time-evolving density [math]\displaystyle{ n(\mathbf r, t) }[/math]. A delta-like perturbation is applied to the ground-state system, and the time-dependent coefficients are propagated forward in time. The dielectric function is then obtained from the Fourier transform of the time-dependent dipole moments:
- [math]\displaystyle{ \varepsilon_M(\omega) = 1 - \frac{4\pi e^2}{\Omega} \int_0^\infty \mathrm d t \sum_{cv\mathbf k} \left(\langle\mu_{cv\mathbf k}|c_{cv\mathbf k}(t)\rangle + \mathrm{c.c.}\right) e^{-\mathrm i(\omega - \mathrm i\eta)t}, }[/math]
where [math]\displaystyle{ \mu_{cv\mathbf{k}} }[/math] is the dipole matrix element and [math]\displaystyle{ c_{cv\mathbf k}(t) }[/math] are the time-dependent expansion coefficients. This approach avoids building and storing the full Hamiltonian in transition space. The detailed theory and propagation algorithm are described on the theory page.
Scaling with the system size
The compute time per time step scales as [math]\displaystyle{ N^3 }[/math] with the system size. When nonlocal exchange is included (LADDER=.TRUE.), an additional [math]\displaystyle{ N_{\mathbf{k}}^2 \times N_v^2 \times N_G }[/math] contribution arises from evaluating the exchange integrals at each time step.
Dyson-equation TDDFT (ALGO = CHI)
Instead of recasting the problem as an eigenvalue equation, TDDFT can also be solved by directly evaluating the two-point Dyson equation for the density-density response function [math]\displaystyle{ \chi }[/math]. The macroscopic dielectric function is then obtained from
- [math]\displaystyle{ \varepsilon_M(\omega) = 1 - v(\mathbf{G}=0) \, \chi_{\mathbf{G}=0,\mathbf{G}'=0}(\mathbf{q},\omega), }[/math]
where [math]\displaystyle{ v(\mathbf{G}) }[/math] is the Coulomb kernel and [math]\displaystyle{ \chi_{\mathbf{G},\mathbf{G}'}(\mathbf{q},\omega) }[/math] is the interacting response function in reciprocal space. This approach gives access to the full matrix [math]\displaystyle{ \chi_{\mathbf{G},\mathbf{G}'}(\mathbf{q},\omega) }[/math] and is used, for instance, to compute the screened Coulomb interaction [math]\displaystyle{ W }[/math] needed in GW calculations. However, the Dyson equation must be inverted at every frequency point, which makes it expensive for computing spectra with fine resolution. The only nonlocal exchange-correlation kernel currently supported is the nanoquanta kernel (LFXC).
Scaling with the system size
The compute time scales as [math]\displaystyle{ N^4 }[/math] with the system size. The Dyson equation must be inverted at every frequency point (NOMEGA), so the total cost grows linearly with the number of frequency points.
Additional resources
Tutorials
- Tutorial calculating optical absorption of C diamond using TDDDH.
- Tutorial on the efficient Brillouin zone sampling using TDDDH and exciton analysis using TDDDH.
How to
- Practical guide for solving the Casida equation via diagonalization: TDDFT calculations.
- Practical guide for real-time TDDFT calculations: Time-evolution algorithm.
References
- ↑ A. Tal, P. Liu, G. Kresse, A. Pasquarello, Accurate optical spectra through time-dependent density functional theory based on screening-dependent hybrid functionals, Phys. Rev. Research 2, 032019 (2020)
- ↑ a b T. Sander, G. Kresse, Macroscopic dielectric function within time-dependent density functional theory—Real time evolution versus the Casida approach , J. Chem. Phys. 146, 064110 (2017)
Pages in category "Time-dependent density functional theory"
The following 3 pages are in this category, out of 3 total.