Fermi level adjustment

Anything regarding the post-processing utility (e.g. excitonic wavefunction analysis) is dealt with in this forum.

Moderators: Davide Sangalli, andrea marini, Daniele Varsano

Post Reply
User avatar
hammouri
Posts: 34
Joined: Fri Feb 09, 2018 11:25 pm

Fermi level adjustment

Post by hammouri » Thu Apr 14, 2022 7:10 pm

Hello all,
When I graph the band structure with DFT I see the valance band max located at zero. But when I try the band structure with GW, I see the valance band max located below zero. In the Hartree output, the max of VB is -6.866995 eV whereas the Ef is 7.889769 eV so the difference is about 1.02 eV. This shift put the BS above the zero, see the attached pic.

Code: Select all

  [X] === General ===
  [X] Electronic Temperature                        :  0.000000  0.000000 [eV K]
  [X] Bosonic    Temperature                        :  0.000000  0.000000 [eV K]
  [X] Finite Temperature mode                       : no
  [X] El. density                                   :  0.95891E+24 [cm-3]
  [X] Fermi Level                                   :  7.889769 [eV]

  [X] === Gaps and Widths ===
  [X] Conduction Band Min                           :  1.590475 [eV]
  [X] Valence Band Max                              :  0.000000 [eV]
  [X] Filled Bands                                  :  30
  [X] Empty Bands                                   :   31  100
  [X] Direct Gap                                    :  2.479373 [eV]
  [X] Direct Gap localized at k-point               :  1
  [X] Indirect Gap                                  :  1.590475 [eV]
  [X] Indirect Gap between k-points                 :   80    1
  [X] Last valence band width                       :  0.888898 [eV]
  [X] 1st conduction band width                     :  3.874326 [eV]


Code: Select all

   [06.01] Hartree-Fock occupations report
  =======================================

  [Hartree-Fock] === General ===
  [Hartree-Fock] Electronic Temperature             :  0.000000  0.000000 [eV K]
  [Hartree-Fock] Bosonic    Temperature             :  0.000000  0.000000 [eV K]
  [Hartree-Fock] Finite Temperature mode            : no
  [Hartree-Fock] El. density                        :  0.95891E+24 [cm-3]
  [Hartree-Fock] Fermi Level                        :  7.889769 [eV]

  [Hartree-Fock] === Gaps and Widths ===
  [Hartree-Fock] Conduction Band Min                :  5.823715 [eV]
  [Hartree-Fock] Valence Band Max                   : -6.866995 [eV]
  [Hartree-Fock] Filled Bands                       :  30
  [Hartree-Fock] Empty Bands                        :   31  100
  [Hartree-Fock] Direct Gap                         :  13.30329 [eV]
  [Hartree-Fock] Direct Gap localized at k-point    :  1
  [Hartree-Fock] Indirect Gap                       :  12.69071 [eV]
  [Hartree-Fock] Indirect Gap between k-points      :   7   1
  [Hartree-Fock] Last valence band width            :  0.913032 [eV]
  [Hartree-Fock] 1st conduction band width          :  4.944641 [eV]
Image
You do not have the required permissions to view the files attached to this post.
Hammouri, M.
Assistant Professor of Physics
University of Wisconsin
USA

User avatar
Daniele Varsano
Posts: 3773
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Fermi level adjustment

Post by Daniele Varsano » Mon Apr 18, 2022 9:48 am

Dear Hammouri,

Yambo by default sets the zero energy as the valence band maximum of the KS structure. All the corrections are done considering this value as zero.
Next the Fermi energy of the QE calculation (ie the operated shift is reported).
Note that the HF occupation report is meaningful only if you calculate corrections for all the k points.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

User avatar
hammouri
Posts: 34
Joined: Fri Feb 09, 2018 11:25 pm

Re: Fermi level adjustment

Post by hammouri » Tue Apr 19, 2022 11:17 am

