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.