Band Structure Utilities

class aimstools.bandstructures.utilities.BandSpectrum(atoms: ase.atoms.Atoms = None, kpoints: numpy.ndarray = None, kpoint_axis: numpy.ndarray = None, eigenvalues: numpy.ndarray = None, occupations: numpy.ndarray = None, label_coords: list = None, kpoint_labels: list = None, jumps: list = None, fermi_level: float = None, reference: str = None, shift: float = None, bandpath: str = None)[source]

Bases: object

Container class for eigenvalue spectrum and associated data.

Variables:
atoms
bandgap

Returns the fundamental band gap of the system.

bandpath
eigenvalues
fermi_level
get_direct_gap(spin)[source]

Returns direct band gap for given spin channel or None if metallic along this spin channel.

get_indirect_gap(spin)[source]

Returns indirect band gap for given spin channel or None if metallic along this spin channel.

jumps
kpoint_axis
kpoint_labels
kpoints
label_coords
occupations
print_bandgap_information(spin='none')[source]
reference
shift
class aimstools.bandstructures.utilities.BandStructurePlot(main=True, **kwargs)[source]

Bases: object

Context to draw band structure plot. Handles the correct shifting, labeling and axes limits.

draw()[source]
set_data_from_spectrum()[source]
set_energy_tick_locator()[source]
set_kpoint_labels()[source]
set_xy_axes_labels()[source]
set_xy_limits()[source]
class aimstools.bandstructures.utilities.DirectBandGap(value: float = None, spin_index: int = None, k_index: int = None, k_axis_coords: float = None, kpoint: list = None, vbm: float = None, cbm: float = None)[source]

Bases: object

Container class to store information about the direct band gap.

class aimstools.bandstructures.utilities.IndirectBandGap(value: float = None, spin_index: int = None, k_index1: int = None, k_index2: int = None, k_axis_coords1: float = None, k_axis_coords2: float = None, kpoint1: list = None, kpoint2: list = None, vbm: float = None, cbm: float = None)[source]

Bases: object

Container class to store information about the indirect band gap.

class aimstools.bandstructures.utilities.MullikenBandStructurePlot(contributions=None, **kwargs)[source]

Bases: aimstools.bandstructures.utilities.BandStructurePlot

Context to draw mulliken band structures. Handles legends, color maps, etc.

draw()[source]
interpolate_bands_1d(band_x, band_y, band_width, interpolation_step)[source]
plot_linecollection(band_x, band_y, band_width, cmap)[source]
plot_scatter(band_x, band_y, band_width, cmap)[source]