The Elk Code
 
Loading...
Searching...
No Matches
getephmkq.f90
Go to the documentation of this file.
1
2! Copyright (C) 2020 J. K. Dewhurst, S. Sharma and E. K. U. Gross.
3! This file is distributed under the terms of the GNU General Public License.
4! See the file COPYING for license details.
5
6subroutine getephmkq(iqp,ikp,ephmat)
7use modmain
8use modphonon
9implicit none
10! arguments
11integer, intent(in) :: iqp,ikp
12complex(4), intent(out) :: ephmat(nstsv,nstsv,nbph)
13! local variables
14integer isym,lspl,iq,ik,iv(3)
15if (iqp <= nqpt) then
16! q-point is in the reduced set
17 iq=iqp
18 ik=ikp
19else
20! q-point is not in the reduced set
21 call findqpt(vql(:,iqp),isym,iq)
22 lspl=lsplsymc(isym)
23 call i3mtv(symlat(:,:,lspl),ivk(:,ikp),iv)
24 iv(:)=modulo(iv(:),ngridk(:))
25 ik=ivkiknr(iv(1),iv(2),iv(3))
26end if
27ephmat(:,:,:)=ephmkq(:,:,:,ik,iq)
28end subroutine
29
subroutine findqpt(vpl, isym, iq)
Definition findqpt.f90:7
subroutine getephmkq(iqp, ikp, ephmat)
Definition getephmkq.f90:7
pure subroutine i3mtv(a, x, y)
Definition i3mtv.f90:10
integer, dimension(:,:), allocatable ivk
Definition modmain.f90:465
integer nqpt
Definition modmain.f90:525
real(8), dimension(:,:), allocatable vql
Definition modmain.f90:545
integer, dimension(3) ngridk
Definition modmain.f90:448
integer, dimension(:,:,:), allocatable ivkiknr
Definition modmain.f90:469
integer, dimension(3, 3, 48) symlat
Definition modmain.f90:344
integer, dimension(maxsymcrys) lsplsymc
Definition modmain.f90:364
complex(4), dimension(:,:,:,:,:), allocatable ephmkq