aiida_vasp.utils.sumo#
Module for plotting the AiiDA BandsData using sumo.
Module Contents#
Functions#
Get density of state by reading directly from the vasprun.xml file. |
|
Return a pymatgen BandStructureSymmLine object from BandsData. |
|
Return a sumo SBSPlotter object |
|
Find the fermi energy, put it at the top of VBM NOTE: this differs from the fermi energy reported in VASP when there is any electronic smearing. |
|
Find the fermi energy, put it at the top of VBM NOTE: this differs from the fermi energy reported in VASP when there is any electronic smearing. |
|
Convert labels to laxtex style |
|
Obtain a pymatgen phonon bandstructure plotter |
|
Obtain a sumo phonon plotter object |
|
Extract fitting data for band extrema based on spin, kpoint and band. |
|
Get the fermi energy from a BandsData node |
API#
- aiida_vasp.utils.sumo.get_sumo_dos_plotter(scf_node: aiida.orm.CalcJobNode, **kwargs) sumo.plotting.dos_plotter.SDOSPlotter#
Get density of state by reading directly from the vasprun.xml file.
- Parameters:
scf_node (ProcessNode) – A node with retrieved output attached.
kwargs – additional parameters passed to load_dos function from sumo
- Returns:
A SDOSPlotter object to be used for plotting the density of states.
- Return type:
SDOSPlotter
- aiida_vasp.utils.sumo.get_pmg_bandstructure(bands_node: aiida.orm.BandsData, structure: aiida.orm.StructureData = None, efermi: Optional[float] = None, **kwargs) pymatgen.electronic_structure.bandstructure.BandStructureSymmLine#
Return a pymatgen BandStructureSymmLine object from BandsData.
- Parameters:
bands_node (BandsData) – A BandsData object
structure (StructureData, optional) – a StructureData object, required if bands_node does not have information about the cell.
efermi (float, optional) – Explicit value of the fermi energy.
kwargs – additional keyword arguments
- Returns:
A BandStructureSymmLine object
- Return type:
BandStructureSymmLine
- aiida_vasp.utils.sumo.get_sumo_bands_plotter(bands: aiida.orm.BandsData, efermi: Optional[float] = None, structure: Optional[aiida.orm.StructureData] = None, **kwargs) sumo.plotting.bs_plotter.SBSPlotter#
Return a sumo SBSPlotter object
- Parameters:
bands_node – A BandsData object
(optional) (structure) – a StructureData object, required if bands_node does not have information about the cell. efermi (float): Explicit value of the fermi energy.
- Returns:
A SBSPlotter object
- aiida_vasp.utils.sumo.find_vbm(bands: numpy.ndarray, occupations: numpy.ndarray, tol: float = 0.0001) float#
Find the fermi energy, put it at the top of VBM NOTE: this differs from the fermi energy reported in VASP when there is any electronic smearing.
- aiida_vasp.utils.sumo.find_cbm(bands: numpy.ndarray, occupations: numpy.ndarray, tol: float = 0.0001) float#
Find the fermi energy, put it at the top of VBM NOTE: this differs from the fermi energy reported in VASP when there is any electronic smearing.
- aiida_vasp.utils.sumo.get_pymatgen_phonon_bands(band_structure: aiida.orm.BandsData, input_structure: aiida.orm.StructureData, has_nac: bool = False) pymatgen.phonon.bandstructure.PhononBandStructureSymmLine#
Obtain a pymatgen phonon bandstructure plotter
- aiida_vasp.utils.sumo.get_sumo_phonon_plotter(band_structure: aiida.orm.BandsData, input_structure: aiida.orm.StructureData, has_nac: bool = False, imag_tol: float = -0.05) sumo.plotting.phonon_bs_plotter.SPhononBSPlotter#
Obtain a sumo phonon plotter object
- aiida_vasp.utils.sumo.bandstats(bs: Union[pymatgen.electronic_structure.bandstructure.BandStructureSymmLine, aiida.orm.BandsData], num_sample_points: int = 3, temperature: Optional[float] = None, degeneracy_tol: float = 0.0001, parabolic: bool = True, structure: Optional[aiida.orm.StructureData] = None, efermi: Optional[float] = None, **kwargs)#
Extract fitting data for band extrema based on spin, kpoint and band.
NOTE: This function is modified based on sumo.cli.bandstats.band_stats
Searches forward and backward from the extrema point, but will only sample there data if there are enough points in that direction.