nl indexes now in fft type

This commit is contained in:
Carlo Cavazzoni 2017-12-24 16:22:32 +01:00
parent b7f0d202dc
commit 7d48ed9a9e
6 changed files with 19 additions and 22 deletions

View File

@ -21,7 +21,7 @@ SUBROUTINE lr_addusddens (drhoscf, dbecsum)
USE ions_base, ONLY : nat, ityp, tau, ntyp => nsp
USE fft_base, ONLY : dfftp
USE fft_interfaces, ONLY : invfft
USE gvect, ONLY : gg, ngm, nl, g, eigts1, eigts2, eigts3, mill
USE gvect, ONLY : gg, ngm, g, eigts1, eigts2, eigts3, mill
USE uspp, ONLY : okvan
USE wavefunctions_module, ONLY : psic
USE uspp_param, ONLY : upf, lmaxq, nh, nhm
@ -127,7 +127,7 @@ SUBROUTINE lr_addusddens (drhoscf, dbecsum)
psic(:) = (0.d0, 0.d0)
!
DO ig = 1, ngm
psic(nl(ig)) = aux(ig,is)
psic(dfftp%nl(ig)) = aux(ig,is)
ENDDO
!
CALL invfft ('Dense', psic, dfftp)

View File

@ -34,8 +34,7 @@ SUBROUTINE lr_apply_liouvillian( evc1, evc1_new, interaction )
USE fft_base, ONLY : dffts, dfftp
USE fft_interfaces, ONLY : fwfft
USE fft_helper_subroutines
USE gvecs, ONLY : nls, nlsm
USE gvect, ONLY : nl, ngm, gstart, g, gg
USE gvect, ONLY : ngm, gstart, g, gg
USE io_global, ONLY : stdout
USE klist, ONLY : nks, xk, ngk, igk_k
USE lr_variables, ONLY : evc0, sevc0, revc0, rho_1, rho_1c, &
@ -642,7 +641,7 @@ SUBROUTINE lr_apply_liouvillian_k()
!
DO ig = 1,ngk(ik)
!
evc1_new(ig,ibnd,ik) = psic(nls(igk_k(ig,ik)))
evc1_new(ig,ibnd,ik) = psic(dffts%nl(igk_k(ig,ik)))
!
ENDDO
!

View File

@ -25,7 +25,7 @@ SUBROUTINE lr_calc_dens( evc1, response_calc )
USE ions_base, ONLY : ityp, nat, ntyp=>nsp
USE cell_base, ONLY : omega
USE ener, ONLY : ef
USE gvecs, ONLY : nls, nlsm, doublegrid
USE gvecs, ONLY : doublegrid
USE fft_base, ONLY : dffts, dfftp
USE fft_interfaces, ONLY : invfft
USE io_global, ONLY : stdout
@ -570,7 +570,7 @@ CONTAINS
psic(:) = (0.0d0,0.0d0)
!
DO ig = 1, ngk(ik)
psic(nls(igk_k(ig,ik)))=evc1(ig,ibnd,ik)
psic(dffts%nl(igk_k(ig,ik)))=evc1(ig,ibnd,ik)
ENDDO
!
CALL invfft ('Wave', psic, dffts)

View File

@ -1866,7 +1866,7 @@ contains
use mp, only : mp_bcast,mp_barrier
use mp_world, only : world_comm
USE cell_base, ONLY : bg, ibrav, celldm
USE gvect, ONLY : gcutm, ngm, nl, nlm
USE gvect, ONLY : gcutm, ngm
USE gvecw, ONLY : ecutwfc
USE ions_base, ONLY : nat, ityp, ntyp => nsp, atm, zv, tau
USE io_global, ONLY : stdout, ionode,ionode_id

View File

