Page 1 of 1

Error in Isotropic Eliashberg equation

Posted: Tue Jan 17, 2023 10:57 am
by sahildani
Dear experts,

I am trying to find superconducting critical temperature of a 2D material.
When I try to do epw.x calculations, I met the following error:

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
Error in routine mix_broyden (1):
factorization
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

and also getting NaN in Pade approximant of isotropic Eliashberg equations from imaginary-axis to real-axis.

I am getting this same error, even if I have changed broyden_beta parameter from its default value (0.7) to some lower value (0.4).

I am attaching epw1.in file

Code: Select all

--
&inputepw
  amass(1)    = 18.9984032
  amass(2)    = 183.84
  outdir      = './'
  dvscf_dir   = '../phono/save'


  ep_coupling = .true.
  elph        = .true.

  epwwrite    = .true.
  epwread     = .false.

  wannierize  = .true.
  nbndsub     =  21
  bands_skipped = 'exclude_bands = 1-19'
  broyden_beta  = 0.4
  num_iter    = 500
  dis_froz_min= 0
  dis_froz_max= 4.789
  proj(1)   = 'random'
  proj(2)  = 'W:dz2;dx2-y2;dxy'
  wdata(1)  = 'bands_plot = .true.'
  wdata(2)  = 'begin kpoint_path'
  wdata(3)  = 'G 0.00 0.00 0.00 M 0.50 0.00 0.00'
  wdata(4)  = 'M 0.50 0.00 0.00 K 0.33 0.33 0.00'
  wdata(5)  = 'K 0.33 0.33 0.00 G 0.00 0.00 0.00'
  wdata(6)  = 'end kpoint_path'
  wdata(7) = 'bands_plot_format = gnuplot'
  wdata(8) ='dis_num_iter= 1000'
  wdata(9) = 'guiding_centres = .true.'
  
  iverbosity  = 2

  fsthick     = 0.2127773616744   ! eV
  degaussw    = 0.05  ! eV
  degaussq    = 1.0 ! eV

  ephwrite    = .true.
  eliashberg  = .true.

  liso  = .true.
  limag = .true.
  lpade = .true.
  lacon = .true. 

  nsiter   = 500
  npade    = 40
  conv_thr_iaxis = 1.0d-3
  conv_thr_racon = 1.0d-3

  wscut  = 1.0 ! eV
  muc    = 0.1
  temps  = 0.2 0.25 0.3 0.35 0.4
 

  nk1         = 24
  nk2         = 24
  nk3         = 1

  nq1         = 4
  nq2         = 4
  nq3         = 1

  mp_mesh_k   = .true.
  nkf1        = 240
  nkf2        = 240
  nkf3        = 1

  nqf1        = 40
  nqf2        = 40
  nqf3        = 1
 /
and the part of epw1.out file

Code: Select all

   ===================================================================
     Solve isotropic Eliashberg equations
     ===================================================================


     Finish reading freq file

                  Fermi level (eV) =     1.7453510248E+00
     DOS(states/spin/eV/Unit Cell) =     8.9771142336E-01
            Electron smearing (eV) =     5.0000000000E-02
                 Fermi window (eV) =     2.1277736167E-01
     Nr irreducible k-points within the Fermi shell =      1465 out of      4921

           1 bands within the Fermi window


     Finish reading egnv file 


     Max nr of q-points =       486


     Finish reading ikmap files


     Start reading .ephmat files


     Finish reading .ephmat files


     Finish reading a2f file

     Electron-phonon coupling strength =    0.7134824
 
     Estimated Allen-Dynes Tc =     4.589131 K for muc =    0.10000
  
     Estimated w_log in Allen-Dynes Tc =    10.860257 meV
  
     Estimated BCS superconducting gap =     0.696011 meV
  
    
     temp(  1) =      0.20000 K
    
     Solve isotropic Eliashberg equations on imaginary-axis
    
     Total number of frequency points nsiw(     1) =   9235
     Cutoff frequency wscut =     1.0001
    
        iter      ethr          znormi      deltai [meV]
          1   2.415921E+00   1.687911E+00   6.944699E-01
          2   4.064958E-01   1.688261E+00   7.356576E-01
          3   5.782194E-01   1.687632E+00   7.937560E-01
          4   2.763219E-02   1.685545E+00   8.406962E-01
          5   2.492487E-02   1.684678E+00   8.618104E-01
          6   7.936021E-02   1.681698E+00   9.338961E-01
          7   6.955777E-03   1.681563E+00   9.378374E-01
          8   1.375038E-02   1.681015E+00   9.511524E-01
          9   5.473966E-03   1.681234E+00   9.458635E-01
         10   1.355704E-05   1.681234E+00   9.458767E-01
     Convergence was reached in nsiter =     10
 
     iaxis_imag   :      1.31s CPU      1.38s WALL (       1 calls)
 
    
     Pade approximant of isotropic Eliashberg equations from imaginary-axis to real-axis
     Cutoff frequency wscut =     1.0000
    
        pade    Re[znorm]   Re[delta] [meV]
       3694            NaN            NaN
     Convergence was reached for N =   3694 Pade approximants
 
     raxis_pade   :      0.57s CPU      0.70s WALL (       1 calls)
 
    
     Analytic continuation of isotropic Eliashberg equations from imaginary-axis to real-axis
    
     Total number of frequency points nsw =   8500
     Cutoff frequency wscut =     1.0000
    
        iter      ethr      Re[znorm]      Re[delta] [meV]
          1            NaN            NaN            NaN
          2            NaN            NaN            NaN

 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
     Error in routine mix_broyden (1):
     factorization
 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

     stopping ... 
