Package schrodinger :: Package application :: Package matsci :: Package espresso :: Module qeoutput :: Class BandStructure
[hide private]
[frames] | no frames]

Class BandStructure

object --+
         |
        BandStructure

This class is based on the class from pymatgen (MIT license).

Instance Methods [hide private]
 
__init__(self, kpoints, eigenvals, efermi, struct=None)
Initialize BandStructure object.
bool
isMetal(self)
Check if the band structure indicates a metal by looking if the Fermi level crosses a band.
 
getVbmCbm(self, vbm=True)
Return data about the valence band maximum (VBM) or conduction band minimum (CBM).
dict
getBandGap(self)
Get band gap data.
 
generatePlotData(self)
Generate distances between k-points (in self.distances) for plotting band structure.

Inherited from object: __delattr__, __format__, __getattribute__, __hash__, __new__, __reduce__, __reduce_ex__, __repr__, __setattr__, __sizeof__, __str__, __subclasshook__

Properties [hide private]

Inherited from object: __class__

Method Details [hide private]

__init__(self, kpoints, eigenvals, efermi, struct=None)
(Constructor)

 

Initialize BandStructure object.

@type kpoints: list of Kpoint objects
@param: List of k-points for this band structure

@type eigenvals: dict
@param eigenvals: Energies of the band structure in the shape:
{SPIN_UP: numpy.array([iband, jkpoint]),
 SPIN_DW: numpy.array([iband, jkpoint])}
SPIN_DW key can be present or not depending on the calculation type

@type efermi: float
@param efermi: Fermi energy in Hartree

@type struct: L{structure.Structure}
@param struct: Related structure

Overrides: object.__init__

isMetal(self)

 

Check if the band structure indicates a metal by looking if the Fermi level crosses a band.

Returns: bool
True, if the system is metallic

getVbmCbm(self, vbm=True)

 

Return data about the valence band maximum (VBM) or conduction band
minimum (CBM).

@type vbm: bool
@param vbm: If True calculates VBM, if False CBM

@rtype: dict
@return: dict with keys BAND_INDEX_KEY, KPOINT_INDEX_KEY, KPOINT_KEY,
                        ENERGY_KEY
    - BAND_INDEX_KEY: A dict with spin keys pointing to a list of the
    indices of the band containing the VBM (please note that you
    can have several bands sharing the VBM) {SPIN_UP:[],
    SPIN_DW:[]}
    - KPOINT_INDEX_KEY: The list of indices in self.kpoints for the
    kpoint vbm. Please note that there can be several
    kpoint_indices relating to the same kpoint (e.g., Gamma can
    occur at different spots in the band structure line plot)
    - KPOINT_KEY: The kpoint (as a kpoint object)
    - ENERGY_KEY: The energy of the VBM

getBandGap(self)

 

Get band gap data.

Returns: dict
dict with keys ENERGY_KEY, DIRECT_KEY, TRANSITION_KEY: ENERGY_KEY: band gap energy DIRECT_KEY: A boolean telling if the gap is direct or not TRANSITION_KEY: kpoint labels of the transition (e.g., "\Gamma-X")