Restart of interpolation from interrupted q-point

Post here questions linked with issue while running the EPW code

Moderator: stiwari

Post Reply
timonmosko
Posts: 5
Joined: Thu Aug 10, 2023 3:20 pm
Affiliation: University of Pavol Jozef Safarik

Restart of interpolation from interrupted q-point

Post by timonmosko »

Dear EPW experts,

I am performing interpolation of e-ph matrix elements from already calculated Wannier representation to fine grids using version 5.7 (I would like to finish this project using this version if possible). The calculation hit the time wall (here I show you just simplified case where I set shorter time limit in slurm) and did not finish interpolation process for all q points. I would like to restart the calculation from the last q point. However, I am quite confused by the answers at forum, most of them are from 2021 using older code version and flags like kmaps, which are apparently no longer implemented.

For the initial calculation (which did not finish) I used following input:

Code: Select all

--
&inputepw
  prefix      = 'NbSe2',
  amass(1)    = 92.906,
  amass(2)    = 78.971
  outdir      = './'
  dvscf_dir   = '../NbSe2-phonons/save'

  etf_mem     = 1
    max_memlt   = 4.5

!imag_read=.true.


!ep_coupling=.false.
elph = .true.
epbwrite = .false.
epbread = .false
epwwrite = .false.
epwread = .true.

  wannierize  = .false.
  nbndsub     =  22
  bands_skipped = 'exclude_bands = 1-12'

  dis_win_max      = 9

  proj(4)=Nb:dz2
  proj(5)=Nb:dxy
  proj(6)=Nb:dx2-y2
  proj(7)=Nb:dxz
  proj(8)=Nb:dyz
  proj(1)=Se:px
  proj(2)=Se:py
  proj(3)=Se:pz

 num_iter=2000


  wannier_plot= .true.
  wdata(1)  = 'bands_plot = .true.'
  wdata(2)  = 'begin kpoint_path'
  wdata(3)  = 'G 0.00000000 0.00000000 0.00000000 M 0.50000000 0.00000000 0.00000000'
  wdata(4)  = 'M 0.50000000 0.00000000 0.00000000 K 0.33333333 0.33333333 0.00000000'
  wdata(5)  = 'K 0.33333333 0.33333333 0.00000000 G 0.00000000 0.00000000 0.00000000'
  wdata(6)  = 'end kpoint_path'
  wdata(7) = 'bands_plot_format = gnuplot'
  wdata(8)    = 'bands_num_points = 80'
  wdata(9)   = 'num_print_cycles  = 10'
  wdata(10)   = 'conv_tol = 1E-13'
  wdata(11)   = 'conv_window = 4'
  wdata(12)   = 'spinors=.true.'

!band_plot = .true.

iverbosity=2

fsthick = 0.01 ! eV - should be large here for bandstructure plot
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!eliashberg flags
!endofeliashbergflags
degaussw = 0.0025 ! smearing in energy-conserving delta functions in [eV]
degaussq = 0.1 ! smearing for sum over q in the e-ph coupling in [meV]
ephwrite = .true. ! write ephmatXX, egnv, freq, and ikmap files in prefix.ephmat directory
eliashberg = .true. ! calculate Eliashberg spectral function
laniso = .true. ! solve isotropic ME eqs.
limag = .true. ! solve ME eqs. on imaginary axis
lpade = .true. ! solve ME eqs. on real axis using Pade approximants
lacon = .false. ! analytic continuation of ME eqs. from imaginary to real axis
nsiter = 500 ! number of self-consistent iterations when solving ME eqs.
npade = 22 ! percentage of Matsubara points used in Pade continuation.
conv_thr_iaxis = 1.0d-3 ! convergence threshold for solving ME eqs. on imaginary axis
conv_thr_racon = 1.0d-3 ! convergence threshold for solving ME eqs. on real axis
wscut = 0.6 ! upper limit over Matsubara freq. summation in ME eqs on imag.axis in [eV]
muc = 0.15 ! effective Coulomb potential used in the ME eqs.
temps = 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39   !1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ! temperatures at which ME eqs.
! are solved [equally spaced temperature points can also be used: see epw2.in]

restart=.true.
restart_step=100
!kmaps=.true.

!filkf = 'NbSe2_band.kpt'

!filqf = 'NbSe2_band.kpt'
mp_mesh_k = .true.
nkf1 = 288
nkf2 = 288
nkf3 = 1

nqf1 = 144
nqf2 = 144
nqf3 = 1

nk1 = 12
nk2 = 12
nk3 = 1

nq1 = 12
nq2 = 12
nq3 = 1
/
Calculation stop with

Code: Select all

    Number selected, total          20300          20647
     We only need to compute    20389 q-points


     Nr. of irreducible k-points on the uniform grid:     13969


     Finish mapping k+sign*q onto the fine irreducibe k-mesh and writing .ikmap file


     Nr irreducible k-points within the Fermi shell =       728 out of     13969

     Progression iq (fine) =        100/     20389
     Progression iq (fine) =        200/     20389
     Progression iq (fine) =        300/     20389
     Progression iq (fine) =        400/     20389
     Progression iq (fine) =        500/     20389
     Progression iq (fine) =        600/     20389
From the restart.fmt file I see the code done 668 qpts.
In order to restart it I make a copy of whole folder (including crystal/restart/...fmt, *ukk, *epmatwp files and the whole prefix.ephmat folder ) and restart input looks like

Code: Select all

