Skip to main content

band-structure interpolator and transport coefficient calculator

Project description

BoltzTraP2

BoltzTraP Logo TU Wien Logo

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.

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, NetCDF4 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, 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.

Compiling and install BoltzTraP2

The easiest way to get BoltzTraP2 is to run:

$ pip install BoltzTraP2

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

Users installing from source must install the dependencies first and then run:

$ python setup.py install

from the source directory. For finer-grained control, please see the output of these commands:

$ python setup.py --help
$ python setup.py --help-commands
$ python setup.py install --help

The BoltzTraP2 installer supports

$ python setup.py develop

which install the module through a set of symbolic links to the source directory, allowing users to immediately tests the effects of their changes to the code.

Running the tests

BoltzTraP2 comes with a comprehensive set of unit and integration tests of its core functionality. To run those, install pytest (also available through pip), change to the source directory and use the command

$ pytest -v tests

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

boltztrap2-24.9.4.tar.gz (4.5 MB view hashes)

Uploaded Source

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