K Path#
PyProcar provides a data class to manage the kpath information when performing band structure calculations, known as the KPath class. This class takes knames, kticks, special_kpoints, and ngrids as arguments
Accessing Kpath Information#
The KPath object (referred to as “kpath”) can be accessed through the main io.Parser class or the ElectronicBandStructure:
import pyprocar
parser = pyprocar.io.Parser(code = 'vasp', dir=path_to_calculation)
kpath = parser.kpath
ebs = parser.ebs
kpath = ebs.kpath
Using the kapth object, you can access various information related to the kpath:
kpath.nsegments # The number of kpath segments
# 6
kpath.knames # The knames
# [['$GAMMA$', '$H$'], ['$H$', '$N$'], ['$N$', '$GAMMA$'], ['$GAMMA$', '$P$'], ['$P$', '$H$'], ['$P$', '$N$']]
kpath.tick_positions # The ticks which the knames belong to
# [0, 49, 99, 149, 199, 249, 299]
kpath.tick_names # The knames
# ['$GAMMA$', '$H$', '$N$', '$GAMMA$', '$P$', '$H$|$P$', '$N$']
kpath.kdistances # The distances along the kpath
# [0.8660254 0.70710678 0.5 0.4330127 0.8291562 0.4330127 ]