<div dir="ltr"><div>I think you are right. exx_fft%ggt is never used but exx_fft%gt is. Thank you for reporting this<br><br></div>Paolo<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Aug 31, 2017 at 4:01 PM, Satomichi Nishihara <span dir="ltr"><<a href="mailto:nisihara225@gmail.com" target="_blank">nisihara225@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div link="blue" vlink="#954F72" lang="JA"><div class="m_7274733303580619559WordSection1"><p class="MsoNormal"><span lang="EN-US">Dear developers of QE,</span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">when variable cell calculation is performed with exact exchange,</span></p><p class="MsoNormal"><span lang="EN-US">it would be required to scale G-vectors of Custom-FFT in “scale_h.f90”.</span></p><p class="MsoNormal"><span lang="EN-US">However, that is not implemented in the current code.</span></p><p class="MsoNormal"><span lang="EN-US">I think it is useful to modify the subroutine “exx_grid_reinit” of exx.f90 as:</span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">  SUBROUTINE exx_grid_reinit(at_old)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    IMPLICIT NONE<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    REAL(DP), INTENT(IN) :: at_old(:,:)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    !<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    INTEGER  :: ig<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    REAL(DP) :: gx, gy, gz<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    !<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    DEALLOCATE(xkq_collect,index_<wbr>xk,index_sym)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    exx_grid_initialized = .false.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    nkqs = 0<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    CALL exx_grid_init()<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    !<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    DEALLOCATE(working_pool)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    CALL exx_mp_init()<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    !<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    ! … scale g-vectors<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    CALL cryst_to_cart(exx_fft%ngmt, exx_fft%gt, at_old, -1)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    CALL cryst_to_cart(exx_fft%ngmt, exx_fft%gt, bg,     +1)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    !<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    DO ig = 1, exx_fft%ngmt<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">      gx = exx_fft%gt(1, ig)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">      gy = exx_fft%gt(2, ig)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">      gz = exx_fft%gt(3, ig)<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">      exx_fft%ggt(ig) = gx * gx + gy * gy + gz * gz<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    END DO<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">    !<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:12.0pt;font-family:"\00ff2d\00ff33  \00ff30\0030b4\0030b7\0030c3\0030af",sans-serif" lang="EN-US">  END SUBROUTINE exx_grid_reinit<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p><p class="MsoNormal"><span lang="EN-US">Best,<u></u><u></u></span></p><p class="MsoNormal"><span lang="EN-US">Satomichi Nishihara</span></p><p class="MsoNormal"><span lang="EN-US"><u></u> <u></u></span></p></div></div><br>______________________________<wbr>_________________<br>
Q-e-developers mailing list<br>
<a href="mailto:Q-e-developers@qe-forge.org">Q-e-developers@qe-forge.org</a><br>
<a href="http://qe-forge.org/mailman/listinfo/q-e-developers" rel="noreferrer" target="_blank">http://qe-forge.org/mailman/<wbr>listinfo/q-e-developers</a><br>
<br></blockquote></div><br><br clear="all"><br>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div>Paolo Giannozzi, Dip. Scienze Matematiche Informatiche e Fisiche,<br>Univ. Udine, via delle Scienze 208, 33100 Udine, Italy<br>Phone +39-0432-558216, fax +39-0432-558222<br><br></div></div></div></div></div>
</div>