Abstract

We present a novel open-source Python framework called NanoNET (Nanoscale Non-equilibrium Electron Transport) for modeling 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-neighbor 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. Program summaryProgram Title:NanoNETCPC Library link to program files:https://doi.org/10.17632/b9p7kyzdj9.1Developer’s repository link:https://github.com/freude/NanoNetLicensing provisions: MITProgramming language: PythonNature of problem: The framework NanoNET solves a problem which is, having a set of atomic coordinates and tight-binding parameters, to construct Hamiltonian matrices in one of several desired forms. In particular, some applications require those matrices to have a reduced bandwidth and/or to possess a block-tridiagonal structure.Solution method: The problem is solved using a combination of kd-tree-based fast nearest-neighbor search and atomic coordinate sorting. Furthermore, a new greedy recursive algorithm is proposed for detecting block-tridiagonal structure of a matrix in a non-optimal way. Additionally, we propose an algorithm of a polynomial time for optimizing block sizes.Additional features: Although the resulting matrices can be processed by many existing software packages, the framework also has built-in standard tools for diagonalizing Hamiltonian matrices and computing Green’s functions that make it an independent tool for solving electronic structure and transport problems.

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call