Fermi energy and band structure interpolation

Concerns issues with computing quasiparticle corrections to the DFT eigenvalues - i.e., the self-energy within the GW approximation (-g n), or considering the Hartree-Fock exchange only (-x)

Moderators: Davide Sangalli, andrea.ferretti, myrta gruning, andrea marini, Daniele Varsano

Post Reply
TreeEggs
Posts: 4
Joined: Sat Nov 19, 2016 5:15 pm

Fermi energy and band structure interpolation

Post by TreeEggs » Fri Feb 18, 2022 3:56 pm

Hi all!

I have some questions regarding QP band structure calculations, specifically how the results are reported.

It is my understanding that Yambo shifts the KS energies coming out of in this case Quantum Espresso. For example, QE output is for the first k-point has the highest occupied band at 2.4511eV, and the lowest unoccupied one at 3.223eV. It also reports a Fermi energy of 2.7509eV.

In r_setup I however see a Fermi energy of 2.84eV and at the first k-point energies of -0.391309eV and 0.380611eV (see also CBmin and CBmax) reported here:

Code: Select all

 [02.05] Energies & Occupations
  ==============================

  [X] === General ===
  [X] Electronic Temperature                        :  0.258606E-1   300.100    [eV K]
  [X] Bosonic    Temperature                        :  0.258606E-1   300.100    [eV K]
  [X] Finite Temperature mode                       : yes
  [X] El. density                                   :  0.29601E+24 [cm-3]
  [X] Fermi Level                                   :  2.842452 [eV]

  [X] === Gaps and Widths ===
  [X] Conduction Band Min                           :  0.341384 [eV]
  [X] Valence Band Max                              : -0.348692 [eV]
  [X] Filled Bands                                  :  102
  [X] Empty Bands                                   :  103  300
  [X] Direct Gap                                    :  0.701256 [eV]
  [X] Direct Gap localized at k-point               :   9
  [X] Indirect Gap                                  :  0.690076 [eV]
  [X] Indirect Gap between k-points                 :   8  10
  [X] Last valence band width                       :  0.349303 [eV]
  [X] 1st conduction band width                     :  0.309158 [eV]
So it roughly seems as if Yambo shifted the energies such that the Fermi energy of the DFT calculation is set to zero? Is that correct? I was under the impression that the zero should be at the VBM from previous posts?

Then, in the resulting *.qp file, also the shifted KS energies show up. With the QP shifts being "asymmetric".

Code: Select all

        1                  102               -0.391309          -1.192311          -0.593971
        1                  103                0.380611           0.451979          -3.108466
However, when I interpolate a band structure with ypp, it also appears as if the GW band structure is shifted such that the middle of the gap (Fermi energy) is zero. Is this intended behavior, or is there anything that I have somehow missed?

Addition:
I was also confused by ypp's output. I am running the interpolation in batches. And I notice it reports

Code: Select all

 <---> [06.04] Fermi Levels
 <---> Fermi Level  (BUILT-in bands)     :  2.842452 [eV]
 
but does report different values for different batches. For most of them actually

Code: Select all

 <---> [06.04] Fermi Levels
 <---> Fermi Level  (BUILT-in bands)     :  0.000000 [eV]
 
What is the meaning of this and could it be possible then that different batches have different shifts?
Bjoern Baumeier
TU Eindhoven

User avatar
Davide Sangalli
Posts: 610
Joined: Tue May 29, 2012 4:49 pm
Location: Via Salaria Km 29.3, CP 10, 00016, Monterotondo Stazione, Italy
Contact:

Re: Fermi energy and band structure interpolation

Post by Davide Sangalli » Sun Feb 20, 2022 11:58 pm

Dear Bjoern,
It is my understanding that Yambo shifts the KS energies coming out of in this case Quantum Espresso.
Yambo is shifting the energy levels as you understand. Setting the zero energy as follow:
- to the VBM at zero temperature
- to the chemical potential, i.e. in between the VBM and the CBM at finite temperature.

The exact position of the chemical potential depends on the curvature of the two bands, and on the temperature. For symmetric CBM and VBM it would be always halfway.
For non-symmetric CBM and VMB it is closer to one of the two, and the shift is proportional to the temperature. For T->0 it should fall again halfway.
But this is standard textbook physics.

Besides that, the fact that yambo uses the VBM a T=0 and the chemical potential at finite temperature is there for historical reasons.
We should probably always use the chemical potential.
For example, QE output is for the first k-point has the highest occupied band at 2.4511eV, and the lowest unoccupied one at 3.223eV. It also reports a Fermi energy of 2.7509eV.

In r_setup I however see a Fermi energy of 2.84eV and at the first k-point energies of -0.391309eV and 0.380611eV (see also CBmin and CBmax) reported here:
Then the shift applied by yambo is -0.391309 -2.4511 = -2.842409 eV, which is what you see reported under the "Fermi Energy" in yambo, since it assumes that the "QE Fermi energy" was zero.
So the number 2.7509eV reported by QE has nothing to do with all this.

All the rest looks good to me.
However, when I interpolate a band structure with ypp, it also appears as if the GW band structure is shifted such that the middle of the gap (Fermi energy) is zero. Is this intended behavior, or is there anything that I have somehow missed?
The above-discussed position of the chemical potential depends on the calculation of the occupations via a Fermi function.
If I'm not wrong, when ypp loads the QP energies it computes a new chemical potential using these new bands, and it shifts it again to zero.
I'd say in an extended system this could be a reasonable way to compare DFT and GW bands.
Addition:
I was also confused by ypp's output. I am running the interpolation in batches. And I notice it reports

Code: Select all

<---> [06.04] Fermi Levels
<---> Fermi Level (BUILT-in bands) : 2.842452 [eV]


but does report different values for different batches. For most of them actually

Code: Select all

<---> [06.04] Fermi Levels
<---> Fermi Level (BUILT-in bands) : 0.000000 [eV]


What is the meaning of this and could it be possible then that different batches have different shifts?
Here I guess "in batches" means groups of bands. If you select just occupied states, for example, I guess Yambo is not able to get the proper chemical potential.
It may be just a bug in the report/log. At the end what Yambo calls "Fermi level" is just a way to keep track of the shift introduced with respect to the QE energies.

Best,
D.
Davide Sangalli, PhD
CNR-ISM, Division of Ultrafast Processes in Materials (FLASHit) and MaX Centre
https://sites.google.com/view/davidesangalli
http://www.max-centre.eu/

TreeEggs
Posts: 4
Joined: Sat Nov 19, 2016 5:15 pm

Re: Fermi energy and band structure interpolation

Post by TreeEggs » Mon Mar 07, 2022 12:43 pm

Hi Davide,

thank you for the answers and sorry for the late reply - forgot to check the notification box and only rechecked now.

Makes a lot of sense. I also figured out that the reason why the code was reporting a Fermi energy was due to some finite T setting in the QE calculation. Without that, the behavior was more like I had expected it initially.

Thanks again!
Bjoern
Bjoern Baumeier
TU Eindhoven

Post Reply