Boost the self-energy calculations

General discussion around the EPW software

Moderator: stiwari

Post Reply
dinesh169
Posts: 39
Joined: Tue Sep 27, 2016 4:43 pm
Affiliation:

Boost the self-energy calculations

Post by dinesh169 »

Hello Everyone,

I am using EPW v.4.1.0 with QE v.6.1. For the self energy calculations, one needs huge k/q grids. I am using 72 cores which are on few nodes, since we dont have more than 32 cores on a node ( I know that also slows down the calculations) for MoS2 and 300x300x1 k/q grids and the calculations goes for around 20 days (it does not finishes most of the time) and sometimes even break (due to connectivity among the nodes in our cluster). Is there any clever way of doing it?
One way of boosting the calculations is to skip the bands and I could only skip first two valence bands rest of the valence bands are heavily entangled.

I know the simplest answer is to have a better cluster and I am wondering if self-energy calculations are still that time consuming or I am doing some mistake.

Sorry in advance if this question does not fit in this section.

here is my input file
--
&inputepw
prefix = 'mos2'
amass(1) = 32.065,
amass(2) = 95.94,
outdir = './'



iverbosity = 3

elph = .true.
epbwrite = .true.
epbread = .false.

epwwrite = .true.
epwread = .false.

nbndsub = 11
nbndskip = 2

kmaps = .false.

wannierize = .true.
num_iter = 8000
iprint = 2
dis_win_max = 30
dis_win_min = -30
dis_froz_min = -7.5
dis_froz_max= 8.4

proj(1) = 'Mo:d'
proj(2) = 'S:p'


wdata(1) = 'bands_plot = true'
wdata(2) = 'begin kpoint_path'
wdata(3) = 'G 0.0000000 0.0000000 0.0000000 K 0.6666667 -0.3333333 0.000000'
wdata(4) = 'K 0.6666667 -0.3333333 0.0000000 M 0.5000000 -0.5000000 0.000000'
wdata(5) = 'M 0.5000000 -0.5000000 0.0000000 G 0.0000000 0.0000000 0.000000'
wdata(6) = 'end kpoint_path'
wdata(7) = 'conv_window = 2'
wdata(8) = 'num_print_cycles = 50'
wdata(9) = 'conv_tol = 1.0E-6'
wdata(10)= 'dis_conv_tol = 1.0E-6'
wdata(11)= 'dis_mix_ratio = 0.5'
wdata(12)= 'dis_num_iter = 8000'
wdata(13) = 'search_shells = 48'




elecselfen = .true.
phonselfen = .false.
a2f = .false.

parallel_k = .true.
parallel_q = .false.

fsthick = 15.0D10 ! eV
eptemp = 300 ! K (same as PRB 76, 165108)
degaussw = 0.01 ! eV

dvscf_dir = '../save'
filukk = './mos2.ukk'

nkf1 = 300
nkf2 = 300
nkf3 = 1

nqf1 = 300
nqf2 = 300
nqf3 = 1

nk1 = 36
nk2 = 36
nk3 = 1

nq1 = 12
nq2 = 12
nq3 = 1
/
19 cartesian
0.0000000 0.0000000 0.0000000 0.0138889
0.0000000 0.0962250 0.0000000 0.0833333
0.0000000 0.1924501 0.0000000 0.0833333
0.0000000 0.2886751 0.0000000 0.0833333
0.0000000 0.3849002 0.0000000 0.0833333
0.0000000 0.4811252 0.0000000 0.0833333
0.0000000 -0.5773503 0.0000000 0.0416667
0.0833333 0.1443376 0.0000000 0.0833333

Best wishes,
Dinesh

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

Re: Boost the self-energy calculations

Post by sponce »

Hello,

Are you sure that you need such a dense coarse k-grid ?

If you use
nk1 = 24
nk2 = 24
nk3 = 1

or even 12x12x1, instead of 36, it will be much cheaper.
Prof. Samuel Poncé
Chercheur qualifié F.R.S.-FNRS / Professeur UCLouvain
Institute of Condensed Matter and Nanosciences
UCLouvain, Belgium
Web: https://www.samuelponce.com

Vahid
Posts: 101
Joined: Fri Apr 08, 2016 11:02 pm
Affiliation:

Re: Boost the self-energy calculations

Post by Vahid »

The fsthick looks too large as well.Perhaps lowering it to the desired energy range might help.

Cheers,

Vahid

Vahid Askarpour
Department of Physics and Atmospheric Science
Dalhousie University,
Halifax, NS, Canada

dinesh169
Posts: 39
Joined: Tue Sep 27, 2016 4:43 pm
Affiliation:

Re: Boost the self-energy calculations

Post by dinesh169 »

Dear Dr. Ponc and Askarpour,

Thank you very much for your suggestion. It was a great help and calculation time has drastically reduced now.

Best wishes,

dinesh169
Posts: 39
Joined: Tue Sep 27, 2016 4:43 pm
Affiliation:

Re: Boost the self-energy calculations

Post by dinesh169 »

Hello Everyone,

Regarding boosting calculations, I thought restarting from interrupted run would also be helpful in future for me.
So I tried to do that with the following flags

restart = .true.

epbwrite = .false.
epbread = .false.

epwwrite = .false.
epwread = .true.

kmaps = .true.
wannierize = .false.

and in output it does show the calculations restarted. It reads bloch functions. I am wondering about the following output


Number of ep-matrix elements per pool : 4320000 ~= 32.96 Mb (@ 8 bytes/ DP)
Restart from: 46001/ 90000

===================================================================
Electron (Imaginary) Self-Energy in the Migdal Approximation
===================================================================


Fermi Surface thickness = 5.000000 eV

Golden Rule strictly enforced with T = 0.002585 eV
Gaussian Broadening: 0.010000 eV, ngauss= 1
DOS = 0.003761 states/spin/eV/Unit Cell at Ef= -1.208430 eV

Progression iq (fine) = 100/ 90000
Creation of a restart point
Progression iq (fine) = 200/ 90000
..
..
..
Creation of a restart point
Progression iq (fine) = 56700/ 90000
Creation of a restart point
Progression iq (fine) = 56800/ 90000
Creation of a restart point

It started from iq = 46001 (where I stopped the last calculations) and calculations still going on with iq = 56800.
I have following questions
iq = 46001+56800 > 90000 whats is happening in the restart? Does it only reads the .epb files only and starts the sigma calculations from interpolation the k/q grids from scratch?

Thank you very much in advance.

Best wishes,
Dinesh Yadav

Post Reply