pyprocar.core.ElectronicBandStructure#
- class pyprocar.core.ElectronicBandStructure(kpoints: ndarray, bands: ndarray, efermi: float, n_kx: int | None = None, n_ky: int | None = None, n_kz: int | None = None, projected: ndarray | None = None, projected_phase: ndarray | None = None, weights: ndarray | None = None, kpath: KPath | None = None, labels: List | None = None, reciprocal_lattice: ndarray | None = None)[source]#
This object stores electronic band structure informomration.
- Parameters:
kpoints (np.ndarray) – The kpoints array. Will have the shape (n_kpoints, 3)
bands (np.ndarray) – The bands array. Will have the shape (n_kpoints, n_bands)
efermi (float) – The fermi energy
projected (np.ndarray, optional) – The projections array. Will have the shape (n_kpoints, n_bands, n_spins, norbitals,n_atoms), defaults to None
projected_phase (np.ndarray, optional) – The full projections array that incudes the complex part. Will have the shape (n_kpoints, n_bands, n_spins, norbitals,n_atoms), defaults to None
kpath (KPath, optional) – The kpath for band structure claculation, defaults to None
weights (np.ndarray, optional) – The weights of the kpoints. Will have the shape (n_kpoints, 1), defaults to None
labels (List, optional) –
reciprocal_lattice (np.ndarray, optional) – The reciprocal lattice vector matrix. Will have the shape (3, 3), defaults to None
shifted_to_efermi (bool, optional) – Boolean to determine if the fermi energy is shifted, defaults to False
Methods
ElectronicBandStructure.__init__
(kpoints, ...)Calculates the scalar gradient over the k mesh grid in cartesian coordinates
Calculate the scalar integral
_summary_
It returns the atom-resolved , pIPR:
ElectronicBandStructure.ebs_sum
([atoms, ...])_summary_
Converts data from two spin channels to a single channel, adjusting the spin down values to negatives.
ElectronicBandStructure.ibz2fbz
(rotations)Applys symmetry operations to the kpoints, bands, and projections
This function will interpolate an Nd, 3d mesh grid [...,nx,ny,nz]
Converts a mesh to a list that corresponds to ebs.kpoints
This needs to be moved to core.KPath and updated new implementation of pyvista PolyData
ElectronicBandStructure.ravel_array
(mesh_grid)The method helps unfold the bands.
Attributes
Bands gradient is a numpy array that stores each band gradient a list that corresponds to the self.kpoints Shape = [n_kpoints,3,n_bands], where the second dimension represents d/dx,d/dy,d/dz
Bands gradient mesh is a numpy array that stores each band gradient in a mesh grid.
Bands hessian is a numpy array that stores each band hessian in a list that corresponds to the self.kpoints Shape = [n_kpoints,3,3,n_bands], where the second and third dimension represent d/dx,d/dy,d/dz
Bands hessian mesh is a numpy array that stores each band hessian in a mesh grid.
Bands mesh is a numpy array that stores each band in a mesh grid.
fermi speed is a numpy array that stores each fermi speed a list that corresponds to the self.kpoints Shape = [n_kpoints,n_bands]
Fermi speed mesh is a numpy array that stores each Fermi Velocity in a mesh grid.
fermi_velocity is a numpy array that stores each fermi_velocity a list that corresponds to the self.kpoints Shape = [n_kpoints,3,n_bands], where the second dimension represents d/dx,d/dy,d/dz
Fermi Velocity mesh is a numpy array that stores each Fermi Velocity in a mesh grid.
harmonic average effective mass is a numpy array that stores each harmonic average effective mass in a list that corresponds to the self.kpoints Shape = [n_kpoints,n_bands],
ElectronicBandStructure.harmonic_average_effective_mass_mesh
harmonic average effective mass mesh is a numpy array that stores each harmonic average effective mass mesh in a mesh grid.
Index mesh stores the the kpoints index in kpoints list at a particular grid point .
Boolean to determine if this is a non-colinear calculation
Returns the kpoints in cartesian basis
Kpoint cartesian mesh representation of the kpoints grid.
Kpoint mesh representation of the kpoints grid.
Returns the kpoints in fractional basis
The number of unique kpoints in kx direction in the reduced basis
The number of unique kpoints in kx direction in the reduced basis
The number of unique kpoints in ky direction in the reduced basis
The number of atoms
The number of bands
The number of k points
The number of orbitals
The number of principal quantum numbers
The number of spin channels
projected mesh is a numpy array that stores each projection in a mesh grid.
projected phase mesh is a numpy array that stores each projection phases in a mesh grid.
weights mesh is a numpy array that stores each weights in a mesh grid.