15 open(50,file=trim(
sppath)//trim(
spfname(is)),status=
'OLD',form=
'FORMATTED', &
16 action=
'READ',iostat=ios)
19 write(*,
'("Error(readspecies): error opening species file ",A)') &
29 if (
rminsp(is) <= 0.d0)
then
31 write(*,
'("Error(readspecies): rminsp <= 0 : ",G18.10)')
rminsp(is)
32 write(*,
'(" for species ",I4)') is
38 write(*,
'("Error(readspecies): rmt <= rminsp : ",2G18.10)')
rmt(is), &
40 write(*,
'(" for species ",I4)') is
46 write(*,
'("Error(readspecies): rmaxsp < rmt : ",2G18.10)')
rmaxsp(is), &
51 if (
nrmt(is) < 20)
then
53 write(*,
'("Error(readspecies): nrmt too small : ",I8)')
nrmt(is)
54 write(*,
'(" for species ",I4)') is
65 write(*,
'("Error(readspecies): nstsp out of range : ",I8)')
nstsp(is)
66 write(*,
'(" for species ",I4)') is
71 read(50,*)
nsp(ist,is),
lsp(ist,is),
ksp(ist,is),
occsp(ist,is),
spcore(ist,is)
72 if (
nsp(ist,is) < 1)
then
74 write(*,
'("Error(readspecies): nsp < 1 : ",I8)')
nsp(ist,is)
75 write(*,
'(" for species ",I4)') is
76 write(*,
'(" and state ",I4)') ist
80 if (
lsp(ist,is) < 0)
then
82 write(*,
'("Error(readspecies): lsp < 0 : ",I8)')
lsp(ist,is)
83 write(*,
'(" for species ",I4)') is
84 write(*,
'(" and state ",I4)') ist
88 if (
ksp(ist,is) < 1)
then
90 write(*,
'("Error(readspecies): ksp < 1 : ",I8)')
ksp(ist,is)
91 write(*,
'(" for species ",I4)') is
92 write(*,
'(" and state ",I4)') ist
96 if (
occsp(ist,is) < 0.d0)
then
98 write(*,
'("Error(readspecies): occsp < 0 : ",G18.10)')
occsp(ist,is)
99 write(*,
'(" for species ",I4)') is
100 write(*,
'(" and state ",I4)') ist
106 if (
apword(0,is) < 1)
then
108 write(*,
'("Error(readspecies): apword < 1 : ",I8)')
apword(0,is)
109 write(*,
'(" for species ",I4)') is
115 write(*,
'("Error(readspecies): apword too large : ",I8)')
apword(0,is)
116 write(*,
'(" for species ",I4)') is
117 write(*,
'("Adjust maxapword in modmain and recompile code")')
125 if (
apwdm(io,0,is) < 0)
then
127 write(*,
'("Error(readspecies): apwdm < 0 : ",I8)')
apwdm(io,0,is)
128 write(*,
'(" for species ",I4)') is
129 write(*,
'(" and order ",I4)') io
142 write(*,
'("Error(readspecies): nlx < 0 : ",I8)') nlx
143 write(*,
'(" for species ",I4)') is
151 write(*,
'("Error(readspecies): lx < 0 : ",I8)') lx
152 write(*,
'(" for species ",I4)') is
153 write(*,
'(" and exception number ",I4)') ilx
159 write(*,
'("Error(readspecies): lx > lmaxapw : ",I8)') lx
160 write(*,
'(" for species ",I4)') is
161 write(*,
'(" and exception number ",I4)') ilx
166 if (
apword(lx,is) < 1)
then
168 write(*,
'("Error(readspecies): apword < 1 : ",I8)')
apword(lx,is)
169 write(*,
'(" for species ",I4)') is
170 write(*,
'(" and exception number ",I4)') ilx
176 write(*,
'("Error(readspecies): apword too large : ",I8)')
apword(lx,is)
177 write(*,
'(" for species ",I4)') is
178 write(*,
'(" and exception number ",I4)') ilx
179 write(*,
'("Adjust maxapword in modmain and recompile code")')
185 if (
apwdm(io,lx,is) < 0)
then
187 write(*,
'("Error(readspecies): apwdm < 0 : ",I8)')
apwdm(io,lx,is)
188 write(*,
'(" for species ",I4)') is
189 write(*,
'(" exception number ",I4)') ilx
190 write(*,
'(" and order ",I4)') io
214 if (
nlorb(is) < 0)
then
216 write(*,
'("Error(readspecies): nlorb < 0 : ",I8)')
nlorb(is)
217 write(*,
'(" for species ",I4)') is
223 write(*,
'("Error(readspecies): nlorb too large : ",I8)')
nlorb(is)
224 write(*,
'(" for species ",I4)') is
225 write(*,
'("Adjust maxlorb in modmain and recompile code")')
231 if (
lorbl(ilo,is) < 0)
then
233 write(*,
'("Error(readspecies): lorbl < 0 : ",I8)')
lorbl(ilo,is)
234 write(*,
'(" for species ",I4)') is
235 write(*,
'(" and local-orbital ",I4)') ilo
241 write(*,
'("Error(readspecies): lorbl > lmaxo : ",2I8)')
lorbl(ilo,is), &
243 write(*,
'(" for species ",I4)') is
244 write(*,
'(" and local-orbital ",I4)') ilo
250 write(*,
'("Error(readspecies): lorbord < 2 : ",I8)')
lorbord(ilo,is)
251 write(*,
'(" for species ",I4)') is
252 write(*,
'(" and local-orbital ",I4)') ilo
258 write(*,
'("Error(readspecies): lorbord too large : ",I8)')
lorbord(ilo,is)
259 write(*,
'(" for species ",I4)') is
260 write(*,
'(" and local-orbital ",I4)') ilo
261 write(*,
'("Adjust maxlorbord in modmain and recompile code")')
267 if (
lorbdm(io,ilo,is) < 0)
then
269 write(*,
'("Error(readspecies): lorbdm < 0 : ",I8)')
lorbdm(io,ilo,is)
270 write(*,
'(" for species ",I4)') is
271 write(*,
'(" local-orbital ",I4)') ilo
272 write(*,
'(" and order ",I4)') io
284 if (
lorbe0(io,ilo,is) < 0.d0)
goto 10
integer, dimension(maxstsp, maxspecies) lsp
real(8), dimension(maxapword, 0:maxlapw, maxspecies) apwe0
integer, dimension(maxstsp, maxspecies) nsp
integer, parameter maxstsp
character(256), dimension(maxspecies) spfname
integer, dimension(maxspecies) nrmt
logical, dimension(maxstsp, maxspecies) spcore
real(8), dimension(maxspecies) rmt
integer, parameter maxapword
integer, dimension(0:maxlapw, maxspecies) apword
real(8), dimension(maxlorbord, maxlorb, maxspecies) lorbe0
integer, dimension(maxlorbord, maxlorb, maxspecies) lorbdm
real(8), dimension(maxstsp, maxspecies) occsp
integer, dimension(maxspecies) nstsp
integer, dimension(maxapword, 0:maxlapw, maxspecies) apwdm
character(64), dimension(maxspecies) spsymb
integer, dimension(maxlorb, maxspecies) lorbord
integer, parameter maxlorbord
integer, dimension(maxstsp, maxspecies) ksp
logical, dimension(maxapword, 0:maxlapw, maxspecies) apwve
real(8), dimension(maxspecies) rmaxsp
real(8), dimension(maxspecies) rminsp
real(8), dimension(maxspecies) rmt0
integer, dimension(maxspecies) nlorb
logical, dimension(maxlorbord, maxlorb, maxspecies) lorbve
character(64), dimension(maxspecies) spname
integer, parameter maxlorb
real(8), dimension(maxspecies) spmass
real(8), dimension(maxspecies) spzn
integer, dimension(maxlorb, maxspecies) lorbl