Skip to main content

BandUPpy: Python interface of the BandUP code

Project description

BandUP/BandUPpy: Band Unfolding code for Plane-wave based first-principles calculations

Note: This is a Python version to the BandUP code (not to be confused with bandupy - the interface and plotting tool of BandUP), made in order to restore support for modern versions of QuantumEspresso and other codes. In order ot read the wavefunctions stored by ab-initio codes, the routines of irrep are used.

Unfolded band structure - flatband mode (Si0.5Ge0.5) Unfolded band structure - density mode (Si0.5Ge0.5) Band structures overlay (Si0.5Ge0.5: Red, pure Si: black, pure Ge: blue) Band centers and band width (Si0.5Ge0.5)

Developers and contributors

Developer of BandUPpy :

BandUPpy Package is Restructured by (maintainer):

Developer of original BandUP :

  • Paulo V. C. Medeiros, Linköping University, (at present: SMHI, the Swedish Meteorological and Hydrological Institute)

  • Jonas Björk, Linköping University

  • Stepan S. Tsirkin, (in 2015: Donostia International Physics Center)

BandUPpy Contributors: Contributors

  • We sincerely thank each and every contributor for their valuable input and support.

Contact us: Email developer/maintainer team

  • If you would like to contribute to the development of BandUPpy or request new functionality, please get in touch with us or open a pull request. We appreciate and respect our users' views and are committed to providing the best experience possible. Your feedback is highly valued. We will be happy to support your request ASAP.

Installation

1. Requirements

    1. python>=3.7
    2. collections
    3. numpy
    4. pickle
    5. scipy>=1.0
    6. irrep>=1.9.3
    7. matplotlib

2. Installation using pip

    pip install banduppy

3. Installation from github repository

    git clone https://github.com/band-unfolding/banduppy.git
    cd banduppy
    pip install .  

Or, without cloning

    pip install git+https://github.com/band-unfolding/banduppy.git #@specific_branch

4. Installation using setup.py [deprecated]

Alternatively you can clone the repository and run setup.py in the usual manner:

    git clone https://github.com/band-unfolding/banduppy.git
    cd banduppy
    python setup.py install

Plane-wave codes currently supported by BandUPpy

At the moment, BandUPpy can parse wavefunctions generated by:

Usage

Documentation: here

The detailed documentation is available here. Explore the tutorial folder for example tutorials. Below are quick snippets showcasing what you can achieve with BandUPpy:

banduppy package:
    1. Unfolding class 
        1.1 propose_maximum_minimum_folding()
        1.2 generate_SC_Kpts_from_pc_kpts()
        1.3 generate_SC_Kpts_from_pc_k_path()
        1.3 Unfold()
        1.4 plot_ebs() [Note: Similar to Plotting class but can not plot band centers]
    2. BandStructure class
        2.1 BandStructure()
    3. Properties class
        3.1 collect_bandstr_data_only_in_energy_window()
        3.2 band_centers_broadening_bandstr()
        3.3 calculate_effecfive_mass()
        3.4 fit_functions()
    4. SaveBandStructuredata class
        4.1 save_unfolded_pc_kpts()
        4.2 save_unfolded_bandstucture()
        4.3 save_unfolded_bandcenter()
    5. Plotting class
        5.1 plot_ebs()
        5.2 plot_scf()
        5.3 save_plot_figure()

Tips and tricks:

FAQs: here

You can find a list of common user issues encountered while using this software here. We appreciate and respect our users' views and are committed to providing the best experience possible. Your feedback is highly valued.

Citations and references:

If you use BandUPpy in your work, please:

  • State EXPLICITLY that you have used the BandUP code (or a modified version of it, if this is the case), for instance, adding a sentence like:

     "The unfolding is performed using the BandUP(py) code"
    
  • Read and cite the following papers (and the appropriate references therein):

  1. Paulo V. C. Medeiros, Sven Stafström, and Jonas Björk, Phys. Rev. B 89, 041407(R) (2014)
  2. Paulo V. C. Medeiros, Stepan S. Tsirkin, Sven Stafström, and Jonas Björk, Phys. Rev. B 91, 041116(R) (2015)
  3. Mikel Iraola, Juan L. Mañes, Barry Bradlyn, Titus Neupert, Maia G. Vergniory, Stepan S. Tsirkin, "IrRep: Symmetry eigenvalues and irreducible representations of ab initio band structures", Comput. Phys. Commun. 272, 108226 (2022)

Bibliography file: Here is the bibliography file for your convenience.

Further details

http://www.ifm.liu.se/theomod/compphys/band-unfolding
https://github.com/band-unfolding/bandup

Version release

Latest release: v0.3.4

Chekout out version release history here for the full list of updates and upgrades.

License

BandUPpy is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

BandUPpy is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with BandUP. If not, see http://www.gnu.org/licenses/.

Upcoming (TBD)

  1. Orbital contribution projection implementation
  2. Improve band center determination algorithm

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

banduppy-0.3.4.tar.gz (54.2 kB view details)

Uploaded Source

Built Distribution

banduppy-0.3.4-py3-none-any.whl (57.3 kB view details)

Uploaded Python 3

File details

Details for the file banduppy-0.3.4.tar.gz.

File metadata

  • Download URL: banduppy-0.3.4.tar.gz
  • Upload date:
  • Size: 54.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.7

File hashes

Hashes for banduppy-0.3.4.tar.gz
Algorithm Hash digest
SHA256 2b62a4cd01b4ca11425e4969071c29e5cc4b45c5013246ef1d304cb653bc5207
MD5 9ee162fa33faab5b3c0b4a362c6d9259
BLAKE2b-256 575d41e289a7b9b52455896b8809c99f14bd897c8655def0026716442a18dd4f

See more details on using hashes here.

File details

Details for the file banduppy-0.3.4-py3-none-any.whl.

File metadata

  • Download URL: banduppy-0.3.4-py3-none-any.whl
  • Upload date:
  • Size: 57.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.0 CPython/3.11.7

File hashes

Hashes for banduppy-0.3.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3b5efd30a15c5a8acd873767ec7a53b36b4d27f1db45212c1ddf2fd8c775a321
MD5 bf778dfdd7dc5d040f5ba3d3577a748d
BLAKE2b-256 043136d50e137144188c9b18c2a297c89ca3459a3c04016166b6e2021d3f0070

See more details on using hashes here.

Supported by

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