Calculating optical spectra including excitonic effects: a step-by-step guide

From The Yambo Project
Jump to: navigation, search

This tutorial guides you through the workflow of a calculation of the optical spectrum of a given material by solving the Bethe-Salpeter equation. Specifically we will use bulk h-BN as an example.

Atomic structure of bulk hBN

Before starting, you need to obtain the tarballs for hBN. See instructions on the main tutorials page.

The target quantity in a Bethe-Salpeter calculation is the macroscopic dielectric matrix εM. The following quantities/steps are needed to obtain εM:

BSE calculation scheme

The optical absorption spectrum corresponds to ImεM(ω). Following this scheme we go through the flow of a calculation:

Step 1: Static screening

Use the SAVE folders that are already provided and do:


Follow the Static screening module and then return to this tutorial

Step 2: Bethe-Salpeter kernel

Follow the module on Bethe-Salpeter kernel and return to this tutorial

Step 3: Bethe-Salpeter solver

This is the final step in which you finally obtained the spectra. Mathematically this implies to solve a large eigenvalue problem. Two main solvers are available in yambo

(1) diagonalization of the full Hamiltonian (diagonalization solver)

(2) subspace iterative | Lanczos algorithm which by-pass diagonalization with the Haydock approach[1] (Lanczos-Haydock solver)

For (1) follow the module on Bethe-Salpeter solver: diagonalization then either return to this tutorial or follow the link to Bethe-Salpeter solver: Lanczos-Haydock for (2).


  1. R. Haydock, in Solid State Phys., 35 215 (1980) edited by H. Ehrenfest, F. Seitz, and D. Turnbull, Academic Press