User Guide — PyProcar 6.2.1 documentation

Skip to main content
`Ctrl`+`K`

# User Guide

In this section, we will provide an overview of the information obtained from DFT codes and the methods used by Pyprocar to access this data. For guidance on conducting DFT calculations to generate the necessary files for running PyProcar, please refer to the DFT Prep section. PyProcar is able to process data from various codes, and the format of the information remains consistent across them. As an illustration, we have included an example of the atomic projections commonly found in DFT codes, using data from vasp.

The format of the PROCAR is as follows:

    1.   PROCAR lm decomposed
    2.    of k-points:    4         # of bands: 224         # of ions:  4
    3.
    4.    k-point    1 :    0.12500000 0.12500000 0.12500000     weight = 0.12500000
    5.
    6.   band   1 # energy  -52.65660295 # occ.  1.00000000
    7.
    8.   ion      s     py     pz     px    dxy    dyz    dz2    dxz    dx2    tot
    9.     1  0.052  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.052
    10.    2  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    11.    3  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    12.    4  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    13.    4  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000
    14.   tot 0.052  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.000  0.052

- Line 1 is a comment

- Line 2 gives the number of K points calculated (kpoint), number of bands (nband) and number of ions (nion)

- Line 4 gives the k-point and the weight

- Line 6 gives the energy for kpoints

- Line 8 Labels of calculated projections, column 11 is the total projection

- Line 9 Calculated projections for atom 1

- Line 10 Calculated projections for atom 2 and so on

- Line 14 after projections over all atoms, the total over every atomic projection is reported

This block is repeated for the other spin channel if the calculation was polarized. For spin polarized or non-collinear spin calculations there are additional blocks for each spin component.

The site projected wave function in the PROCAR is calculated by projecting the Kohn-Sham wave functions onto spherical harmonics that are non-zero within spheres of a Wigner-Seitz radius around each ion by:

\[|<Y^{\alpha}_{lm}|\phi_{nk}>|^2\]

where, \(Y^{\alpha}_{lm}\) are the spherical harmonics centered at ion index \(\alpha\) with angular moment \(l\) and magnetic quantum number \(m\), and \(\phi_{nk}\) are the Kohn-Sham wave functions. In general, for a non-collinear electronic structure calculation the same equation is generalized to:

\[\frac{1}{2} \sum_{\mu, \nu=1}^{2} \sigma_{\mu, \nu}^{i}<\psi_{n, k}^{\mu}\left|Y_{l m}^{\alpha}><Y_{l m}^{\alpha}\right| \psi_{n, k}^{\nu}>\]

where \(\sigma^i\) are the Pauli matrices with \(i = x, y , z\) and the spinor wavefunction \(\phi_{nk}\) is now defined as

\[\begin{split}\phi_{nk} & = \begin{bmatrix} \psi_{nk}^{\uparrow} \\ \psi_{nk}^{\downarrow} \end{bmatrix}\end{split}\]

## Further Details

- Atomic Projections
  - 1. Spin projection
  - 2. Atom projection
  - 3. Orbital projection
- Band structure
  - 1. Plain band structure
  - 2. Spin projection
  - 3. Atom projection
  - 4. Orbital projection
  - Export plot as a matplotlib.pyplot object
  - Converting \(k\)-points from reduced to cartesian coordinates
  - Plotting band structures with a discontinuous \(k\)-path
- Concatenating multiple calculations
  - `cat()`
- Compare bands
- Density of States
  - 1. `mode='plain'`
  - 2. `mode='parametric'`
  - 3. `mode='parametric_line'`
  - 4. `mode='stack'`
  - 5. `mode='stack_species'`
  - 6. `mode='stack_orbitals'`
  - 7. `mode='overlay'`
  - 8. `mode='overlay_species'`
  - 9. `mode='overlay_orbitals'`
- ElectronicBandStructure
  - Accessing Electronic Band Structure
- 2D spin-texture
  - Translate and Rotate the 2D KPOINT mesh
  - Export plot as a matplotlib.pyplot object
- 3D Fermi surface
  - 3D surfaces
  - Keyboard shortcuts
- Filtering data
  - To filter selected orbitals
  - To filter selected \(k\)-points
  - To filter selected spins
  - To filter selected atoms
- K Path
  - Accessing Kpath Information
- Repair
  - `repair()`
- Structure
  - Accessing Structure Information
- Band unfolding
  - Export plot as a matplotlib.pyplot object