Core API — PyProcar 6.2.1 documentation

Skip to main content
`Ctrl`+`K`

# 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.BrillouinZone` is used to generates the Brillouin Zone from reciprocal lattice matrix.

- `pyprocar.core.FermiSurface3D` is 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.Isosurface` is 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.Surface` class.

- `pyprocar.core.Surface` is used to generate a surface from vertices and faces.

    This class is an extension of the `pyvista.PolyData` class

- `pyprocar.core.KPath` is used to store the k-path information (tick_labels,tick_positions,n_segements,kdistances) for band structure plots

- `pyprocar.core.ElectronicBandStructure` is 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.DensityOfStates` is 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.FermiSurface` is 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.Structure` is used to store structure information.

    Expects a list of atomic symbols, numpy array of fraction coordinates of the atoms, and the atomic lattice matrix.

- BrillouinZone
  - pyprocar.core.BrillouinZone
- DensityOfStates
  - pyprocar.core.DensityOfStates
- ElectronicBandStructure
  - pyprocar.core.ElectronicBandStructure
- FermiSurface
  - pyprocar.core.FermiSurface
- FermiSurface3D
  - pyprocar.core.FermiSurface3D
- Isosurface
  - pyprocar.core.Isosurface
- KPath
  - pyprocar.core.KPath
- Structure
  - pyprocar.core.Structure
- Surface
  - pyprocar.core.Surface