How to gather gamma_qv(k) that distributed among pools

Post here questions linked with issue while running the EPW code

Moderator: stiwari

Post Reply
AgentZero
Posts: 44
Joined: Tue Jul 05, 2016 8:41 am
Affiliation:

How to gather gamma_qv(k) that distributed among pools

Post by AgentZero »

Dear all,

In subroutine selfen_phon_q(iq), the k-dependent phonon linewidth gamma_qv(k) is calculated. In each pool, gamma_qv(k)s
corresponding to different k-points that belonging to this pool are added together. The k-points are also distributed among
different pools. Thus subroutine mp_sum is called to finish the integral over the BZ, i.e. line-329 to line-335 in selfen_phon_q(iq).
My question is how to gather gamma_qv(k) without the summation on intrapool and interpool k-points.
And what is the sequence of these k-points in the code?

Should I call the subroutine poolgather or poolgather2? Could you plese give me some guidances? Thank you very much!

The reason for doing this is that I want to integrate gamma_qv(k) on q-mesh and phonon branch v to obtain gamma(k). With
gamma(k), we can figure out which Bloch state Psi_k has the largest contribution to lambda.

Thanks in advance!

Best wishes,
Miao Gao

-------------------329-335 lines in selfen_phon_q(iq)-----------------------
! collect contributions from all pools (sum over k-points)
! this finishes the integral over the BZ (k)
!
CALL mp_sum(gamma,inter_pool_comm)
CALL mp_sum(gamma_v,inter_pool_comm)
CALL mp_sum(fermicount, inter_pool_comm)
CALL mp_barrier(inter_pool_comm)
----------------------------------------------------------------------------------
Post Reply