Page 1 of 1

Wannierization error in superconducting calculations

Posted: Mon Apr 08, 2019 12:56 pm
by mahdi109
Dear all,

I have tried the EPW examples (superconducting properties of fcc Pb and MgB2). I am trying to calculate the superconducting gaps of Borophene sheet (2D) Now. At the first step I met following error after runing the epw.x :

Code: Select all

from epw_setup : error # 1
coarse k-mesh needs to be strictly positive in 1st BZ


you can see all of my kpoints are positive. I searched in the forum and I found somebody have sugested by adding 'nosym = .true.' in nscf.in problem will be solved. it worked.
but another problem appeared in wannierization.
I have tried several proj(1) = 'XXXX' parameters like proj(1) = 'B:s', proj(1) = 'B:p', proj(1) = 'B:sp', proj(1) = 'B:sp2', proj(1)='sp3' and proj(1)='B:s;p' all of them got this error in outpout of epw_aniso
without any CRASH file:

Code: Select all

     Initializing Wannier90
 
 param_get_projections: too few projection functions defined
Error: examine the output/error file for details



What is wrong with my input files?
Any help is greatly appreciated.


scf.in

Code: Select all

&control
    calculation='scf',
    prefix='Borophene',
    restart_mode    = 'from_scratch'
    wf_collect      = .true.
    pseudo_dir      = './',
    outdir          = './',
    verbosity       = 'high'
    tprnfor         = .true.,
    tstress         = .true.,   
 /
 &system   
    ibrav     = 8,
    celldm(1) = 3.04239,
    celldm(2) = 1.77499,
    celldm(3) = 12.4226,
    nat       =  2,
    ntyp      = 1,
    ecutwfc   = 80
    smearing  = 'gaussian'
    occupations = 'smearing'
    degauss   = 0.01
 /
 &electrons
    diagonalization = 'david'
    mixing_mode     = 'plain'
    mixing_beta     = 0.7
    conv_thr        =  1.0d-9
 /
ATOMIC_SPECIES
B 10.811 B.pz-vbc.UPF
ATOMIC_POSITIONS {angstrom}
B        0.805813469   0.002145789   0.014123924
B        0.001186531   1.430854211   0.896876076
K_POINTS AUTOMATIC
8 8 1  0 0 0



ph.in

Code: Select all

--
  &inputph
  prefix   = 'Borophene'
  fildvscf = 'dvscf'
  outdir   = './',
  fildyn   = 'Borophene.dyn'
  ldisp = .true.
  nq1=4,
  nq2=4,
  nq3=1,
  tr2_ph   =  1.0d-12
 /


scf_epw.in

Code: Select all

 &control
    calculation='scf',
    prefix='Borophene',
    restart_mode    = 'from_scratch'
    wf_collect      = .true.
    pseudo_dir      = './',
    outdir          = './',
    verbosity       = 'high'
    tprnfor         = .true.,
    tstress         = .true.,   
 /
 &system   
    ibrav     = 8,
    celldm(1) = 3.04239,
    celldm(2) = 1.77499,
    celldm(3) = 12.4226,
    nat       =  2,
    ntyp      = 1,
    ecutwfc   = 80
    smearing  = 'gaussian'
    occupations = 'smearing'
    degauss   = 0.01
 /
 &electrons
    diagonalization = 'david'
    mixing_mode     = 'plain'
    mixing_beta     = 0.7
    conv_thr        =  1.0d-9
 /
ATOMIC_SPECIES
B 10.811 B.pz-vbc.UPF
ATOMIC_POSITIONS {angstrom}
B        0.805813469   0.002145789   0.014123924
B        0.001186531   1.430854211   0.896876076
K_POINTS AUTOMATIC
16 16 1  0 0 0


nscf_epw.in

