Find the lower bound (band index) of the outer energy window at the specified k-point
| Type | Intent | Optional | Attributes | Name | ||
|---|---|---|---|---|---|---|
| integer, | intent(in) | :: | num_bands |
Index of the required k-point |
||
| type(dis_manifold_type), | intent(in) | :: | dis_manifold | |||
| integer, | intent(in) | :: | ik |
Index of the required k-point |
||
| integer, | intent(out) | :: | win_min |
Index of the lower band of the outer energy window |
||
| logical, | intent(in) | :: | have_disentangled |
subroutine get_win_min(num_bands, dis_manifold, ik, win_min, have_disentangled) !================================================ ! !! Find the lower bound (band index) of the !! outer energy window at the specified k-point ! !================================================ use w90_types, only: dis_manifold_type, print_output_type implicit none ! Arguments integer, intent(in) :: num_bands, ik !! Index of the required k-point integer, intent(out) :: win_min !! Index of the lower band of the outer energy window type(dis_manifold_type), intent(in) :: dis_manifold logical, intent(in) :: have_disentangled ! local variables integer :: j if (.not. have_disentangled) then win_min = 1 return end if do j = 1, num_bands if (dis_manifold%lwindow(j, ik)) then win_min = j exit end if end do end subroutine get_win_min