How to do an Eliashberg calculation with more cpu?

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 do an Eliashberg calculation with more cpu?

Post by AgentZero »

Dear Prof. E. R. Margine,

The number of cpu that we can used is constrained by the total number of k-points in the coarse mesh.
How can we do Eliashberg calculation with large number of cpu? For example, for coarse k-mesh being 6x6x6 (totally 216 points),
I want to use 1000 cpu to speed up my calculation.

I searched in the forum, and found you have posted a reply about how to restart an Eliashberg calculation by setting:
ep_coupling=.false.
elph=.false.

kmaps = .true.
epbwrite = .false.
epbread = .true.
epwwrite = .false.
epwread = .true.
wannierize = .false.

ephwrite=.false.
eliashberg = .true.

But in this manner, the number of cpu is also the same with previous calculation before restarting.

As I know, in an interpolated calculation, we can use more cpus by restarting the calculation as follows.

elph = .true.
kmaps = .true.
epbwrite = .false.
epbread = .false.
epwwrite = .false.
epwread = .true.
wannierize = .false.

Your help will be highly appreciated!

Best wishes,
Miao Gao

roxana
Posts: 172
Joined: Fri Jan 22, 2016 6:48 pm
Affiliation:

Re: How to do an Eliashberg calculation with more cpu?

Post by roxana »

Hi,

ep_coupling=.false. and elph=.false. are only meant to be used for performing directly an Eliashberg calculation (eliashberg=.true.) when *.ephmat, *.freq, *.egnv, and*.ikmap files were generated in a previous run. At the moment, for such a calculation, the number of CPUs is restricted by the number of *.ephmat files.

You can do a restart interpolation calculation using more CPUs and generate the *.ephmat files

elph = .true.
kmaps = .true.
epbwrite = .false.
epbread = .false.
epwwrite = .false.
epwread = .true.
wannierize = .false.

ephwrite = .true.

and after do an Eliashberg calculation using

ep_coupling=.false.
elph=.false.

kmaps = .true.
epbwrite = .false.
epbread = .true.
epwwrite = .false.
epwread = .true.
wannierize = .false.

ephwrite=.false.
eliashberg = .true.

These two calculations will have to use the same number of CPUs.

Best,
Roxana
Roxana Margine
Associate Professor
Department of Physics, Applied Physics and Astronomy
Binghamton University, State University of New York

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

Re: How to do an Eliashberg calculation with more cpu?

Post by AgentZero »

Dear Prof. E. R. Margine,

Thank you very much for your quick reply! I have tried your method as follows. The first run is done by 96 CPUs, and
then I restart the calculation with previously obtained epmatwp1 file using 216 CPUs, but an error of 'forrtl: severe (174): SIGSEGV, segmentation fault occurred'
is encountered. The output is stuck at 'Fermi energy coarse grid = 7.568419 eV'. But if 96 CPUs are used in the restarted run, evergthing is ok.
Does this error relate to the version of QE or the variable 'mp_mesh_k'? I use qe-6.0 for above mentioned calculations. And I will try your method with the up-to-date version as soon as possible.

May I ask the value of 'conv_thr_iaxis' that you used in your MgB2 paper [PRB 87 (2013), and CPC 209 (2016)]?
I set 'conv_thr_iaxis' to 1.0D^-4, and 'broyden_beta' to 0.3 in my MgB2 calculation, but the convergence is very hard to achieve.

Btw, It seems to me that the variable 'eptemp' doesn't affect the result of anisotropic Eliashberg calculation, am I right?

Thanks for your time!

Best wishes,
Miao Gao

roxana
Posts: 172
Joined: Fri Jan 22, 2016 6:48 pm
Affiliation:

Re: How to do an Eliashberg calculation with more cpu?

Post by roxana »

Dear Miao,

I personally never tried to restart an anisotropic Eliashberg calculation with a different number of CPUs, but I am assuming that the procedure suggested in my previous email should work. Could you try the latest version of the code to see if you get the same error?

In most cases I use conv_thr_iaxis=1.d^-4 and broyden_beta=0.7. The convergence is harder to reach close to the critical temperature. For this, I usually take smaller steps for the temperature at which the Eliashberg equations are evaluated.

Indeed, eptemp does not enter in the anisotropic Eliashberg calculation.

Best,
Roxana
Roxana Margine
Associate Professor
Department of Physics, Applied Physics and Astronomy
Binghamton University, State University of New York

Post Reply