Coder Social home page Coder Social logo

easyunfold's Introduction

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

easyunfold's People

Contributors

zhubonan avatar kavanase avatar adair-nicolson avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.