The Elk Code
getevecwxy.f90
Go to the documentation of this file.
1
2
! Copyright (C) 2020 Chung-Yu Wang, J. K. Dewhurst, S. Sharma and
3
! E. K. U. Gross. This file is distributed under the terms of the GNU General
4
! Public License. See the file COPYING for license details.
5
6
subroutine
getevecwxy
(iq,w,x,y)
7
use
modmain
8
use
modphonon
9
implicit none
10
! arguments
11
integer
,
intent(in)
:: iq
12
complex(8)
,
intent(out)
:: w(nbph,nbph),x(nbph,nbph),y(nbph)
13
! local variables
14
integer
recl,nbph_
15
real(8)
vql_(3),t1
16
! find the record length
17
inquire
(iolength=recl) vql_,nbph_,w,x,y
18
!$OMP CRITICAL(u332)
19
open
(332,file=
'EVECWXY.OUT'
,form=
'UNFORMATTED'
,access=
'DIRECT'
,recl=recl)
20
read
(332,rec=iq) vql_,nbph_,w,x,y
21
close
(332)
22
!$OMP END CRITICAL(u332)
23
t1=abs(
vql
(1,iq)-vql_(1))+abs(
vql
(2,iq)-vql_(2))+abs(
vql
(3,iq)-vql_(3))
24
if
(t1 >
epslat
)
then
25
write
(*,*)
26
write
(*,
'("Error(getevecwxy): differing vectors for q-point ",I8)'
) iq
27
write
(*,
'(" current : ",3G18.10)'
)
vql
(:,iq)
28
write
(*,
'(" EVECWXY.OUT : ",3G18.10)'
) vql_
29
write
(*,*)
30
stop
31
end if
32
if
(nbph /= nbph_)
then
33
write
(*,*)
34
write
(*,
'("Error(getevecwxy): differing nbph for q-point ",I8)'
) iq
35
write
(*,
'(" current : ",I8)'
) nbph
36
write
(*,
'(" EVECWXY.OUT : ",I8)'
) nbph_
37
write
(*,*)
38
stop
39
end if
40
end subroutine
41
getevecwxy
subroutine getevecwxy(iq, w, x, y)
Definition:
getevecwxy.f90:7
modmain
Definition:
modmain.f90:6
modphonon
Definition:
modphonon.f90:6
modmain::vql
real(8), dimension(:,:), allocatable vql
Definition:
modmain.f90:545
modmain::epslat
real(8) epslat
Definition:
modmain.f90:24
getevecwxy.f90
Generated by
1.8.14