Page 1 of 1

Cannot find "prefix.pade_aniso_gap0_T" at some temperature

Posted: Sat Apr 21, 2018 2:48 pm
by hellolori
Dear all,

I try to solve the Eliashberg equation at several temperatures by setting the tags as follows:

Code: Select all

laniso = .true.
limag = .true.
lpade = .true.
nstemp=4,
 tempsmin=1.5
 tempsmax=4.5

I found that the calculations under the four temperatures are all converged on the imaginary axis. After the calculations, however, I could not find the file "prefix.pade_aniso_gap0_001.50". By contrast, the files "prefix.pade_aniso_gap0_002.50", "prefix.pade_aniso_gap0_003.50" and "prefix.pade_aniso_gap0_004.50" can be found. I also find the related code to output the file in "eliashberg_aniso_cont_raxis.f90":

Code: Select all

   
         IF ( errdelta .gt. 0.d0 ) THEN
             conv = .true.
            WRITE(stdout,'(5x,a,i6,a,ES20.10,a,ES20.10,a,ES20.10)') 'pade = ', N, &
                     '   error = ', errdelta, '   Re[Znorm(1)] = ', real(Znorm(1)), &
                    '   Re[Delta(1)] = ', real(Delta(1))
             cname = 'pade'
             CALL eliashberg_write_cont_raxis( itemp, cname )
       ENDIF

I would like to know why doesnot EPW output the file "prefix.pade_aniso_gap0_001.50", since the whole process of the calculation seems smooth. How can I get it? Can anyone help me?

Bests!

Re: Cannot find "prefix.pade_aniso_gap0_T" at some temperatu

Posted: Sun Apr 22, 2018 6:21 pm
by sponce
Hello,

It should have produced it. Maybe a small issue on your cluster while writing.

It could also be that for some reason the "tempsmin" values does not get printed but I doubt it.
In any case, you can try running:

Code: Select all

laniso = .true.
limag = .true.
lpade = .true.
nstemp=2,
tempsmin=1.0
tempsmax=1.5


to see if you can get it.

Best,
Samuel

Re: Cannot find "prefix.pade_aniso_gap0_T" at some temperatu

Posted: Mon Apr 23, 2018 1:50 am
by hellolori
sponce wrote:Hello,

It should have produced it. Maybe a small issue on your cluster while writing.

It could also be that for some reason the "tempsmin" values does not get printed but I doubt it.
In any case, you can try running:

Code: Select all

laniso = .true.
limag = .true.
lpade = .true.
nstemp=2,
tempsmin=1.0
tempsmax=1.5


to see if you can get it.

Best,
Samuel


Dear Samuel,
I try running:

Code: Select all

laniso = .true.
limag = .true.
lpade = .true.
nstemp=4,
tempsmin=1.6
tempsmax=1.9

Then, I found that all the calculations on the imaginary frequency axis are converged. However, only when "temp = 1.9 K", did EPW output the file "prefix.pade_aniso_gap0_001.90". I also found some differences of the standard output between "temp = 1.9 K" and "itemp = 1.8, 1.7, 1.6" :

For example, in the case of temp = 1.8 K, no "prefix.pade_aniso_gap0_001.80".

