interaction parameter

Model Hamiltonian is defined as

H^=ijαβNbandσ=↑,tiαjβciασcjβσ+h.c.+H^int,

where

(1)H^int=12i,αβγδ,σσUαβγδiciασciβσciδσciγσ.

The interaction matrix Uαβγδi is specified by the parameter interaction.

interaction = kanamori

In this case, the Kanamori-type interaction is used, i.e.

Uαααα=U,Uαβαβ=U(αβ),Uαββα=J(αβ),Uααββ=J(αβ),

where U,U,J at each correlated shell are specified by the parameter kanamori as

interaction = kanamori
kanamori = [(U_1, U'_1, J_1), (U_2, U'_2, J_2), ... ]

For example, if there are two correlated shells that have (U,U,J)=(4,2,1) and (U,U,J)=(6,3,1.5), respectively, you need to set the input parameters as

interaction = kanamori
kanamori = [(4.0, 2.0, 1.0), (6.0, 3.0, 1.5)]

interaction = slater_f

In this case, the fully rotationally invariant Slater interaction is used. The interaction matrix is constructed by the effective Slater integrals F0,F2,F4,F6. These Slater integrals and the angular momentum at each correlated shell are specified by the parameter slater_f as follows

interaction = slater_f
slater_f = [(angular_momentum, F_0, F_2, F_4, F_6), ... ]

For example, if there are two correlated shells, one has d-orbital with (F0,F2,F4)=(2,1,0.5) and the other has p-orbital with (F0,F2)=(3,1.5), you need to set the input parameter as

interaction = slater_f
slater_f = [(2, 2.0, 1.0, 0.5, 0.0), (1, 3.0, 1.5 0.0, 0.0)]

Note

You must specify all of F0,F2,F4,F6.

The basis can be specified by slater_basis parameter. See slater_basis parameter for details.

interaction = slater_uj

The Slater interaction is used as in the case with interaction = slater_f, but a conventional intuitive parameterization is implemented. The effective Slater integrals F0,F2,F4,F6 are evaluated from parameters U and J. The explicit formulas are given as follows:

  • l=1

F0=U,F2=5J
  • l=2

F0=U,F2=14J1.0+0.63,F4=0.63F2
  • l=3

F0=U,F2=6435J286+195×451/675+250×1001/2025,F4=451F2675,F6=1001F22025

The U, J and the angular momentum at each correlated shell are specified by the parameter slater_uj as

interaction = slater_uj
slater_uj = [(angular_momentum1, U1, J1), (angular_momentum2, U2, J2), ... ]

The basis can be specified by slater_basis parameter. See slater_basis parameter for details.

interaction = respack

Use the output by RESPACK. Under construction.

interaction = file

One can set the U tensor Uαβγδi from an external file. The input parameters for this are

interaction = file
interaction_file = ['file1.npy', 'file2.npy',]

The filenames for all inequivalent shells are listed in interaction_file parameter. The suppored formats are

  • NumPy .npy format (binary file): Four dimensional NumPy array corresponding to Uαβγδi for shell i is save by numpy.save command.

  • text file: Uαβγδi for each shell i is written in a one dimansional manner as follows (example for norb=3 without spin-orbit coupling)

    Re(U[0,0,0,0])
    Re(U[0,0,0,1])
    Re(U[0,0,0,2])
    Re(U[0,0,1,0])
    ...
    

    or

    Re(U[0,0,0,0]) Im(U[0,0,0,0])
    Re(U[0,0,0,1]) Im(U[0,0,0,1])
    Re(U[0,0,0,2]) Im(U[0,0,0,2])
    Re(U[0,0,1,0]) Im(U[0,0,1,0])
    ...
    

    No blank line should be put between consecutive elements. Lines beginning with # are skipped.

The definition of the U tensor depends on the spin_orbit parameter. For spin_orbit=False, Uαβγδi is defined by Eq. (1). The shape of the U tensor is (norb, norb, norb, norb).

For spin_orbit=True, on the other hand, Uαβγδi is defined by

H^int=12i,αβγδUαβγδiciαciβciδciγ.

In this case, the indices α,β,γ,δ include spin. The shape of the U tensor is therefore (2*norb, 2*norb, 2*norb, 2*norb).

density_density option

If you want to treat only the density-density part

H^int=12i,α,σσUααααiciασciβσciβσciασ+12i,αβ,σσUαβαβiciασciβσciβσciασ+12i,αβ,σUαββαiciασciβσciασciβσ,

you specify the parameter density_density as

density_density = True

Note

It can not be used in conjunction to the Hubbard-I solver or the double-counting correction.