BoltzTraP2

BoltzTraP2 is a modern implementation of the smoothed Fourier interpolation algorithm for electronic bands that formed the base of the original and widely used BoltzTraP code. One of the most typical uses of BoltzTraP is the calculation of thermoelectric transport coefficients as functions of temperature and chemical potential in the rigid-band picture. However, many other features are available, including 3D plots of Fermi surfaces based on the reconstructed bands. For more information, check out the BoltzTraP2 article, opens an external URL in a new window and the online manual., opens an external URL in a new window

Prerequisites

BoltzTraP2 is a Python module, with a small performance-critical portion written in C++ and Cython. BoltzTraP2's runtime requirements are Python version 3.5 or higher, and the Python libraries NumPy, SciPy, matplotlib, spglib and ASE. All of them can be easily obtained from the Python Package Index (PyPI), using tools such as pip. They may also be bundled with Python distributions aimed at scientists, like Anaconda, opens an external URL in a new window, and with a number of Linux distributions. If pip is used to install BoltzTraP2, dependencies should be resolved automatically.

If available, BoltzTraP2 will also make use of pyFFTW (for faster Fourier transforms), colorama (to colorize some console output) and VTK (to generate 3D representations). Those packages are not required, but they are recommended to be able to access the full functionality of BoltzTraP2.

Furthermore, compiling BoltzTraP2 from its sources requires a C++ compiler and the development headers and libraries for Python. Cython is not required for a regular compilation.

BoltzTraP2 is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License, opens an external URL in a new window as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

Compiling and installing BoltzTraP2

The easiest way to get BoltzTraP2 is to run:

$ pip install BoltzTraP2

 or (depending on your installation)

$ pip3 install BoltzTraP2

This should take care of downloading and installing the dependencies as well.

Documentation wiki

A FAQ and some tutorials for BoltzTraP2 can be found on the official wiki, opens an external URL in a new window.

BoltzTraP2's git repository

The source code is available for cloning or forking from the following public repository:

https://gitlab.com/sousaw/BoltzTraP2, opens an external URL in a new window

Contributions in the form of pull requests are welcome.

Users group

For questions and general discussion about BoltzTraP2 please join the BoltzTraP users group at

https://groups.google.com/forum/#!forum/boltztrap, opens an external URL in a new window

Citing BoltzTraP2

If you use BoltzTraP2 for a publication, we politely ask you to cite the following article:

BoltzTraP2, a program for interpolating band structures and calculating semi-classical transport coefficients, Computer Physics Communications 231 (2018) 140-145, opens an external URL in a new window

The following is a ready-made BibTeX entry:

@article{BoltzTraP2,
title = {{BoltzTraP2}, a program for interpolating band structures and calculating semi-classical transport coefficients},
journal = {Comput. Phys. Commun.},
volume = {231},
pages = {140 -- 145},
year = {2018},
doi = {10.1016/j.cpc.2018.05.010},
author = {Georg K. H. Madsen and Jes\'us Carrete and Matthieu J. Verstraete},