Calculates the Berry curvature traced over the occupied states, -2Im[f(k)] [Eq.33 CTVR06, Eq.6 LVTS12] for a list of Fermi energies, and stores it in axial-vector form
Type | Intent | Optional | Attributes | Name | ||
---|---|---|---|---|---|---|
real(kind=dp), | intent(in) | :: | kpt(3) | |||
real(kind=dp), | intent(out), | dimension(:, :, :) | :: | imf_k_list | ||
real(kind=dp), | intent(in), | optional | dimension(:) | :: | occ | |
logical, | intent(in), | optional | dimension(:) | :: | ladpt |
subroutine berry_get_imf_klist(kpt, imf_k_list, occ, ladpt)
!============================================================!
! !
!! Calculates the Berry curvature traced over the occupied
!! states, -2Im[f(k)] [Eq.33 CTVR06, Eq.6 LVTS12] for a list
!! of Fermi energies, and stores it in axial-vector form
! !
!============================================================!
! Arguments
!
real(kind=dp), intent(in) :: kpt(3)
real(kind=dp), intent(out), dimension(:, :, :) :: imf_k_list
real(kind=dp), intent(in), optional, dimension(:) :: occ
logical, intent(in), optional, dimension(:) :: ladpt
if (present(occ)) then
call berry_get_imfgh_klist(kpt, imf_k_list, occ=occ)
else
if (present(ladpt)) then
call berry_get_imfgh_klist(kpt, imf_k_list, ladpt=ladpt)
else
call berry_get_imfgh_klist(kpt, imf_k_list)
endif
endif
end subroutine berry_get_imf_klist