[Pw_forum] elphonon.f90, question about q=0 case, wavefunction evc not used
stefano de gironcoli
degironc at sissa.it
Mon Nov 23 01:59:10 CET 2015
Dear Fan,
On 22/11/2015 23:59, Fan Zheng wrote:
> Dear all,
>
> I have a question about the electron phonon coupling calculation in
> the subroutine "elphel" (in the file elphonon.f90).
>
> This subroutine computes <n,k|dV|m,k+q>. |n,k> is the wavefunction for
> band "m" with wavevector "k".
>
> First, the program computes <n,k|dV. Then, it is multiplied by |m,k+q>
>
> If q=0, it only needs to read to evc as:
> ...
> IF (lgamma) THEN
> CALL get_buffer(evc, lrwfc, iuwfc, ikk)
> ELSE
> CALL get_buffer (evc, lrwfc, iuwfc, ikk)
> CALL get_buffer (evq, lrwfc, iuwfc, ikq)
> ENDIF
> ...
> My question is in the q=0 case, array "evq" is used to multiply the
> computed <n,k|dV instead of evc. (line 401-406 in version 5.2.1)
>
> Can anyone explain why "evc" array is not used in q=0 case for these
> line (401-406)?
>
because in allocate_phq there is the following bit
if (lgamma) then
!
! q=0 : evq and igkq are pointers to evc and igk
!
evq => evc
igkq => igk
else
!
! q!=0 : evq, igkq are allocated and calculated at point k+q
!
allocate (evq ( npwx*npol , nbnd))
allocate (igkq ( npwx))
endif
therefore in the lgamma case evc and evq (and igkq and igk) are the same.
best
stefano
> Thanks,
> Fan
>
>
> _______________________________________________
> Pw_forum mailing list
> Pw_forum at pwscf.org
> http://pwscf.org/mailman/listinfo/pw_forum
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.quantum-espresso.org/pipermail/users/attachments/20151123/27bbee3b/attachment.html>
More information about the users
mailing list