subroutine init_tmat_kspace(in_lat)
! similar to the real-space tmat setup also do this here based on
! the inputted lattice!
class(lattice), optional :: in_lat
character(*), parameter :: this_routine = "init_tmat_kspace"
integer :: i
if (present(in_lat)) then
if (associated(tmat2d)) deallocate(tmat2d)
allocate(tmat2d(nbasis, nbasis))
tmat2d = 0.0_dp
do i = 1, in_lat%get_nsites()
tmat2d(2 * i - 1, 2 * i - 1) = bhub * in_lat%dispersion_rel_orb(i)
tmat2d(2 * i, 2 * i) = bhub * in_lat%dispersion_rel_orb(i)
end do
else
call Stop_All(this_routine, "not yet implemented!")
end if
end subroutine init_tmat_kspace