2026-08-13 –, Room 2
Seebeck coefficient, electrical conductivity, and thermal conductivity are key parameters for thermoelectric design. BoltzTraP.jl is a Julia port of BoltzTraP2, the standard tool for computing these via the Boltzmann transport equation, ensuring numerical equivalence with Julia-native optimizations. It accepts input from major DFT codes and DFTK.jl, enabling an all-Julia workflow from electronic structure to transport properties. In-memory calculations show over 2x speedup over BoltzTraP2.
Thermoelectric materials convert heat directly into electricity and vice versa, enabling applications in waste heat recovery, solid-state cooling, and remote power generation. The efficiency of thermoelectric devices depends on the figure of merit zT, which is determined by the Seebeck coefficient, electrical conductivity, and thermal conductivity. Accurate prediction of these transport coefficients from first-principles calculations is essential for discovering and optimizing new thermoelectric materials.
BoltzTraP.jl is a Julia implementation of the BoltzTraP2 algorithm for calculating semi-classical transport coefficients from density functional theory (DFT) band structures.
The package interpolates band energies using a Fourier expansion in reciprocal space, reconstructs the bands on a dense k-point grid via FFT, and computes transport tensors using the Boltzmann transport equation in the constant relaxation time approximation.
BoltzTraP.jl is a faithful Julia port that implements the exact same algorithm as BoltzTraP2, producing numerically equivalent results. The motivation for this port is integration with the growing Julia ecosystem for materials science:
- Julia ecosystem integration:
BoltzTraP.jlintegrates natively with Julia packages like DFTK.jl, enabling direct transport calculations from DFTK self-consistent field results without intermediate files or language bridges. It also accepts output data from major DFT programs including VASP, Wien2K, Quantum Espresso, and ABinit. - Pure Julia, no compilation: BoltzTraP2 requires compiling a C++ extension, which can fail on some systems—particularly on HPC clusters with non-standard compiler configurations.
BoltzTraP.jlhas no external compiled dependencies. - HPC-friendly: Julia's package manager handles dependencies without conda/pip conflicts common on shared HPC systems. No C++ compilation means no compiler version mismatches. As pure Julia code,
BoltzTraP.jlis designed to be highly portable and should run on any system where Julia is available, from personal laptops to high-performance computing (HPC) clusters.
Validation, Performance, Future Directions
BoltzTraP.jl was developed using reference testing against BoltzTraP2,
the de facto standard for computing transport coefficients from DFT calculations, with over 2,000 citations.
The accompanying figure compares transport coefficients computed by both codes for silicon at 300 K
based on the DFT data calculated by VASP.
All transport coefficients (electrical conductivity σ, Seebeck coefficient S, thermal conductivity κ) match within numerical precision (< 1e-6 relative error),
demonstrating BoltzTraP.jl faithfully reproduces the original Python implementation.
Benchmarks on a MacBook Pro (Apple M2) show 1.8-3.4x speedup in end-to-end calculation (interpolation + integration) for silicon (1102 equivalence classes, 6 bands), enabling rapid screening of thermoelectric properties.
We are currently expanding the range of materials this package can handle to include collinear magnetic materials. Furthermore, we plan to integrate Wannier.jl to implement Wannier interpolation and reduce eigenvalue misidentification.
A Google Colab notebook is available demonstrating the full workflow from band interpolation to transport coefficients, including an all-Julia pipeline with DFTK.jl.
This package is open to contributions and designed for extensibility.
Links
- BoltzTraP.jl: https://github.com/hsugawa8651/BoltzTraP.jl, DOI: 10.5281/zenodo.18605978
- Docs: https://hsugawa8651.github.io/BoltzTraP.jl/dev/
- Colab: https://colab.research.google.com/gist/hsugawa8651/1bf32bb4cc3f38074f798fcac5c21d5a/d.ipynb
Hiroharu Sugawara is an associate professor in the Graduate School of Systems Design at Tokyo Metropolitan University, Tokyo, Japan. He received his Ph.D. in electronic engineering from the University of Tokyo in 1994.
His research focuses on eco-friendly semiconductor functional materials.
He has been a Julia user since Julia 0.5.
He has been teaching a programming exercise course using the Julia language for university freshmen in the Department of Mechanical Systems Engineering every year since the 2018 academic year.
He translated Tanmay Bakshi's "Tanmay Teaches Julia for Beginners" into Japanese (ISBN 978-4807920211) in 2022.