13integer nrc,nrci,np,npc
17real(8) rfmt2(npcmtmax)
19real(8),
allocatable :: rfmt1(:,:),rfir(:)
20real(8),
allocatable :: rvfmt(:,:,:),rvfir(:,:)
21complex(8),
allocatable :: vclcv(:,:,:,:),vclvv(:,:,:)
23real(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)
189call 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, &
195deallocate(rfmt1,rfir,vclcv,vclvv)
196if (
spinpol)
deallocate(rvfmt,rvfir)
integer, dimension(maxspecies) nrmti
real(8), dimension(:,:,:), allocatable bxcmt
integer, dimension(3) ngridg
integer, dimension(maxspecies) nrmt
real(8), dimension(:,:), allocatable dbxir
real(8), dimension(:,:), allocatable bxir
integer, dimension(:), allocatable igrzf
integer, dimension(maxspecies) nrcmt
real(8), dimension(:,:), allocatable bxcir
real(8), dimension(:), allocatable vxcir
integer, dimension(maxatoms *maxspecies) idxis
real(8), dimension(:), allocatable vxir
integer, dimension(maxspecies) npcmt
integer, dimension(:), allocatable igfft
real(8), dimension(:,:,:), allocatable bxmt
integer, dimension(maxspecies) npmt
real(8), dimension(:,:), allocatable dvxmt
real(8), dimension(:,:), allocatable vxcmt
real(8), dimension(:,:), allocatable vxmt
integer, dimension(maxspecies) nrcmti
real(8), dimension(:), allocatable dvxir
real(8), dimension(:,:,:), allocatable dbxmt
subroutine holdthd(nloop, nthd)
subroutine oepresk(ik, vclcv, vclvv)
subroutine oepvcl(vclcv, vclvv)
subroutine rbsht(nr, nri, rfmt1, rfmt2)
real(8) function rfinpc(ld, rfmt1, rfir1, rfmt2, rfir2)
subroutine rfint0(rf0, rfmt, rfir)
subroutine rfmtctof(rfmt)
subroutine rfsht(nr, nri, rfmt1, rfmt2)
subroutine symrf(nrmt_, nrmti_, npmt_, ngridg_, ngtot_, ngvec_, nfgrz_, igfft_, igrzf_, ld, rfmt, rfir)
subroutine symrvf(tspin, tnc, nrmt_, nrmti_, npmt_, ngridg_, ngtot_, ngvec_, nfgrz_, igfft_, igrzf_, ld1, rvfmt, ld2, rvfir)