Skip to content

An accelerated version of PythTB powered by numba for solving tight-binding models in Condensed Matter Physics.

License

Notifications You must be signed in to change notification settings

mikelgda/yeet-pythtb

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

64 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

yeet-pythtb

This package is a modification of the original PythTB, developed and mantained by by Sinisa Coh (University of California at Riverside), David Vanderbilt (Rutgers University) and others. All credit of the essential implementation goes to the original developers. For documentation, please visit the PythTB page, as the interface is identical.

This modification implements the most performance-critical routines in a JIT-compiled way by using Numba. In particular, the functions that solve the Hamiltonian are compiled and parallelized. This affects essential computations such as the calculation of bandstructures and Wannier charge centers, etc. The speed gains are more noticeable in large tight-binding models, such as those obtained through the Wannier90 interface. For really simple models, the JIT-compilation overhead may not be worth it, although is a one-time delay for each routine.

The package succesfully runs all the examples for the original PythTB, so it is expected to work without issues.

Installation

Install using pip

pip install yeet-pythtb

Requirements

yeet-pythtb requires the following packages:

  • numba
  • matplotlib
  • numpy

About

An accelerated version of PythTB powered by numba for solving tight-binding models in Condensed Matter Physics.

Topics

Resources

License

Stars

Watchers

Forks

Languages