temp( 3) = 1.8000 K
Solve anisotropic Eliashberg equations on imaginary-axis
Total number of frequency points nsiw ( 3 ) = 328
Cutoff frequency wscut = 0.3202
iter = 1 relerr = 2.0740145121E+00 abserr = 9.1079276742E-04 Znormi(1) = 1.6648882849E+00 Deltai(1) = 4.3893245502E-04
iter = 2 relerr = 8.9775091820E-01 abserr = 2.1232978465E-04 Znormi(1) = 1.6658370428E+00 Deltai(1) = 4.8332101882E-04
iter = 3 relerr = 1.4093402625E-02 abserr = 3.3368271112E-06 Znormi(1) = 1.6656456431E+00 Deltai(1) = 4.8639485683E-04
iter = 4 relerr = 1.7177786309E-02 abserr = 4.0338376105E-06 Znormi(1) = 1.6654890286E+00 Deltai(1) = 4.9036280932E-04
iter = 5 relerr = 1.5644530132E-03 abserr = 3.6790210104E-07 Znormi(1) = 1.6654548852E+00 Deltai(1) = 4.9171930906E-04
iter = 6 relerr = 1.5056529584E-03 abserr = 3.5460785593E-07 Znormi(1) = 1.6654385988E+00 Deltai(1) = 4.9254459071E-04
iter = 7 relerr = 2.7039527598E-03 abserr = 6.3855485950E-07 Znormi(1) = 1.6654109072E+00 Deltai(1) = 4.9398065789E-04
iter = 8 relerr = 2.3371241338E-03 abserr = 5.5321899398E-07 Znormi(1) = 1.6653884919E+00 Deltai(1) = 4.9516990095E-04
iter = 9 relerr = 3.7611394922E-04 abserr = 8.9063159700E-08 Znormi(1) = 1.6653815083E+00 Deltai(1) = 4.9538102410E-04
iter = 10 relerr = 7.1939823632E-04 abserr = 1.7047448567E-07 Znormi(1) = 1.6653782769E+00 Deltai(1) = 4.9573486606E-04
iter = 11 relerr = 5.4501902205E-04 abserr = 1.2922251450E-07 Znormi(1) = 1.6653730281E+00 Deltai(1) = 4.9601457981E-04
iter = 12 relerr = 8.3138906316E-04 abserr = 1.9728397670E-07 Znormi(1) = 1.6653652566E+00 Deltai(1) = 4.9643690194E-04
iter = 13 relerr = 9.6057511471E-04 abserr = 2.2815825797E-07 Znormi(1) = 1.6653569818E+00 Deltai(1) = 4.9688765466E-04
iter = 14 relerr = 2.6432063831E-04 abserr = 6.2765525598E-08 Znormi(1) = 1.6653591642E+00 Deltai(1) = 4.9676669317E-04
iter = 15 relerr = 4.1095112517E-05 abserr = 9.7588347188E-09 Znormi(1) = 1.6653588545E+00 Deltai(1) = 4.9679418010E-04
Convergence was reached in nsiter = 15

Size of allocated memory per pool : ~= 1.7185 Gb

iaxis_imag : 38776.57s CPU 38806.63s WALL ( 3 calls)

Pade approximant of anisotropic Eliashberg equations from imaginary-axis to real-axis
Cutoff frequency wscut = 0.3200

itemp = 3 total cpu time : 38815.33 secs


For temp=1.9K, in which case the file "prefix.pade_aniso_gap0_001.90" is generated, there is some differnce (especially the lines colored with blue):

temp( 4) = 1.9000 K

Solve anisotropic Eliashberg equations on imaginary-axis

Total number of frequency points nsiw ( 4 ) = 311
Cutoff frequency wscut = 0.3205

Size of required memory per pool : ~= 1.6626 Gb

Size of allocated memory per pool : ~= 1.6626 Gb