--
&inputepw
  prefix      = 'NbSe2',
  amass(1)    = 92.906,
  amass(2)    = 78.971
  outdir      = './'
  dvscf_dir   = '../NbSe2-phonons/save'

  etf_mem     = 1
    max_memlt   = 4.5

!imag_read=.true.

!selecqread=.true.

!ep_coupling=.false.
elph = .true.
epbwrite = .false.
epbread = .false
epwwrite = .false.
epwread = .true.

  wannierize  = .false.
  nbndsub     =  22
  bands_skipped = 'exclude_bands = 1-12'

  dis_win_max      = 9

  proj(4)=Nb:dz2
  proj(5)=Nb:dxy
  proj(6)=Nb:dx2-y2
  proj(7)=Nb:dxz
  proj(8)=Nb:dyz
  proj(1)=Se:px
  proj(2)=Se:py
  proj(3)=Se:pz

 num_iter=2000


  wannier_plot= .true.
  wdata(1)  = 'bands_plot = .true.'
  wdata(2)  = 'begin kpoint_path'
  wdata(3)  = 'G 0.00000000 0.00000000 0.00000000 M 0.50000000 0.00000000 0.00000000'
  wdata(4)  = 'M 0.50000000 0.00000000 0.00000000 K 0.33333333 0.33333333 0.00000000'
  wdata(5)  = 'K 0.33333333 0.33333333 0.00000000 G 0.00000000 0.00000000 0.00000000'
  wdata(6)  = 'end kpoint_path'
  wdata(7) = 'bands_plot_format = gnuplot'
  wdata(8)    = 'bands_num_points = 80'
  wdata(9)   = 'num_print_cycles  = 10'
  wdata(10)   = 'conv_tol = 1E-13'
  wdata(11)   = 'conv_window = 4'
  wdata(12)   = 'spinors=.true.'

!band_plot = .true.

iverbosity=2

fsthick = 0.01 ! eV - should be large here for bandstructure plot
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!eliashberg flags
!endofeliashbergflags
degaussw = 0.0025 ! smearing in energy-conserving delta functions in [eV]
degaussq = 0.1 ! smearing for sum over q in the e-ph coupling in [meV]
ephwrite = .true. ! write ephmatXX, egnv, freq, and ikmap files in prefix.ephmat directory
eliashberg = .true. ! calculate Eliashberg spectral function
laniso = .true. ! solve isotropic ME eqs.
limag = .true. ! solve ME eqs. on imaginary axis
lpade = .true. ! solve ME eqs. on real axis using Pade approximants
lacon = .false. ! analytic continuation of ME eqs. from imaginary to real axis
nsiter = 500 ! number of self-consistent iterations when solving ME eqs.
npade = 22 ! percentage of Matsubara points used in Pade continuation.
conv_thr_iaxis = 1.0d-3 ! convergence threshold for solving ME eqs. on imaginary axis
conv_thr_racon = 1.0d-3 ! convergence threshold for solving ME eqs. on real axis
wscut = 0.6 ! upper limit over Matsubara freq. summation in ME eqs on imag.axis in [eV]
muc = 0.15 ! effective Coulomb potential used in the ME eqs.
temps = 3 5 7 9 11 13 15 17 19 21 23 25 27 29 31 33 35 37 39   !1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ! temperatures at which ME eqs.
! are solved [equally spaced temperature points can also be used: see epw2.in]

restart=.true.
restart_step=100
!kmaps=.true.

!filkf = 'NbSe2_band.kpt'

!filqf = 'NbSe2_band.kpt'
mp_mesh_k = .true.
nkf1 = 288
nkf2 = 288
nkf3 = 1

nqf1 = 144
nqf2 = 144
nqf3 = 1

nk1 = 12
nk2 = 12
nk3 = 1

nq1 = 12
nq2 = 12
nq3 = 1
/
The code starts, selects the points, writes:

Code: Select all

 Number selected, total          20100          20447
     Number selected, total          20200          20547
     Number selected, total          20300          20647
     We only need to compute    20389 q-points

     We restart from      669 q-points
and crashes with termination error:
forrtl: severe (24): end-of-file during read, unit 108, file /projects/p642-24-t/NbSe2_Margine/epw/20_1_2025/test4/./NbSe2.ephmat/freq


Could you please navigate me how to properly restart the calculation in this case?

Thanks a lot

Timon
hpaudya1
Posts: 198
Joined: Tue Mar 21, 2017 7:11 pm
Affiliation:

Re: Restart of interpolation from interrupted q-point

Post by hpaudya1 »

Hi Timon,

It seems the code did not properly read the NbSe2.ephmat/freq file. As I recall, this was a known bug in the implementation at the time of QE 7.2 and EPW 5.7. The issue has since been resolved in newer versions, specifically QE 7.3 with EPW 5.8.1. Upgrading to the latest version should resolve the problem without affecting the final results, and I believe you can reuse the files from v5.7.

Happy EPWing,
Hari
Shashi
Posts: 22
Joined: Mon Feb 12, 2024 2:21 pm
Affiliation: SUNY Binghamton

Re: Restart of interpolation from interrupted q-point

Post by Shashi »

Hi Timon,

Please use EPWv5.9 from the official EPW site (https://epw-code.org/). This will resolve the error you are encountering.

In addition, I would like to clarify Hari's answer: you cannot reuse files from EPWv5.7, as the writing format has slightly changed for .fmt and ephmatf files in the newer version.

Let me know if you have further questions.

Best regards,
Shashi
Post Reply