TRIQS/triqs_modest 3.3.0
Brillouin zone summation
|
#include <triqs_modest/downfolding.hpp>
The projector that downfolds the one-body dispersion (ν) onto local orbitals (m).
The projector that downfolds the energy bands onto a set of localized atomic-like orbitals.
A downfoldin 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} \bra{\chi_{m_{a}}^{R_a \sigma}}\ket{\psi_{\nu}^{\sigma}(\mathbf{k})},$$
where \(\ket{\chi_{m_{a}}^{R_a \sigma}}\) is a Wannier function localized at atom $a$ with index \(m_a\) at position \(R_a\) and \(\ket{\psi_{\nu}^{\sigma}(\mathbf{k})}\) is the Kohn-Sham wavefunction. The relation between the Wannier and Bloch function is therefore
$$ \ket{\chi_{m_{a}}^{R_a \sigma}} = \sum_{\mathbf{k} \nu} e^{-i \mathbf{k} R_a} \bigl(P^\sigma_{(a,m_{a})\nu}(\mathbf{k})\bigr)^* \ket{\psi_{\nu}^{\sigma}(\mathbf{k})}.$$
Some properties:
Definition at line 72 of file downfolding.hpp.
Public Member Functions | |
nda::matrix_const_view< dcomplex > | P (long sigma, long k_idx) const |
P^σ(k)_mν, returned as a matrix in (m ν) | |
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 |
n_bands_per_k [k_idx, σ'] = # of nu | |
nda::array< dcomplex, 4 > | P_k |
Pk[alpha][k_idx, σ', m_alpha, nu]. | |
spin_kind_e | spin_kind |
Friends | |
std::ostream & | operator<< (std::ostream &out, downfolding_projector const &proj) |
printing | |
|
inline |
P^σ(k)_mν, returned as a matrix in (m ν)
Definition at line 85 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 |
printing
Definition at line 26 of file printing.cpp.
nda::array<long, 2> triqs::modest::downfolding_projector::n_bands_per_k |
n_bands_per_k [k_idx, σ'] = # of nu
Definition at line 75 of file downfolding.hpp.
nda::array<dcomplex, 4> triqs::modest::downfolding_projector::P_k |
Pk[alpha][k_idx, σ', m_alpha, nu].
Definition at line 74 of file downfolding.hpp.
spin_kind_e triqs::modest::downfolding_projector::spin_kind |
Definition at line 73 of file downfolding.hpp.