Kindly help me to fix this.

Thank you.
Regards
Sahil Dani
Research Scholar
IIT Ropar, INDIA.

Re: Error in Isotropic Eliashberg equation

Posted: Tue Jan 17, 2023 6:42 pm
by hpaudya1
Hi Sahil,

Could you please share your 'prefix.a2f' file. I will investigate the problem myself and let you know the problem and possible solution.

Happy EPWing,
Hari

Re: Error in Isotropic Eliashberg equation

Posted: Wed Jan 18, 2023 4:44 am
by sahildani
Dear Sir,
Thank you for the reply.
Please find the attached prefix.a2f file
prefix.a2f.zip
(37.43 KiB) Downloaded 560 times
Regards
Sahil

Re: Error in Isotropic Eliashberg equation

Posted: Wed Jan 18, 2023 3:31 pm
by hpaudya1
Hi Sahil,

I see the following

Code: Select all

     temp(  1) =      0.20000 K

     Solve isotropic Eliashberg equations on imaginary-axis

     Total number of frequency points nsiw(     1) =   9235
     Cutoff frequency wscut =     1.0001
With nsiw(1) = 9235, N = npade * nsiw(1) / 100 (will make even by adding one if it is odd) = 8312 (with default value of npade = 90)

I found, pade calculation prints NAN with large value of N (more than 300). At this time I recommend to make N ~ 300 by adjusting your wscut OR npade (OR both). See https://docs.epw-code.org/doc/Inputs.html# for input details.

You can see the following input (modified to yours) for your reference,

Code: Select all

--
&inputepw
  amass(1)    = 18.9984032
  amass(2)    = 183.84
  outdir      = './'
  dvscf_dir   = '../phono/save'


  ep_coupling = .false.
  elph        = .false.

  epwwrite    = .false.
  epwread     = .true.

  wannierize  = .false.
  nbndsub     =  21
  bands_skipped = 'exclude_bands = 1-19'
  broyden_beta  = 0.4
  num_iter    = 500
  dis_froz_min= 0
  dis_froz_max= 4.789
  proj(1)   = 'random'
  proj(2)  = 'W:dz2;dx2-y2;dxy'
  wdata(1)  = 'bands_plot = .true.'
  wdata(2)  = 'begin kpoint_path'
  wdata(3)  = 'G 0.00 0.00 0.00 M 0.50 0.00 0.00'
  wdata(4)  = 'M 0.50 0.00 0.00 K 0.33 0.33 0.00'
  wdata(5)  = 'K 0.33 0.33 0.00 G 0.00 0.00 0.00'
  wdata(6)  = 'end kpoint_path'
  wdata(7) = 'bands_plot_format = gnuplot'
  wdata(8) ='dis_num_iter= 1000'
  wdata(9) = 'guiding_centres = .true.'

  iverbosity  = 2

  fsthick     = 0.2127773616744   ! eV
  degaussw    = 0.05  ! eV
  degaussq    = 1.0 ! eV

  ephwrite    = .false.
  eliashberg  = .true.

  fila2f = 'prefix.a2f'
  liso  = .true.
  limag = .true.
  lpade = .true.
  npade = 3
!  lacon = .true.

  nsiter   = 500
  conv_thr_iaxis = 1.0d-3
  conv_thr_racon = 1.0d-3

  wscut  = 1.0 ! eV
  muc    = 0.1
  temps  = 0.2 0.25 0.3 0.35 0.4


  nk1         = 24
  nk2         = 24
  nk3         = 1

  nq1         = 4
  nq2         = 4
  nq3         = 1

  mp_mesh_k   = .true.
  nkf1        = 240
  nkf2        = 240
  nkf3        = 1

  nqf1        = 40
  nqf2        = 40
  nqf3        = 1
 /
I hope it helps.

Happy EPWing,
Hari

Re: Error in Isotropic Eliashberg equation

Posted: Wed Jan 18, 2023 4:14 pm
by sahildani
Hello Sir,
Thank you for all the explanation and suggestions.

I took npade = 40 and
wscut ~ more than the 10 times of the maximum phonon frequency (which was 12.856799 THz) = 0.5317142056018 eV in the input that I have shared.
I will try to change these parameters to achieve N~300 and get back to you.

Regards
Sahil

Re: Error in Isotropic Eliashberg equation

Posted: Thu Jan 19, 2023 10:54 am
by sahildani
Hello Hari Sir,

I have changed npade to 20 and wscut to a little lower value. Now the code is running fine. Thank you for the help.

But I wanted to clear one little thing with you.
Is it okay to reduce the npade tag to a lower value say 20, 30, or even less than 10. How much reducing this value can affect our actual result.

If you explain this to us, it will be very kind of you.

Regards

Re: Error in Isotropic Eliashberg equation

Posted: Thu Jan 19, 2023 6:41 pm
by hpaudya1
Hi Sahil,

I think, it would be fine if your calculation is conversed. I always recommend to check the convergence.

Happy EPWing,
Hari