附上diffs文件,'Rho'字符处可以忽略,保持原始文件中的定义。仅需要修改USE部分,并将‘dffts’字符改为‘dfftp’
diff --git a/PP/src/elf.f90 b/PP/src/elf.f90
index 3577f96c7..2e75674f1 100644
--- a/PP/src/elf.f90
+++ b/PP/src/elf.f90
@@ -38,8 +38,8 @@ SUBROUTINE do_elf (elf)
USE wvfct, ONLY: nbnd, wg
USE control_flags, ONLY: gamma_only
USE wavefunctions_module, ONLY: evc
- USE mp_global, ONLY: inter_pool_comm, intra_pool_comm
- USE mp, ONLY: mp_sum
+ USE mp_pools, ONLY: inter_pool_comm, intra_pool_comm
+ USE mp, ONLY: mp_sum
!
! I/O variables
!
@@ -114,7 +114,7 @@ SUBROUTINE do_elf (elf)
CALL sym_rho_init ( gamma_only )
!
aux(:) = cmplx ( kkin (:), 0.0_dp, kind=dp)
- CALL fwfft ('Rho', aux, dffts)
+ CALL fwfft ('Rho', aux, dfftp)
ALLOCATE (aux2(ngm))
aux2(:) = aux(dfftp%nl(:))
!
@@ -157,7 +157,7 @@ SUBROUTINE do_elf (elf)
ENDDO
ENDIF
- CALL invfft ('Rho', aux2, dffts)
+ CALL invfft ('Rho', aux2, dfftp)
DO i = 1, dfftp%nnr
tbos (i) = tbos (i) + dble(aux2(i))**2
ENDDO
@@ -175,10 +175,8 @@ SUBROUTINE do_elf (elf)
ENDDO
DEALLOCATE (aux, aux2, tbos, kkin)
RETURN
-END SUBROUTINE do_elf
-
-
+END SUBROUTINE do_elf
!-----------------------------------------------------------------------
SUBROUTINE do_rdg (rdg)
!-----------------------------------------------------------------------