Skip to main content

A Python library for electronic structure pre/post-processing.

Project description

PyPI version conda-forge version PyPI - Downloads

Documentation | PyPI | GitHub

PyProcar

PyProcar is a robust, open-source Python library used for pre- and post-processing of the electronic structure data coming from DFT calculations. PyProcar provides a set of functions that manage data obtained from the PROCAR format. Basically, the PROCAR format is a projection of the Kohn-Sham states over atomic orbitals. That projection is performed to every k-point in the considered mesh, every energy band and every atom. PyProcar is capable of performing a multitude of tasks including plotting plain and spin/atom/orbital projected band structures and Fermi surfaces- both in 2D and 3D, Fermi velocity plots, unfolding bands of a super cell, comparing band structures from multiple DFT calculations, plotting partial density of states and generating a k-path for a given crystal structure.

Currently supports:

  1. VASP
  2. Elk (Stll in development)
  3. Quantum Espresso
  4. Abinit (DOS Stll in development)
  5. Lobster (Stll in development)

Installation

with pip:

pip install pyprocar

with conda:

conda install -c conda-forge pyprocar

Usage

Typical use is as follows

import pyprocar
pyprocar.bandsplot(code='vasp',mode='plain', dirname='bands')

Previously, bandsplot would accept the OUTCAR and PROCAR file paths as inputs, in v6.0.0 we moved to specifying the directory where the bands calculation took place.

Refer to the documentation for further details.

Stand-alone mode:

procar.py -h

will bring a help menu.

Notice

  • New Release We recently updated to a new version 'v6.2.1'.
  • Support for Previous Versions: For users who prefer to continue with an older version, we have conveniently archived the previous releases on GitHub, and provided a link to the corresponding documentation.

Showcase: What PyProcar Can Do

PyProcar is capable of performing a multitude of tasks including plotting plain and spin/atom/orbital projected band structures and Fermi surfaces- both in 2D and 3D, Fermi velocity plots, unfolding bands of a super cell, comparing band structures from multiple DFT calculations, plotting partial density of states and generating a k-path for a given crystal structure.

Crystal Field Splitting in SrVO₃

SrVO3 Crystal Field Splitting

What is being plotted: Orbital-projected band structure showing crystal field splitting of d-orbitals in SrVO₃, illustrating how PyProcar can decompose electronic bands by orbital character to reveal crystal field effects in transition metal compounds.

Dirac Point Identification in Graphene

Graphene Dirac Point

What is being plotted: Band structure of Graphene highlighting the Dirac points where conduction and valence bands meet, showcasing PyProcar's capability to identify and analyze topological features and linear dispersion relations in 2D materials.

Fermi Surface Analysis - Gold Van Alphen Frequencies

Gold Van Alphen Frequencies

What is being plotted: Fermi surface cross-sections and Van Alphen oscillation frequencies for Gold, demonstrating PyProcar's ability to analyze the topology of Fermi surfaces and calculate quantum oscillation properties in metals.

Spin-Orbit Coupling and Rashba Effect in BiSb Monolayer

BiSb Monolayer Spin Rashba Effect

What is being plotted: Spin-resolved band structure of BiSb monolayer showing the Rashba spin-orbit coupling effect, demonstrating PyProcar's ability to visualize spin-polarized electronic structures and analyze spin-orbit interactions in topological materials.

Band Structure Visualization

Band Structure Showcase

What is being plotted: Electronic band structure showing energy bands along high-symmetry k-points, demonstrating PyProcar's capability to generate clean, publication-ready band structure plots with customizable styling and projection options.

2D Band Structure Analysis

2D Band Structure Showcase

What is being plotted: Two-dimensional band structure visualization showing energy dispersion across the entire Brillouin zone, highlighting PyProcar's ability to create comprehensive 2D band maps for analyzing electronic properties and band topology.

Density of States Analysis

Density of States Showcase

What is being plotted: Density of states (DOS) with orbital and species projections, showcasing PyProcar's ability to decompose the total DOS into atomic and orbital contributions for detailed electronic structure analysis.

2D Fermi Surface Mapping

2D Fermi Surface Showcase

What is being plotted: Two-dimensional Fermi surface cross-sections showing the topology of the Fermi level, demonstrating PyProcar's capability to visualize Fermi surfaces in 2D planes with high resolution and customizable projections.