@ -31,7 +31,6 @@ MODULE lr_exx_kernel
USE fft_interfaces, ONLY : invfft, fwfft
USE lsda_mod, ONLY : nspin
USE wvfct, ONLY : nbnd, npwx, wg
USE gvecs, ONLY : nls, nlsm
USE gvect, ONLY : g, ngm
USE klist, ONLY : xk, wk, nks
USE lr_variables, ONLY : gamma_only, lr_verbosity
@ -178,9 +177,9 @@ SUBROUTINE lr_exx_apply_revc_int(psi, ibnd, nbnd, ik)
temppsic( j, 2) = CMPLX(AIMAG(fp),- DBLE(fm),kind=DP)
ENDDO
psi_t(nls(1:npw))= temppsic(1:npw,1)+ (0.0_dp,1.0_dp)&
psi_t(dffts%nl(1:npw))= temppsic(1:npw,1)+ (0.0_dp,1.0_dp)&
&*temppsic(1:npw,2)
psi_t(nlsm(1:npw))= CONJG(temppsic(1:npw,1)- (0.0_dp,1.0_dp)&
psi_t(dffts%nlm(1:npw))= CONJG(temppsic(1:npw,1)- (0.0_dp,1.0_dp)&
&*temppsic(1:npw,2))
ELSE
tempphic(1:nrxxs,1) = 0.5d0 * CMPLX( revc_int(1:nrxxs,ibnd),&
@ -193,8 +192,8 @@ SUBROUTINE lr_exx_apply_revc_int(psi, ibnd, nbnd, ik)
! Correct the nl mapping for the two grids.
!
temppsic(1:npw,1)=tempphic(exx_fft%nlt(1:npw),1)
psi_t(nls(1:npw))=temppsic(1:npw,1)
psi_t(nlsm(1:npw))=CONJG(temppsic(1:npw,1))
psi_t(dffts%nl(1:npw))=temppsic(1:npw,1)
psi_t(dffts%nlm(1:npw))=CONJG(temppsic(1:npw,1))
!
ENDIF
!
@ -883,7 +882,7 @@ FUNCTION k1d_term_k(w1, psi, fac_in, ibnd, ik,ikq) RESULT (psi_int)
!
DO is = 1, nspin
!
vhart(nls(1:ngm),is) = w1*pseudo_dens_c(nls(1:ngm)) *&
vhart(dffts%nl(1:ngm),is) = w1*pseudo_dens_c(dffts%nl(1:ngm)) *&
& fac_in(1:ngm)
!
! and transformed back to real space
@ -1023,7 +1022,7 @@ FUNCTION k2d_term_k(w1, psi, fac_in, ibnd, ik, ikq) RESULT (psi_int)
!
DO is = 1, nspin
!
vhart(nls(1:ngm),is) = w1*pseudo_dens_c(nls(1:ngm)) *&
vhart(dffts%nl(1:ngm),is) = w1*pseudo_dens_c(dffts%nl(1:ngm)) *&
& fac_in(1:ngm)
!
! and transformed back to real space

View File

@ -29,7 +29,6 @@ SUBROUTINE lr_read_wf()
& lr_verbosity, lr_exx, davidson, eels
USE wvfct, ONLY : nbnd, npwx
USE control_flags, ONLY : gamma_only,io_level
USE gvecs, ONLY : nls, nlsm
USE fft_base, ONLY : dffts
USE fft_interfaces, ONLY : invfft
USE uspp, ONLY : vkb, nkb, okvan
@ -264,7 +263,7 @@ SUBROUTINE normal_read()
DO ibnd = 1, nbnd
DO ig = 1, ngk(ik)
!
revc0(nls(igk_k(ig,ik)),ibnd,ik) = evc0(ig,ibnd,ik)
revc0(dffts%nl(igk_k(ig,ik)),ibnd,ik) = evc0(ig,ibnd,ik)
!
ENDDO
!
@ -451,9 +450,9 @@ SUBROUTINE virt_read()
IF (ibnd<nbnd) THEN
DO ig=1,ngk(1)
!
revc_all(nls(igk_k(ig,1)),ibnd,1) = evc_all(ig,ibnd,1)&
revc_all(dffts%nl(igk_k(ig,1)),ibnd,1) = evc_all(ig,ibnd,1)&
&+(0.0d0,1.0d0)*evc_all(ig,ibnd+1,1)
revc_all(nlsm(igk_k(ig,1)),ibnd,1) = &
revc_all(dffts%nlm(igk_k(ig,1)),ibnd,1) = &
&CONJG(evc_all(ig,ibnd,1)&
&-(0.0d0,1.0d0)*evc_all(ig,ibnd+1,1))
!
@ -461,8 +460,8 @@ SUBROUTINE virt_read()
ELSE
DO ig=1,ngk(1)
!
revc_all(nls(igk_k(ig,1)),ibnd,1) = evc_all(ig,ibnd,1)
revc_all(nlsm(igk_k(ig,1)),ibnd,1) = CONJG(evc_all(ig,ibnd,1))
revc_all(dffts%nl(igk_k(ig,1)),ibnd,1) = evc_all(ig,ibnd,1)
revc_all(dffts%nlm(igk_k(ig,1)),ibnd,1) = CONJG(evc_all(ig,ibnd,1))
!
ENDDO
ENDIF
@ -479,7 +478,7 @@ SUBROUTINE virt_read()
DO ibnd=1,nbnd
DO ig=1,ngk(ik)
!
revc_all(nls(igk_k(ig,ik)),ibnd,ik) = evc_all(ig,ibnd,ik)
revc_all(dffts%nl(igk_k(ig,ik)),ibnd,ik) = evc_all(ig,ibnd,ik)
!
ENDDO
!