Page 1 of 2

regarding size missmatch while doing epw calculations

Posted: Thu Jul 14, 2016 11:24 am
by appalakondaiah
Dear all,
I am running test calculations for phonon line widths for 2D materials (similar to MgB2). For this, I started with less kpoints (8X8X1) and qpoints (4X4X1) for scf and phonon calculations respectively and successfully finished with positive frequencies. On the other hand, while running epw calculations I struck with the below error

Error in routine calbec (3):
size mismatch


Sincearly
S. Appalakondaiah,
Research Schloar
SAINT, SKKU

Here with I am attaching my input files for the referance
scf.in

Code: Select all

&control
    calculation='scf',
    prefix='test',
    pseudo_dir = '/home/saint/Softwares/pslibrary.1.0.0/pbe/PSEUDOPOTENTIALS',
    outdir='./',
    tprnfor = .true.,
    verbosity ='high'
    tstress = .true.,   
    etot_conv_thr = 1.0d-8
    forc_conv_thr = 1.0d-6
 /
 &system   
    ibrav=  0, A=3.4446,nat=  3, ntyp= 2,
    ecutwfc =60, ecutrho=720,
    degauss=.01469972360,
    smearing='gauss',
    occupations='smearing',
 /
 &electrons
    diagonalization = 'david'
    mixing_mode = 'plain'
    mixing_beta = 0.3
    conv_thr =  1.0d-8
 /
ATOMIC_SPECIES
-----
CELL_PARAMETERS
   0.873521802  -0.504328048   0.000000000
   0.000000000   1.008656096   0.000000000
   0.000000000   0.000000000   6.976744186
K_POINTS AUTOMATIC
8 8 1 0 0 0


nscf.in
&control

Code: Select all

    calculation='nscf',
    prefix='test',
    pseudo_dir = '/home/saint/Softwares/pslibrary.1.0.0/pbe/PSEUDOPOTENTIALS',
    outdir='./',
    tprnfor = .true.,
    verbosity ='high'
    tstress = .true.,   
    etot_conv_thr = 1.0d-8
    forc_conv_thr = 1.0d-6
 /
 &system   
    ibrav=  0, A=3.4446,nat=  3, ntyp= 2,
    ecutwfc =60, ecutrho=720,
    degauss=.01469972360,
    smearing='gauss',
    occupations='smearing',
 /
 &electrons
    diagonalization = 'david'
    mixing_mode = 'plain'
    mixing_beta = 0.3
    conv_thr =  1.0d-8
 /
ATOMIC_SPECIES
 ----
CELL_PARAMETERS
   0.873521802  -0.504328048   0.000000000
   0.000000000   1.008656096   0.000000000
   0.000000000   0.000000000   6.976744186
 K_POINTS crystal_b
 4
 0.0 0.0 0.0 50
 0.5 0.0 0.0 20
 0.3333 0.3333 0.0 20
 0.0 0.0 0.0 50


epw.in
--

Code: Select all

&inputepw
  prefix      = 'NbSe2',
  amass(1)    = 92.91,
  amass(2)    = 78.96,
  outdir      = './'

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

  epwwrite = .true.
  epwread  = .false.

  etf_mem     = .true.

  nbndsub     =  1,
  nbndskip    =  0

  wannierize  = .true.
  num_iter    = 500
  dis_froz_max= 2
  proj(1)     = 'random'

  iverbosity  = 2

  elinterp    = .true.
  phinterp    = .true.

  tshuffle2   = .true.
  tphases     = .false.

  parallel_k  = .true.
  parallel_q  = .false.

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

  fsthick     = 0.4  ! eV
  eptemp      = 5  ! K
  degaussw    = 0.10 ! eV
  nsmear      = 1
  delta_smear = 0.04 ! eV

  degaussq     = 0.5 ! meV
  nqstep       = 500

  eliashberg  = .true.

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

  conv_thr_iaxis = 1.0d-2

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

  nstemp   = 1
  tempsmin = 15.00
  tempsmax = 60.00

  nsiter   = 500

  muc     = 0.16

  dvscf_dir   = '../phonons/save'
 
  nk1         = 4
  nk2         = 4
  nk3         = 1

  nq1         = 4
  nq2         = 4
  nq3         = 1

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

  nqf1 = 16
  nqf2 = 16
  nqf3 = 1
 /
  4 cartesian
  0.000000000   0.000000000   0.000000000  1.000000000
  0.143098890   0.247854547   0.000000000  1.000000000
 -0.286197779  -0.495709094   0.000000000  1.000000000
  0.429296669   0.247854547   0.000000000  1.000000000

Re: regarding size missmatch while doing epw calculations

