NanoNET: An extendable Python framework for semi-empirical tight-binding models,☆☆

https://doi.org/10.1016/j.cpc.2020.107676Get rights and content
Under a Creative Commons license
open access

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 summary

Program Title: NanoNET

CPC Library link to program files: https://doi.org/10.17632/b9p7kyzdj9.1

Developer’s repository link: https://github.com/freude/NanoNet

Licensing provisions: MIT

Programming language: Python

Nature 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.

Keywords

Tight-binding method
Hamiltonian matrix
kd-tree
Band matrix
Block-tridiagonal matrix
Non-equilibrium Green’s functions

Cited by (0)

The review of this paper was arranged by Prof. Hazel Andrew.

☆☆

This paper and its associated computer program are available via the Computer Physics Communication homepage on ScienceDirect (http://www.sciencedirect.com/science/journal/00104655)