postprocessing.eval_U_cRPA_Vasp
- postprocessing.eval_U_cRPA_Vasp.calc_kan_params(uijkl, n_sites, n_orb, out=False)[source]
- calculates the kanamori interaction parameters from a given Uijkl matrix. Follows the procedure given in PHYSICAL REVIEW B 86, 165105 (2012) Vaugier,Biermann formula 30,31,32 - Parameters:
- uijklnumpy array
- 4d numpy array of Coulomb tensor 
- n_sites: int
- number of different atoms (Wannier centers) 
- n_orbint
- number of orbitals per atom 
- outbool
- verbose mode 
 
- Returns:
- int_paramsdirect
- kanamori parameters 
 
 
- postprocessing.eval_U_cRPA_Vasp.calc_u_avg_fulld(uijkl, n_sites, n_orb, out=False)[source]
- calculates the coulomb integrals from a given Uijkl matrix for full d shells. Follows the procedure given in Pavarini - 2014 - arXiv - 1411 6906 - julich school U matrix page 8 or as done in PHYSICAL REVIEW B 86, 165105 (2012) Vaugier,Biermann formula 23, 25 works atm only for full d shell (l=2) - Returns F0=U, and J=(F2+F4)/14 - Parameters:
- uijklnumpy array
- 4d numpy array of Coulomb tensor 
- n_sites: int
- number of different atoms (Wannier centers) 
- n_orbint
- number of orbitals per atom 
- outbool
- verbose mode 
 
- Returns:
- int_paramsdirect
- Slater parameters 
 
 
- postprocessing.eval_U_cRPA_Vasp.calculate_interaction_from_averaging(uijkl, n_sites, n_orb, out=False)[source]
- calculates U,J by averaging directly the Uijkl matrix ignoring if tensor is given in spherical or cubic basis. The assumption here is that the averaging gives indepentendly of the choosen basis (cubic or spherical harmonics) the same results if Uijkl is a true Slater matrix. - Returns F0=U, and J=(F2+F4)/14 - Parameters:
- uijklnumpy array
- 4d numpy array of Coulomb tensor 
- n_sites: int
- number of different atoms (Wannier centers) 
- n_orbint
- number of orbitals per atom 
- outbool
- verbose mode 
 
- Returns:
- U, J: tuple
- Slater parameters 
 
 
- postprocessing.eval_U_cRPA_Vasp.construct_U_kan(n_orb, U, J, Up=None, Jc=None)[source]
- construct Kanamori Uijkl tensor for given U, J, Up, and Jc - Parameters:
- n_orbint
- number of orbitals 
- Ufloat
- U value for elements Uiiii 
- Jfloat
- Hunds coupling J for tensor elements Uijji 
- Upfloat, optional, default=U-2J
- inter orbital exchange term Uijij 
- Jcfloat, optional, default=J
- Uiijj term, is the same as J for real valued wave functions 
 
- Returns:
- uijklnumpy array
- uijkl Coulomb tensor 
 
 
- postprocessing.eval_U_cRPA_Vasp.fit_kanamori(uijkl, n_orb, switch_jk=False, fit_2=True, fit_3=False, fit_4=True)[source]
- Fit Kanamori Hamiltonian with scipy to 2,3, and / or 4 parameters - Parameters:
- uijkl: np.array (n_orb x n_orb x n_orb x n_orb)
- input four index tensor 
- n_orb: int
- number of orbitals 
- switch_jk: bool, default=False
- flip two inner indices in input U tensor (for Vasp) 
- fit_2: bool, default=True
- fit two parameter form 
- fit_3: bool, default=False
- fit three parameter form (U,Up,J=Jc) 
- fit_4: bool, default=True
- fit four parameter form 
 
- Returns:
- Uijkl_fit: np.array (n_orb x n_orb x n_orb x n_orb)
- fitted Uijkl tensor 
 
 
- postprocessing.eval_U_cRPA_Vasp.fit_slater_fulld(uijkl, n_sites, U_init, J_init, fixed_F4_F2=True)[source]
- finds best Slater parameters U, J for given Uijkl tensor using the triqs U_matrix operator routine assumes F4/F2=0.625 
- postprocessing.eval_U_cRPA_Vasp.read_uijkl(path_to_uijkl, n_sites, n_orb)[source]
- reads the VASP UIJKL files or the vijkl file if wanted - Parameters:
- path_to_uijklstring
- path to Uijkl like file 
- n_sites: int
- number of different atoms (Wannier centers) 
- n_orbint
- number of orbitals per atom 
 
- Returns:
- uijklnumpy array
- uijkl Coulomb tensor 
 
 
- postprocessing.eval_U_cRPA_Vasp.red_to_2ind(uijkl, n_sites, n_orb, out=False)[source]
- reduces the 4index coulomb matrix to a 2index matrix and follows the procedure given in PRB96 seth,peil,georges: U_antipar = U_mm’^oo’ = U_mm’mm’ (Coulomb Int) U_par = U_mm’^oo = U_mm’mm’ - U_mm’m’m (for intersite interaction) U_ijij (Hunds coupling) the indices in VASP are switched: U_ijkl —VASP–> U_ikjl - Parameters:
- uijklnumpy array
- 4d numpy array of Coulomb tensor 
- n_sites: int
- number of different atoms (Wannier centers) 
- n_orbint
- number of orbitals per atom 
- outbool
- verbose mode 
 
- Returns:
- Uij_antinumpy array
- red 2 index matrix U_mm’mm’ 
- Uiijjnumpy array
- red 2 index matrix U_iijj 
- Uijjinumpy array
- red 2 index matrix Uijji 
- Uij_parnumpy array
- red 2 index matrix U_mm’mm’ - U_mm’m’m