get_umat_kspace Function

public pure function get_umat_kspace(i, j, k, l) result(hel)

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: i
integer, intent(in) :: j
integer, intent(in) :: k
integer, intent(in) :: l

Return Value real(kind=dp)


Contents

Source Code


Source Code

    pure function get_umat_kspace(i, j, k, l) result(hel)
        ! simplify this get_umat function for the k-space hubbard..
        ! since there was a lot of unnecessary stuff going on in the other
        ! essentially we only have to check if the momenta involved
        ! fullfil k_k + k_l = k_i + k_j
        integer, intent(in) :: i, j, k, l
        HElement_t(dp) :: hel

        ! or just use the symtable information?
        ! do i have to access this with the symmetry label or the orbital
        ! number?? i think i need the symmetry labels..
        ! i could set this on the site level!
        if (SymTable(lat%get_sym(i), lat%get_sym(j))%S == &
            SymTable(lat%get_sym(k), lat%get_sym(l))%S) then
            hel = Umat(1)
        else
            hel = 0.0_dp
        end if
    end function get_umat_kspace