Generating a k-path

In order to plot a band structure, one must define a set of \(k\)-points following a desired \(k\)-path in momentum space. PyProcar’s \(k\)-path generation utility enables a the user to automatically generate a suitable and sufficient \(k\)-path given the crystal structure, typically read from the POSCAR file (VASP).

General format:

pyprocar.kpath(infile, outfile, grid-size, with-time-reversal, recipe, threshold, symprec, angle-tolerance,supercell_matrix)

Usage:

pyprocar.kpath('POSCAR','KPOINTS',40,True,'hpkot',1e-07,1e-05,-1.0,np.eye(3))

or using the default options, a POSCAR would suffice:

pyprocar.kpath('POSCAR')

This information is automatically written to a KPOINTS file. The retrieved \(k\)-path can be used for other DFT codes with slight modifications.

More details regarding these parameters can be found in the SeeK-path manual. The \(k\)-path generation utility within PyProcar is based on the Python library seekpath developed by Hinuma et al:

Y. Hinuma, G. Pizzi, Y. Kumagai, F. Oba, I. Tanaka, Band structure diagram paths based on crystallography, Computational Materials Science 128 (2017) 140–184.doi:10.1016/j.commatsci.2016.10.015.

@author : Uthpala Herath

pyprocar.scriptKpath.kpath(infile=None, outfile='KPOINTS', grid_size=40, with_time_reversal=True, recipe='hpkot', threshold=1e-07, symprec=1e-05, angle_tolerence=- 1.0, supercell_matrix=array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]]))[source]

This module creates a KPOINTS file for band structure plotting.

Parameters
  • infile (str, optional) –

  • outfile (str, optional) –

  • grid_size (int, optional) –

  • with_time_reversal (bool, optional) –

  • recepie (str, optional) –

  • threshold (float, optional) –

  • symprec (float, optional) –

  • angle_tolerence (float, optional) –

  • supercell_matrix (list, int) –