aiida_vasp.utils.sumo#

Module for plotting the AiiDA BandsData using sumo.

Module Contents#

Functions#

get_sumo_dos_plotter

Get density of state by raeding directly from the vasprun.xml file

get_pmg_bandstructure

Return a pymatgen BandStructureSymmLine object from BandsData

get_sumo_bands_plotter

Return a sumo SBSPlotter object

find_vbm

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_cbm

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.

make_latex_labels

Convert labels to laxtex style

get_pymatgen_phonon_bands

Obtain a pymatgen phonon bandstructure plotter

get_sumo_phonon_plotter

Obtain a sumo phonon plotter object

bandstats

Extract fitting data for band extrema based on spin, kpoint and band.

get_efermi_from_band

Get the fermi energy from a BandsData node

API#

aiida_vasp.utils.sumo.get_sumo_dos_plotter(scf_node, **kwargs)#

Get density of state by raeding directly from the vasprun.xml file

Args:

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.

aiida_vasp.utils.sumo.get_pmg_bandstructure(bands_node, structure=None, efermi=None, **kwargs)#

Return a pymatgen BandStructureSymmLine object from BandsData

Arguments:

bands_node: A BandsData object structure (optional): a StructureData object, required if bands_node

does not have information about the cell.

efermi (float): Explicit value of the fermi energy.

Returns:

A BandStructureSymmLine object

aiida_vasp.utils.sumo.get_sumo_bands_plotter(bands, efermi=None, structure=None, **kwargs)#

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, occupations, tol=0.0001)#

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, occupations, tol=0.0001)#

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.make_latex_labels(labels: list) list#

Convert labels to laxtex style

aiida_vasp.utils.sumo.get_pymatgen_phonon_bands(band_structure: aiida.orm.BandsData, input_structure: aiida.orm.StructureData, has_nac=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=False, imag_tol=-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.

aiida_vasp.utils.sumo.get_efermi_from_band(bands_node)#

Get the fermi energy from a BandsData node