Code: Select all

 &control
    calculation='nscf',
    prefix='Borophene',
    restart_mode    = 'from_scratch'
    wf_collect      = .true.
    pseudo_dir      = './',
    outdir          = './',
    verbosity       = 'high'
    tprnfor         = .true.,
    tstress         = .true.,   
 /
 &system   
    ibrav     = 8,
    celldm(1) = 3.04239,
    celldm(2) = 1.77499,
    celldm(3) = 12.4226,
    nat       =  2,
    ntyp      = 1,
    nbnd = 12
    nosym=.true. ,
    ecutwfc   = 80
    smearing  = 'gaussian'
    occupations = 'smearing'
    degauss   = 0.01
 /
 &electrons
    diagonalization = 'david'
    mixing_mode     = 'plain'
    mixing_beta     = 0.7
    conv_thr        =  1.0d-9
 /
ATOMIC_SPECIES
B 10.811 B.pz-vbc.UPF
ATOMIC_POSITIONS {angstrom}
B        0.805813469   0.002145789   0.014123924
B        0.001186531   1.430854211   0.896876076

K_POINTS crystal
256
  0.00000000  0.00000000  0.00000000  3.906250e-03
  0.00000000  0.06250000  0.00000000  3.906250e-03
  0.00000000  0.12500000  0.00000000  3.906250e-03
  0.00000000  0.18750000  0.00000000  3.906250e-03
  0.00000000  0.25000000  0.00000000  3.906250e-03
  0.00000000  0.31250000  0.00000000  3.906250e-03
.
.
.
  0.93750000  0.62500000  0.00000000  3.906250e-03
  0.93750000  0.68750000  0.00000000  3.906250e-03
  0.93750000  0.75000000  0.00000000  3.906250e-03
  0.93750000  0.81250000  0.00000000  3.906250e-03
  0.93750000  0.87500000  0.00000000  3.906250e-03
  0.93750000  0.93750000  0.00000000  3.906250e-03



epw_iso.in

Code: Select all

--
&inputepw
  prefix      = 'Borophene',
  amass(1)    = 10.811
  outdir      = './'

  ep_coupling = .true.
  elph        = .true.
  kmaps       = .false.
  epbwrite    = .true.
  epbread     = .false.

  epwwrite = .true.
  epwread  = .false.

  etf_mem     = 0

  nbndsub     =  12,
  nbndskip    =  0

  wannierize  = .true.
  num_iter    = 500
  dis_froz_min = -10
  dis_froz_max = 10
  proj(1)     = 'B:s;p'


  iverbosity  = 0


  eps_acustic = 5.0    ! Lowest boundary for the
  ephwrite    = .true. ! Writes .ephmat files used when wliasberg = .true.

  fsthick     = 10.0  ! eV
  eptemp      = 300  ! K
  degaussw    = 0.10 ! eV
  degaussq    = 0.5 ! meV
  nqstep      = 500

  eliashberg  = .true.

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

  conv_thr_iaxis = 1.0d-2
  conv_thr_racon = 1.0d-2

  wscut = 0.5   ! eV   Upper limit over frequency integration/summation in the Elisashberg eq

  nstemp   = 10
  tempsmin = 5.00
  tempsmax = 35.00

  nsiter   = 500

  muc     = 0.1

  dvscf_dir   = './save'
 
  nk1         = 16
  nk2         = 16
  nk3         = 1

  nq1         = 4
  nq2         = 4
  nq3         = 1
 
  mp_mesh_k = .true.
  nkf1        = 32
  nkf2        = 32
  nkf3        = 1

  nqf1        = 16
  nqf2        = 16
  nqf3        = 1
 /
   10 cartesian
   0.000000000000000E+00   0.000000000000000E+00   0.000000000000000E+00
   0.000000000000000E+00   0.140845863920360E+00   0.000000000000000E+00
   0.000000000000000E+00  -0.281691727840720E+00   0.000000000000000E+00
   0.250000000000000E+00   0.000000000000000E+00   0.000000000000000E+00
   0.250000000000000E+00   0.140845863920360E+00   0.000000000000000E+00
   0.250000000000000E+00  -0.281691727840720E+00   0.000000000000000E+00
   0.250000000000000E+00  -0.140845863920360E+00   0.000000000000000E+00
  -0.500000000000000E+00   0.000000000000000E+00   0.000000000000000E+00
  -0.500000000000000E+00   0.140845863920360E+00   0.000000000000000E+00
  -0.500000000000000E+00  -0.281691727840720E+00   0.000000000000000E+00



