13 integer nrc,nrci,np,npc
17 real(8) rfmt2(npcmtmax)
19 real(8),
allocatable :: rfmt1(:,:),rfir(:)
20 real(8),
allocatable :: rvfmt(:,:,:),rvfir(:,:)
21 complex(8),
allocatable :: vclcv(:,:,:,:),vclvv(:,:,:)
23 real(8),
external :: rfint,rfinpc
44 if (
mp_mpi.and.(mod(it,10) == 0))
then 45 write(*,
'("Info(oepmain): done ",I4," iterations of ",I4)') it,
maxitoep 69 call mpi_allreduce(mpi_in_place,
dvxmt,n,mpi_double_precision,mpi_sum, &
71 call mpi_allreduce(mpi_in_place,
dvxir,
ngtot,mpi_double_precision, &
75 call mpi_allreduce(mpi_in_place,
dbxmt,n,mpi_double_precision,mpi_sum, &
78 call mpi_allreduce(mpi_in_place,
dbxir,n,mpi_double_precision,mpi_sum, &
94 call rfsht(nrc,nrci,
dbxmt(:,ias,idm),rvfmt(:,ias,idm))
100 call symrf(
nrcmt,
nrcmti,
npcmt,
ngridg,
ngtot,
ngvec,
nfgrz,
igfft,
igrzf,
npmtmax, &
103 call symrvf(.true.,
ncmag,
nrcmt,
nrcmti,
npcmt,
ngridg,
ngtot,
ngvec,
nfgrz,
igfft,&
109 t1=rfinpc(
npmtmax,rvfmt(:,:,idm),
dbxir(:,idm),rvfmt(:,:,idm),
dbxir(:,idm))
136 call rbsht(nrc,nrci,rfmt1(:,ias),rfmt2)
141 call rbsht(nrc,nrci,rvfmt(:,ias,idm),rfmt2)
163 call rfsht(nrc,nrci,
vxmt(:,ias),rfmt1(:,ias))
165 call rfsht(nrc,nrci,
bxmt(:,ias,idm),rvfmt(:,ias,idm))
179 vxcmt(1:np,ias)=
vxcmt(1:np,ias)+rfmt1(1:np,ias)
181 bxcmt(1:np,ias,idm)=
bxcmt(1:np,ias,idm)+rvfmt(1:np,ias,idm)
189 call symrf(
nrmt,
nrmti,
npmt,
ngridg,
ngtot,
ngvec,
nfgrz,
igfft,
igrzf,
npmtmax,
vxcmt, &
192 call symrvf(.true.,
ncmag,
nrmt,
nrmti,
npmt,
ngridg,
ngtot,
ngvec,
nfgrz,
igfft, &
195 deallocate(rfmt1,rfir,vclcv,vclvv)
196 if (
spinpol)
deallocate(rvfmt,rvfir)
subroutine rfint0(rf0, rfmt, rfir)
integer, dimension(maxspecies) npcmt
integer, dimension(3) ngridg
real(8), dimension(:,:), allocatable vxcmt
subroutine oepresk(ik, vclcv, vclvv)
integer, dimension(maxspecies) npmt
subroutine rbsht(nr, nri, rfmt1, rfmt2)
subroutine symrf(nrmt_, nrmti_, npmt_, ngridg_, ngtot_, ngvec_, nfgrz_, igfft_, igrzf_, ld, rfmt, rfir)
real(8), dimension(:,:,:), allocatable bxmt
real(8), dimension(:), allocatable vxir
real(8), dimension(:), allocatable dvxir
real(8), dimension(:,:), allocatable bxir
subroutine oepvcl(vclcv, vclvv)
subroutine rfmtctof(rfmt)
real(8), dimension(:), allocatable vxcir
subroutine symrvf(tspin, tnc, nrmt_, nrmti_, npmt_, ngridg_, ngtot_, ngvec_, nfgrz_, igfft_, igrzf_, ld1, rvfmt, ld2, rvfir)
integer, dimension(:), allocatable igrzf
integer, dimension(:), allocatable igfft
real(8), dimension(:,:,:), allocatable bxcmt
real(8), dimension(:,:), allocatable bxcir
real(8), dimension(:,:), allocatable dvxmt
real(8), dimension(:,:,:), allocatable dbxmt
integer, dimension(maxatoms *maxspecies) idxis
real(8), dimension(:,:), allocatable dbxir
subroutine rfsht(nr, nri, rfmt1, rfmt2)
subroutine holdthd(nloop, nthd)
integer, dimension(maxspecies) nrcmt
integer, dimension(maxspecies) nrcmti
real(8), dimension(:,:), allocatable vxmt
integer, dimension(maxspecies) nrmti
integer, dimension(maxspecies) nrmt