.. _Ch:Algorithm: Algorithm ********* In RESPACK, the :math:`i`-th Wannier function is defined as .. math:: 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, :math:`U` and :math:`U^{opt}` are unitary matricies, :math:`\psi_{n{\bf k}}(r)` is the :math:`n`-th Bloch wave function, and :math:`N_s` and :math:`N_b` are determined from the energy-window information. The Bloch wave function is defined as .. math:: \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, :math:`C_{{\bf G}n}` is the expansion coefficient of the plane wave. By inserting this coefficient, the Wannier function is written as .. math:: 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, :math:`\tilde{C_{\bf{G}i}}(\bf{k})` is the expansion coefficient of the plane wave for the Wannier function: .. math:: \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, :math:`U^{{\bf k},opt}` is required at dielectric function calculation, and :math:`\tilde{C_{{\bf G}i}}({\bf k})` is required at Coulomb calculation. This program generates :math:`\tilde{C_{{\bf G}i}}(\bf{k})` using :math:`C_{{\bf G}n}` made by QE and :math:`U^{{\bf k}}, U^{{\bf k}, opt}` made by Wannier90. **K-points Order** RESPACK performs calculations based on the information at irreducible k-points (:math:`\psi_{k\in irr}`). This is because the information at reducible k-points (:math:`\psi_{k \in reducible}`) can be generated by symmetry. On the other hand, Wannier90 calculates :math:`U^{{\bf k}}`, and so on, based on :math:`\psi_{k \in reducible}`. The :math:`{\bf k}`-order of :math:`\psi_{k \in reducible}` used in Wannier90 must be the same as the :math:`{\bf k}`-order of :math:`\psi_{k \in reducible}` generated by the symmetry in RESPACK. In pre-process mode, an operation is performed to align the :math:`{\bf k}`-order. .. _file_expression-label: 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: - :math:`\tilde{C_{{\bf G}i}}(\bf{k})` --- ``dat.wan`` - :math:`N_s, N_b` --- ``dat.ns-nb`` - :math:`U^{{\bf k}}U^{{\bf k},opt}` --- ``dat.umat`` - :math:`` --- ``dat.wan-center`` 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) `_