Page 1 of 1

Fermi energy and band structure interpolation

Posted: Fri Feb 18, 2022 3:56 pm
by TreeEggs
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?

Re: Fermi energy and band structure interpolation

Posted: Sun Feb 20, 2022 11:58 pm
by Davide Sangalli
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.

Re: Fermi energy and band structure interpolation

Posted: Mon Mar 07, 2022 12:43 pm
by TreeEggs
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