6subroutine readdvs(iq,is,ia,ip,dvsmt,dvsir)
10integer,
intent(in) :: iq,is,ia,ip
11complex(8),
intent(out) :: dvsmt(npmtmax,natmtot),dvsir(ngtot)
14integer version_(3),nspecies_
15integer lmmaxo_,natoms_
16integer nrmt_,ngridg_(3)
17character(256) fext,fname
19complex(8),
allocatable :: zfmt(:,:,:)
21fname=
'DVS'//trim(fext)
22open(150,file=trim(fname),form=
'UNFORMATTED',action=
'READ',status=
'OLD', &
26 write(*,
'("Error(readdvs): error opening ",A)') trim(fname)
32 .or.(
version(3) /= version_(3)))
then
34 write(*,
'("Warning(readdvs): different versions")')
35 write(*,
'(" current : ",I0,".",I0,".",I0)')
version
36 write(*,
'(" file : ",I0,".",I0,".",I0)') version_
37 write(*,
'(" in file ",A)') trim(fname)
42 write(*,
'("Error(readdvs): differing nspecies")')
43 write(*,
'(" current : ",I4)')
nspecies
44 write(*,
'(" file : ",I4)') nspecies_
45 write(*,
'(" in file ",A)') trim(fname)
52 write(*,
'("Error(readdvs): differing lmmaxo")')
53 write(*,
'(" current : ",I4)')
lmmaxo
54 write(*,
'(" file : ",I4)') lmmaxo_
55 write(*,
'(" in file ",A)') trim(fname)
61 if (
natoms(js) /= natoms_)
then
63 write(*,
'("Error(readdvs): differing natoms for species ",I4)') js
64 write(*,
'(" current : ",I4)')
natoms(js)
65 write(*,
'(" file : ",I4)') natoms_
66 write(*,
'(" in file ",A)') trim(fname)
71 if (
nrmt(js) /= nrmt_)
then
73 write(*,
'("Error(readdvs): differing nrmt for species ",I4)') js
74 write(*,
'(" current : ",I6)')
nrmt(js)
75 write(*,
'(" file : ",I6)') nrmt_
76 write(*,
'(" in file ",A)') trim(fname)
82if ((
ngridg(1) /= ngridg_(1)).or.(
ngridg(2) /= ngridg_(2)).or. &
83 (
ngridg(3) /= ngridg_(3)))
then
85 write(*,
'("Error(readdvs): differing ngridg")')
86 write(*,
'(" current : ",3I6)')
ngridg
87 write(*,
'(" file : ",3I6)') ngridg_
88 write(*,
'(" in file ",A)') trim(fname)
integer, dimension(maxspecies) nrmti
integer, dimension(3) ngridg
integer, dimension(maxspecies) nrmt
integer, dimension(maxspecies) natoms
integer, dimension(maxatoms *maxspecies) idxis
integer, dimension(3), parameter version