mirror of
https://github.com/triqs/dft_tools
synced 2024-12-22 04:13:47 +01:00
cleaned Kanamori interactions and double counting, updated doc accordingly
This commit is contained in:
parent
27dd24c490
commit
243c40899e
@ -62,8 +62,8 @@ They denerally should be reset for a given problem. Their meaning is as follows:
|
|||||||
|
|
||||||
* `use_matrix`: If `True`, the interaction matrix is calculated from Slater integrals, which are calculated from `U_interact` and
|
* `use_matrix`: If `True`, the interaction matrix is calculated from Slater integrals, which are calculated from `U_interact` and
|
||||||
`J_hund`. Otherwise, a Kanamori representation is used. Attention: We define the intraorbital interaction as
|
`J_hund`. Otherwise, a Kanamori representation is used. Attention: We define the intraorbital interaction as
|
||||||
`U_interact+2J_hund`, the interorbital interaction for opposite spins as `U_interact`, and interorbital for equal spins as
|
`U_interact`, the interorbital interaction for opposite spins as `U_interact-2*J_hund`, and interorbital for equal spins as
|
||||||
`U_interact-J_hund`!
|
`U_interact-3*J_hund`.
|
||||||
* `T`: A matrix that transforms the interaction matrix from spherical harmonics, to a symmetry adapted basis. Only effective, if
|
* `T`: A matrix that transforms the interaction matrix from spherical harmonics, to a symmetry adapted basis. Only effective, if
|
||||||
`use_matrix=True`.
|
`use_matrix=True`.
|
||||||
* `l`: Orbital quantum number. Again, only effective for Slater parametrisation.
|
* `l`: Orbital quantum number. Again, only effective for Slater parametrisation.
|
||||||
|
@ -16,7 +16,7 @@ First, we load the necessary modules::
|
|||||||
Then we define some parameters::
|
Then we define some parameters::
|
||||||
|
|
||||||
lda_filename='srvo3'
|
lda_filename='srvo3'
|
||||||
U = 2.7
|
U = 4.0
|
||||||
J = 0.65
|
J = 0.65
|
||||||
beta = 40
|
beta = 40
|
||||||
loops = 10 # Number of DMFT sc-loops
|
loops = 10 # Number of DMFT sc-loops
|
||||||
@ -24,7 +24,7 @@ Then we define some parameters::
|
|||||||
Delta_mix = 1.0 # Mixing factor of Delta as input for the AIM
|
Delta_mix = 1.0 # Mixing factor of Delta as input for the AIM
|
||||||
dc_type = 1 # DC type: 0 FLL, 1 Held, 2 AMF
|
dc_type = 1 # DC type: 0 FLL, 1 Held, 2 AMF
|
||||||
use_blocks = True # use bloc structure from LDA input
|
use_blocks = True # use bloc structure from LDA input
|
||||||
use_matrix = False # True: Slater parameters, False: Kanamori parameters U+2J, U, U-J
|
use_matrix = False # True: Slater parameters, False: Kanamori parameters U, U-2J, U-3J
|
||||||
use_spinflip = False # use the full rotational invariant interaction?
|
use_spinflip = False # use the full rotational invariant interaction?
|
||||||
prec_mu = 0.0001
|
prec_mu = 0.0001
|
||||||
qmc_cycles = 20000
|
qmc_cycles = 20000
|
||||||
|
@ -710,10 +710,12 @@ class SumkLDA:
|
|||||||
self.dc_energ[icrsh] -= J_hund / 2.0 * (Ncr[bl]) * (Ncr[bl]-1.0)
|
self.dc_energ[icrsh] -= J_hund / 2.0 * (Ncr[bl]) * (Ncr[bl]-1.0)
|
||||||
mpi.report("DC for shell %(icrsh)i and block %(bl)s = %(Uav)f"%locals())
|
mpi.report("DC for shell %(icrsh)i and block %(bl)s = %(Uav)f"%locals())
|
||||||
elif (use_dc_formula==1):
|
elif (use_dc_formula==1):
|
||||||
self.dc_energ[icrsh] = (U_interact + J_hund * (2.0-(M-1)) / (2*M-1) ) / 2.0 * Ncrtot * (Ncrtot-1.0)
|
self.dc_energ[icrsh] = (U_interact + (M-1)*(U_interact-2.0*J_hund) + (M-1)*(U_interact-3.0*J_hund))/(2*M-1) / 2.0 * Ncrtot * (Ncrtot-1.0)
|
||||||
|
#self.dc_energ[icrsh] = (U_interact + J_hund * (2.0-(M-1)) / (2*M-1) ) / 2.0 * Ncrtot * (Ncrtot-1.0)
|
||||||
for bl in a_list:
|
for bl in a_list:
|
||||||
# Held's formula, with U_interact the interorbital onsite interaction
|
# Held's formula, with U_interact the interorbital onsite interaction
|
||||||
Uav = (U_interact + J_hund * (2.0-(M-1)) / (2*M-1) ) * (Ncrtot-0.5)
|
Uav =(U_interact + (M-1)*(U_interact-2.0*J_hund) + (M-1)*(U_interact-3.0*J_hund))/(2*M-1) * (Ncrtot-0.5)
|
||||||
|
#Uav = (U_interact + J_hund * (2.0-(M-1)) / (2*M-1) ) * (Ncrtot-0.5)
|
||||||
self.dc_imp[icrsh][bl] *= Uav
|
self.dc_imp[icrsh][bl] *= Uav
|
||||||
mpi.report("DC for shell %(icrsh)i and block %(bl)s = %(Uav)f"%locals())
|
mpi.report("DC for shell %(icrsh)i and block %(bl)s = %(Uav)f"%locals())
|
||||||
elif (use_dc_formula==2):
|
elif (use_dc_formula==2):
|
||||||
|
@ -37,7 +37,7 @@ useMatrix = False # True: Slater parameters, False: Kanamori para
|
|||||||
use_spinflip = False # use the full rotational invariant interaction?
|
use_spinflip = False # use the full rotational invariant interaction?
|
||||||
#=====================================================
|
#=====================================================
|
||||||
|
|
||||||
U=U-2*J
|
#U=U-2*J
|
||||||
|
|
||||||
HDFfilename = LDAFilename+'.h5'
|
HDFfilename = LDAFilename+'.h5'
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user