# BoltzTraP2
[![BoltzTraP Logo](http://www.icams.de/content/wp-content/uploads/2014/09/boltztrap_200x58.png)](https://www.imc.tuwien.ac.at//forschungsbereich_theoretische_chemie/forschungsgruppen/prof_dr_gkh_madsen_theoretical_materials_chemistry/boltztrap/)
[![TU Wien Logo](https://www.imc.tuwien.ac.at/fileadmin/tuw/main/images/TU-Logo.gif)](https://www.tuwien.ac.at/)
BoltzTraP2 is a modern implementation of the [smoothed Fourier interpolation algorithm](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.38.2721) for electronic bands that formed the base of the original and widely used [BoltzTraP](http://www.sciencedirect.com/science/article/pii/S0010465506001305) 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](www.example.org).
## Prerequisites
BoltzTraP2 is a Python module, with a small performance-critical portion written in C++ and [Cython](http://cython.org/). BoltzTraP2's runtime requirements are Python version 3.5 or higher, and the Python libraries [NumPy](http://www.numpy.org/), [SciPy](https://www.scipy.org/), [matplotlib](https://matplotlib.org/), [spglib](https://atztogo.github.io/spglib/), [NetCDF4](https://github.com/Unidata/netcdf4-python) and [ASE](https://wiki.fysik.dtu.dk/ase/). All of them can be easily obtained from the [Python Package Index](https://pypi.python.org/pypi) (PyPI), using tools such as pip. They may also be bundled with Python distributions aimed at scientists, like [Anaconda](https://anaconda.org/), 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](http://hgomersall.github.io/pyFFTW/) (for faster Fourier transforms), [colorama](https://github.com/tartley/colorama) (to colorize some console output) and [VTK](https://www.vtk.org/) (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](https://docs.pytest.org) (also available through pip), change to the source directory and use the command
$ pytest -v tests
Raw data
{
"_id": null,
"home_page": null,
"name": "BoltzTraP2",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "electronic band structure, Onsager, thermoelectric coefficients",
"author": null,
"author_email": "\"Georg K. H. Madsen\" <georg.madsen@tuwien.ac.at>",
"download_url": "https://files.pythonhosted.org/packages/1d/c3/704b41eb375205b276e5b7476140bd1c56399099b015612bd7721daea7af/boltztrap2-24.9.4.tar.gz",
"platform": null,
"description": "# BoltzTraP2\n\n[![BoltzTraP Logo](http://www.icams.de/content/wp-content/uploads/2014/09/boltztrap_200x58.png)](https://www.imc.tuwien.ac.at//forschungsbereich_theoretische_chemie/forschungsgruppen/prof_dr_gkh_madsen_theoretical_materials_chemistry/boltztrap/)\n[![TU Wien Logo](https://www.imc.tuwien.ac.at/fileadmin/tuw/main/images/TU-Logo.gif)](https://www.tuwien.ac.at/)\n\nBoltzTraP2 is a modern implementation of the [smoothed Fourier interpolation algorithm](https://journals.aps.org/prb/abstract/10.1103/PhysRevB.38.2721) for electronic bands that formed the base of the original and widely used [BoltzTraP](http://www.sciencedirect.com/science/article/pii/S0010465506001305) 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](www.example.org).\n\n## Prerequisites\n\nBoltzTraP2 is a Python module, with a small performance-critical portion written in C++ and [Cython](http://cython.org/). BoltzTraP2's runtime requirements are Python version 3.5 or higher, and the Python libraries [NumPy](http://www.numpy.org/), [SciPy](https://www.scipy.org/), [matplotlib](https://matplotlib.org/), [spglib](https://atztogo.github.io/spglib/), [NetCDF4](https://github.com/Unidata/netcdf4-python) and [ASE](https://wiki.fysik.dtu.dk/ase/). All of them can be easily obtained from the [Python Package Index](https://pypi.python.org/pypi) (PyPI), using tools such as pip. They may also be bundled with Python distributions aimed at scientists, like [Anaconda](https://anaconda.org/), and with a number of Linux distributions. If pip is used to install BoltzTraP2, dependencies should be resolved automatically.\n\nIf available, BoltzTraP2 will also make use of [pyFFTW](http://hgomersall.github.io/pyFFTW/) (for faster Fourier transforms), [colorama](https://github.com/tartley/colorama) (to colorize some console output) and [VTK](https://www.vtk.org/) (to generate 3D representations). Those packages are not required, but they are recommended to be able to access the full functionality of BoltzTraP2.\n\nFurthermore, 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.\n\n## Compiling and install BoltzTraP2\n\nThe easiest way to get BoltzTraP2 is to run:\n\n $ pip install BoltzTraP2\n\nThis should take care of downloading and installing the dependencies as well.\n\nUsers installing from source must install the dependencies first and then run:\n\n $ python setup.py install\n\nfrom the source directory. For finer-grained control, please see the output of these commands:\n\n $ python setup.py --help\n $ python setup.py --help-commands\n $ python setup.py install --help\n\nThe BoltzTraP2 installer supports\n\n $ python setup.py develop\n\nwhich 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.\n\n## Running the tests\n\nBoltzTraP2 comes with a comprehensive set of unit and integration tests of its core functionality. To run those, install [pytest](https://docs.pytest.org) (also available through pip), change to the source directory and use the command\n\n $ pytest -v tests\n",
"bugtrack_url": null,
"license": "GPLv3+",
"summary": "band-structure interpolator and transport coefficient calculator",
"version": "24.9.4",
"project_urls": {
"Download": "https://gitlab.com/sousaw/BoltzTraP2/repository/archive.tar.gz?ref=v24.9.4",
"Homepage": "https://www.boltztrap.org"
},
"split_keywords": [
"electronic band structure",
" onsager",
" thermoelectric coefficients"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "1dc3704b41eb375205b276e5b7476140bd1c56399099b015612bd7721daea7af",
"md5": "b12075031bd31aed585f22965c05ea9c",
"sha256": "05f191eec63413dafe4570357c2f6ecb51970be10557544a3af332bc671ff9a1"
},
"downloads": -1,
"filename": "boltztrap2-24.9.4.tar.gz",
"has_sig": false,
"md5_digest": "b12075031bd31aed585f22965c05ea9c",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 4547411,
"upload_time": "2024-09-25T08:09:29",
"upload_time_iso_8601": "2024-09-25T08:09:29.981063Z",
"url": "https://files.pythonhosted.org/packages/1d/c3/704b41eb375205b276e5b7476140bd1c56399099b015612bd7721daea7af/boltztrap2-24.9.4.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-09-25 08:09:29",
"github": false,
"gitlab": true,
"bitbucket": false,
"codeberg": false,
"gitlab_user": "sousaw",
"gitlab_project": "BoltzTraP2",
"lcname": "boltztrap2"
}