Band Structure

BAND can calculate the band structure for the standard k-path in the Brillouin zone [1] and saves the corresponding data to the binary file RUNKF.

The band structure is best examined with the GUI module BandStructure see:

BandStructure
   Enabled Yes/No
   Automatic Yes/No
   DeltaK float
   FatBands Yes/No
   UseSymmetry Yes/No
   EnergyAboveFermi float
   EnergyBelowFermi float
End
BandStructure
Type:Block
Description:Options for the calculation of the band structure.
Enabled
Type:Bool
Default value:No
GUI name:Calculate band structure
Description:If True, Band will calculate the band structure and save it to file for visualization.
Automatic
Type:Bool
Default value:Yes
GUI name:Automatic generate path
Description:If True, BAND will automatically generate the standard path through the Brillouin zone. If False BAND will use the user-defined path in BZPath.
DeltaK
Type:Float
Default value:0.1
Unit:1/Bohr
GUI name:Interpolation delta-K
Description:Step (in reciprocal space) for band structure interpolation. Using a smaller number (e.g. 0.03) will result in smoother band curves at the cost of an increased computation time.
FatBands
Type:Bool
Default value:Yes
GUI name:Calculate fatbands
Description:If True, BAND will compute the fat bands (only if BandStructure%Enabled is True). The Fat Bands are the periodic equivalent of the Mulliken population analysis.
UseSymmetry
Type:Bool
Default value:Yes
GUI name:Use symmetry
Description:If True, only the irreducible wedge of the Wigner-Seitz cell is sampled. If False, the whole (inversion-unique) Wigner-Seitz cell is sampled. Note: The Symmetry key does not influence the symmetry of the band structure sampling.
EnergyAboveFermi
Type:Float
Default value:0.75
Unit:Hartree
GUI name:Energy above Fermi level
Description:Bands with minimum energy larger then FermiEnergy + EnergyAboveFermi are not saved to file. Increasing the value of EnergyAboveFermi will result in more unoccupied bands to be saved to file for visualization.
EnergyBelowFermi
Type:Float
Default value:10.0
Unit:Hartree
GUI name:Energy below Fermi level
Description:Bands with maximum energy smaller then FermiEnergy - EnergyBelowFermi are not saved to file. Increasing the value of EnergyBelowFermi will result in more occupied core bands to be saved to file for visualization. Note: EnergyBelowFermi should be a positive number!

Information on the k-path used for band structure plotting (including the fractional coordinates of high-symmetry k-points) can be found in the section KPath of the output file.

User-defined path in the Brillouin zone

If BZStruct%Automatic is False, BAND will compute the band structure for the user-defined path in the BZPath block.

BZPath
   path # Non-standard block. See details.
      ...
   End
End
BZPath
Type:Block
Description:Definition of the user-defined path in the Brillouin zone for band structure plotting.
path
Type:Non-standard block
Recurring:True
Description:Definition of the k-points in a path. The vertices of your path should be defined in fractional coordinates (wrt the reciprocal lattice vectors)

You should define the vertices of your path in fractional coordinates (wrt the reciprocal lattice vectors) in the Path sub-block. If you want to make a jump in your path, you need to specify a new Path sub-block.

In the following example we define the path Gamma-X-W-K|U-X for a FCC lattice:

BZPath
   Path
      0.000   0.000   0.000
      0.500   0.000   0.500
      0.500   0.250   0.750
      0.375   0.375   0.750
   End
   Path
      0.625   0.250   0.625
      0.500   0.000   0.500
   End
End

Definition of the Fat Bands

The fat bands \(F_{i,n,\sigma,\vec{k}}\) are the periodic equivalent of the Mulliken population. They are defined as:

\[F_{i,n,\sigma,\vec{k}} = \sum_j C_{i,n,\sigma,\vec{k}} C_{j,n,\sigma,\vec{k}} S_{i,j,\vec{k}}\]

where \(C_{i,n,\sigma,\vec{k}}\) and \(S_{i,j,\vec{k}}\) are the orbital coefficients and the overlap matrix elements respectively. The indices \(i\) and \(j\) denote basis functions, \(n\) is the band index, \(\sigma\) is the spin index and \(\vec{k}\) is a reciprocal vector in the Brillouin zone.

Band Gap

The band gap (if any) is printed in the output. Here is an example for the NaCl crystal:

----------------------------------------
Band gap information
----------------------------------------
Number of valence electrons                    16
Valence Band index                              8
Top of valence Band (a.u.)                 -0.192
Bottom of conduction Band (a.u.)           -0.039
Band gap (a.u.)                             0.153
Band gap (eV)                               4.173
Band gap (kcal)                            96.235

References

[1]W. Setyawan and S. Curtarolo, High-throughput electronic band structure calculations: Challenges and tools, Computational Materials Science 49 (2010) 299–312.

Calculation of the Fermi Surface

If the system has no band gap it is a metal, and that means that the Fermi surface is a complex shape in the Brillouin zone. As multiple bands may be crossing the fermi energy there may be multiple surfaces. In case of a spin unrestricted calculation both spins have a fermi surfrace of their own. For 2D systems the “surface” consists of one or more lines. The result can be viewed with the GUI module amsbands.

FermiSurface
   Enabled Yes/No
   KIntegForSymmetricKGrid integer
   NMesh integer
End
FermiSurface
Type:Block
Description:Calculation of the Fermi surface for metals
Enabled
Type:Bool
Default value:No
GUI name:Calculate Fermi surface
Description:Calculate the Fermi surface if the system has no band gap (i.e. is a metal). The result can be visualized with amsbands.
KIntegForSymmetricKGrid
Type:Integer
Default value:-1
Description:If the (default) regular k-grid is used, a symmetric one is created to determine the Fermi surface. If this key is not specified an automatic value of kInteg is used. Odd values trigger quadratic interpolation.
NMesh
Type:Integer
Default value:7
Description:Improves the matching of the interpolated quadratic surface. For better results it makes more sense to increaes KIntegForSymmetricKGrid.