diff --git a/docs/methods/properties/optical/bethe-salpeter.md b/docs/methods/properties/optical/bethe-salpeter.md
index 7d652e5884..22e5dc6831 100644
--- a/docs/methods/properties/optical/bethe-salpeter.md
+++ b/docs/methods/properties/optical/bethe-salpeter.md
@@ -1,10 +1,11 @@
# *GW* + Bethe-Salpeter equation
The Bethe-Salpeter equation (BSE) is a method for computing electronic excitation energies and
-optical absorption spectra. We describe in Sec. [1](#header-theory) the theory and implementation of
-BSE, in Sec. [2](#header-input) the BSE input keywords and in Sec. [3](#header-example) a full CP2K
-input file of a BSE calculation and the corresponding output. For reviews on BSE, see
-\[[](#Blase2018), [](#Blase2020), [](#Bruneval2015), [](#Sander2015)\].
+optical absorption spectra. We repeat the theory and implementation of BSE from \[[](#Graml2026)\]
+in Sec. [1](#header-theory), in Sec. [2](#header-input) the BSE input keywords and in Sec.
+[3](#header-example) a full CP2K input file of a BSE calculation and the corresponding output. For
+further references on BSE, see \[[](#Blase2018), [](#Blase2020), [](#Bruneval2015),
+[](#Sander2015)\].
(header-theory)=
@@ -52,7 +53,7 @@ where $p,q,r,s \in [ 1, N_\mathrm{occ}+N_\mathrm{empty}]$ are KS orbital indices
the screened Coulomb interaction is always computed from DFT quantitites, i.e. $W_{0}(\omega=0)$
enters the BSE. $(\mathbf{X}^{(n)},\mathbf{Y}^{(n)})$ with elements $X_{ia}^{(n)}$ and
$Y_{ia}^{(n)}$ are the eigenvectors of the excitation $n$, which relate to the wave function of the
-electronic excitation \[[](#Blase2020)\],
+electronic excitation,
$$
\begin{align}
@@ -237,8 +238,7 @@ where we drop the excitation index $n$ from now on for better readability.
For each excitation level $n$, we have then several quantities, which allow us to quantify the
spatial extent of the electron, the hole and their combined two-particle character as combined
electron-hole pair, i.e. as an exciton. By that, we can often determine the type of the excited
-state, i.e. distinguish between, e.g., valence, Rydberg or charge-transfer states
-\[[](#Mewes2018)\].
+state, i.e. distinguish between, e.g., valence, Rydberg or charge-transfer states.
First, we define the distance between electron and hole as
@@ -352,7 +352,7 @@ In the upper GW/BSE section, the following keywords have been used:
Setting a small `ENERGY_CUTOFF_OCC` drastically reduces the computation time and the memory
consumption, but also might affect the computed excitation energies $\Omega^{(n)}$. Recommended to
use for large systems with more than 30 atoms, but we recommend a careful convergence test by
- increasing `ENERGY_CUTOFF_OCC` and observing the effect on $\Omega^{(n)}$ \[[](#Liu2020)\].
+ increasing `ENERGY_CUTOFF_OCC` and observing the effect on $\Omega^{(n)}$ \[[](#Graml2026)\].
- [ENERGY_CUTOFF_EMPTY](#CP2K_INPUT.FORCE_EVAL.DFT.XC.WF_CORRELATION.RI_RPA.GW.BSE.ENERGY_CUTOFF_EMPTY)
$E_\text{cut}^\text{empty}$: Analogous to `ENERGY_CUTOFF_OCC`, but for the empty states, i.e. only
@@ -394,8 +394,8 @@ optical properties:
- [XC_FUNCTIONAL](#CP2K_INPUT.FORCE_EVAL.DFT.XC.XC_FUNCTIONAL): Choose between one of the available
xc-functionals. The starting point can have a profound influence on the excitation energies
- \[[](#Knysh2024)\]. Motivated by the discussion in \[[](#Schambeck2024)\], we strongly recommend
- to use BSE@ev*GW*0@PBE, i.e. the PBE functional as DFT starting point (see also
+ \[[](#Graml2026)\]. Motivated by the discussion in \[[](#Graml2026)\], we strongly recommend to
+ use BSE@ev*GW*0@PBE, i.e. the PBE functional as DFT starting point (see also
[SELF_CONSISTENCY](#CP2K_INPUT.FORCE_EVAL.DFT.XC.WF_CORRELATION.RI_RPA.GW.SELF_CONSISTENCY)).
- [BASIS_SET](#CP2K_INPUT.FORCE_EVAL.SUBSYS.KIND.BASIS_SET): Specify the basis set, which affects
$N_\mathrm{empty}$ and thus the size of the matrices $A_{ia,jb}$ and $B_{ia,jb}$. The
@@ -410,11 +410,11 @@ $100 \cdot N_\mathrm{occ}^2 N_\mathrm{empty}^2$ Bytes. You can see $N_\mathrm{oc
$N_\mathrm{empty}$ and the estimated memory consumption from the BSE output. The BSE implementation
is well parallelized, i.e. you can use several nodes that can provide the memory.
-We have benchmarked the numerical precision of our BSE implementation and compared its results to
-the BSE implementation in FHI aims \[[](#Liu2020)\]. For our recommended settings, i.e.
-BSE@ev*GW*0@PBE with the aug-cc-pVDZ basis set, we have found excellent agreement with
-less than 5 meV mean absolute deviation averaged over the first 10 excitation levels and the 28
-molecules in *Thiel's set* for Singlet excitations.
+We have benchmarked the numerical precision of our BSE implementation in \[[](#Graml2026)\] and
+compared its results to the BSE implementation in FHI aims \[[](#Liu2020)\]. For our recommended
+settings, i.e. BSE@ev*GW*0@PBE with the aug-cc-pVDZ basis set, we have found excellent
+agreement with less than 5 meV mean absolute deviation averaged over the first 10 excitation levels
+and the 28 molecules in *Thiel's set* for Singlet excitations.
The current BSE implementation in CP2K works for molecules. The inclusion of periodic boundary
conditions in a Γ-only approach and with full *k*-point sampling is work in progress.
diff --git a/src/bse_print.F b/src/bse_print.F
index 40f2de1169..4ee98507c5 100644
--- a/src/bse_print.F
+++ b/src/bse_print.F
@@ -13,6 +13,8 @@
MODULE bse_print
USE atomic_kind_types, ONLY: get_atomic_kind
+ USE bibliography, ONLY: Graml2026,&
+ cite_reference
USE bse_properties, ONLY: compute_and_print_absorption_spectrum,&
exciton_descr_type
USE bse_util, ONLY: filter_eigvec_contrib
@@ -59,6 +61,7 @@ CONTAINS
INTEGER :: handle
CALL timeset(routineN, handle)
+ CALL cite_reference(Graml2026)
IF (unit_nr > 0) THEN
WRITE (unit_nr, *) ' '
@@ -126,8 +129,8 @@ CONTAINS
WRITE (unit_nr, '(T2,A4)') 'BSE|'
WRITE (unit_nr, '(T2,A4,T7,A41)') 'BSE|', 'sum_jb ( A_ia,jb X_jb^n ) = Ω^n X_ia^n'
WRITE (unit_nr, '(T2,A4)') 'BSE|'
- WRITE (unit_nr, '(T2,A4,T7,A30)') 'BSE|', 'prelim Ref.: Eq. (36) with B=0'
- WRITE (unit_nr, '(T2,A4,T7,A71)') 'BSE|', 'in PRB 92,045209 (2015); http://dx.doi.org/10.1103/PhysRevB.92.045209 .'
+ WRITE (unit_nr, '(T2,A4,T7,A14)') 'BSE|', 'Ref.: Eq. (18)'
+ WRITE (unit_nr, '(T2,A4,T7,A61)') 'BSE|', 'in PRB 113,205152 (2026); https://doi.org/10.1103/38k2-d55h .'
ELSE
WRITE (unit_nr, '(T2,A4,T7,A74)') 'BSE|', '**************************************************************************'
WRITE (unit_nr, '(T2,A4,T7,A74)') 'BSE|', '* Full ("ABBA") Bethe Salpeter equation (BSE) (i.e. without TDA) *'
@@ -143,6 +146,9 @@ CONTAINS
WRITE (unit_nr, '(T2,A4)') 'BSE|'
WRITE (unit_nr, '(T2,A4,T7,A62)') 'BSE|', ' sum_jb ( A_ia,jb X_jb^n + B_ia,jb Y_jb^n ) = Ω^n X_ia^n'
WRITE (unit_nr, '(T2,A4,T7,A62)') 'BSE|', '- sum_jb ( B_ia,jb X_jb^n + A_ia,jb Y_jb^n ) = Ω^n Y_ia^n'
+ WRITE (unit_nr, '(T2,A4)') 'BSE|'
+ WRITE (unit_nr, '(T2,A4,T7,A13)') 'BSE|', 'Ref.: Eq. (8)'
+ WRITE (unit_nr, '(T2,A4,T7,A61)') 'BSE|', 'in PRB 113,205152 (2026); https://doi.org/10.1103/38k2-d55h .'
END IF
WRITE (unit_nr, '(T2,A4)') 'BSE|'
WRITE (unit_nr, '(T2,A4)') 'BSE|'
@@ -164,8 +170,8 @@ CONTAINS
WRITE (unit_nr, '(T2,A4,T7,A)') 'BSE|', 'B_ia,jb = α * v_ia,jb'
END IF
WRITE (unit_nr, '(T2,A4)') 'BSE|'
- WRITE (unit_nr, '(T2,A4,T7,A35)') 'BSE|', 'prelim Ref.: Eqs. (24-27),(30),(35)'
- WRITE (unit_nr, '(T2,A4,T7,A71)') 'BSE|', 'in PRB 92,045209 (2015); http://dx.doi.org/10.1103/PhysRevB.92.045209 .'
+ WRITE (unit_nr, '(T2,A4,T7,A14)') 'BSE|', 'Ref.: Eq. (10)'
+ WRITE (unit_nr, '(T2,A4,T7,A61)') 'BSE|', 'in PRB 113,205152 (2026); https://doi.org/10.1103/38k2-d55h .'
END IF
IF (.NOT. flag_TDA) THEN
WRITE (unit_nr, '(T2,A4)') 'BSE|'
@@ -382,10 +388,10 @@ CONTAINS
WRITE (unit_nr, '(T2,A4,T9,A2,T14,A18)') &
'BSE|', "r:", "position operator."
WRITE (unit_nr, '(T2,A4)') 'BSE|'
- WRITE (unit_nr, '(T2,A4,T7,A28)') &
- 'BSE|', "prelim Ref.: Eqs. (23), (24)"
- WRITE (unit_nr, '(T2,A4,T7,A71)') &
- 'BSE|', "in J. Chem. Phys. 152, 044105 (2020); https://doi.org/10.1063/1.5123290"
+ WRITE (unit_nr, '(T2,A4,T7,A21)') &
+ 'BSE|', "Ref.: Eqs. (21), (D3)"
+ WRITE (unit_nr, '(T2,A4,T7,A69)') &
+ 'BSE|', "in Phys. Rev. B 113, 205152 (2026); https://doi.org/10.1103/38k2-d55h"
WRITE (unit_nr, '(T2,A4)') 'BSE|'
IF (flag_TDA) THEN
WRITE (unit_nr, '(T2,A4,T7,A55)') 'BSE|', &
@@ -596,10 +602,10 @@ CONTAINS
prefix_output, "r:", "position operator."
WRITE (unit_nr, '(T2,A4)') prefix_output
WRITE (unit_nr, '(T2,A4,T7,A)') prefix_output, &
- 'prelim Ref.: Eqs. (15)-(22)'
+ 'Ref.: Eqs. (28)-(32)'
WRITE (unit_nr, '(T2,A4,T7,A,A)') prefix_output, &
- 'JCTC 2018, 14, 710-725; ', &
- 'http://doi.org/10.1021/acs.jctc.7b01145'
+ 'Phys. Rev. B 113, 205152 (2026); ', &
+ 'https://doi.org/10.1103/38k2-d55h'
WRITE (unit_nr, '(T2,A4)') prefix_output
WRITE (unit_nr, '(T2,A4)') prefix_output
IF (exc_descr(1)%flag_TDA) THEN
@@ -660,6 +666,12 @@ CONTAINS
WRITE (unit_nr, '(T2,A4,T15,A)') prefix_output, &
"R_eh^{μμ'} = COV_eh^{μμ'}/(σ^μ_e σ^μ_h) "
WRITE (unit_nr, '(T2,A4)') prefix_output
+ WRITE (unit_nr, '(T2,A4,T7,A)') prefix_output, &
+ 'Ref.: Eqs. (33)-(36)'
+ WRITE (unit_nr, '(T2,A4,T7,A,A)') prefix_output, &
+ 'Phys. Rev. B 113, 205152 (2026); ', &
+ 'https://doi.org/10.1103/38k2-d55h'
+ WRITE (unit_nr, '(T2,A4)') prefix_output
WRITE (unit_nr, '(T2,A4)') prefix_output
IF (exc_descr(1)%flag_TDA) THEN
WRITE (unit_nr, '(T2,A4,T7,A,A,A)') prefix_output, &
diff --git a/src/common/bibliography.F b/src/common/bibliography.F
index e36fb273ff..621576c26d 100644
--- a/src/common/bibliography.F
+++ b/src/common/bibliography.F
@@ -93,7 +93,7 @@ MODULE bibliography
Sander2015, Schreiber2008, vanSetten2015, Setyawan2010, Ahart2024, Knysh2024, &
Schambeck2024, Mewes2018, Sertcan2024, Drautz2019, Lysogorskiy2021, Bochkarev2024, &
VazdaCruz2021, Chen2025, Hernandez2025, Marek2025, Hehn2022, Hehn2024, Pasquier2025, &
- Hanasaki2025, Tan2025, Broyden1965, Johnson1988, Kerker1981, &
+ Hanasaki2025, Graml2026, Tan2025, Broyden1965, Johnson1988, Kerker1981, &
FuHo1983, MethfesselPaxton1989, Marzari1999, dosSantos2023, Mermin1965, &
KuhneHeskeProdan2020, Schreder2021, Schreder2024_1, Schreder2024_2, &
Shiga2022, Lindh1995, Chai2024a, Rullan2026, Sundararaman2017, Andreussi2019, &
@@ -2093,6 +2093,13 @@ CONTAINS
source="Phys. Rev. B", volume="112", pages="205130", &
year=2025, doi="10.1103/v4zv-1pf9")
+ CALL add_reference(key=Graml2026, &
+ authors=s2a("M. Graml", "J. Wilhelm"), &
+ title="Optical excitations in nanographenes from the Bethe-Salpeter equation "// &
+ "and time-dependent density functional theory: Absorption spectra and spatial descriptors", &
+ source="Phys. Rev. B", volume="113", pages="205152", &
+ year=2026, doi="10.1103/38k2-d55h")
+
CALL add_reference(key=Hanasaki2025, &
authors=s2a("K. Hanasaki", "T. Futaii de Jong", "K. Komarov", "R. Kumar", "M. Malis", &
"J. Mattiat", "L. I. Hernandez-Segura", "L. Schreder", "A. Sinyavskiy", "S. Luber"), &