Orbital energies and TDDFT
Some python code to run the example later...
import numpy as np
from qepy.calculator import QEpyCalculator
from ase.lattice.hexagonal import Graphene
from dftpy.formats import download_files
from ase import Atoms
import matplotlib.pyplot as plt
qe_options = {
'&control': {
'calculation': "'scf'",
'prefix': "'tmp'",
'pseudo_dir': "'./'"},
'&system': {
'ibrav' : 0,
'ecutwfc': 20,
'ecutrho': 200},
'&electrons': {
'conv_thr' : 1.0e-8},
'atomic_species': ['C 12.0107 C.pz-vbc.UPF'],
'k_points automatic': [' 9 9 1 0 0 0'],
}
additional_files = {
'C.pz-vbc.UPF' : 'https://pseudopotentials.quantum-espresso.org/upf_files/C.pz-vbc.UPF',
}
download_files(additional_files)
Goals of this lecture + hands-on session#
Part I#
The meaning and usefulness of DFT orbitals and orbital energies
Band structure with QEpy
Part II#
Basic theory of KS TDDFT (real-time and linear response)
Linear-response KS TDDFT
Real-time KS TDDFT
Part III#
Hands on: LR-TDDFT simulations of molecules with QEpy
PART I: KS orbitals#
What is the physical meaning of KS orbitals?#
Generally KS or HF orbitals have no rigorous physical meaning
The HOMO is different: HF has Koopmans’ theorem and KS has Janak’s theorem relating it to the IP.
What about the virtuals? The LUMO? … no rigorous physical meaning.
An overview of what you can do with orbitals#
If you are interested in ionization energies:#
GW
GW quasiparticle energies provide rigorous ionizations / affinities
Hybrid functionals in DFT (HSE, PBE0, …) approximate GW results and usually predict ionizations/affinities via orbital energies much better than GGA functionals, like PBE
If you are interested in excitation energies:#
TDDFT
where \(i,j,k,l,\ldots \in \text{occupied}\) and \(a,b,c,d,\ldots \in \text{virtuals}\).
Comparing calculated and measured electronic energies#
Photoemission (PES / XPES) and DFT orbital energies#
Photoemission spectroscopy (PES) ejects electrons with a photon and reports \(h\nu-E_{kin}\).
With LDA or GGA functionals (e.g. PBE), orbital energies and gaps are not quantitatively accurate.
Hybrid functionals and GW are used when agreement with PES/XPS matters.
Band structure: ARPES vs theory (graphene)#
Angle-resolved photoemission (ARPES) maps occupied bands \(E_n(\mathbf{k})\) in momentum space.
A classic example is monolayer graphene on SiC: Bostwick et al., Nature Physics 3, 36 (2007).
Panel (a): ARPES overlaid with a DFT calculation.
The linear Dirac cones at \(K\) are reproduced.

Figure adapted from Bostwick et al., Nature Physics 3, 36 (2007), Fig. 1.
Challenge 1#
In the limit of having the exact exchange-correlation functional, should you expect KS-DFT orbital energies to deliver exact band structures?
Discuss among the group and be ready to share your thoughts with the class.

Band structures: Graphene#
Build system and solve SCF#
atoms = Graphene('C', latticeconstant={'a':2.46, 'c': 7})
atoms.calc = QEpyCalculator(qe_options=qe_options, logfile='tmp.out')
energy = atoms.get_potential_energy()
Look at the FBZ and select special \(k\) points#
lat = atoms.cell.get_bravais_lattice()
lat.plot_bz(show=True)
<Axes3D: >
Choose \(\Gamma \to M \to K \to \Gamma\) band path#
Plot the first 6 bands#
path = atoms.cell.bandpath('GMKG',npoints=61)
qe_options['&system']['nbnd']=8
band = atoms.calc.get_band_structure(qe_options, kpts=path)#, reference=atoms.calc.get_fermi_level())
band.subtract_reference()
band.plot()
<Axes: ylabel='energies [eV]'>
Challenge 1.2#
Band structure of Si diamond structure
Use the hands-on band structure tutorial. Notice the
ASEtoolBulkfromase.build
from ase.build import bulk
atoms = bulk('Si','diamond',a=5.431)
Compare the notebook for Si and for graphene
Make a new notebook with a system of your choice and compute the band structure.
PART II: TDDFT based on KS-DFT#
Electronic excitations and UV–vis spectroscopy#
UV–vis absorption probes electronic excitations from the ground singlet \(S_0\) to excited singlets \(S_n\) at photon energy \(E = h\nu\).
In a Jablonski diagram, upward arrows are absorption; downward arrows are fluorescence; wavy/dashed paths are internal conversion and intersystem crossing.
Each allowed \(S_0 \to S_n\) transition contributes a peak in the spectrum.

TDDFT vs experiment: \(S_0 \to S_1\) excitation energies#
Benchmark on 29 small molecules: mean absolute error (MAE) of \(S_0 \to S_1\) excitations vs experiment.
Wavefunction methods vs TD-DFT functionals.