3D Fermi Surface Visualization

3D Fermi Surface Showcase

What is being plotted: Three-dimensional Fermi surface rendering showing the complete topology of electronic states at the Fermi level, highlighting PyProcar's advanced 3D visualization capabilities for comprehensive Fermi surface analysis and interactive exploration.

Documentation

For versions 6.1.0 and above, the documentation is found here: docs

The prior documentation is found here: https://romerogroup.github.io/pyprocar5.6.6/

Developers

Francisco Muñoz
Aldo Romero
Sobhit Singh
Uthpala Herath
Pedram Tavadze
Eric Bousquet
Xu He
Reese Boucher
Logan Lang
Freddy Farah

How to cite

If you have used PyProcar in your work, please cite:

  • U. Herath, P. Tavadze, X. He, E. Bousquet, S. Singh, F. Muñoz, and A. H. Romero, PyProcar: A Python library for electronic structure pre/post-processing, Computer Physics Communications 251, 107080 (2020). DOI: https://doi.org/10.1016/j.cpc.2019.107080

  • L. Lang, P. Tavadze, A. Tellez, E. Bousquet, H. Xu, F. Muñoz, N. Vasquez, U. Herath, and A. H. Romero, Expanding PyProcar for new features, maintainability, and reliability, Computer Physics Communications 297, 109063 (2024). DOI: https://doi.org/10.1016/j.cpc.2023.109063

Thank you.

BibTex:

@article{HERATH2020107080,
title = "PyProcar: A Python library for electronic structure pre/post-processing",
journal = "Computer Physics Communications",
volume = "251",
pages = "107080",
year = "2020",
issn = "0010-4655",
doi = "https://doi.org/10.1016/j.cpc.2019.107080",
url = "http://www.sciencedirect.com/science/article/pii/S0010465519303935",
author = "Uthpala Herath and Pedram Tavadze and Xu He and Eric Bousquet and Sobhit Singh and Francisco Muñoz and Aldo H. Romero",
keywords = "DFT, Bandstructure, Electronic properties, Fermi-surface, Spin texture, Python, Condensed matter",
}

@article{LANG2024109063,
title = {Expanding PyProcar for new features, maintainability, and reliability},
journal = {Computer Physics Communications},
volume = {297},
pages = {109063},
year = {2024},
issn = {0010-4655},
doi = {https://doi.org/10.1016/j.cpc.2023.109063},
url = {https://www.sciencedirect.com/science/article/pii/S0010465523004083},
author = {Logan Lang and Pedram Tavadze and Andres Tellez and Eric Bousquet and He Xu and Francisco Muñoz and Nicolas Vasquez and Uthpala Herath and Aldo H. Romero},
keywords = {Electronic structure, DFT, Post-processing},
}

Mailing list

Please post your questions on our forum.

https://groups.google.com/d/forum/pyprocar

Changelog

For the old changelog, see CHANGELOG.md


Project details


Release history Release notifications | RSS feed

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyprocar-6.5.0.tar.gz (56.3 MB view details)

Uploaded Source

Built Distribution

pyprocar-6.5.0-py3-none-any.whl (393.3 kB view details)

Uploaded Python 3

File details

Details for the file pyprocar-6.5.0.tar.gz.

File metadata

  • Download URL: pyprocar-6.5.0.tar.gz
  • Upload date:
  • Size: 56.3 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for pyprocar-6.5.0.tar.gz
Algorithm Hash digest
SHA256 19fd21ececba049afb314cd2ccd2d6acd3fb2b80efb06ad8ed3547fab033892c
MD5 02b5a227a430a3aa87461e8b773ca727
BLAKE2b-256 df27ac4fc2a268e7401d72cdc0e1577d76b999e867a74b9bf7218285884de691

See more details on using hashes here.

File details

Details for the file pyprocar-6.5.0-py3-none-any.whl.

File metadata

  • Download URL: pyprocar-6.5.0-py3-none-any.whl
  • Upload date:
  • Size: 393.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.9.23

File hashes

Hashes for pyprocar-6.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6b43eda3498acd3963ef28c73ae8b0fb3bc3d06320d11b2729eb8a202337a001
MD5 b8b00fe4328099b51f1a376daa6c9aca
BLAKE2b-256 e8d9fc5e06c067b875a992d4d067da0370a3129c6ba87d9c8b21b3e70ac04590

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page