[Q-e-developers] Variable Cell of EXX w/ Custom-FFT
Satomichi Nishihara
nisihara225 at gmail.com
Thu Aug 31 16:01:25 CEST 2017
Dear developers of QE,
when variable cell calculation is performed with exact exchange,
it would be required to scale G-vectors of Custom-FFT in “scale_h.f90”.
However, that is not implemented in the current code.
I think it is useful to modify the subroutine “exx_grid_reinit” of exx.f90 as:
SUBROUTINE exx_grid_reinit(at_old)
IMPLICIT NONE
REAL(DP), INTENT(IN) :: at_old(:,:)
!
INTEGER :: ig
REAL(DP) :: gx, gy, gz
!
DEALLOCATE(xkq_collect,index_xk,index_sym)
exx_grid_initialized = .false.
nkqs = 0
CALL exx_grid_init()
!
DEALLOCATE(working_pool)
CALL exx_mp_init()
!
! … scale g-vectors
CALL cryst_to_cart(exx_fft%ngmt, exx_fft%gt, at_old, -1)
CALL cryst_to_cart(exx_fft%ngmt, exx_fft%gt, bg, +1)
!
DO ig = 1, exx_fft%ngmt
gx = exx_fft%gt(1, ig)
gy = exx_fft%gt(2, ig)
gz = exx_fft%gt(3, ig)
exx_fft%ggt(ig) = gx * gx + gy * gy + gz * gz
END DO
!
END SUBROUTINE exx_grid_reinit
Best,
Satomichi Nishihara
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/developers/attachments/20170831/c21638cb/attachment.html>
More information about the developers
mailing list