<div dir="ltr"><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div><div>Dear Paolo,<br></div>Dear Lorenzo,<br><br></div>Thank you very much for your detailed explanation.<br></div>Now I understand fft in QE.<br>
<br></div>My another question related to this fft problem is in <br></div>the vloc_psi_gamma subroutine.<br><br></div>In this subroutine, the input Vloc is a real vector in 3D fft real space.<br></div>Psi is real in real space, so after we do<br>
<br> DO j = 1, dffts%nnr<br> psic (j) = psic (j) * v(j)<br> ENDDO<br><br></div>psic is still real in real space. Then by <br> CALL fwfft ('Wave', psic, dffts)<br></div>we get psic in G space which satisfies psic*(G)=psic(-G).<br>
</div>So in QE by<br> DO j = 1, n<br> hpsi (j, ibnd) = hpsi (j, ibnd) + psic (nls(igk(j)))<br> ENDDO<br></div>only psic on the points G=0 and G>0 are stored.<br><br></div>But if I want to revise this subroutine by letting Vloc is a general complex vector,<br>
</div>then after <br><br> DO j = 1, dffts%nnr<br> psic (j) = psic (j) * v(j)<br> ENDDO<br><br> CALL fwfft ('Wave', psic, dffts)<br>we get psic in G space which doesn't satisfy psic*(G)=psic(-G) any more.<br>
</div>How can I get the correct order for psic on all of the points G=0 and G>0 and G<0<br></div>so that it can be consistent with H*psic?<br><br></div>Thank you.<br><br></div>Best,<br></div>Fang<br><div><div><div>
<div><br><div><div><div><div><div><div><br><div><div><div><div><div><br><br></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">
2013/5/17 Paolo Giannozzi <span dir="ltr"><<a href="mailto:paolo.giannozzi@uniud.it" target="_blank">paolo.giannozzi@uniud.it</a>></span><br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div class="im">On Fri, 2013-05-17 at 11:46 +0200, Gabriele Sclauzero wrote:<br>
><br>
> >> In real space, the wavefunction is a real vector.<br>
> >> only for k=0 or if there is inversion symmetry<br>
><br>
> Isn't it enough to have time reversal symmetry?<br>
<br>
</div>time-reversal symmetry guarantees that \psi^*_{-k}=\psi_{k},<br>
IIRC, so it guarantees that wavefunctions are real at k=0.<br>
At a general k, wavefunctions are obviously complex,<br>
but in presence of inversion symmetry one can always<br>
write them as a purely real or purely imaginary function<br>
times the Bloch factor. This is however not currently<br>
used in QE.<br>
<div class="im HOEnZb"><br>
P.<br>
--<br>
Paolo Giannozzi, Dept. Chemistry&Physics&Environment,<br>
Univ. Udine, via delle Scienze 208, 33100 Udine, Italy<br>
Phone <a href="tel:%2B39-0432-558216" value="+390432558216">+39-0432-558216</a>, fax <a href="tel:%2B39-0432-558222" value="+390432558222">+39-0432-558222</a><br>
<br>
</div><div class="HOEnZb"><div class="h5">_______________________________________________<br>
Pw_forum mailing list<br>
<a href="mailto:Pw_forum@pwscf.org">Pw_forum@pwscf.org</a><br>
<a href="http://pwscf.org/mailman/listinfo/pw_forum" target="_blank">http://pwscf.org/mailman/listinfo/pw_forum</a><br>
</div></div></blockquote></div><br></div>