Fat-bands¶
Do you want to get all tutorial materials on your local machine?
You can get all files and set up your local environment. Do that now before proceeding.
Fat-bands provide a way to visualize the orbital character of band states by projecting wavefunctions onto specified orbital sets. While this technique is not directly derived from the main theoretical chain discussed earlier, it provides valuable insight into which orbitals contribute to each band.
Hint
Enter the MgO directory
In the input file MgO.fdf, you can see these options in the
band-structure section:
WFS.Write.For.Bands T # For fat-bands analysis
Wfs.band.min 1
Wfs.band.max 5
Save-HS T # Needed for fat-bands
Note the WFS.* options, requesting the output of wavefunctions for
specific bands (optional). Without them, the program would only generate
a .bands file with band eigenvalues.
Once we run SIESTA with this input file, we will have a
MgO.bands.WFSX file, which we can process with:
fat [options] fatbands.mpr
using the orbital sets in the fatbands.mpr file.
Note
The input file for fat has the same content as pdos.mpr, the input file for mprop
used to plot the Partial Density of States (PDOS). This is no accident, as we basically have
to define orbital sets on which to project, and specify labels for the files to be produced.
Then, a number of files with the .EIGFAT extension 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
to produce data files suitable for plotting by gnuplot:
eigfat2plot fatbands.Mg-orbitals.EIGFAT > Mg-orbitals.dat
eigfat2plot fatbands.O-orbitals.EIGFAT > O-orbitals.dat
The structure of the output files has 4 columns: k-point index, eigenEnergy,
weight, and spin. We can use gnuplot with the following commands:
set yrange[-26:6]
plot "O-orbitals.dat" using 1:2:(3*column(3)) with points pt 6 ps variable
to plot open circles (pt 6) of size proportional to the relative weight of the O orbitals in
the band state.
The origin of the name “fatbands” should now be clear. Alternatively, we could use:
set yrange[-26:6]
plot "O-orbitals.dat" using 1:2:(1*column(3)) with lines palette lw 2
to plot lines whose color changes according to the relative weight of the O orbitals in the band state.
Similar plots can be generated to show the weight of the Mg orbitals.
With this analysis you can see how the first conduction band is mainly made up of contributions from Mg orbitals, whereas the O orbitals are the main contributors to the valence bands.
Exercise: band projections on Oxygen s and p orbitals
Edit the fatbands.mpr file to add two new projections: O-2s-orbitals (with orbital spec O_2s) and O-2p-orbitals (with orbital spec O_2p), and plot the resulting fatbands. Where are the p-states of Oxygen more prevalent?
Fatbands and pDOS are related to each other in the same way as the bands and the DOS: the DOS is the result of adding up over the BZ the number of states with a given energy in the band structure; the pDOS includes also the appropriate projection weights as shown in the fatbands.
Alternative: Using sisl for fatbands
It is also possible to perform fatbands analysis with sisl.
For more information check the sisl documentation.