Daniele Varsano wrote: Mon Apr 18, 2022 9:48 am Note that the HF occupation report is meaningful only if you calculate corrections for all the k points.
Well, the HF occupation report I posted above is actually done for all the k points. I shifted the valance band by -6.866995 eV but it did not locate at zero as seen from the band structure I included above.
Hammouri, M.
Assistant Professor of Physics
University of Wisconsin
USA

User avatar
Daniele Varsano
Posts: 3773
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Fermi level adjustment

Post by Daniele Varsano » Tue Apr 19, 2022 3:03 pm

Dear Hammouri,

the plot you posted is a GW or HF band structure?
eventually, can you post your input/output/reports of the GW calculation and interpolation?

Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

User avatar
hammouri
Posts: 34
Joined: Fri Feb 09, 2018 11:25 pm

Re: Fermi level adjustment

Post by hammouri » Tue Apr 19, 2022 5:38 pm

I am following the steps in this tutorial http://www.yambo-code.org/wiki/index.ph ... rial:_h-BN. The band structure in that tutorial do not include any HF. Anyways, I posted the GW band structure.
These are the inputs:

Code: Select all

#                                                                     
#   __   __     _        __  __       ____      U  ___  u             
#   \ \ / / U  /"\  U u |" \/ "| u U | __") u    \/"_ \/              
#    \ V /   \/ _ \/   \| |\/| |/   \|  _ \/     | | | |              
#   U_|"|_u  / ___ \    | |  | |     | |_) | .-,_| |_| |              
#     |_|   /_/   \_\   |_|  |_|     |____/   \_)-\___/               
# .-,//|(_   \\    >>  <<,-,,-.     _|| \\_        \\                 
#  \_) (__) (__)  (__)  (./  \.)   (__) (__)      (__)                
#                                                                     
#                                                                     
#       Version 5.0.4 Revision 19595 Hash 896bffc02                   
#                        Branch is                                    
#                    MPI+HDF5_IO Build                                
#                http://www.yambo-code.org                            
#
HF_and_locXC                     # [R] Hartree-Fock
ppa                          # [R Xp] Plasmon Pole Approximation
gw0                              # [R] GW approximation
em1d                             # [R][X] Dynamically Screened Interaction
EXXRLvcs= 60               Ry    # [XX] Exchange    RL components
VXCRLvcs= 26745            RL    # [XC] XCpotential RL components
Chimod= "HARTREE"                # [X] IP/Hartree/ALDA/LRC/PF/BSfxc
% BndsRnXp
   1 | 80 |                         # [Xp] Polarization function bands
%
 NGsBlkXp= 4                Ry    # [Xp] Response block size
% LongDrXp
 1.000000 | 1.000000 | 1.000000 |        # [Xp] [cc] Electric Field
%
PPAPntXp= 27.21138         eV    # [Xp] PPA imaginary energy
XTermKind= "none"                # [X] X terminator ("none","BG" Bruneval-Gonze)
% GbndRnge
   1 | 50 |                         # [GW] G[W] bands range
%
GDamping=  0.10000     eV    # [GW] G[W] damping
dScStep=  0.10000      eV    # [GW] Energy step to evaluate Z factors
DysSolver= "n"                   # [GW] Dyson Equation solver ("n","s","g")
%QPkrange                        # [GW] QP generalized Kpoint/Band indices
1|84|25|36|
%
and this is the interpolation:

Code: Select all

#   __   __     _        __  __       ____      U  ___  u             
#   \ \ / / U  /"\  U u |" \/ "| u U | __") u    \/"_ \/              
#    \ V /   \/ _ \/   \| |\/| |/   \|  _ \/     | | | |              
#   U_|"|_u  / ___ \    | |  | |     | |_) | .-,_| |_| |              
#     |_|   /_/   \_\   |_|  |_|     |____/   \_)-\___/               
# .-,//|(_   \\    >>  <<,-,,-.     _|| \\_        \\                 
#  \_) (__) (__)  (__)  (./  \.)   (__) (__)      (__)                
#                                                                     
#                                                                     
#       Version 5.0.4 Revision 19595 Hash 896bffc02                   
#                        Branch is                                    
#                    MPI+HDF5_IO Build                                
#                http://www.yambo-code.org                            
#
electrons                        # [R] Electronic properties
bnds                             # [R] Bands
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= 7.5             # [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
#GfnQPdb="E < all_Bz/ndb.QP uei"
INTERP_mode= "BOLTZ"        # Interpolation mode (NN=nearest point, BOLTZ=boltztrap aproach)
BANDS_steps=20
% BANDS_bands
  25 | 40 |                   # Number of bands 
