TBPLaS 2.0: a Tight-Binding Package for Large-scale Simulation
Yunhai Li, Zewen Wu, Miao Zhang, Junyi Wang, Shengjun Yuan
TL;DR
TBPLaS 2.0 tackles the scalability bottleneck of TBPLaS by migrating solvers and core tooling to C++, introducing GPU support, and unifying the workflow. It adds Spin texture, Berry curvature and Chern number calculations, partial diagonalization via FEAST, an Analytical Hamiltonian interface, and a two-package build system that cleanly separates Python and C++ cores. Benchmarks report speedups of severalfold to orders of magnitude across modeling tools and solvers, reduced memory usage, and robust cross-language integration. These advances improve maintainability, extensibility, and readiness for future features such as transport properties and real-space many-body methods.
Abstract
We introduce version 2.0 of TBPLaS, a package for large-scale simulation based on the tight-binding propagation method (TBPM). This new version brings significant improvements with many new features. Existing Python/Cython modeling tools have been thoroughly optimized, and a compatible C++ implementation of the modeling tools is now available, offering efficiency enhancement of several orders. The solvers have been rewritten in C++ from scratch, with the efficiency enhanced by several times or even by an order. The workflow of utilizing solvers has also been unified into a more comprehensive and consistent manner. New features include spin texture, Berry curvature and Chern number calculation, search of eigenvalues within a specific energy range, analytical Hamiltonian, and GPU computing support. The documentation and tutorials have also been updated to the new version. In this paper, we discuss the revisions with respect to version 1.3 and demonstrate the new features. Benchmarks on modeling tools and solvers are also provided.
