| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| class(lattice), | optional | :: | in_lat |
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