Question about obtaining accurate Tc value

I’m wondering how do we know our computed Tc is converged or reliable. I’m thinking there are two factors:

  • The number of q-points used in ph.x step


  • The fine mesh grid density

Is there any other factor that affects result?

If we do the convergence test w.r.t the above 2 factors, which one should be done first? Each of them is quite time-consuming, and epw step requires lots of memory. Also during the test, is there any tips that we can follow so that we don’t need to compute same thing multiple times? Like when testing fine mesh density, will setting wannierize=.false. work if it already wannierize before?

Hi,

Once you perform the ph.x, it is not necessary to rerun phonon again. I suggest that if you want to converge on isotropic Tc, you can start with epwread=.true., epwwrite=.false., wannierize=.false., a2f_iso=.true., eliashberg=.true.

Setting a2f_iso=.true. performs the isotropic Eliashberg calculations on the fly without writing ephmatf to a file. This allows you to test Tc by varying the fine k and q grids.

Once you find the converged fine grid, if you want to perform an anisotropic calculation, set epwread=.true., epwwrite=.false., wannierize=.true., a2f_iso=.false., ephwrite=.true., eliashberg=.true., laniso=.true.

ephwrite=.true. will write electron-phonon matrix elements to the prefix.ephmat folder.

Let me know if you need any further clarifications.

Best,
Shashi

Dear Shashi,
Thanks very much for the help. I just want to clarify some points. Does a2f_iso just mean a2f? I didn’t find this tag in online document.

After I converged on the fine-grid, to do aniso calculation, I still need to rerun the wannierzation and fine-mesh interpolation with wannierize=.true., ephwrite=.true., etc., and cannot continue based on prefix.ephmat folder if I set ephwrite=.true. during the test? I remember that the workflow are the following:

  1. Do wannierzation and map el-ph matrix to wannier basis.
  2. interpolate to fine-mesh in Bloch space

wannierzation is in step 1, and in step 2 use epwread to read the .epmatwp file and do convergence test on fine-mesh here. And then we can continue to do aniso calculation based on that.

Is the step I said is somehow wrong? Did I misunderstand your points, or what we mean are actually same?

Best,
Yujia

Dear Yujia,

The tag a2f_iso has now been added to the input documentation, and a test example for Pb has been added using this tag.

https://docs.epw-code.org/Inputs/Inputs.html#a2f-iso

Please have a look at the superconductivity tutorial. https://docs.epw-code.org/tutorials/tutorial_04/index.html
Once you have converged the fine grid, no need to do wannierization or epw bloch to wannier transformation. You can start from EPW Wannier to Bloch (fine grid calculation) for anisotropic calculations.

Please set

ephwrite=.true.

,

wannierize=.false.

,

epwrite=.false.

,

epwread=.true.

,

elph=.true.

This will start reading from the epmatwp file and will interpolate to generate the e.phmat folder.

Else, if you used

ephwrite=.true.

while doing calculations. You can start reading the ephmat files to proceed with the next step: anisotropic superconductivity calculation. The code will automatically search for those files when you set eliashberg=.true.

Sorry for the late response.

Best,
Shashi