5. Algorithm

In RESPACK, the \(i\)-th Wannier function is defined as

(5.1)\[w_{i, 0}({\bf r}) = \frac{1}{\sqrt{N_k}} \sum_{{\bf k}} \sum_{m=1}^{N_w} \sum_{n=N_s}^{N_s+N_b} U_{im}^{{\bf k}} U_{mn}^{{\bf k}, opt} \psi_{nk}(\bf{r})\]

Here, \(U\) and \(U^{opt}\) are unitary matricies, \(\psi_{n{\bf k}}(r)\) is the \(n\)-th Bloch wave function, and \(N_s\) and \(N_b\) are determined from the energy-window information. The Bloch wave function is defined as

(5.2)\[\psi_{n{\bf k}} =\frac{1}{\sqrt{N_k}} \frac{1}{\sqrt{\Omega}} \sum_{{\bf G}} C_{{\bf G}n}({\bf k}) e^{i({\bf k}+{\bf G})\cdot {\bf r}}\]

Here, \(C_{{\bf G}n}\) is the expansion coefficient of the plane wave. By inserting this coefficient, the Wannier function is written as

(5.3)\[w_{i, 0}({\bf r}) = \frac{1}{N_k} \sum_{{\bf k}} \sum_{{\bf G}} \tilde{C_{{\bf G}i}}({\bf k})\frac{1}{\sqrt{\Omega}}e^{i({\bf k}+{\bf G})\cdot r}\]

Here, \(\tilde{C_{\bf{G}i}}(\bf{k})\) is the expansion coefficient of the plane wave for the Wannier function:

(5.4)\[\tilde{C_{{\bf G} i}}({\bf k}) = \sum_{m=1}^{N_w} \sum_{n=N_s}^{N_s+N_b} U_{im}^{{\bf k}} U_{mn}^{{\bf k}, opt} C_{{\bf G}n}\]

Here, \(U^{{\bf k},opt}\) is required at dielectric function calculation, and \(\tilde{C_{{\bf G}i}}({\bf k})\) is required at Coulomb calculation. This program generates \(\tilde{C_{{\bf G}i}}(\bf{k})\) using \(C_{{\bf G}n}\) made by QE and \(U^{{\bf k}}, U^{{\bf k}, opt}\) made by Wannier90.

K-points Order

RESPACK performs calculations based on the information at irreducible k-points (\(\psi_{k\in irr}\)). This is because the information at reducible k-points (\(\psi_{k \in reducible}\)) can be generated by symmetry. On the other hand, Wannier90 calculates \(U^{{\bf k}}\), and so on, based on \(\psi_{k \in reducible}\). The \({\bf k}\)-order of \(\psi_{k \in reducible}\) used in Wannier90 must be the same as the \({\bf k}\)-order of \(\psi_{k \in reducible}\) generated by the symmetry in RESPACK. In pre-process mode, an operation is performed to align the \({\bf k}\)-order.

5.1. Relations between expressions and file names

This program finally outputs the four files in the dir-wan directory. The expressions and the corresponding files are shown below:

  • \(\tilde{C_{{\bf G}i}}(\bf{k})\)dat.wan

  • \(N_s, N_b\)dat.ns-nb

  • \(U^{{\bf k}}U^{{\bf k},opt}\)dat.umat

  • \(<w_{i0}|r|w_{i0}>\)dat.wan-center

5.2. References