Bands

class Bands(k_path: Path, energy: ndarray)

Band structure along a path in k-space

Attributes:
k_pathPath

The path in reciprocal space along which the bands were calculated. E.g. constructed using make_path().

energyarray_like

Energy values for the bands along the path in k-space.

Attributes

callsig

num_bands

Methods

_decorate_plot([point_labels, ax])

Decorate the band structure

_point_names(k_points)

dos([energies, broadening])

Calculate the density of states as a function of energy

plot([point_labels, ax])

Line plot of the band structure

plot_kpath([point_labels])

Quiver plot of the k-path along which the bands were computed

dos(energies: _SupportsArray[dtype[Any]] | _NestedSequence[_SupportsArray[dtype[Any]]] | bool | int | float | complex | str | bytes | _NestedSequence[bool | int | float | complex | str | bytes] | None = None, broadening: float | None = None) Series

Calculate the density of states as a function of energy

\[\text{DOS}(E) = \frac{1}{c \sqrt{2\pi}} \sum_n{e^{-\frac{(E_n - E)^2}{2 c^2}}}\]

for each \(E\) in energies, where \(c\) is broadening and \(E_n\) is eigenvalues[n].

Parameters:
energiesarray_like

Values for which the DOS is calculated. Default: min/max from Bands().energy, subdivided in 100 parts [ev].

broadeningfloat

Controls the width of the Gaussian broadening applied to the DOS. Default: 0.05 [ev].

Returns
——-
:class:`~pybinding.Series`
plot(point_labels: List[str] | None = None, ax: Axes | None = None, **kwargs) List[Line2D] | None

Line plot of the band structure

Parameters:
point_labelsOptional[List[str]]

Labels for the k_points.

axOptional[plt.Axes]

The Axis to plot the bands on.

**kwargs

Forwarded to plt.plot().

plot_kpath(point_labels: List[str] | None = None, **kwargs) None

Quiver plot of the k-path along which the bands were computed

Combine with Lattice.plot_brillouin_zone() to see the path in context.

Parameters:
point_labelsOptional[List[str]]

Labels for the k-points.

**kwargs

Forwarded to quiver().