Difference between revisions of "Hartree Fock"

From The Yambo Project
Jump to navigation Jump to search
Line 26: Line 26:
The variable  [[Variables#EXXRLvcs|EXXRLvcs]]  governs the number of G vector to be summed in the expression of the exchange self-energy reported above.
The variable  [[Variables#EXXRLvcs|EXXRLvcs]]  governs the number of G vector to be summed in the expression of the exchange self-energy reported above.
The [[Variables#QPkrange|QPkrange]]  name list it is a generalized index needed to select the first and last kpoints and bands we want to calculate the QP correction.  
The [[Variables#QPkrange|QPkrange]]  name list it is a generalized index needed to select the first and last kpoints and bands we want to calculate the QP correction.  
In general we are interested in the gap of the system or in the band structure across the Fermi Energy. Let's start by editing the ''hf.in'' file by selecting the last occupied and first unoccupied bands These are the bands 8 and 9 as reported in the r_setup file.   
In general, we are interested in the gap of the system or in the band structure across the Fermi Energy. Let's start by editing the ''hf.in'' file by selecting the last occupied and first unoccupied bands These are the bands 8 and 9 as reported in the r_setup file.   
So we change the [[Variables#QPkrange|QPkrange]] variable in:
So we change the [[Variables#QPkrange|QPkrange]] variable in:


Line 82: Line 82:
In the report file, the first value indicates the minimum gap while the second one is the maximum energy gap between the same bands.
In the report file, the first value indicates the minimum gap while the second one is the maximum energy gap between the same bands.


In the following, in order to converge the direct gap, we will focus the K point where the direct band is found. Inspecting the ''r_setup'' file, or any other report file it can be recognized that the direct minimum gap is found at the K-point number 7  (M point). Note that the zero energy is fixed at the top of the valence band, K point number 14 (H point).  
In the following, in order to converge the direct gap, we will focus the K point where the direct band is found. Inspecting the ''r_setup'' file, or any other report file it can be recognized that the direct minimum gap is found at the K-point number 7  (M point). Note that the zero energy is fixed at the top of the valence band, K point number 14 (H point).  
So we can restrict the convergence calculations to the occupied and empty bands at point M, by modifying the input file as:
So we can restrict the convergence calculations to the occupied and empty bands at point M, by modifying the input file as:


Line 89: Line 89:
  %
  %


and running different calculations changing the value of [[Variables#EXXRLvcs|EXXRLvcs]], let's say 10,20,30 and 40 Ry.
and run different calculations changing the value of [[Variables#EXXRLvcs|EXXRLvcs]], let's say 10,20,30 and 40 Ry.
 





Revision as of 12:27, 11 April 2017

Prerequisites

The exchange part contribution of the self-energy for a generic state (nk) in reciprocal space reads:

caption

It is important to note that in this way we are adding the HF contribution in a perturbative way to previously calculated DFT energies:

caption

and hence they will differ from a standard self-consistent HF calculation.

Let's start by building up the input file for an HF calculation by typing:

$ yambo -x -V all -F hf.in

Looking inside the input file you will find:

EXXRLvcs = 1491        RL    # [XX] Exchange RL components
%QPkrange                    # [GW] QP generalized Kpoint/Band indices
  1| 14|  1|100|
%

The variable EXXRLvcs governs the number of G vector to be summed in the expression of the exchange self-energy reported above. The QPkrange name list it is a generalized index needed to select the first and last kpoints and bands we want to calculate the QP correction. In general, we are interested in the gap of the system or in the band structure across the Fermi Energy. Let's start by editing the hf.in file by selecting the last occupied and first unoccupied bands These are the bands 8 and 9 as reported in the r_setup file. So we change the QPkrange variable in:

%QPkrange                    # [GW] QP generalized Kpoint/Band indices
   1| 14|  8| 9|
%

and run calculations to converge the expression above. In the expression of the Exchange Self Energy, we have a summation over bands, an integral over the Brillouin Zone and a Sum over the G vectors. Looking at the occupation factor we realize that occupied states only enters in the expression, so we do not need to worry about the bands as Yambo will include all the occupied bands by default. In order to check convergence of the G vectors in the summation in the Σx expression, we will perform different calculation varying the kinetic energy cutoff governing the number of G vectors entering in the sum. Let's start by setting in hf.in:

EXXRLvcs= 10 Ry

and run yambo:

$ yambo -F hf.in -J 3D

The result can be found int the output o-D3.hf file and in the r-D3_HF_and_locXC file. Looking inside the output file we have:

#  K-point    Band       Eo         Ehf        DFT        HF
#
  1.00000    8.00000   -1.29642   -4.78877  -18.03791  -21.53026
  1.000000   9.000000   4.832399   9.755138  -9.592175  -4.669436
  2.00000    8.00000   -1.33551   -4.80180  -18.08289  -21.54919
  2.00000    9.00000    7.56742   13.44057  -11.55955   -5.68641
........

Looking at the definition of the HF energy, the third column is the DFT energy (KS eigenvalue), Ehf is the HF energy, and column 4 and 5 report the different contribution to be subtracted Vx (DFT) and added Σx (HF) to the unperturbed DFT eigenvalue. From this data we can calculate the obtained HF gap: you can recognize that the direct gap is found at k-point number 7 passing from the DFT value 4.29 eV to the HF one 11.95 eV. This information can be easily found in the report file r-D3_HF_and_locXC searching for Direct Gaps:

Before the HF computation:

States summary         : Full        Metallic    Empty
                          0001-0008               0009-0100
 Indirect Gaps      [ev]: 3.877976  7.279063
 Direct Gaps        [ev]:  4.28985  11.35417 

... after the HF computation:

[05.01] HF occupations report
 =============================
 States summary         : Full        Metallic    Empty
                          0001-0008               0009-0100
 Indirect Gaps      [ev]: 11.31653  16.10704
 Direct Gaps        [ev]: 11.94662  21.62986


or simply by typing:

$ grep "Direct Gaps" r-D3_HF_and_locXC

and the gap value before and after the HF correction is shown:

Direct Gaps        [ev]:  4.28985  11.35417
Direct Gaps        [ev]: 11.94662  21.62986

In the report file, the first value indicates the minimum gap while the second one is the maximum energy gap between the same bands.

In the following, in order to converge the direct gap, we will focus the K point where the direct band is found. Inspecting the r_setup file, or any other report file it can be recognized that the direct minimum gap is found at the K-point number 7 (M point). Note that the zero energy is fixed at the top of the valence band, K point number 14 (H point). So we can restrict the convergence calculations to the occupied and empty bands at point M, by modifying the input file as:

%QPkrange                    # [GW] QP generalized Kpoint/Band indices
   7| 7|  8| 9|
%

and run different calculations changing the value of EXXRLvcs, let's say 10,20,30 and 40 Ry.


caption

Let's start by editing the hf.in file by selecting the occupied and unoccupied k point and bands contributing to the direct gap. These are the bands 8 and 9 at K point number 7. You can convince yourself searching for Direct Gaps in the r_setup file and inspecting energies in the same report file.

Links