31integer is,ia,ja,ias,jas
32integer nr,nri,iro,nthd
33integer i0,i1,nn,l,io,jo
36real(8) vr(nrmtmax),p0(nrmtmax,apwordmax),p1(nrmtmax),p1s(apwordmax)
37real(8) q0(nrmtmax),q1(nrmtmax),ep0(nrmtmax,apwordmax)
50 if (.not.
tfeqat(ia,is)) cycle
65 call rschrodint(
solsc,l,e,nr,
rlmt(:,1,is),vr,nn,p0(:,io),p1,q0,q1)
67 p0(1:nr,io)=p0(1:nr,io)*
rlmt(1:nr,-1,is)
69 ep0(1:nr,io)=e*p0(1:nr,io)
71 t1=sum(
wr2mt(1:nr,is)*p0(1:nr,io)**2)
73 p0(1:nr,io)=t1*p0(1:nr,io)
75 ep0(1:nr,io)=t1*ep0(1:nr,io)
78 t1=-sum(
wr2mt(1:nr,is)*p0(1:nr,io)*p0(1:nr,jo))
79 p0(1:nr,io)=p0(1:nr,io)+t1*p0(1:nr,jo)
80 p1s(io)=p1s(io)+t1*p1s(jo)
81 ep0(1:nr,io)=ep0(1:nr,io)+t1*ep0(1:nr,jo)
85 t1=sum(
wr2mt(1:nr,is)*p0(1:nr,io)**2)
88 write(*,
'("Error(genapwfr): degenerate APW radial functions")')
89 write(*,
'(" for species ",I4)') is
90 write(*,
'(" atom ",I4)') ia
91 write(*,
'(" angular momentum ",I4)') l
92 write(*,
'(" and order ",I4)') io
97 p0(1:nr,io)=t1*p0(1:nr,io)
99 ep0(1:nr,io)=t1*ep0(1:nr,io)
102 apwfr(1:nr,1,io,l,ias)=p0(1:nr,io)
103 apwfr(1:nr,2,io,l,ias)=ep0(1:nr,io)
105 apwdfr(io,l,ias)=(p1s(io)-p0(nr,io))*
rmt(is)/2.d0
110 if (
eqatoms(ia,ja,is).and.(ia /= ja))
then
114 apwfr(1:nr,1:2,io,l,jas)=
apwfr(1:nr,1:2,io,l,ias)
integer, dimension(maxspecies) nrmti
logical, dimension(:,:), allocatable tfeqat
real(8), dimension(:,:,:), allocatable apwe
integer, dimension(maxspecies) nrmt
integer, dimension(maxspecies) natoms
real(8), dimension(maxspecies) rmt
integer, dimension(maxatoms, maxspecies) idxas
real(4), dimension(:,:,:,:), allocatable apwfr_sp
integer, dimension(maxspecies) nrcmt
integer, dimension(0:maxlapw, maxspecies) apword
integer, dimension(maxatoms *maxspecies) idxia
integer, dimension(maxatoms *maxspecies) idxis
integer, dimension(maxapword, 0:maxlapw, maxspecies) apwdm
real(8), dimension(:,:,:), allocatable apwdfr
real(8), dimension(:,:,:,:,:), allocatable apwfr
real(8), dimension(:,:), pointer, contiguous vsmt
logical, dimension(:,:,:), allocatable eqatoms
real(8), dimension(:,:), allocatable wr2mt
real(8), dimension(:,:,:), allocatable rlmt
pure subroutine rschrodint(sol, l, e, nr, r, vr, nn, p0, p1, q0, q1)