FIXME : Add documentation
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
integer, | intent(out) | :: | i | |||
integer, | intent(out) | :: | n | |||
integer, | intent(in) | :: | ik | |||
integer, | intent(in) | :: | it |
subroutine kt2ki (i, n, ik, it)
use mp, only: mp_abort
use file_utils, only: error_unit
use kt_grids, only: l_links, r_links
implicit none
integer, intent (in) :: ik, it
integer, intent (out) :: i, n
integer :: nn, ierr
!
! Get size of this supercell
!
nn = 1 + l_links(it, ik) + r_links(it, ik)
!
! Find i = N_class**-1(nn)
!
do i = 1, i_class
if (N_class(i) == nn) exit
end do
!
! Consistency check:
!
if (N_class(i) /= nn) then
ierr = error_unit()
write(ierr,*) 'Error in kt2ki:'
write(ierr,*) 'i = ',i,' ik = ',ik,' it = ',it,&
' N(i) = ',N_class(i),' nn = ',nn
call mp_abort('Error in kt2ki')
end if
!
! Get position in this supercell, counting from the left
!
n = 1 + l_links(it, ik)
end subroutine kt2ki