iter = 1 relerr = 2.0752839601E+00 abserr = 8.9802657522E-04 Znormi(1) = 1.6650119519E+00 Deltai(1) = 4.3341385666E-04
iter = 2 relerr = 8.9608104349E-01 abserr = 2.0898801807E-04 Znormi(1) = 1.6659402117E+00 Deltai(1) = 4.7663236946E-04
iter = 3 relerr = 1.3935465467E-02 abserr = 3.2536876750E-06 Znormi(1) = 1.6657544057E+00 Deltai(1) = 4.7954583871E-04
iter = 4 relerr = 1.7307275443E-02 abserr = 4.0068167296E-06 Znormi(1) = 1.6656032335E+00 Deltai(1) = 4.8332566164E-04
iter = 5 relerr = 1.4655026850E-03 abserr = 3.3972280741E-07 Znormi(1) = 1.6655705045E+00 Deltai(1) = 4.8461822630E-04
iter = 6 relerr = 1.4635238062E-03 abserr = 3.3976049620E-07 Znormi(1) = 1.6655549996E+00 Deltai(1) = 4.8540942794E-04
iter = 7 relerr = 2.5142858672E-03 abserr = 5.8516790716E-07 Znormi(1) = 1.6655298199E+00 Deltai(1) = 4.8672567005E-04
iter = 8 relerr = 2.0314159158E-03 abserr = 4.7374847646E-07 Znormi(1) = 1.6655109016E+00 Deltai(1) = 4.8773705614E-04
iter = 9 relerr = 1.2741582838E-03 abserr = 2.9676977310E-07 Znormi(1) = 1.6655196414E+00 Deltai(1) = 4.8709720475E-04
iter = 10 relerr = 2.8355325555E-03 abserr = 6.6231318346E-07 Znormi(1) = 1.6654970100E+00 Deltai(1) = 4.8852584360E-04
iter = 11 relerr = 3.2488303130E-04 abserr = 7.5909613773E-08 Znormi(1) = 1.6654938030E+00 Deltai(1) = 4.8869646928E-04
iter = 12 relerr = 5.2136324593E-04 abserr = 1.2188116154E-07 Znormi(1) = 1.6654883750E+00 Deltai(1) = 4.8897491097E-04
iter = 13 relerr = 8.5437125292E-04 abserr = 1.9990055183E-07 Znormi(1) = 1.6654812448E+00 Deltai(1) = 4.8935520531E-04
iter = 14 relerr = 1.2509534653E-04 abserr = 2.9265385902E-08 Znormi(1) = 1.6654826533E+00 Deltai(1) = 4.8929549458E-04
iter = 15 relerr = 5.2408242377E-04 abserr = 1.2267046990E-07 Znormi(1) = 1.6654771116E+00 Deltai(1) = 4.8960204583E-04
iter = 16 relerr = 9.4234023578E-05 abserr = 2.2055018093E-08 Znormi(1) = 1.6654776860E+00 Deltai(1) = 4.8954892657E-04

Size of allocated memory per pool : ~= 1.6397 Gb
iaxis_imag : 44747.79s CPU 44785.17s WALL ( 4 calls)

Pade approximant of anisotropic Eliashberg equations from imaginary-axis to real-axis
Cutoff frequency wscut = 0.3200

pade = 280 error = 2.0808771572E+00 Re[Znorm(1)] = 1.6603599053E+00 Re[Delta(1)] = 4.8774944903E-04

raxis_pade : 19925.82s CPU 19948.81s WALL ( 1 calls)


itemp = 4 total cpu time : 44797.16 secs


Bests!

Re: Cannot find "prefix.pade_aniso_gap0_T" at some temperatu

Posted: Sat Apr 28, 2018 2:25 am
by hellolori
sponce wrote:Hello,

It should have produced it. Maybe a small issue on your cluster while writing.

It could also be that for some reason the "tempsmin" values does not get printed but I doubt it.
In any case, you can try running:

Code: Select all

laniso = .true.
limag = .true.
lpade = .true.
nstemp=2,
tempsmin=1.0
tempsmax=1.5


to see if you can get it.

Best,
Samuel


Dear Samuel,

I have found the direct reason why EPW doesn't print the file "prefix.pade_aniso_gap0_T". The reason is the convergence is not reached in the subroutine "pade_cont_aniso_iaxis_to_raxis". Could you give me some suggestions about how to deal with this situation?

Bests!

Re: Cannot find "prefix.pade_aniso_gap0_T" at some temperatu

Posted: Sat Apr 28, 2018 11:21 pm
by roxana
Hi,

This type of convergence issue can appear if the temperature is close to the critical temperature and the superconducting gap is very small.
For the run at 1.9K, you can try to either increase the cutoff frequency wscut or, alternatively, you can set the nswi flag instead of wscut to a value larger than the current value 311.

If you look at your output you can see that for the run at 1.9 K

temp( 4) = 1.9000 K

Solve anisotropic Eliashberg equations on imaginary-axis

Total number of frequency points nsiw ( 4 ) = 311
Cutoff frequency wscut = 0.3205

Best,
Roxana