# FermiSurface¶

class FermiSurface(configuration, sampling, band_indices)

The FermiSurface is used for calculating a surface associated with an energy grid in the reciprocal k-space. For a given BulkConfiguration, its unit cell is used to calculate the Brillouin zone in k-space. The bounding box of the Brillouin zone is then used to define the k-point sampling space, which is given as input to a Bandstructure calculation. The resulting bands make up the energy grid an energy isosurface can be obtained. For the band corresponding to the Fermi energy, this isosurface corresponds to the so-called Fermi surface.

Parameters: configuration (BulkConfiguration) – The bulk configuration (with an attached calculator) the band surface should be calculated for. sampling (int) – The sampling, n, used for the 3D grid from which the Fermi surface is extracted. n sampling points are used to discretize the longest grid axis. The length of the resulting sampling intervals defines the discretization of the two remaining axis. band_indices (list of int) – The indices of the bandstrucure band from which the surface is sampled.
bandIndices()
Returns: The band indices, .i.e. the bandstrucure indices for which surfaces can be calculated. numpy.ndarray
bands()
Returns: The bandstrucure bands associated with the given band indices. numpy.ndarray
metatext()
Returns: The metatext of the object or None if no metatext is present. str | unicode | None
nlprint(stream=None)

Print a string containing an ASCII table useful for plotting the AnalysisSpin object.

Parameters: stream (python stream) – The stream the table should be written to. Default: NLPrintLogger()
sampling()
Returns: The sampling value of the band surface. int
setMetatext(metatext)

Set a given metatext string on the object.

Parameters: metatext (str | unicode | None) – The metatext string that should be set. A value of “None” can be given to remove the current metatext.