TRIQS/triqs_modest 3.3.0
Brillouin zone summation
|
Functions and utilities to construct interaction Hamiltonians using TRIQS many-body operators.
Hamiltonians | |
Functions to create the impurity interaction using many-body operators. | |
operators::many_body_operator | triqs::make_density_density (std::vector< std::string > const &tau_names, std::vector< long > const &dim_gamma, double U_int, double U_prime, double J_hund) |
Construct a density-density interation. | |
operators::many_body_operator | triqs::make_kanamori (std::vector< std::string > const &tau_names, std::vector< long > const &dim_gamma, double U_int, double U_prime, double J_hund, bool spin_flip=true, bool pair_hopping=true) |
Construct a Hubbard-Kanamori Hamiltonian. | |
operators::many_body_operator | triqs::make_slater (std::vector< std::string > const &tau_names, std::vector< long > const &dim_gamma, double U_int, double J_hund, nda::matrix< dcomplex > const &spherical_to_dft, std::optional< nda::matrix< dcomplex > > const &dft_to_local) |
Construct a new operators::many body operator make slater object. | |
Coulomb tensor utilities | |
Utility functions for creating and working with the four index Coulomb tensor. | |
nda::array< double, 4 > | triqs::U_matrix_in_spherical_basis (long l, double U_int, double J_hund) |
Construct a four-index Coulomb tensor in the basis of spherical harmonics. | |
nda::array< dcomplex, 4 > | triqs::U_matrix_in_local_basis (long l, nda::matrix< dcomplex > s2l, double U_int, double J_hund) |
Construct a four-index Coulomb tensor in a specific orbital basis. | |
operators::many_body_operator triqs::make_density_density | ( | std::vector< std::string > const & | tau_names, |
std::vector< long > const & | dim_gamma, | ||
double | U_int, | ||
double | U_prime, | ||
double | J_hund | ||
) |
#include <triqs_modest/hamiltonians.cpp>
Construct a density-density interation.
Create a density-density Hamiltonian $$ H_{\mathrm{int}} = \frac{1}{2} \sum_{(i\sigma)\neq(j\sigma^{\prime})} U_{ij}^{\sigma\sigma^{\prime}}n_{i\sigma}n_{j\sigma^{\prime}}.$$
tau_names | names of tau indices ['up', 'down'] |
dim_gamma | dimension of the blocks γ |
U_int | Hubbard U |
U_prime | U' (typically U' = U - 2J) |
J_hund | Kanamori J |
Definition at line 107 of file hamiltonians.cpp.
operators::many_body_operator triqs::make_kanamori | ( | std::vector< std::string > const & | tau_names, |
std::vector< long > const & | dim_gamma, | ||
double | U_int, | ||
double | U_prime, | ||
double | J_hund, | ||
bool | spin_flip = true , |
||
bool | pair_hopping = true |
||
) |
#include <triqs_modest/hamiltonians.cpp>
Construct a Hubbard-Kanamori Hamiltonian.
Create a Hubbard-Kanamori Hamiltonian using the density-density, spin-flip, and pair-hopping interactions, $$ H_{\mathrm{int}} = \frac{1}{2} \sum_{(i\sigma)\neq(j\sigma^{\prime})} U_{ij}^{\sigma\sigma^{\prime}}n_{i\sigma}n_{j\sigma^{\prime}} - \sum_{i\neq j}Jc_{i\uparrow}^{\dagger}c_{i\downarrow}c_{j\downarrow}^{\dagger}c_{j\uparrow} + \sum_{i\neq j} J c_{i\uparrow}^{\dagger}c_{i\downarrow}^{\dagger}c_{j\downarrow}c_{j\uparrow}.$$
tau_names | names of tau indices ['up', 'down'] |
dim_gamma | dimension of the blocks γ |
U_int | Hubbard U |
U_prime | U' typical U' = U - 2J |
J_hund | Kanamori J |
spin_flip | spin flip term |
pair_hopping | pair hopping term |
Definition at line 113 of file hamiltonians.cpp.
operators::many_body_operator triqs::make_slater | ( | std::vector< std::string > const & | tau_names, |
std::vector< long > const & | dim_gamma, | ||
double | U_int, | ||
double | J_hund, | ||
nda::matrix< dcomplex > const & | spherical_to_dft, | ||
std::optional< nda::matrix< dcomplex > > const & | dft_to_local | ||
) |
#include <triqs_modest/hamiltonians.cpp>
Construct a new operators::many body operator make slater object.
Create a Slater Hamiltonian using fully rotationally-invariant four-index interactions: $$H_{\mathrm{int}} = \frac{1}{2} \sum_{ijkl, \sigma\sigma^{\prime}} U_{ijkl}c^{\dagger}_{i\sigma}c^{\dagger}_{j\sigma^{\prime}}c_{l\sigma^{\prime}}c_{k\sigma}.$$
tau_names | names of the tau indices ['up', 'down'] |
dim_gamma | dimension of the blocks γ |
U_int | Hubbard U |
J_hund | Hund's J |
spherical_to_dft | rotation matrices from spherical Ylm basis to DFT orbital basis |
dft_to_local | rotation matrices from DFT basis to the local impurity basis |
Definition at line 194 of file hamiltonians.cpp.
nda::array< dcomplex, 4 > triqs::U_matrix_in_local_basis | ( | long | l, |
nda::matrix< dcomplex > | s2l, | ||
double | U_int, | ||
double | J_hund | ||
) |
#include <triqs_modest/hamiltonians.cpp>
Construct a four-index Coulomb tensor in a specific orbital basis.
l | angular quantum number |
s2l | spherical to local basis rotation |
U_int | screened Hubbard interaction |
J_hund | Hund's coupling |
Definition at line 171 of file hamiltonians.cpp.
nda::array< double, 4 > triqs::U_matrix_in_spherical_basis | ( | long | l, |
double | U_int, | ||
double | J_hund | ||
) |
#include <triqs_modest/hamiltonians.cpp>
Construct a four-index Coulomb tensor in the basis of spherical harmonics.
We typically construct the four-index Coulomb tensor in the basis of spherical harmonics, $$ U_{m_{1}m_{2}m_{3}m_{4}}^{\mathrm{spherical}} = \sum_{k=0}^{2l} F_{k} \alpha (l, k, m_{1}, m_{2}, m_{3}, m_{4}),$$ where $F_{k}$ are radial Slater integrals and \(\alpha(l, k, m_{1}, m_{2}, m_{3}, m_{4})\) denote angular Racah-Wigner numbers for a spherically symmetric interaction tensor.
l | angular quantum number |
U_int | screend Hubbard interaction |
J_hund | Hund's coupling |
Definition at line 158 of file hamiltonians.cpp.