Skip to main content

Collection of code for band unfolding

Project description

Easyunfold

build docs codecov

easyunfold

Documentation: https://smtg-ucl.github.io/easyunfold/

This package is intended for obtaining the effective band structure of a supercell for a certain path of the primitive cell. It was originally based on PyVaspwfc for reading wavefunction output of VASP, and contains some code of the latter. An notable improvement is that breaking symmetry is taken accounted of by sampling additional kpoints and taking average accordingly, which was previously missing. Our goal is to make the unfolding process easier to carry out and less likely to go wrong.

For the methodology, see: https://link.aps.org/doi/10.1103/PhysRevB.85.085201

Usage

Main goal of this tool is to make the unfolding process easier. To generate a unfolded band structure, one typically needs to perform the following step:

  1. Create a primitive cell, and generate a k point path for this primitive cell.
  2. Create a supercell, and obtain its optimised structure.
  3. Generate a series of kpoints in the supercell to be calculated.
  4. Perform a band structure calculation using the supercell, and save its wave function.
  5. Run post-processing to obtain the unfolded band structure.

The supercell usually contains certain defects, or a special quasi random structure. In both cases, its symmetry is lowered when compared to the perfect primitive cell. Hence, for a given kpoint path in the primitive cell, additional kpoints may need to be sampled, and the extracted spectral weights need to be averaged in the end to obtained the effective band structure (EBS).

At the moment, only VASP calculations are supported, although in principle other PW code can be supported easily if the wavefunction can be read in.

Please see the documentation for guide and examples.

Installation

Install from pip

The package can be installed from pip

pip install easyunfold

This will also install the dependencies, if they are missing.

After installation, run easyunfold 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

Install from source

A recently version of pip is needed to do this, due to the use of new style 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

Studies using easyunfold

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

Contributors

Code Contributors: Bonan Zhu Seán Kavanagh Adair Nicolson

And those who helped in the development:

Joe Willis David O. Scanlon

Project details


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.3.tar.gz (34.6 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.3-py3-none-any.whl (37.0 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for easyunfold-0.1.3.tar.gz
Algorithm Hash digest
SHA256 d47d748760e28c28f6193f00b02b1146b0739f8f2f2e13a61996c4e99bc02394
MD5 86bf149202bfa777eba9fa71fbf2c3a1
BLAKE2b-256 000fda5d689a755447f03e0adf70fc7a67e0d989124b5677a5cb6eb69b3db0d1

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for easyunfold-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 775d1561d9f97ff31d3b5ccb3bdeb09b05bcfd46d2af5691f4673e627a590453
MD5 8c4af88e2876984bb71d9d90bb1cf103
BLAKE2b-256 c5ccff0ab9955e788c038860b4bceed1c536377a67348b2a5e305205a616ba91

See more details on using hashes here.

Supported by

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