A Python library for electronic structure pre/post-processing.
Project description
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:
- VASP
- Elk (Stll in development)
- Quantum Espresso
- Abinit (DOS Stll in development)
- 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₃
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
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
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
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
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
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
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
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
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
Built Distribution
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
19fd21ececba049afb314cd2ccd2d6acd3fb2b80efb06ad8ed3547fab033892c
|
|
MD5 |
02b5a227a430a3aa87461e8b773ca727
|
|
BLAKE2b-256 |
df27ac4fc2a268e7401d72cdc0e1577d76b999e867a74b9bf7218285884de691
|
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
Algorithm | Hash digest | |
---|---|---|
SHA256 |
6b43eda3498acd3963ef28c73ae8b0fb3bc3d06320d11b2729eb8a202337a001
|
|
MD5 |
b8b00fe4328099b51f1a376daa6c9aca
|
|
BLAKE2b-256 |
e8d9fc5e06c067b875a992d4d067da0370a3129c6ba87d9c8b21b3e70ac04590
|