get_win_min Subroutine

private subroutine get_win_min(num_bands, dis_manifold, ik, win_min, have_disentangled)

Uses

  • proc~~get_win_min~~UsesGraph proc~get_win_min get_win_min module~w90_types w90_types proc~get_win_min->module~w90_types module~w90_constants w90_constants module~w90_types->module~w90_constants

Find the lower bound (band index) of the outer energy window at the specified k-point

Arguments

Type IntentOptional 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

Called by

proc~~get_win_min~~CalledByGraph proc~get_win_min get_win_min proc~get_bb_r get_BB_R proc~get_bb_r->proc~get_win_min proc~get_gauge_overlap_matrix get_gauge_overlap_matrix proc~get_bb_r->proc~get_gauge_overlap_matrix proc~get_cc_r get_CC_R proc~get_cc_r->proc~get_win_min proc~get_cc_r->proc~get_gauge_overlap_matrix proc~get_ff_r get_FF_R proc~get_ff_r->proc~get_win_min proc~get_gauge_overlap_matrix->proc~get_win_min proc~get_hh_r get_HH_R proc~get_hh_r->proc~get_win_min proc~get_saa_r get_SAA_R proc~get_saa_r->proc~get_win_min proc~get_sbb_r get_SBB_R proc~get_sbb_r->proc~get_win_min proc~berry_main berry_main proc~berry_main->proc~get_bb_r proc~berry_main->proc~get_cc_r proc~berry_main->proc~get_hh_r proc~berry_main->proc~get_saa_r proc~berry_main->proc~get_sbb_r proc~get_aa_r get_AA_R proc~berry_main->proc~get_aa_r proc~get_sh_r get_SH_R proc~berry_main->proc~get_sh_r proc~get_shc_r get_SHC_R proc~berry_main->proc~get_shc_r proc~get_ss_r get_SS_R proc~berry_main->proc~get_ss_r proc~berry_get_imfgh_klist berry_get_imfgh_klist proc~berry_main->proc~berry_get_imfgh_klist proc~berry_get_kdotp berry_get_kdotp proc~berry_main->proc~berry_get_kdotp proc~berry_get_kubo_k berry_get_kubo_k proc~berry_main->proc~berry_get_kubo_k proc~berry_get_sc_klist berry_get_sc_klist proc~berry_main->proc~berry_get_sc_klist proc~berry_get_shc_klist berry_get_shc_klist proc~berry_main->proc~berry_get_shc_klist proc~berry_get_imf_klist berry_get_imf_klist proc~berry_main->proc~berry_get_imf_klist proc~calctdfanddos calcTDFandDOS proc~calctdfanddos->proc~get_hh_r proc~calctdfanddos->proc~get_ss_r proc~wham_get_eig_deleig wham_get_eig_deleig proc~calctdfanddos->proc~wham_get_eig_deleig proc~dos_main dos_main proc~dos_main->proc~get_hh_r proc~dos_main->proc~get_ss_r proc~dos_main->proc~wham_get_eig_deleig proc~geninterp_main geninterp_main proc~geninterp_main->proc~get_hh_r proc~geninterp_main->proc~wham_get_eig_deleig proc~get_aa_r->proc~get_gauge_overlap_matrix proc~get_sh_r->proc~get_gauge_overlap_matrix proc~get_shc_r->proc~get_gauge_overlap_matrix proc~get_ss_r->proc~get_gauge_overlap_matrix proc~gyrotropic_main gyrotropic_main proc~gyrotropic_main->proc~get_bb_r proc~gyrotropic_main->proc~get_cc_r proc~gyrotropic_main->proc~get_hh_r proc~gyrotropic_main->proc~get_aa_r proc~gyrotropic_main->proc~get_ss_r proc~gyrotropic_get_k_list gyrotropic_get_k_list proc~gyrotropic_main->proc~gyrotropic_get_k_list proc~k_path k_path proc~k_path->proc~get_bb_r proc~k_path->proc~get_cc_r proc~k_path->proc~get_hh_r proc~k_path->proc~get_aa_r proc~k_path->proc~get_shc_r proc~k_path->proc~get_ss_r proc~k_path->proc~berry_get_imfgh_klist proc~k_path->proc~berry_get_shc_klist proc~k_path->proc~berry_get_imf_klist proc~k_slice k_slice proc~k_slice->proc~get_bb_r proc~k_slice->proc~get_cc_r proc~k_slice->proc~get_hh_r proc~k_slice->proc~get_aa_r proc~k_slice->proc~get_shc_r proc~k_slice->proc~get_ss_r proc~k_slice->proc~wham_get_eig_deleig proc~k_slice->proc~berry_get_imfgh_klist proc~k_slice->proc~berry_get_shc_klist proc~k_slice->proc~berry_get_imf_klist proc~spin_get_moment spin_get_moment proc~spin_get_moment->proc~get_hh_r proc~spin_get_moment->proc~get_ss_r proc~wham_get_eig_deleig->proc~get_hh_r proc~wham_get_eig_uu_hh_aa_sc wham_get_eig_UU_HH_AA_sc proc~wham_get_eig_uu_hh_aa_sc->proc~get_hh_r proc~wham_get_eig_uu_hh_aa_sc_tb_conv wham_get_eig_UU_HH_AA_sc_TB_conv proc~wham_get_eig_uu_hh_aa_sc_tb_conv->proc~get_hh_r proc~wham_get_eig_uu_hh_aa_sc_tb_conv->proc~get_aa_r proc~wham_get_eig_uu_hh_jjlist wham_get_eig_UU_HH_JJlist proc~wham_get_eig_uu_hh_jjlist->proc~get_hh_r proc~berry_get_imfgh_klist->proc~wham_get_eig_uu_hh_jjlist proc~berry_get_kdotp->proc~wham_get_eig_deleig proc~berry_get_kdotp->proc~wham_get_eig_uu_hh_aa_sc proc~berry_get_kubo_k->proc~wham_get_eig_deleig proc~berry_get_sc_klist->proc~wham_get_eig_deleig proc~berry_get_sc_klist->proc~wham_get_eig_uu_hh_aa_sc proc~berry_get_sc_klist->proc~wham_get_eig_uu_hh_aa_sc_tb_conv proc~berry_get_shc_klist->proc~wham_get_eig_deleig proc~boltzwann_main boltzwann_main proc~boltzwann_main->proc~calctdfanddos proc~gyrotropic_get_k_list->proc~wham_get_eig_deleig proc~gyrotropic_get_k_list->proc~berry_get_imfgh_klist proc~gyrotropic_get_k_list->proc~berry_get_imf_klist program~postw90 postw90 program~postw90->proc~berry_main program~postw90->proc~dos_main program~postw90->proc~geninterp_main program~postw90->proc~gyrotropic_main program~postw90->proc~k_path program~postw90->proc~k_slice program~postw90->proc~spin_get_moment program~postw90->proc~boltzwann_main proc~berry_get_imf_klist->proc~berry_get_imfgh_klist

Source Code

  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