Problem with parallel_q=.true.

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:

Problem with parallel_q=.true.

Post by AgentZero »

Dear all,

Recently, I test the parallel_q parameter using MgB2 with double-delta approximation.
I find that the results are somehow different with that obtained with parallel_k.
Basically, there are five problems. Could you please tell me how to fix these problems? Thanks in advance!

(1) the coordinates of q-points are not correct (please see below).
(2) the weights of q-points are not correct (please see below).

In my tested calculation, the fine k- and q-meshes are 6x6x6. Thus the weight for each q-point should be 0.00463 (1/216).
The coordinates and wights of q-points obtained by parallel_q=true are

ismear = 1 iq = 1 coord.: 0.00000 0.00000 0.00000 wt: 0.00463
ismear = 1 iq = 2 coord.: 0.00000 0.00000 0.16667 wt: 0.00463
ismear = 1 iq = 3 coord.: 0.00000 0.00000 0.33333 wt: 0.00463
ismear = 1 iq = 4 coord.: 0.00000 0.00000 0.00000 wt: 0.00000
ismear = 1 iq = 5 coord.: 0.00000 0.00000 0.00000 wt: 0.00000
ismear = 1 iq = 6 coord.: 0.00000 0.00000 0.00000 wt: 0.00000
ismear = 1 iq = 7 coord.: 0.00000 0.00000 0.00000 wt: 0.01000
ismear = 1 iq = 8 coord.: 0.00000 0.00000 0.00000 wt: 0.00000
ismear = 1 iq = 9 coord.: 0.00000 0.00000 0.00000 wt: 0.01999
ismear = 1 iq = 10 coord.: 0.00000********* 0.00000 wt: 0.00000.

These two problem should be related to the parallel communication, because of the correctness of these quantities in the first pool, i.e. the first three q-points.

(3) the lambda_tr(tot) is not correct.
For example, for ismear=1 and iq=7, the lambda_tr(tot)s are 32.421636 and 44.037788 for parallel_q and parallel_k cases, respectively.

(4) the phonon frquency of the lowest branch at Gamma point is not correct.

***** parallel_k case *****
ismear = 1 iq = 1 coord.: 0.00000 0.00000 0.00000 wt: 0.00463
-------------------------------------------------------------------
lambda( 1 )= 0.000000 gamma= 0.000000 meV omega= 0.0220 meV
lambda_tr( 1 )= 0.000000 gamma_tr= 0.000000 meV omega= 0.0220 meV
lambda( 2 )= 0.000000 gamma= 0.000000 meV omega= 0.0300 meV
lambda_tr( 2 )= 0.000000 gamma_tr= 0.000000 meV omega= 0.0300 meV

***** parallel_q case *****

ismear = 1 iq = 1 coord.: 0.00000 0.00000 0.00000 wt: 0.00463
-------------------------------------------------------------------
lambda( 1 )= 0.000000 gamma= 0.000000 meV omega= 11338.1038 meV
lambda_tr( 1 )= 0.000000 gamma_tr= 0.000000 meV omega= 11338.1038 meV
lambda( 2 )= 0.000000 gamma= 0.000000 meV omega= 0.0300 meV
lambda_tr( 2 )= 0.000000 gamma_tr= 0.000000 meV omega= 0.0300 meV

(5) After the calculation of lambda at all q-points, the program is stuck. Adding "RETURN" in the subroutine selfen_phon_k(ik) does not solve this problem.

Thanks for your kind help!

Best wishes,
Miao Gao

sponce
Site Admin
Posts: 616
Joined: Wed Jan 13, 2016 7:25 pm
Affiliation: EPFL

Re: Problem with parallel_q=.true.

Post by sponce »

Dear Miao Gao,

Thank you for reporting this. I must admit, I did not spend a lot of time on the q-parallelization and for sure the k-point parallelization is much more tested
and also much more efficient. It was working for what I tested though. So I definitely recommend to use k-point parallelization and not q-point parallelization at this points.

I intend to improve this in the future and to make it possible to do both k AND q parallelization at the same time.

Best

Samuel
Prof. Samuel Poncé
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com

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

Re: Problem with parallel_q=.true.

Post by AgentZero »

Dear Dr. Samuel Ponc,

Thanks for your quick response! I have another newly posted question about how to gather datum among pools when k parallelization. Look forward to your reply! Thanks again!

Best wishes,
Miao Gao

Post Reply