The Elk Code
 
Loading...
Searching...
No Matches
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
6subroutine getevecwxy(iq,w,x,y)
7use modmain
8use modphonon
9implicit none
10! arguments
11integer, intent(in) :: iq
12complex(8), intent(out) :: w(nbph,nbph),x(nbph,nbph),y(nbph)
13! local variables
14integer recl,nbph_
15real(8) vql_(3),t1
16! find the record length
17inquire(iolength=recl) vql_,nbph_,w,x,y
18!$OMP CRITICAL(u332)
19open(332,file='EVECWXY.OUT',form='UNFORMATTED',access='DIRECT',recl=recl)
20read(332,rec=iq) vql_,nbph_,w,x,y
21close(332)
22!$OMP END CRITICAL(u332)
23t1=abs(vql(1,iq)-vql_(1))+abs(vql(2,iq)-vql_(2))+abs(vql(3,iq)-vql_(3))
24if (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
31end if
32if (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
39end if
40end subroutine
41
subroutine getevecwxy(iq, w, x, y)
Definition getevecwxy.f90:7
real(8) epslat
Definition modmain.f90:24
real(8), dimension(:,:), allocatable vql
Definition modmain.f90:545