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:
- VASP
- Quantum ESPRESSO
- ABINIT
- any code that has interface to Wannier90 (via reading the UNK* and *.eig files)
- CASTEP --> Not supported yet. Use the main code of BandUP.
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):
- Paulo V. C. Medeiros, Sven Stafström, and Jonas Björk, Phys. Rev. B 89, 041407(R) (2014)
- Paulo V. C. Medeiros, Stepan S. Tsirkin, Sven Stafström, and Jonas Björk, Phys. Rev. B 91, 041116(R) (2015)
- 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)
- Orbital contribution projection implementation
- Improve band center determination algorithm
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.