dmft_tools.interaction_hamiltonian
Contains all functions related to constructing the interaction Hamiltonian.
- dmft_tools.interaction_hamiltonian.construct(sum_k, general_params, solver_type_per_imp, gw_params=None)[source]
Constructs the interaction Hamiltonian. Currently implemented are the Kanamori Hamiltonian (usually for 2 or 3 orbitals), the density-density and the full Slater Hamiltonian (for 2, 3, or 5 orbitals). If sum_k.rot_mat is non-identity, we have to consider rotating the interaction Hamiltonian: the Kanamori Hamiltonian does not change because it is invariant under orbital mixing but all the other Hamiltonians are at most invariant under rotations in space. Therefore, sum_k.rot_mat has to be correct before calling this method.
The parameters U and J will be interpreted differently depending on the type of the interaction Hamiltonian: it is either the Kanamori parameters for the Kanamori Hamiltonian or the orbital-averaged parameters (consistent with DFT+U, https://cms.mpi.univie.ac.at/wiki/index.php/LDAUTYPE ) for all other Hamiltonians.
Note also that for all Hamiltonians except Kanamori, the order of the orbitals matters. The correct order is specified here: triqs.github.io/triqs/unstable/documentation/python_api/triqs.operators.util.U_matrix.spherical_to_cubic.html
- dmft_tools.interaction_hamiltonian.h_int_simple_intra(spin_names, n_orb, U, off_diag=None, map_operator_structure=None, H_dump=None)[source]
Create a simple intra orbital density-density Hamiltonian. (no inter orbital terms)
\[H = \frac{1}{2} \sum_{i \sigma \neq \sigma')} U_{i i}^{\sigma \sigma'} n_{i \sigma} n_{i \sigma'}.\]- Parameters:
- spin_nameslist of strings
Names of the spins, e.g. [‘up’,’down’].
- n_orbint
Number of orbitals.
- Ufloat
U value
- off_diagboolean
Do we have (orbital) off-diagonal elements? If yes, the operators and blocks are denoted by (‘spin’, ‘orbital’), otherwise by (‘spin_orbital’,0).
- map_operator_structuredict
Mapping of names of GF blocks names from one convention to another, e.g. {(‘up’, 0): (‘up_0’, 0), (‘down’, 0): (‘down_0’,0)}. If provided, the operators and blocks are denoted by the mapping of
('spin', 'orbital')
.- H_dumpstring
Name of the file to which the Hamiltonian should be written.
- Returns:
- HOperator
The Hamiltonian.