%
%BANDS_kpts                    # K points of the bands circuit
   0.500 |0.500 |0.500
   0.000 |0.000 |0.000
   0.000 |0.500 |0.000
   0.500 |0.500 |0.000
   0.000 |0.000 |0.000
%
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_kpts                      # K points of the bands circuit
%
~       
r-all_Bz_HF_and_locXC_gw0_em1d_ppa.txt
r_ypp.txt
o-all_Bz.qp.txt
You do not have the required permissions to view the files attached to this post.
Hammouri, M.
Assistant Professor of Physics
University of Wisconsin
USA

User avatar
claudio
Posts: 448
Joined: Tue Mar 31, 2009 11:33 pm
Contact:

Re: Fermi level adjustment

Post by claudio » Tue Apr 19, 2022 9:23 pm

Dear Hammouri

when you calculate the GW correction to the band structure Yambo do not automatically recalculate the Fermi energy,
and therefore the top of the valence bands in the GW band structure is not zero.
You can shift it by hand in your plot.
The same problem appear if you interpolate the GW band structure.

However, if you use the quasi-particle band structure in other calculations as BSE etc... in this case Yambo will put the top valence bands at zero.

best regards
Claudio
Claudio Attaccalite
[CNRS/ Aix-Marseille Université/ CINaM laborarory / TSN department
Campus de Luminy – Case 913
13288 MARSEILLE Cedex 09
web site: http://www.attaccalite.com

User avatar
hammouri
Posts: 34
Joined: Fri Feb 09, 2018 11:25 pm

Re: Fermi level adjustment

Post by hammouri » Wed Apr 20, 2022 1:00 am

Thank you claudio for your reply!
I did it by hand, I mean I added 6.866995 eV to all energies to set the max valance band at zero. But as you see in the band structure graph, the max valance band is above zero.
Hammouri, M.
Assistant Professor of Physics
University of Wisconsin
USA

User avatar
claudio
Posts: 448
Joined: Tue Mar 31, 2009 11:33 pm
Contact:

Re: Fermi level adjustment

Post by claudio » Wed Apr 20, 2022 8:59 am

Dear Hammouri,

try to make a test.
Use the quasi-particle band structure you calculated to get the optical absorption by doing:

yambo -o c -V qp

and read the quasi-particles

XfnQPdb= "E < SAVE/ndb.QP" # [EXTQP Xd] Database action

run the calculations and in the report file you will find the correct Fermi energy for the GW quasi-particle

best
Claudio
Claudio Attaccalite
[CNRS/ Aix-Marseille Université/ CINaM laborarory / TSN department
Campus de Luminy – Case 913
13288 MARSEILLE Cedex 09
web site: http://www.attaccalite.com

User avatar
Daniele Varsano
Posts: 3773
Joined: Tue Mar 17, 2009 2:23 pm
Contact:

Re: Fermi level adjustment

Post by Daniele Varsano » Wed Apr 20, 2022 9:36 am

Dear Hammouri,

if you shift by the HF correction and not the GW correction you cannot get zero. Of course, the HF correction is much larger, you should shift by the obtained GW correction.

Best,
Daniele
Dr. Daniele Varsano
S3-CNR Institute of Nanoscience and MaX Center, Italy
MaX - Materials design at the Exascale
http://www.nano.cnr.it
http://www.max-centre.eu/

Post Reply