Page 1 of 1

band interpolation problem

Posted: Wed Feb 04, 2015 1:23 pm
by hlee
Dear all,

I have difficulties with obtaining the interpolated band structures after quasiparticle corrections.
In order to locate the problem, I tried to reproduce the band structures from DFT for bulk Si using the band interpolation in ypp.
For reference, I use the Yambo GPL Version 3.4.1 Revision 3187.

For this purpose, I used the following Quantum ESPRESSO (v5.1.1) input, which is basically equal to the input in one of Yambo tutorial files (http://www.yambo-code.org/tutorials/fil ... _files.zip):

Code: Select all

 &control
    calculation='scf',
    restart_mode='from_scratch',
    prefix='Si',
    outdir='./'
    wf_collect=.true.,
    verbosity ='high',
!    tstress = .true.,
!    tprnfor = .true.,
/&end
 &system
    ibrav=2,
    celldm(1)=10.183,
    nat=2,
    ntyp=1,
    ecutwfc=15.0,
    nbnd=50,
    force_symmorphic= .true.,
/&end
 &electrons
    diago_full_acc=.true.,
    conv_thr = 1.0d-8
/&end
ATOMIC_SPECIES
 Si  28.086  Si.vbc.UPF
ATOMIC_POSITIONS
 Si 0.00 0.00 0.00
 Si 0.25 0.25 0.25
K_POINTS (automatic)
  8 8 8 0 0 0
After the ground-state calculation, I generated the Yambo databases using the following commands:

Code: Select all

p2y -N -S

Code: Select all

yambo -N
Then, I interpolated these bands using the following ypp input (ypp.in)

Code: Select all

#
# ooooo   oooo ..     ooo        ooo ooooooooo.    .oooo.
#  `88.   .8" .88.    `88.       .88 `88"   `Y8b  dP"  `Yb
#   `88. .8" .8"88.    888b     d"88  88     888 88      88
#    `88.8" .8" `88.   8 Y88. .P  88  88oooo888" 88      88
#     `88" .88ooo888.  8  `888"   88  88    `88b 88      88
#      88 .8"     `88. 8    Y     88  88    .88P `8b    d8"
#     o88o88o      888o8          88 o88bood8P"   `Ybod8P"
#
#              GPL Version 3.4.1 Revision 3187
#                 http://www.yambo-code.org
#
bnds                         # [R] Bands
electrons                    # [R] Electrons (and holes)
cooIn= "rlu"                 # Points coordinates (in) cc/rlu/iku/alat
% BKpts
0.5 | 0.25 | 0.75 |
0.0 | 0.0  | 0.0  |
0.5 | 0.0  | 0.5  |
0.5 | 0.25 | 0.75 |
0.5 | 0.5  | 0.5  |
0.0 | 0.0  | 0.0  |

%
BANDS_steps=50               # Number of divisions
% BANDS_range
   1 |   8 |                 # Bands Range
%
% INTERPGrid
-1 |-1 |-1 |                             # Interpolation Grid
%
Since I just want to reproduce the band structures from DFT using ypp, the above processes are enough for this purpose.

As you can find in this attached figure (dotted lines: DFT, red solid line: interpolated bands), the quality of interpolation is poor in the degenerate top valence bands along L to Gamma direction.
Is this due to the intrinsic limitation in the adopted interpolation formalism in Yambo [PRB 38, 2721 (1988)]?

Although I played with different number of k points, kinetic energy cutoffs, and lpfac value in mod_interpolate.F, this problem has still remained.

How can I solve this problem?

Sincerely,

Hyungjun Lee

Re: band interpolation problem

Posted: Wed Feb 04, 2015 2:48 pm
by Davide Sangalli
Dear Hyungjun Lee,
not easy to understand which is the problem. As a quick suggestion, can you try to run pwscf without the time-reversal symmetry? The interpolation scheme may have problems in system without spatial inversion as Silicon, where the time reversal is used. If I remember correctly you should run quantum espresso with the "noinv=.true." (or something like that) and than use yambo and ypp in the standard way.

Hope it helps.
Kind regards,
D.

Re: band interpolation problem

Posted: Wed Feb 04, 2015 8:17 pm
by hlee
Dear Davide Sangalli:

You are right.
The quality of band interpolation is sensitive to the enabled symmetries in constructing k points in the DFT calculations.
Although the k points in the IBZ can be fully mapped into those in the full BZ by the symmetry operations, the adopted algorithm of interpolation in Yambo depends on whether some symmetry operations are included or not in generating the list of k points.

I attached the interpolated band structures below:
In this figure,
the dotted lines correspond to the reference band structures from DFT,
the red solid lines to the interpolated bands obtained using 29 k-points (the input file in my first post is used.),
the green ones to those from 43 k-points (noinv = .true.),
the blue ones to those from 260 k-points (nosym = .true.),
the brown ones to those from full 512 k-points (8x8x8) (nosym_evc = .true. and noinv = .true.).

Sincerely,

Re: band interpolation problem

Posted: Thu Feb 05, 2015 12:00 am
by Davide Sangalli
Dear Hyungjun Lee,
thank you for the feedback. From your results I would say that the t-rev is the problematic symmetries. The implemented algorithm should instead correctly take into account the other symmetries. I still see small differences between the run without t-rev only and the one with no symmetries at all. I guess they may be due to how the spheres for the interpolation are constructed depending on the number of k-points.

In any case I would say that the precision of the interpolation without t-rev is reasonable.
In the most recent devel version of yambo there should be a barrier which prevents from doing the interpolation when the t-rev is present, although I'm not sure it is already in the last GPL version.

D.

One last suggestion which maybe useful. Instead of doing runs without symmetries in pw.x (which was my first suggestion :-) you can also remove the symmetries using ypp (ypp -n after the creation of the SAVE directory and the initialization), which may be quicker.