Easyunfold
Band structure unfolding made easy!
Install / Use
/learn @SMTG-Bham/EasyunfoldREADME
easyunfold is intended for obtaining the effective band structure of a supercell for a certain k-point
path of the primitive cell. It was originally based on
PyVaspwfc for reading VASP wavefunction outputs,
with a notable improvement being that symmetry-breaking is properly accounted for by sampling necessary
additional k-points and averaging accordingly. Documentation site
here!
Our goal is to implement the band structure unfolding workflow in a robust and user-friendly software package. Typical applications of band structure unfolding are the electronic structure analysis of defects, disorder, alloys, surfaces (and more), as illustrated in the example outputs below and docs examples.
For the methodology of supercell band unfolding, see here.
Example Outputs
Cs₂(Sn/Ti)Br₆ Vacancy-Ordered Perovskite Alloys | Oxygen Vacancy (Vₒ⁰) in MgO :-------------------------:|:------------------------------------: <img src="docs/img/CSTB_easyunfold.gif" height="400"/> | <img src="examples/MgO/unfold_project_MgO_v_O_0_tall.png" height="400"/>
See the easyunfold YouTube tutorial for a quick overview of the theory of band structure unfolding, and a walkthrough of the calculation & analysis workflow with easyunfold.
Usage
To generate an unfolded band structure, one typically needs to perform the following steps:
- Create a primitive unit cell, and generate a band structure k-point path corresponding to this primitive cell.
- Create a supercell (e.g. disordered, defective, surface slab etc.), and obtain its optimised structure.
- Generate a series of k-points for the supercell to be calculated.
- Perform a band structure calculation with the supercell, and save its wavefunction output to file.
- Post-process the supercell wavefunction to obtain the unfolded band structure in the k-point path of the primitive unit cell.
These generation and analysis steps are automated in easyunfold, with only the primitive unit cell and
supercell structures required as inputs from the user.
Typically, the supercell comprises some form of symmetry-breaking relative to the primitive cell, such as defects, disorder (e.g. special quasi-random structures (SQS) for site disorder – other forms of disorder such as magnetic, dynamic/vibrational, polar, elastic etc. also possible), or a surface/interface slab. In all cases, the supercell symmetry is lowered compared to the pristine primitive cell. Hence, for a given k-point path in the primitive cell Brillouin Zone, additional k-points are required to be sampled for the supercell, and the extracted spectral weights need to be appropriately averaged to obtain the correct effective band structure (EBS). See the docs Theory page and/or JOSS paper for more details.
Please see the documentation for guides and examples.
Installation
Install from pip
easyunfold can be installed from pip:
pip install easyunfold
This will also install the package dependencies, if any are missing.
After installation, running easyunfold on the command-line should give the following output:
Usage: easyunfold [OPTIONS] COMMAND [ARGS]...
Tool for performing band unfolding
Options:
--help Show this message and exit.
Commands:
generate Generate the kpoints for sampling the supercell
unfold Perform unfolding and plotting
Developer Installation (from source)
Assuming the package is in the easyunfold folder, use the following command to install:
pip install "./easyunfold[test,doc,pre-commit]"
which also installs additional dependencies for building documentation (doc), running tests (test) and
dependencies for using pre-commit hooks (pre-commit).
Citation
If you use easyunfold in your work, please cite:
- B. Zhu, S. R. Kavanagh & D. O. Scanlon, (2024). easyunfold: A Python package for unfolding electronic band structures. Journal of Open Source Software, 9(93), 5974, https://doi.org/10.21105/joss.05974
Studies using easyunfold
We'll add papers that use easyunfold to this list as they come out!
- I. Caro-Campos et al. Phonon Scattering by Local Off‐Centering in Diamond‐Like Cu<sub>2−X</sub>Ag<sub>x</sub>In<sub>2</sub>Se<sub>4</sub> Chalcopyrites: High Carrier Mobility and Ultralow Thermal Conductivity Small Structures 2026
- J. M. Domínguez-Vázquez et al. Enhanced thermoelectric performance in Fe<sub>2</sub>V<sub>0.8</sub>W<sub>0.2</sub>Al thin films: synergistic effects of chemical ordering and tungsten substitution Journal of Materials Chemistry A 2026
- H. Li et al. CuI-enhanced thermoelectric performance in GeTe by synchronous modulation of hole concentration and thermal conductivity Matter 2026
- A. Pike et al. Alloying to tune the bandgap of the <i>AM</i><sub>2</sub><i>Pn</i><sub>2</sub> Zintl compounds Journal of Physics: Energy 2026
- M. Wróblewska et al. Continuous Alloying between Rocksalt and Half-Heusler Structures Drives Metal–Semiconductor Transition in ErNi<sub><i>x</i></sub>Sb Chemistry of Materials 2026
- K. V. Sopiha et al. Functional off-stoichiometry in Cu(In,Ga)Se<sub>2</sub>. Part II: electronic properties in a wide range of compositions Journal of Materials Chemistry A 2026
- Y.-S. Liao et al. Moiré-Induced Electronic Reconstruction in van der Waals Heterobilayer PtSe<sub>2</sub>/PtTe<sub>2</sub> ACS Nano 2026
- J. J. Plata et al. High-Entropy Skutterudites as Thermoelectrics: Potential Synthesizability, Enhanced Stability, and Band Convergence via the Cocktail Effect PRX Energy 2026
- P. Russell et al. Computational prediction of Y-doped Cd<sub>2</sub>Sb<sub>2</sub>O<sub>7</sub> as a competitive Sb-based n-type Transparent Conducting Oxide ChemRxiv 2025
- P. Kumar et al. Theoretical insights into the h-NbN monolayer for selective and moisture-resistant gas sensing: an ab initio study Electronic Structure 2025
- M. Sigl et al. Solution-based synthesis of nanocrystalline KBiS<sub>2</sub> films at low temperatures and study of photoinduced charge generation Journal of Materials Chemistry C 2025
- Y. Yin et al. Halogen Chains with One-Dimensional Semi-Metallic Electronic Structure and Peierls Physics in Polymorphs of Na<sub>4</sub>X<sub>5</sub> (X = I, Br, Cl) Compounds arXiv 2025
- V. Posligua et al. Deep Learning Framework for Accurate Prediction and High-Throughput Search of the Thermoelectric Figure of Merit in Skutterudites ChemRxiv 2025
- R. E. Philip et al. Disorder mediated fully compensated ferrimagnetic spin-gapless semiconducting behaviour in Cr<sub>3</sub>Al Heusler alloy arXiv 2025
- S. Husremović et al. Local interface effects modulate global charge order and optical properties of 1T-TaS<sub>2</sub>/1H-WSe<sub>2</sub> heterostructures ACS Nano 2025
- L. Richarz et al. Ferroelectric domain walls for environmental sensors ACS Applied Materials & Interfaces 2025
- J. M. Domínguez-Vázquez et al. Thermoelectric performance boost by chemical order in epitaxial L2<sub>1</sub> (100) and (110) oriented undoped Fe<sub>2</sub>VAl thin films: an experimental and theoretical study Journal of Materials Chemistry A 2025
- J. Tu et al. Giant switchable ferroelectric photovoltage in double-perovskite epitaxial films through chemical negative strain Science Advances 2025
- L. F. Leon-Pinzon et al. Observation of Pseudogap in Cr<sub>1−x</sub>Y<sub>x</sub>N magnetic alloy and its impact on the Seebeck coefficient by ab-initio calculations arXiv 2025
- C. Zhang & J. Recatala-Gomez & Z. Aabdin & Y. Jiang et al. Direct Joule-Heated Non-Equilibrium Synthesis Enables High Performing Thermoelectrics arXiv 2025
- W. Feng et al. Unraveling the role of oxygen vacancies in the electronic and optical properties of κ-Ga2O3 Communications Chemistry 2025
- Y. Gong Wang et al. **_Influence of Vanadium and Ch
Related Skills
node-connect
336.9kDiagnose OpenClaw node connection and pairing failures for Android, iOS, and macOS companion apps
frontend-design
83.0kCreate distinctive, production-grade frontend interfaces with high design quality. Use this skill when the user asks to build web components, pages, or applications. Generates creative, polished code that avoids generic AI aesthetics.
openai-whisper-api
336.9kTranscribe audio via OpenAI Audio Transcriptions API (Whisper).
commit-push-pr
83.0kCommit, push, and open a PR
