Page 1 of 1

Wrong Fermi energy in restart?

Posted: Fri Oct 04, 2024 5:34 pm
by deecadance
Dear users and developers,
I was having trouble running a calculation. I found a workaround, but either I am making a mistake somewhere else (likely), or the code does something unintended (less likely).

Typically when running EPW I first do it in steps. First the wannierization, check it, then do interpolation, then run the Migdal-Eliashberg part, and finally re-run the code just to get the phonon self-energy along a select path. This time the code worked fine until the Eliashberg part, but when re-started with phonselfen = .true. I got that all the linewidths are zero, which couldn't be.

It was unsurprising considering that in the standard output I had
DOS = -0.000000 states/spin/eV/Unit Cell at Ef= 0.000000 eV
Despite the code correctly recognizing that the Fermi energy of the coarse grid was ~8.3 eV

For reference, in the Eliashberg part I had:
DOS(states/spin/eV/Unit Cell) = 2.9165175653E+00

I found a workaround by directly enforcing the fine-mesh Fermi energy when I restart the calculation to get the phonon selfernergy, i.e.
efermi_read = .true.
fermi_energy = 8.296993
Which returned the right DOS and in general a sensible result.
But it doesn't feel like a very elegant solution. Any ideas on what can cause this?

ps. I cannot share the input files publicly right now :cry:
Thanks for all your hard work,
Simone Di Cataldo
Sapienza University of Rome

Re: Wrong Fermi energy in restart?

Posted: Tue Oct 29, 2024 4:53 am
by Shashi
Hi Simone,

There is nothing wrong with setting efermi_read = .true. However, when using the fine grid Fermi level, I couldn't reproduce the issue you mentioned regarding the zero DOS or zero Fermi level. Could you please confirm which version of EPW you are using?

Regards,
Shashi

Re: Wrong Fermi energy in restart?

Posted: Tue Oct 29, 2024 4:55 pm
by hmori
Dear Simone,

In addition to Shashi's question, please check again that efermi_read has been correctly set. In particular, in your input file used for calculations where the DOS was not computed correctly, was efermi_read set to false? The default value is false, so it will be false if not specified. However, if efermi_read is set to true but fermi_energy is left unspecified, the DOS will be calculated assuming fermi_energy = 0.0 eV.

Best regards,
Hitoshi