Introduction on "Optical Spectroscopy"; clean comments in common/bibliography.F

This commit is contained in:
Jan Wilhelm 2024-07-31 22:24:12 +02:00 committed by GitHub
parent 08a39e73b5
commit 9e593d536b
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 67 additions and 14 deletions

View file

@ -25,7 +25,7 @@ electronic band structure of a solid. This approximation comes with limitations:
- When using one of the common GGA exchange-correlation (xc) functionals, the band gap in the KS-DFT
band structure $\varepsilon_{n\mathbf{k}}^\text{DFT}$ is much too small compared to experimental
band gaps (Fig. 26 in \[[](#Golze2019))\]. Even with the exact xc functional, the band gap in the
band gaps (Fig. 26 in \[[](#Golze2019)\]). Even with the exact xc functional, the band gap in the
KS-DFT band structure $\varepsilon_{n\mathbf{k}}^\text{DFT}$ will be too small due to the
derivative discontinuity.
@ -127,7 +127,7 @@ In the upper *GW* section, the following keywords have been used:
- [QUADRATURE_POINTS](#CP2K_INPUT.FORCE_EVAL.DFT.XC.WF_CORRELATION.RI_RPA.QUADRATURE_POINTS): Number
of imaginary-frequency points used for computing the self-energy (Eq. (21) in
\[[](#Wilhelm2016))\]. 100 points are usually enough for converging quasiparticle energies within
\[[](#Wilhelm2016)\]). 100 points are usually enough for converging quasiparticle energies within
10 meV.
- [SELF_CONSISTENCY](#CP2K_INPUT.FORCE_EVAL.DFT.XC.WF_CORRELATION.RI_RPA.GW.SELF_CONSISTENCY):
@ -281,7 +281,7 @@ Running the input file requires access to a large computer (the calculation took
nodes on Noctua2 cluster in Paderborn). The computational parameters from this input file reach
numerical convergence of the band gap within ~ 50 meV (TZVP basis set, 10 time and frequency
points). Detailed convergence tests are available in the SI, Table S1 of \[[](#Graml2024)\] We
recommend the numerical parameters from the input file for large-scale GW calculations. The code
recommend the numerical parameters from the input file for large-scale *GW* calculations. The code
prints restart files with ending .matrix that can be used to restart a crashed calculation.
In case anything does not work, please feel free to contact jan.wilhelm (at) ur.de.

View file

@ -9,4 +9,58 @@ tddft
bethe-salpeter
```
TODO: Add Introduction and comparison between TDDFT and BSE.
Optical spectroscopy is a technique used to study the interaction between light and matter. It
involves measuring the absorption, emission, or scattering of light by molecules, atoms, or
materials. The resulting spectra provide valuable information about the electronic structure, energy
levels, and dynamics of the system under investigation.
In optical spectroscopy, one of the key quantities of interest is the excitation energy
($\Omega_n$). This is the energy required to excite a molecule from its ground state to an excited
state. These excitation energies are directly related to the positions and intensities of spectral
lines observed in absorption and emission spectra.
The excitation energies $\Omega_n$ can be computed using various theoretical approaches. Two
commonly used methods are linear-response Time-Dependent Density Functional Theory (LR-TDDFT) and
the linear-response *GW*/Bethe-Salpeter Equation (*GW*/BSE) approach. Both methods can be formulated
using Casida's equation
$$\left( \begin{array}{cc}A & B\\B & A\end{array} \right)\left( \begin{array}{cc}\mathbf{X}^{(n)}\\\mathbf{Y}^{(n)}\end{array} \right) = \Omega^{(n)}\left(\begin{array}{cc}1&0\\0&-1\end{array}\right)\left(\begin{array}{cc}\mathbf{X}^{(n)}\\\mathbf{Y}^{(n)}\end{array}\right) \quad .$$
We abbreviate $A$ and $B$ as matrices with index $A_{ia,jb}$, i.e. they have
$N_\mathrm{occ}N_\mathrm{empty}$ rows and $N_\mathrm{occ}N_\mathrm{empty}$ columns. The matrices $A$
and $B$ are different in TDDFT and *GW*/BSE; for TDDFT they read (for singlet excitations, details
on the TDDFT page)
$$ \begin{align}
A_{ia,jb} &= (\varepsilon_a^\text{DFT}-\varepsilon_i^\text{DFT})\delta_{ij}\delta_{ab} +
2v_{ia,jb} + \langle ia|f_\text{xc}(\Omega^{(n)})|jb\rangle \quad ,\\[0.5em]
B_{ia,jb} &= 2v_{ia,bj} + \langle ia|f_\text{xc}(\Omega^{(n)})|jb\rangle \quad ,
\end{align}$$
and for *GW*/BSE (details on the *GW*/BSE page):
$$ \begin{align}
A_{ia,jb} &= (\varepsilon_a^{GW}-\varepsilon_i^{GW})\delta_{ij}\delta_{ab} +
2v_{ia,jb} - W_{ij,ab} \quad ,\\[0.5em]
B_{ia,jb} &= 2 v_{ia,bj} - W_{ib,aj} \quad .
\end{align}$$
TDDFT with the common Adiabatic Local Density Approximation (ALDA) or with a hybrid functional (i.e.
PBE0) can be a good choice for calculating excitation energies of molecules. Exceptions include
charge-transfer excitations where the excited electron is transferred over a significant distance
within the molecule. In such cases, range-separated hybrid functionals might be needed.
For solids, the applicability of TDDFT can depend on whether the solid is metallic or has a finite
bandgap. For metals, ALDA often yields good excitation energies. However, for semiconductors and
insulators, ALDA fails because the ALDA xc kernel does not adequately include the Coulomb
interaction between the electron and the hole of the electron-hole pair (exciton) that forms upon
excitation. In contrast, the *GW*/BSE approach is well-suited for computing the excitation energies
of excitons in semiconductors and insulators. *GW*/BSE accounts for the attractive interaction
between the electron and hole in the A-matrix via the screened Coulomb interaction $W_{ij,ab}$. This
inclusion is crucial for accurately describing excitonic effects, which are significant in materials
with a finite bandgap.
Thus, TDDFT with ALDA/hybrid functionals is convenient and computationally less demanding than
*GW*/BSE for molecular systems and metals, *GW*/BSE can describe excitonic effects in semiconductors
and insulators. For a more detailed discussion on TDDFT and *GW*/BSE, we recommend for example C. A.
Ullrich, *Time-Dependent Density-Functional Theory - Concepts and Applications*.

View file

@ -12,17 +12,10 @@
!> (often ourselves, but this need not to be the case), and as a form
!> of documentation.
!>
!> reference_manager.F provides an easy way to cite these references from the code
!> add references here as an easy way to cite these references from the code
!> (e.g., whenever the relevant part of the code is executed)
!> and to add citations to the input
!> at the end of the run a bibliography is printed that can be used, e.g., in papers
!> \note
!> references need to be input using the ISI citation format, because it is
!> uniform, easy to parse, and can be exported for example from web of science.
!> (mark the reference, and click 'export to reference software', open the resulting file)
!> Furthermore, it can be easily converted to and from using the bibutils tools
!> a collection of easy to use conversion programs that can be found at
!> https://ctan.org/pkg/bibutils by Chris Putnam
!> \author Joost VandeVondele
! **************************************************************************************************
MODULE bibliography
@ -104,10 +97,16 @@ CONTAINS
!> \par History
!> 08.2007 created [Joost VandeVondele]
!> \note
!> - note that the ISI record is fixed format (line length limited and the
!> first 3 characters can indicate record type)
!> - please add DOI whenever available, this will result in a clickable
!> link in the input reference manual.
!> - please provide for journal articles:
!> - all author names, abbreviate the first names
!> - the title of the article
!> - the abbreviated journal name (please use the ISO4 standard)
!> - volume
!> - pages (in case there is starting and end page: please provide start page-end page;
!> in case there is article number, e.g. J. Chem. Phys, Phys. Rev., then provide
!> the article number)
! **************************************************************************************************
SUBROUTINE add_all_references()
CALL add_reference(key=Ceriotti2012, &