Core API#
This chapter is intended to describe data types that are used to assist in the processing of the electronic structure
PyProcar has the following data types:
pyprocar.core.BrillouinZoneis used to generates the Brillouin Zone from reciprocal lattice matrix.pyprocar.core.FermiSurface3Dis used to store the informtation of a 3D Fermi Surface.This includes the interpolated kpoints, isosurface, and scalar value This class is an extension of the general
pyprocar.core.Isosurface
pyprocar.core.Isosurfaceis used to generate an isosurface for an isovalue from a numpy array of coordinate points and a a 1d numpy array of scalar values.This class is an extension of the
pyprocar.core.Surfaceclass.
pyprocar.core.Surfaceis used to generate a surface from vertices and faces.This class is an extension of the
pyvista.PolyDataclass
pyprocar.core.KPathis used to store the k-path information (tick_labels,tick_positions,n_segements,kdistances) for band structure plotspyprocar.core.ElectronicBandStructureis used to store and manipulate electronic band structure information.Electronic band structures expects kpoints, band values, fermi energy, projections, phase projections, kpath, weights, and reciprocal lattice.
pyprocar.core.DensityOfStatesis used to store and manipulate density of states information.Density of states 1d numpy array of energy, (n_energy,n_spin) total densities and projections at each energy.
pyprocar.core.FermiSurfaceis used to help plot the 2d fermi surface at a given plane.Fermi Surface expects numpy array of k points, band energies, and projections.
pyprocar.core.Structureis used to store structure information.Expects a list of atomic symbols, numpy array of fraction coordinates of the atoms, and the atomic lattice matrix.