## Different gap distribution when repeat it with same input parameters

Post here questions linked with issue while running the EPW code

Moderator: stiwari

since2012
Posts: 7
Joined: Sun Dec 17, 2023 7:27 am
Affiliation: PhD

### Different gap distribution when repeat it with same input parameters

Dear all,

Recently, I caculated the gap distribution for my system via both v5.3.1& v5.4.1. And I found two strange results as following:

1、The gaps increase with the increase of temperature within a small range, as shown in Fig.1 as attachments. Why the gap gradually increase as indecated by the red arrow?

2、I calculated the gap at a same temperature. The first run is calculated all temperature points together, the right panel (as colored by blue) shows anther gap, is too strange. So I re-calculated the gap only at this temperature point, the results show no additional gap as indecated by the cyan. Why this happens? I also re-calculated the gap at a single temperature point, the results is slight different from the one calculated together. I don't know why this happens, nothing changed except for temps. If it is true, how to ensure the repeatability of the results?

3、Consider that the gap distribution shows a broadening, how to fit the gap evolution as a function of temperature?
Fig.1
gap.jpg (24.33 KiB) Viewed 7330 times
Fig.1 Gap distribution vs temperature.

Thanks and Regards!
Jianguo

hmori
Posts: 20
Joined: Fri Mar 17, 2023 4:28 pm
Affiliation: Binghamton University

### Re: Different gap distribution when repeat it with same input parameters

Hi Jianguo,

Perhaps, it seems that the number of the Matsubara frequencies may be insufficient with respect to temperature. In that case, it's understandable that the numerical solution becomes unstable. You should try with higher wscut. Additionally, you should know how to determine the initial values for the gap function. For the first temperature point (which is considered the lowest), substitute the value outputted as 'Estimated BCS superconducting gap' as the initial value and solve the gap equation. After that, average the obtained gap function at the minimum Matsubara frequency with respect to k, in other words, isotropize it, and use it as the initial value for the next temperature point. This procedure applies even for anisotropic calculations. Only the initial value for the first temperature point can be specified by the user. By using 'gap_edge' (in eV), you can perform calculations at the lowest temperature using the specified value as the initial value instead of 'Estimated BCS superconducting gap'. Even in this case, the initial value for the next temperature point is determined by the average of the preceding temperature point. In the current implementation, we cannot give anisotropic initial guess for the gap function.

The gap function somewhat depends on the initial value. However, if changing the initial values even slightly leads to different solutions, it is highly likely that there are insufficient Matsubara frequencies. In such cases, it is obtaining challenging to obtain reliable results. When the temperature is too low, requiring a large number of Matsubara frequencies. However, raising the temperature too high can kill the gap function. It might be necessary to test with different numbers of Matsubara frequencies around half the predicted transition temperature.

I haven't presented very effective solutions, but I hope it can be helpful to you.

Best,
Hitoshi

since2012
Posts: 7
Joined: Sun Dec 17, 2023 7:27 am
Affiliation: PhD

### Re: Different gap distribution when repeat it with same input parameters

Hi Hitoshi,

As you mentioned "For the first temperature point (which is considered the lowest), substitute the value outputted as 'Estimated BCS superconducting gap' as the initial value and solve the gap equation.", I don't understand it clearly. If I transfer the Estimated BCS superconducting gap into temperature and set it as the first temps, it's too high! That means I set a unreasonable initial value for the gap under other temperatures？

The gap function somewhat depends on the initial value. So how can i choose a appropriate initial value (first temps) for different system? As low as possible?

According to your suggestion, I will try following test:

(1) Re-submit the job with a higher wscut (Although wscur is 10 times of the maximum value of phonon dispersion.).

(2) Re-submit the job with a lower temperature as initial value (first temps).

Best & Regards,
Jianguo

hmori
Posts: 20
Joined: Fri Mar 17, 2023 4:28 pm
Affiliation: Binghamton University

### Re: Different gap distribution when repeat it with same input parameters

Dear Jianguo,

What I am mentioning is the initial guess of the gap function Δ(iω, T). The first temperature should be specified by you in the input file. In BCS theory, in the weak-coupling limit, it is known that Δ(T-->0)=Δ_0=1.76 * kTc. Using this relation, the EPW estimates the gap function at zero temperature, and then automatically use it in the calculation for the initial guess of the first temperature you specified. Specifically, EPW first estimates Tc using the Allen-Dynes formula. Using the relation Δ_0=1.76 * kTc, the code calculates Δ_0, which should be output as 'Estimated BCS superconducting gap'. We use Δ_0 as the initial value of the gap function Δ(iω) at the lowest temperature. When going to the next temperature, the initial guess of Δ(iω) of the next temperature is calculated from the obtained gap function at the current temperature. Therefore, it is necessary to provide about 10 temperature points from the lowest to near the temperature where Δ(iω, T)=0.
We solve the Eliashberg equations at each temperature to find the temperature at which the gap function Δ(iω, T) becomes zero. That temperature is the Tc obtained by solving the Eliashberg equations, which can be different from the estimate of the Allen-Dynes formula. If you want to start calculations from a temperature that is not sufficiently low, you should specify the initial value. This is because the estimated value of Δ_0 obtained from the Allen-Dynes formula is an initial guess for a sufficiently low temperature. You can use gap_edge to specify the initial value.

I'm recommending you to perform the test calculation to get the convergence against the wscut for one moderate temperature. I don't think you have to select many temperature points in the test calculation. For example you can select the fifth or sixth temperature point shown in the figure. If you repeatedly change the wscut at very low temperatures, it will unnecessarily consume a lot of time. Pick up one moderate temperature is simply to reduce computational costs.

I'm not sure what is confusing you, so my description might not directly address your question. Feel free to ask follow-up questions if you need further clarification.

Best,
Hitoshi

since2012
Posts: 7
Joined: Sun Dec 17, 2023 7:27 am
Affiliation: PhD

Dear Hitoshi,