TRIQS/triqs_modest 3.3.0
Modular Electronic Structure Toolkit
|
#include <triqs_modest/downfolding.hpp>
The projector that downfolds the energy bands onto a set of localized atomic-like orbitals.
A downfolding projector contains the projector, the kind of spin used in the projection, and the number of bands per k-point for cases when a band goes outside of the projection window.
The projectors \(P_{m\nu}^{\sigma}(\mathbf{k})\) connect the Bloch space \({\cal B}\) to \({\cal C}\). The projectors are obtained from DFT codes or Wannier90. They are defined by
\[ P_{(a,m_{a})\nu}^{\sigma}(\mathbf{k})\equiv e^{-i \mathbf{k} R_a} \langle \chi_{m_{a}}^{R_a \sigma} | \psi_{\nu}^{\sigma}(\mathbf{k}) \rangle, \]
where \( | \chi_{m_{a}}^{R_a \sigma} \rangle \) is a Wannier function localized at atom \( a \) with index \(m_a\) at position \(R_a\) and \( | \psi_{\nu}^{\sigma}(\mathbf{k}) \rangle \) is the Kohn-Sham wavefunction. The relation between the Wannier and Bloch function is therefore
\[ | \chi_{m_{a}}^{R_a \sigma} \rangle = \sum_{\mathbf{k} \nu} e^{-i \mathbf{k} R_a} \bigl(P^\sigma_{(a,m_{a})\nu} (\mathbf{k})\bigr)^* | \psi_{\nu}^{\sigma}(\mathbf{k}) \rangle. \]
Some properties:
Definition at line 111 of file downfolding.hpp.
Public Member Functions | |
nda::matrix_const_view< dcomplex > | P (long sigma, long k_idx) const |
Get \( P_{m\nu}^{\sigma}(\mathbf{k}) \) for a given \( \mathbf{k} \) and \( \sigma \). | |
downfolding_projector | rotate_local_basis (nda::array< nda::matrix< dcomplex >, 2 > const &U) const |
Rotates the local basis of the downfolding projector. | |
Public Attributes | |
nda::array< long, 2 > | n_bands_per_k |
Number of bands for each k-point and \( \sigma \). | |
nda::array< dcomplex, 4 > | P_k |
Projector \( P_{m\nu}^{\sigma}(\mathbf{k}) \). | |
spin_kind_e | spin_kind |
Spin kind of the one-body data. | |
Friends | |
std::ostream & | operator<< (std::ostream &out, downfolding_projector const &proj) |
Print information about a downfolding_projector object. | |
|
inline |
Get \( P_{m\nu}^{\sigma}(\mathbf{k}) \) for a given \( \mathbf{k} \) and \( \sigma \).
sigma | Spin index \( \sigma \). |
k_idx | Index of the k-point in the grid. |
Definition at line 132 of file downfolding.hpp.
downfolding_projector triqs::modest::downfolding_projector::rotate_local_basis | ( | nda::array< nda::matrix< dcomplex >, 2 > const & | U | ) | const |
Rotates the local basis of the downfolding projector.
Definition at line 23 of file downfolding.cpp.
|
friend |
Print information about a downfolding_projector object.
Definition at line 26 of file printing.cpp.
nda::array<long, 2> triqs::modest::downfolding_projector::n_bands_per_k |
Number of bands for each k-point and \( \sigma \).
Definition at line 114 of file downfolding.hpp.
nda::array<dcomplex, 4> triqs::modest::downfolding_projector::P_k |
Projector \( P_{m\nu}^{\sigma}(\mathbf{k}) \).
Definition at line 113 of file downfolding.hpp.
spin_kind_e triqs::modest::downfolding_projector::spin_kind |
Spin kind of the one-body data.
Definition at line 112 of file downfolding.hpp.