Page 1 of 1

Wrong silicon bandstructure using boltztrap interpolation by yambo

Posted: Mon Jun 14, 2021 6:20 am
by hellolori
Dear experts,

Previously I have successfully obtained the G0W0 bandstrcutrure of silicon using QE (v6.6)+Wannier90 (v3.1.0)+Yambo (v5.0.1). I try to recalculate it using "boltztrap interpolation" implemented in YAMBO. However, the resulatant bandstructures are incorrect, as one can see the unphysical split of the valance bands in the following figure (left panel). In contrast, the non-self-consistent calculation using QE based on the same ground-states charge density can give reasonable shape of bandstructure (right panel). Therefore, I guess that there maybe something wrong with the boltztrap interpolation for the silicon bandstructure calculation.
Image
In the following, I show the process of GGA bandstructure calculation using Quantum ESPRESSO + YAMBO
1. scf calculation

Code: Select all

&control
    calculation='scf', restart_mode='from_scratch',
    prefix='Si', outdir='./'
pseudo_dir='./', wf_collect=.true.,  verbosity ='high',
/&end
 &system
    ibrav=2,
    celldm(1)=10.183,
    nat=2,
    ntyp=1,
    ecutwfc=15.0,
    force_symmorphic= .true.,
    nbnd=10,
/&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)
 4 4 4 1 1 1
2. nscf calculation

Code: Select all

&control
    calculation='nscf', restart_mode='from_scratch',
    prefix='Si', outdir='./'
pseudo_dir='./', wf_collect=.true., verbosity ='high',
/&end
 &system
    ibrav=2,
    celldm(1)=10.183,
    nat=2,
    ntyp=1,
    ecutwfc=15.0,
    nbnd=50,
    force_symmorphic= .true.,
/&end
 &electrons
    diago_thr_init = 1.0d-5
    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)
  6 6 6 0 0 0
3. Obtain the "SAVE" folder using p2y
4. initialize yambo
5. Boltztrap interpolation using ypp

Code: Select all


#       Version 5.0.1 Revision 19547 Hash e90d90f2d
#                    Branch is master
#                  MPI+SLK+HDF5_IO Build
#                http://www.yambo-code.org
#
electrons                        # [R] Electronic properties
bnds                             # [R] Bands
PROJECT_mode= "none"             # Instruct ypp how to project the DOS. ATOM, LINE, PLANE.
INTERP_mode= "BOLTZ"                # Interpolation mode (NN=nearest point, BOLTZ=boltztrap aproach)
INTERP_Shell_Fac= 20.00000       # The bigger it is a higher number of shells is used
INTERP_NofNN= 1                  # Number of Nearest sites in the NN method
OutputAlat= 0.000000             # [a.u.] Lattice constant used for "alat" ouput format
cooIn= "rlu"                     # Points coordinates (in) cc/rlu/iku/alat
cooOut= "rlu"                    # Points coordinates (out) cc/rlu/iku/alat
% BANDS_bands
   1 | 14 |                         # Number of bands
%
#GfnQPdb= "E < ./PPA/ndb.QP"
CIRCUIT_E_DB_path= "none"        # SAVE obtained from the QE `bands` run (alternative to %BANDS_kpts)
BANDS_path= ""                   # High-Symmetry points labels (G,M,K,L...) also using composed positions (0.5xY+0.5xL).
BANDS_steps= 50                  # Number of divisions
#BANDS_built_in                # Print the bands of the generating points of the circuit using the nearest internal point
%BANDS_kpts                      # K points of the bands circuit
 0.50000 | 0.50000 | 0.5000 |
 0.00000 | 0.00000 | 0.0000 |
0.50000  | 0.00000 | 0.5000 |
 0.50000 | -0.50000 | 0.0000 |
 0.37500 | -0.37500 | 0.0000 |
 0.00000 |  0.00000 | 0.0000 |
%
The resultant bandstructure is the light-blue curves in the left panel of the above figure.

Can anyone help me to obtain the correct bandsturcuture?

Bests,
Feipeng Zheng

Re: Wrong silicon bandstructure using boltztrap interpolation by yambo

Posted: Mon Jun 21, 2021 10:38 pm
by claudio
Dear Feipeng Zheng

I made some tests without finding any particular problem in the code.
The smooth Fourier interpolation is not as powerful as the Wannier one,
probably you need more k-points to get something better, 12x12x12 for example.

The code of the smooth Fourier interpolation is based on this paper
https://journals.aps.org/prb/abstract/1 ... vB.38.2721

have look to understand its limits.


In order to improve the interpolation in the GoWo case, there is the possibility to read DFT bands
from QE and then interpolate only the GW correction using the variable

CIRCUIT_E_DB_path= "none"

or you can export the QE results of Yambo to Wannier90 and interpolate there,
see the discussion here:
viewtopic.php?t=1180
viewtopic.php?f=9&t=1358

best
Claudio