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
6
subroutine
getephmkq
(iqp,ikp,ephmat)
7
use
modmain
8
use
modphonon
9
implicit none
10
! arguments
11
integer
,
intent(in)
:: iqp,ikp
12
complex(4)
,
intent(out)
:: ephmat(nstsv,nstsv,nbph)
13
! local variables
14
integer
isym,lspl,iq,ik,iv(3)
15
if
(iqp <=
nqpt
)
then
16
! q-point is in the reduced set
17
iq=iqp
18
ik=ikp
19
else
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))
26
end if
27
ephmat(:,:,:)=
ephmkq
(:,:,:,ik,iq)
28
end subroutine
29
findqpt
subroutine findqpt(vpl, isym, iq)
Definition
findqpt.f90:7
getephmkq
subroutine getephmkq(iqp, ikp, ephmat)
Definition
getephmkq.f90:7
i3mtv
pure subroutine i3mtv(a, x, y)
Definition
i3mtv.f90:10
modmain
Definition
modmain.f90:6
modmain::ivk
integer, dimension(:,:), allocatable ivk
Definition
modmain.f90:465
modmain::nqpt
integer nqpt
Definition
modmain.f90:525
modmain::vql
real(8), dimension(:,:), allocatable vql
Definition
modmain.f90:545
modmain::ngridk
integer, dimension(3) ngridk
Definition
modmain.f90:448
modmain::ivkiknr
integer, dimension(:,:,:), allocatable ivkiknr
Definition
modmain.f90:469
modmain::symlat
integer, dimension(3, 3, 48) symlat
Definition
modmain.f90:344
modmain::lsplsymc
integer, dimension(maxsymcrys) lsplsymc
Definition
modmain.f90:364
modphonon
Definition
modphonon.f90:6
modphonon::ephmkq
complex(4), dimension(:,:,:,:,:), allocatable ephmkq
Definition
modphonon.f90:155
getephmkq.f90
Generated by
1.9.8