interaction parameter¶
Model Hamiltonian is defined as
where
The interaction matrix \(U^{i}_{\alpha \beta \gamma \delta}\) is specified by the parameter interaction.
interaction = kanamori¶
In this case, the Kanamori-type interaction is used, i.e.
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
\(F_0, F_2, F_4, F_6\).
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 \((F_0, F_2, F_4) = (2, 1, 0.5)\) and the other has p-orbital with \((F_0, F_2) = (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 \(F_0, F_2, F_4, F_6\).
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 \(F_0, F_2, F_4, F_6\) are evaluated from parameters \(U\) and \(J\). The explicit formulas are given as follows:
\(l = 1\)
\(l=2\)
\(l=3\)
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}_{\alpha \beta \gamma \delta}\) 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}_{\alpha \beta \gamma \delta}\) for shell \(i\) is save by
numpy.savecommand.text file: \(U^{i}_{\alpha \beta \gamma \delta}\) for each shell \(i\) is written in a one dimansional manner as follows (example for
norb=3without 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}_{\alpha \beta \gamma \delta}\) 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}_{\alpha \beta \gamma \delta}\) is defined by
In this case, the indices \(\alpha, \beta, \gamma, \delta\) 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
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.