Skip to main content

build docs codecov PyPI Downloads

easyunfold

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.

For the methodology of supercell band unfolding, see here.

Usage

To generate an unfolded band structure, one typically needs to perform the following steps:

  1. Create a primitive unit cell, and generate a band structure k-point path corresponding to this primitive cell.
  2. Create a supercell (e.g. disordered, defective, surface slab etc.), and obtain its optimised structure.
  3. Generate a series of k-points for the supercell to be calculated.
  4. Perform a band structure calculation with the supercell, and save its wavefunction output to file.
  5. 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 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)

A recent version of pip is needed to do this, due to the new style of the pyproject.toml configuration file. To upgrade your pip, do:

pip install -U pip

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).

Studies using easyunfold

We'll add papers that use easyunfold to this list as they come out!

DFT code support

At the moment, easyunfold supports VASP and CASTEP, but most of the routines are abstracted from the code specific details. In principle, support for other plane wave DFT code can be added by:

  • Implementing a subclass of WaveFunction that handles reading the wave function output.
  • Implementing functions for reading/writing k-points.
  • Adding branches for dispatching based on the dft_code attribute of the UnfoldKSet object in various places within the code.

The Atomic Simulation Environment (ASE) is used by easyunfold for reading in structures, so structure file IO is natively supported for essentially all public DFT codes.

Code Compatibility Notes

  • Atom-projected band structures are currently only supported for VASP calculation outputs.
  • Gamma-only and non-collinear spin calculations are not supported for CASTEP.

Contributors

And those who helped in the development:

Download files

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

Source Distribution

easyunfold-0.1.5.tar.gz (40.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

easyunfold-0.1.5-py3-none-any.whl (43.1 kB view details)

Uploaded Python 3

File details

Details for the file easyunfold-0.1.5.tar.gz.

File metadata

  • Download URL: easyunfold-0.1.5.tar.gz
  • Upload date:
  • Size: 40.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for easyunfold-0.1.5.tar.gz
Algorithm Hash digest
SHA256 b646907832cc1c4982b28d1afb70ccfa45dd35306a312335eb40fafcfc74f292
MD5 dd8a272e7cbf9ea2897340532582b133
BLAKE2b-256 e744d495d4adcb57dbe51b24955493fd28f03408546d7fe96870b1ed2349e32e

See more details on using hashes here.

File details

Details for the file easyunfold-0.1.5-py3-none-any.whl.

File metadata

  • Download URL: easyunfold-0.1.5-py3-none-any.whl
  • Upload date:
  • Size: 43.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.17

File hashes

Hashes for easyunfold-0.1.5-py3-none-any.whl
Algorithm Hash digest
SHA256 1539ad731e4fac960f1a9dafeeb1b95f4c7055bce0f67401063fd63162e48b25
MD5 956227f470e3176cde4cf5146232271b
BLAKE2b-256 1bcb8874bac4ce57bad94b956b624bb68753d1b69449575964eaa53848228aed

See more details on using hashes here.

Release history Release notifications | RSS feed

0.4.0

2 files

0.3.10

2 files

0.3.9

2 files

0.3.8

2 files

0.3.7

2 files

0.3.6

2 files

0.3.5

2 files

0.3.4

2 files

0.3.3

2 files

0.3.2

2 files

0.3.0

2 files

This release

0.1.5 This release

2 files

0.1.4

2 files

0.1.3

2 files

0.1.2

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page