Posted: Thu Jul 14, 2016 7:25 pm
by sponce
Dear S. Appalakondaiah,

This error should be raised when the max number of plane wave is larger than the current one (on that node) or when some Kleiman-Bylander momentum are too large.

Therefore this might be related to the use of PSP. Which kind of psp did you use?

Did you use the same ecut for the phonon calculation as for the scf,nscf and epw run?

Best,

Samuel

Re: regarding size missmatch while doing epw calculations

Posted: Fri Jul 15, 2016 12:15 am
by appalakondaiah
Dear Prof Samuel,

Yes. I am using same ecut for scf, nscf in epw and phonon calculations. Also, scalar relativistic RRKJ ultrasoft pseudopotentails for all the calculations.

Sincearly
S. Appalakondaiah,
Research Schloar
SAINT, SKKU

Re: regarding size missmatch while doing epw calculations

Posted: Fri Jul 15, 2016 9:30 am
by sponce
Dear S. Appalakondaiah,

Are they PBE xc functionals?

If so, could you try a small calculation with LDA just to see if you get the same error message?

Best,

Samuel

Re: regarding size missmatch while doing epw calculations

Posted: Fri Jul 15, 2016 1:42 pm
by carla.verdi
Hi,

I also noticed that you run the nscf using only 4 k points - instead, you need a uniform 4x4x1 grid in the input (this is a requirement for the wannierization afterwards).

Best
Carla

Re: regarding size missmatch while doing epw calculations

Posted: Fri Jul 15, 2016 4:14 pm
by sponce
Yep !

Well spotted Carla.

You need a uniform positively defined [0:1] homogeneous k-grid for nscf.in

Re: regarding size missmatch while doing epw calculations

Posted: Sat Jul 16, 2016 5:49 am
by appalakondaiah
Dear Prof. Samuel and Prof. Carla

Thank you for the reply. Now I changed according to your suggestions and fixed the PWs for both scf.in and nscf.in. But the issue changed now into
coarse k-mesh needs to be strictly positive in 1st BZ
. Below I am adding my inputs. Suggest me for the next (I hope this issue is not related to my phonon calculations !!!)
SCF.in

Code: Select all

K_POINTS AUTOMATIC
8 8 2 0 0 0

NSCF.in

Code: Select all

K_POINTS AUTOMATIC
8 8 2 0 0 0

epw.in

Code: Select all

 nk1         = 8 
  nk2         = 8
  nk3         = 2

  nq1         = 8
  nq2         = 8
  nq3         = 2

  mp_mesh_k = .true.
  nkf1 = 16
  nkf2 = 16
  nkf3 = 2

  nqf1 = 16
  nqf2 = 16
  nqf3 = 2

Re: regarding size missmatch while doing epw calculations

Posted: Sun Jul 17, 2016 2:23 pm
by sponce
Hello,

You have to manually input the point in the nscf.in and they have to be between 0 and 1 for each value.

Indeed if you put

Code: Select all

K_POINTS AUTOMATIC
8 8 2 0 0 0


Then you do not have positive values (you can look at nscf.out).

You can look the input nscf.in files in the EPW example to see how this should be done.

Best,

Samuel

Re: regarding size missmatch while doing epw calculations

Posted: Mon Jul 18, 2016 12:03 am
by appalakondaiah
Dear Prof..

I too agree with you.. In examples, Kpoints are in manual. But How it is ?? I tried with kpoints.x tool in QE, generation using xcrysden, kpoints automatic selection and other script which is in below. In all ways, i am not able to solve my issue. can any one suggest me for generation of kpoints in manual (specifically points should between 0 to 1)

Code: Select all

#!/bin/sh
cat > script.m << EOF
nk1 = 16;
nk2 = 16;
nk3 = 4;
fid = fopen('klist.dat','w');
for i1=0:nk1-1;
 for i2=0:nk2-1;
  for i3=0:nk3-1;
    kvec = [i1/nk1 i2/nk2 i3/nk3 1/(nk1*nk2*nk3)];
    fprintf(fid,'%12.6f %12.6f %12.6f %12.6f\n',kvec');
  end;
 end;
end;
fclose(fid);
EOF
octave < script.m
rm script.m

Re: regarding size missmatch while doing epw calculations

Posted: Mon Jul 18, 2016 9:42 am
by sponce
Hello,

You can use the following python script (for your particular problem):

Code: Select all

import numpy as np

wgt = 1.0/(8*8*2)

for i in np.arange(0,1,1.0/8):
  for j in np.arange(0,1,1.0/8):
    for k in np.arange(0,1,1.0/2):
      print i, j, k, wgt