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.
Return type:numpy.ndarray
bands()
Returns:The bandstrucure bands associated with the given band indices.
Return type:numpy.ndarray
metatext()
Returns:The metatext of the object or None if no metatext is present.
Return type: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.
Return type: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.