Requests for technical support from the VASP group should be posted in the VASP-forum.

# Plotting the BSE fatband structure of Si

Jump to navigationJump to search

## Task

Visualization of BSE eigenvectors using fatbands.

## Input

Si
5.4300
0.5 0.5 0.0
0.0 0.5 0.5
0.5 0.0 0.5
2
cart
0.00 0.00 0.00
0.25 0.25 0.25


### INCAR

• This is the INCAR file for the basic DFT calculation:
System  = Si

PREC = Normal ; ENCUT = 250.0

ISMEAR = 0 ; SIGMA = 0.01
KPAR = 2

EDIFF = 1.E-8
NBANDS = 16
LOPTICS = .TRUE.  # needed for WAVEDER file
LPEAD = .TRUE.
OMEGAMAX = 40


### KPOINTS

The KPOINTS file will be automatically generated in this example.

## Calculation

• In this example we will calculate and plot the first "bright" BSE eigenstates of silicon, also called fatbands[1]. In this tutorial the modelBSE setup from the previous tutorial is used in combination with a ${\displaystyle 10\times 10\times 10}$ gamma centered k-point grid (if you don't want to wait that long, a ${\displaystyle 4\times 4\times 4}$ grid takes only a minute). In principle the standard BSE method can also be used instead.

### Step 1 DFT calculation

We run a standard DFT calculation with the input files given above.

### Step 2 BSE calculation with fatbands

• The INCAR file for the modelBSE calculation looks like the following:
System  = Si

PREC = Normal ; ENCUT = 250.0

#ALGO = BSE
ANTIRES = 0
ISMEAR = 0 ; SIGMA = 0.01
ENCUTGW = 150

EDIFF = 1.E-8 # default 1.E-4
NBANDS = 16   # only bands that are used are required, prepare the same set in a forgoing DFT run
NBANDSO = 4
NBANDSV = 8
OMEGAMAX = 20

PRECFOCK = Normal

ALGO = TDHF
LMODELHF = .TRUE. #Turn model on
HFSCREEN = 1.26  # Screening lenght
AEXX = 0.088    #Inverse of epsilon_infinity
SCISSOR = 0.69  # Difference GW-DFT band gap

NBSEEIG = 10 # number of BSE eigenvectors written out in BSEFATBAND

• The important tag for fatband calculations is NBSEEIG. In this example this will write the 10 energetically lowest BSE eigenvectors to the output file BSEFATBAND.
• After the (model)BSE calculation we first look into the vasprun.xml file to have a look at the BSE eigenvalues and the oscillator strengths (exact numbers can of course differ depending on the method you use and the density of your k-point grid):
<varray name="opticaltransitions" >
<v>      3.148           0.000 </v>
<v>      3.148           0.000 </v>
<v>      3.148           0.000 </v>
<v>      3.149       25654.244 </v>
<v>      3.149       25660.601 </v>
<v>      3.149       25665.652 </v>
<v>      3.151           0.001 </v>
<v>      3.151           0.001 </v>
<v>      3.152         423.751 </v>
<v>      3.310      216931.963 </v>
<v>      3.310      216916.814 </v>
<v>      3.310      216935.593 </v>


The first number column shows the BSE eigenvalue and the second one the oscillator strength. We want to plot the first "bright" state, that means in this case number 4.

• We inspect the fourth band in the BSEFATBAND output file:
             28428                10
1BSE eigenvalue    3.14798542      IP-eigenvalue:    3.25790292
0.00000  0.00000  0.00000    -6.1302666     9.0994773       0.0000001     1     5     -0.000000+i*    -0.000000
0.00000  0.00000  0.00000     5.8415744     9.0994773       0.0876503     2     5      0.000076+i*     0.000043
0.00000  0.00000  0.00000     5.8415744     9.0994773     341.0850802     3     5      0.088630+i*    -0.329369
0.00000  0.00000  0.00000     5.8415744     9.0994773     543.1678695     4     5      0.361803+i*    -0.405130
0.00000  0.00000  0.00000    -6.1302666     9.0994773       0.0000004     1     6     -0.000000+i*     0.000000
…(28428-6 more lines till 2BSE eigenvalue …)
4BSE eigenvalue    3.14855812      IP-eigenvalue:    3.25790292
0.00000  0.00000  0.00000    -6.1302666     9.0994773       0.0024165     1     5      0.000002+i*     0.000001
0.00000  0.00000  0.00000     5.8415744     9.0994773      31.4738813     2     5     -0.027821+i*    -0.014718
0.00000  0.00000  0.0000File:Fig BSE example3 1.png0     5.8415744     9.0994773     187.8684774     3     5      0.049093+i*    -0.181341
0.00000  0.00000  0.00000     5.8415744     9.0994773     360.1697144     4     5      0.239775+i*    -0.268757
0.00000  0.00000  0.00000    -6.1302666     9.0994773       0.0289534     1     6      0.000019+i*    -0.000022
...


The description of the values is given as follows:

1. line: Number of e-h pairs in the BSE basis and value for NBSEEIG.
2. line: BSE eigenvalue and minimum band gap before BSE.
3. line: Column 1-3 k-point coordinate, column 4 hole eigenvalue, column 5 electron eigenvalue, column 6 absolute value of coupling coefficient (radius of circles), column 7 hole orbital, column 8 electron number, column 9 real part of coupling coefficient, column 10 imaginary part of coupling coefficient.

Columns 1-6 are used to plot the fatbands.

• Plotting of data:
1. Select the BSE eigenstate from the FATBAND file which you want to plot.
2. Filter out all e-h pairs that lie on the high symmetry k-lines along which you want to plot the fat bandstructure:
#!/bin/bash

head -n  113716  BSEFATBAND > tmTry: NBANDSO=NBANDSV=2


and check how much this effects the bse results.p.dat

tail -n  28428  BSEFATBAND > BSE4.dat
rm tmp.dat

awk <BSE4.dat  ' { if ($1==$2 && $3==$2) print sqrt($1*$1+$2*$2+$3*$3), $4,$5, $6 }' >bands-GL.dat awk <BSE4.dat ' { if ($1==$3 &&$2==0.0) print sqrt($1*$1+$2*$2+$3*$3), $4,$5, \$6 }' >bands-GX.dat

1. Use your favourite tool to plot the output in the following manner:
|k-point|   electron        hole          |A|
eigenvalue    eigenvalue
x          y1            y2         radius


File:Fig BSE example3 1.png

• The sample output for this tutorial should look like the following:

The fat band picture allows you to visually inspect which e-h pairs contribute the most to a particular BSE eigenstate. When k-point convergence is important, you can use it to truncate your e-h product basisset by choosing smarter NBANDSO/NBANDSV and/or OMEGAMAX values. Try NBANDSO=NBANDSV=2and check how much this effects the BSE results.

## References

Back to the main page