TRIQS/triqs_modest 3.3.0
Modular Electronic Structure Toolkit
|
The one-body elements abstraction in ModEST.
Classes | |
struct | triqs::modest::band_dispersion |
The one-body dispersion as a function of momentum. More... | |
struct | triqs::modest::downfolding_projector |
The projector that downfolds the energy bands onto a set of localized atomic-like orbitals. More... | |
struct | triqs::modest::ibz_symmetry_ops |
Irreducible Brillouin Zone (IBZ) symmetry operations to symmetrize observables over the entire Brillouin zone. More... | |
class | triqs::modest::local_space |
Describe the atomic orbitals within downfolded \(\mathcal{C}\) space. More... | |
struct | triqs::modest::one_body_elements_on_grid |
A one-body elements struct where all of the underlying data exists on a fixed momentum grid. More... | |
struct | triqs::modest::one_body_elements_tb |
A one-body elements using a tight-binding Hamiltonian. More... | |
OBE factories using a fixed grid | |
Factory functions to create one_body_elements_on_grid | |
std::pair< double, one_body_elements_on_grid > | triqs::modest::one_body_elements_from_dft_converter (std::string const &filename, double threshold=1.e-5, bool diagonalize_hloc=false) |
Create a one-body elements with orthonormalized projectors. | |
one_body_elements_on_grid | triqs::modest::one_body_elements_with_theta_projectors (std::string const &filename, one_body_elements_on_grid const &obe) |
Create a one-body elements with the \( \Theta \) projectors. | |
one_body_elements_on_grid | triqs::modest::one_body_elements_on_high_symmetry_path (std::string const &filename, one_body_elements_on_grid const &obe) |
Create a one-body elements along specific k-path. | |
OBE factories using a TB Hamiltonian | |
Factory functions to create one_body_elements_on_tb | |
one_body_elements_tb | triqs::modest::one_body_elements_from_wannier90 (std::string const &wannier_file_path, spin_kind_e spin_kind, std::vector< atomic_orbs > atomic_shells) |
Construct a one-body elements TB object from Wannier90 in the case of a single spin index. | |
one_body_elements_tb | triqs::modest::one_body_elements_from_wannier90 (std::string const &wannier_file_path_up, std::string const &wannier_file_path_dn, spin_kind_e spin_kind, std::vector< atomic_orbs > atomic_shells) |
Construct a one-body elements TB object from Wannier90 in the case with separate spin up/spin down channels. | |
std::pair< double, one_body_elements_on_grid > triqs::modest::one_body_elements_from_dft_converter | ( | std::string const & | filename, |
double | threshold = 1.e-5 , |
||
bool | diagonalize_hloc = false |
||
) |
#include <triqs_modest/loaders.cpp>
Create a one-body elements with orthonormalized projectors.
Using the data from the "dft_input" group, the band dispersion, local space, downfolding projector, and optional IBZ symmetry ops are prepared to create a one-body elements. This object is intended to be used in DMFT calculations.
Our strategy is to decompose the \({\cal C}\) space using the suitable basis for embedding. Each block of embedded self-energy will then be mapped to corresponding impurity models self-energy.
The projectors are obtained from the DFT code or Wannier90, in some global coordinate system of the crystal. Some basis transformations are required before performing the embedding.
\[ [H_{\mathrm{loc}}^{0}]_{m_{a} m_{a}'}^{a,\sigma} \equiv \sum_{\mathbf{k}} P_{(a,m_{a})\nu}^{\sigma} (\mathbf{k}) \varepsilon_{\nu\nu'}^{\sigma}(\mathbf{k}) [P_{(a',m_{\alpha}')\nu'}^{\sigma} (\mathbf{k})]^{\dagger}. \]
Its block structure is infered (up to a user-defined threshold), by discovering a permutation of the orbitals \(m_{a}\) which renders \(H_{\mathrm{loc}}^{0}\) block-diagonal. Optionally, we can diagonalize these smaller blocks of the local non-interacting Hamiltonian (to reduce the off-diagonal elements in the impurity model hybridization functions \(\Delta_{mm'}^{\sigma}\)).
The Wannier basis is therefore transformed as:
\[ P^{\sigma}_{m\nu}(\mathbf{k}) \leftarrow (RU)^{\dagger}_{m, m'} P^{\sigma}_{m'\nu}(\mathbf{k}). \]
filename | Hdf5 file from dft_tools converter. |
threshold | Off-diagonal threshold for discovery of symmetries. |
diagonalize_hloc | Diagonalize the local non-interacting hamiltonian. |
Definition at line 253 of file loaders.cpp.
one_body_elements_tb triqs::modest::one_body_elements_from_wannier90 | ( | std::string const & | wannier_file_path, |
spin_kind_e | spin_kind, | ||
std::vector< atomic_orbs > | atomic_shells | ||
) |
#include <triqs_modest/obe_tb.cpp>
Construct a one-body elements TB object from Wannier90 in the case of a single spin index.
wannier_file_path | String to Wannier90 files, including the prefix, as in "path/to/file/seedname" to specify a Wannier files named in the format "seedname_tb.dat". |
spin_kind | Spin kind for this calculation. |
atomic_shells | List of atomic shells input by the user. |
Definition at line 23 of file obe_tb.cpp.
one_body_elements_tb triqs::modest::one_body_elements_from_wannier90 | ( | std::string const & | wannier_file_path_up, |
std::string const & | wannier_file_path_dn, | ||
spin_kind_e | spin_kind, | ||
std::vector< atomic_orbs > | atomic_shells | ||
) |
#include <triqs_modest/obe_tb.cpp>
Construct a one-body elements TB object from Wannier90 in the case with separate spin up/spin down channels.
wannier_file_path_up | String to Wannier90 files, including the prefix, for the up spin channel, as in "path/to/file/seedname" to specify a Wannier files named in the format "seedname_tb.dat". |
wannier_file_path_dn | String to Wannier90 files, including the prefix, for the down spin channel as in "path/to/file/seedname" to specify a Wannier files named in the format "seedname_tb.dat" |
spin_kind | Spin kind for this calculation. |
atomic_shells | List of atomic shells input by the user. |
Definition at line 39 of file obe_tb.cpp.
one_body_elements_on_grid triqs::modest::one_body_elements_on_high_symmetry_path | ( | std::string const & | filename, |
one_body_elements_on_grid const & | obe | ||
) |
#include <triqs_modest/loaders.cpp>
Create a one-body elements along specific k-path.
Using the data from the "dft_bands_input" group, the band disperion and downfolding projector are prepared to create one-body elements. This object is intended to be used for post-processing the momentum-resolved spectral function.
filename | Hdf5 file from the DFTtools converter. |
obe | One-body elements that was ued in the DMFT calculation. |
Definition at line 361 of file loaders.cpp.
one_body_elements_on_grid triqs::modest::one_body_elements_with_theta_projectors | ( | std::string const & | filename, |
one_body_elements_on_grid const & | obe | ||
) |
#include <triqs_modest/loaders.cpp>
Create a one-body elements with the \( \Theta \) projectors.
Using the data from the "dft_parproj_input" group, the local space, downfolding projectors, and optional IBZ symmetry ops are prepared to create a one-body elements. This object is intended to be used for post-processing the atom- and orbitally-resolved k-summed spectral functions.
filename | Hdf5 file from DFTtools converter with "dft_parproj_input" group. |
obe | One-body elements that was used in the DMFT calculation. |
Definition at line 328 of file loaders.cpp.