5. Algorithm¶
In RESPACK, the \(i\)-th Wannier function is defined as
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
Here, \(C_{{\bf G}n}\) is the expansion coefficient of the plane wave. By inserting this coefficient, the Wannier function is written as
Here, \(\tilde{C_{\bf{G}i}}(\bf{k})\) is the expansion coefficient of the plane wave for the Wannier function:
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¶
K. Nakamura, Y. Yoshimoto, Y. Nomura, T. Tadano, M. Kawamura, T. Kosugi, K. Yoshimi, T. Misawa, and Y. Motoyama, Comput. Phys. Commun. 261, 107781 (2021)
N. Marzari, A. A. Mostofi, J. R. Yates, I. Souza, and D. Vanderbilt, Rev. Mod. Phys. 84, 1419 (2012)