# Fat-bands for Si¶

Here we will use the fat program to compute the projections of wavefunctions obtained from band-structure calculation with the option Write.WFS.For.Bands onto specified orbital sets. The resulting “fatbands” can later be plotted.

Hint

Enter the si_fatbands directory

Here we see a si_fatbands.fdf file with a slightly modified band-structure section:

BandLinesScale  pi/a
WFS.Write.For.Bands T             # For fat-bands analysis
Wfs.band.min 1
Wfs.band.max 8
%block BandLines                  # These are comments
1  0.000  0.000  0.000  \Gamma   # Begin at Gamma
25  2.000  0.000  0.000     X     # 25 points from Gamma to X
10  2.000  1.000  0.000     W     # 10 points from X to W
15  1.000  1.000  1.000     L     # 15 points from W to L
20  0.000  0.000  0.000  \Gamma   # 20 points from L to Gamma
25  1.500  1.500  1.500     K     # 25 points from Gamma to K
%endblock BandLines


Note the WFS.* options, requesting the output of wavefunctions for specific bands. Without them, the program would only generate a .bands file with band eigenvalues. Note also:

Save-HS T


Once we run the file, we will have si_fatbands.HSX and si_fatbands.bands.WFSX files, and we can process them:

ln -sf si_fatbands.bands.WFSX si_fatbands.WFSX
fat [options] fatbands


using the orbital sets in the fatbands.mpr file.

Then, a number of .EIGFAT files will be produced. These files contain both the eigenvalues and the projection weight for each orbital set in the .mpr file, and can be re-processed by the “eigfat2plot” program (in Util/Bands in the Siesta distribution) to produce data files suitable for plotting by Gnuplot:

eigfat2plot fatbands.fatbands_Si_3s.EIGFAT > 3s.dat
eigfat2plot fatbands.fatbands_Si_3p.EIGFAT > 3p.dat
eigfat2plot fatbands.fatbands_Si_3d.EIGFAT > 3d.dat


The typical commands with gnuplot are:

plot "3s.dat" using 1:2:(4*$3) with points pt 6 ps variable replot "3p.dat" using 1:2:(4*$3) with points pt 6 ps variable


to tag the orbital projections with different visual markers.

Alternatively, users might want to produce their own post-processors.