Page 1 of 1

electronic spectral function - running time

Posted: Sun Aug 06, 2017 6:37 pm
by NFH
Dear all,

I am currently calculating the electronic spectral function for (a) 2D system(s).
I define ~300kp along a high-symmetry line and want at least 800k-1200k random q-points. I know from single k-point calculations the self-energies
are converged then.

Unfortunately these calculations take quite an amount of memory and cpu-time for the spectral functions; in my opinion way to much compared to other (comparable) calculations within EPW. I am currently running @80prcs and need ~15min per 100 qp; thats by far to long to get a result at the end for 800k qpoints.

So my questions are:
(i) Do you find these times plausible?
(ii) Do you find any (stupid) parameter I set which might lead to these long running times?
(iii) Is there a possibility to restart such a specfun calc. when interrupted at a certain amount of qp?


The (most) influencing parameters I've set to the following:

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

iverbosity = 3

elecselfen = .true.
phonselfen = .false.

parallel_k = .true.
parallel_q = .false.

fsthick = 3.1 ! eV
eptemp = 10 !300.0 K!
degaussw = 0.05 !0.02 ! eV ! 0.03 !0.01

specfun = .true.
wmin_specfun = -2.0
wmax_specfun = 0.0
nw_specfun = 10000

system_2d = .true.
rand_q = .true.
rand_nq = 600000


Thanks a lot in advance,
Nicki

Re: electronic spectral function - running time

Posted: Mon Aug 07, 2017 10:20 am
by sponce
Dear Nicki,

I can see multiple reasons for this:

1) iverbosity = 3 means it will keep the mode resolved into memory instead of just summing on them. This will increase the memory need

2) nw_specfun = 10000 That is a lot of freq. points. If you do just a calculation of the self-energy, it corresponds to evaluate the el-ph self-energy at \omega=KS eigenenergy.
So it means you only do 1 freq. points.

3) The spectral function routines might be slightly less optimized than the electron self-energy one. You can try to compare them and see if there are differences for the part that are common.

For the restart, I don't think it works at the moment but it should not be very difficult to make it work. You can have a look at the restart feature for the electron self-energy and replicate this. I will eventually do it but I'm not sure when. If you do code this, please do share it with us and I'll include it.

Best,
Samuel

Re: electronic spectral function - running time

Posted: Mon Aug 07, 2017 11:54 am
by NFH
Thanks a lot Samuel,

keeping the ph-mode-resolved SE in memory is of course stupid; I should have seen this in the output.
I had in mind when using less frequency bins the spectral function always looked shabby, but I'll try this out.

On another note; how far have you proceeded with the iterative solution of the electron BTE? May I ask wether you'll use a variational principle or Rodes iterative scheme as solver to obtain the mobilities?

cheers,
Nicki