NanoNET

NanoNET: an extendable Python framework for semi-empirical tight-binding models. We present a novel open-source Python framework called NanoNET (Nanoscale Non-equilibrium Electron Transport) for modelling electronic structure and transport. Our method is based on the tight-binding method and non-equilibrium Green’s function theory. The core functionality of the framework is providing facilities for efficient construction of tight-binding Hamiltonian matrices from a list of atomic coordinates and a lookup table of the two-center integrals in dense, sparse, or block-tridiagonal forms. The framework implements a method based on kd-tree nearest-neighbour search and is applicable to isolated atomic clusters and periodic structures. A set of subroutines for detecting the block-tridiagonal structure of a Hamiltonian matrix and splitting it into series of diagonal and off-diagonal blocks is based on a new greedy algorithm with recursion. Additionally the developed software is equipped with a set of programs for computing complex band structure, self-energies of elastic scattering processes, and Green’s functions. Examples of usage and capabilities of the computational framework are illustrated by computing the band structure and transport properties of a silicon nanowire as well as the band structure of bulk bismuth.