Adapted from Suellen et al., J. Chem. Theory Comput. 15, 4581 (2019), Fig. 3 (doi:10.1021/acs.jctc.9b00446).
Let’s dive a bit deeper into TDDFT#
Real-time TDDFT equations :#
The rt-TDDFT equations can be integrated in time#
This approach delivers \(\{\phi_k(\mathbf{r},t)\}\) and thus \(n(\mathbf{r},t)\)
…and any other derived quantity
ultrafast electron dynamics (scattering, Coulomb explosions, stopping power, etc…)
electronic oscillations in the frequency domain, \(n(\mathbf{r},\omega)=\int n(\mathbf{r},t)\, e^{i\omega t}\, dt\), give access to spectra
Why does \(n(\mathbf{r},\omega)\) yield spectra?#
Out of equilibrium, the time-dependent wavefunction could be
The corresponding time-dependent density is
\(\delta n(\mathbf{r},t)\) oscillates at the excitation frequency \(\omega_{01} = \frac{E_1-E_0}{\hbar},\) with amplitude given by the transition density \(n_{10}(\mathbf r) = n_{01}(\mathbf r)=\langle \Psi_0|\hat n(\mathbf r)|\Psi_1\rangle\).
In the frequency domain, these oscillations produce peaks at the excitation energies:
Therefore, the frequencies contained in \(\delta n(\mathbf r,\omega)\) give access to the excitation spectrum.
Two important ingredients of TDDFT#
#1: The occupation numbers#
Challenge 2#
The occupation numbers, \(\{f_k\}\), are taken to be independent of time. Why?
Discuss among the group and be ready to share your thoughts with the class.

#2: The time-dependent KS potential#
is defined as that particular potential such that \(n_{KS}(\mathbf{r},t) = n(\mathbf{r},t)\)
Once \(v_{xc}(\mathbf{r},t)\) is approximated, we can integrate the rt-TDDFT equations
Several software implement rt-TDDFT, and if time permits, we will consider it later in this lecture
Challenge 3#
How can \(v_{xc}(\mathbf{r},t)\) be approximated? Would \(v_{xc}(\mathbf{r},t)= v_{xc}[n(t)](\mathbf{r}) = \frac{\delta E_{xc}[n]}{\delta n(\mathbf{r})}\bigg\vert_{n=n(\mathbf{r},t)}\) be a good approximation?
Discuss among the group and be ready to share your thoughts with the class.

The adiabatic approximation in rt-TDDFT#
uses the ground state XC functional and potential and evaluates them with the time-dependent density, \(n(\mathbf{r},t)\).
The time-dependent xc potential is not defined in this way
The adiabatic approximation is perhaps the best we can do. But together with the self-interaction error, it leads to some shortcomings:
predicted optical gaps are usually too low (e.g., PBE water: 6.5 eV vs 8.5 eV, see also this paper.)
There are fixes but you must evaluate them carfully before use.
use of hybrids
use of GGA+U
use of long-range corrected xc potentials (LB94, SAOP)
other functionals (Koopman’s, etc)
Does \(v_{xc}(\mathbf{r},t)\) exist?#
Targeting the excited states directly: linear-response TDDFT#
In other words:#
Linear density response of the interacting system#
For a weak perturbing potential \(\delta v_{\mathrm{appl}}(\mathbf{r},\omega)\), the density response, \(\delta n(\mathbf{r},\omega)\), satisfies
where \(\chi\) is the density response function of the interacting system
Why is \(\chi\) interesting?#
From first-order perturbation theory, it can be shown that:
Linear density response of the KS system#
To find \(\chi\) we once again consider the Kohn–Sham non-interacting system.
The interacting and KS systems bust share the same density reponse, \(\delta n\) (using a short-hand notation)
| \({\color{red}\chi}\,\delta v_{\mathrm{appl}}\) | \(\chi_s\,{\color{red}\delta v_s}\) |
What is \(\color{red}{\delta v_s}\)?#
where \(\delta v_H(\mathbf{r},\omega) = \int \dfrac{\delta n(\mathbf{r}',\omega)}{|\mathbf{r}-\mathbf{r}'|}\, d\mathbf{r}'\) and \(\delta v_{xc}(\mathbf{r},\omega) = \int d\mathbf{r}' f_{\mathrm{xc}}(\mathbf{r},\mathbf{r}',\omega)\,\delta n(\mathbf{r}'\omega)\), defining an xc kernel.
Combining the definitions introduced thus far (using a short-hand notation):
By taking the derivative with respect to \(\delta v_{\mathrm{appl}}\), we obtain the important Dyson-like relation:
Casida equations#
The inverse of the Dyson equation is
can be expressed in a basis set of occupied/virtual products, leading to the Casida equation
where
with \(\omega_{ia} = \varepsilon_a - \varepsilon_i\), are the KS orbital excitations.
Excitation energies \(\Omega_k\) and the eigenvectors \((X_{ia}, Y_{ia})\) deliver transition densities \(n_{0k}(\mathbf{r}) = \sum_{ia} (X_{ia}+Y_{ia})\phi_i(\mathbf{r})\phi_a(\mathbf{r})\).
What can you obtain from lr-TDDFT?#
excitation energies / spectra
check out this nice paper
transition densities, transition dipoles and other derived quantities
e-e structure factors, dielectric functions, etc…
you’ll learn about some of these applications next week