epw_aniso.in

Code: Select all

--
&inputepw
  prefix      = 'Borophene',
  amass(1)    = 10.811
  outdir      = './'

  ep_coupling = .true.
  elph        = .true.
  kmaps       = .false.
  epbwrite    = .true.
  epbread     = .false.

  epwwrite = .true.
  epwread  = .false.

  etf_mem     = 0

  nbndsub     =  12,
  nbndskip    =  0        ! This quantity is necessary to correctly determine the Fermi energy. 

  wannierize  = .true.
  num_iter    = 500
 dis_froz_min = -10
 dis_froz_max = 10
  proj(1)     = 'B:sp3'


  iverbosity  = 0       


  eps_acustic = 5.0   
  ephwrite    = .true.

  fsthick     = 10.0  ! eV           
  eptemp      = 300  ! K
  degaussw    = 0.10 ! eV
  degaussq    = 0.5 ! meV
  nqstep      = 500

  eliashberg  = .true.     

  laniso = .true.   
  limag = .true.
  lpade = .true.

  conv_thr_iaxis = 1.0d-2

  wscut = 0.5   ! eV   

  nstemp   = 10
  tempsmin = 5.00
  tempsmax = 35.00

  nsiter   = 500

  muc     = 0.1

  dvscf_dir   = './save'
 
  nk1         = 16
  nk2         = 16
  nk3         = 1

  nq1         = 4
  nq2         = 4
  nq3         = 1
 
  mp_mesh_k = .true.
  nkf1        = 32
  nkf2        = 32
  nkf3        = 1

  nqf1        = 16
  nqf2        = 16
  nqf3        = 1
 /
  10 cartesian
   0.000000000000000E+00   0.000000000000000E+00   0.000000000000000E+00
   0.000000000000000E+00   0.140845863920360E+00   0.000000000000000E+00
   0.000000000000000E+00  -0.281691727840720E+00   0.000000000000000E+00
   0.250000000000000E+00   0.000000000000000E+00   0.000000000000000E+00
   0.250000000000000E+00   0.140845863920360E+00   0.000000000000000E+00
   0.250000000000000E+00  -0.281691727840720E+00   0.000000000000000E+00
   0.250000000000000E+00  -0.140845863920360E+00   0.000000000000000E+00
  -0.500000000000000E+00   0.000000000000000E+00   0.000000000000000E+00
  -0.500000000000000E+00   0.140845863920360E+00   0.000000000000000E+00
  -0.500000000000000E+00  -0.281691727840720E+00   0.000000000000000E+00


Re: Wannierization error in superconducting calculations

Posted: Mon Apr 08, 2019 7:50 pm
by hpaudya1
Hi mahdi109,

In your epw input, you have defined(including) 12 bands (wannier functions) with no excluding, as the following;
nbndsub = 12,
nbndskip = 0

from the projection you have defined as,
proj(1) = 'B:sp3' OR proj(1) = 'B:s;p'
(both looks same for me)

within the window defined as,
dis_froz_min = -10
dis_froz_max = 10

so the error is
Initializing Wannier90

param_get_projections: too few projection functions defined
Error: examine the output/error file for details

The problem is due to different number of bands included and projected. Here, you have defined the projection, proj(1) = 'B:sp3', [only 8 bands are projected; 1 band for s and 3 bands for p, which is =4, for two B atoms 2*4 = 8)].

I think you should be careful the number of bands for wannierization, projection within the froz window you define by looking your band structure from DFT.

I hope this works,
Hari Paudyal
SUNY Binghamton