Eliashberg with DFPT

Minimum Background:
The implementation arXiv article MUST be read (including the appendix). In brief:

  • The Hamiltonian in Eliashberg theory allows a phonon with momentum \(\textbf{q}\) to scatter an electron with momentum \(\textbf{k}\) to \(\textbf{k}+\textbf{q}\) with some strength \(g_{k,k+q}^q\). Everything else in the theory can be worked out from these electron-phonon matrix elements g.
    $$ H=\sum\limits_{kq} g_{k,k+q}^q c_{k+q}^\dagger c_{k} b_{q} +h.c.$$

Workflow:

  1. Do an scf over (at least) all the k and k+q points
  2. Do an scf over all the k points. This defines the k grid.
  3. Calculate el-ph lambdas. This defines the q grid.

Gotcha:

  1. Image parallelization is NOT implement for calculation the electron-phonon matrix elements. It is only implemented for pure phonon calculations, which might be used to estimate zero point energy for example.
  2. kpoint.x knows about symmetries of the lattice, but not the lattice with basis. When the unit cell has more than one atom, it is safer to run pw.x with verbosity=’high’ to extract the k points necessary for lambda.x.