solver.umat.in

Introduction

The quantum impurity solvers will generate the Coulomb interaction matrix using the $U$ and $J$ parameters provided by you automatically. But sometimes you may want to customize the Coulomb interaction matrix by yourself.

Is it possible within the iQIST code?

Yes, of course.

You can define your Coulomb interaction matrix in the solver.umat.in file. And the iQIST codes will read data from it if it is available. Then the default Coulomb interaction matrix will be replaced with the new one. That's all.

Warning

The HF-QMC impurity solver (the DAISY component) does not support the solver.umat.in file. The continuous-time quantum Monte Carlo impurity solvers in the general matrix representation, i.e., the BEGONIA, LAVENDER, CAMELLIA, MANJUSHAKA, and PANSY components don't support this file/feature as well.

Format

The format of the solver.umat.in file is as follows:


column 1: orbital index $i$, integer

column 2: orbital index $j$, integer

column 3: Coulomb interaction matrix element $U(i,j)$, double precision


Tip

In the solver.umat.in file, we employed the following orbital sequence: $1\uparrow$, $2\uparrow$, $3\uparrow$, $\cdots$, $1\downarrow$, $2\downarrow$, $3\downarrow$, $\cdots$ Namely, we put the spin up part before the spin down part.

Code

The corresponding Fortran code block for the reading of solver.umat.in file is as follows:

open(mytmp, file='solver.umat.in', form='formatted', status='unknown')
do i=1,norbs
    do j=1,norbs
        read(mytmp,*) k, l, rtmp
        uumat(k,l) = rtmp
    enddo ! over j={1,norbs} loop
enddo ! over i={1,norbs} loop
close(mytmp)

Usually, you have to edit the solver.umat.in file by yourself.