Nanodsim is a NEGF-DFT transport package for modeling solid state devices that involve large number of atoms and atomistic disorder. It implements a semi-local exchange that accurately predicts band gaps and dispersions for many important semiconductors and insulators. It does disorder averaging by the non-equilibrium vertex correction (NVC) theory. NVC analytically derives a self-energy due to multiple impurity scattering at the non-equilibrium density matrix level, thus disorder averaging and device-to-device variability are calculated in one shot. In particular, the random impurity averaging is done within coherent potential approximation (CPA) for single particle quantities (e.g. Hamiltonian) and propagators, and within NVC for NEGF and transport properties. These advanced techniques allow the mean as well as the variance of the physical quantities (e.g. conductance) to be predicted accurately and efficiently. Another very important feature of Nanodsim is its implementation of a semi-local exchange functional that accurately predicts band gaps and dispersions for many important semiconductors. Different from the general purpose tool nanodcal, Nanodsim is specially designed for calculating solid-state devices that tend to involve large number of atoms. The DFT of Nanodsim is based on the TB-LMTO method. Nanodsim have been applied for quantum transport modeling of the systems such as magnetic multi-layers, magnetic tunnel junctions and spintronics, semiconductor devices, interfaces and surfaces, nano-wires and thin films and surface roughness scattering.
Different from the general purpose tool nanodcal, nanodsim is specially designed for calculating solid-state devices that tend to involve large number of atoms. The DFT of nanodsim is based on the TB-LMTO method. Developers have applied nanodsim routinely on systems with more than a thousand atoms in the device scattering region. Running on a parallel cluster with 600 cores, Si nanoFET channel structures with 9,960 Si atoms has been analyzed. Nanodsim is fully parallelized in computation and distributed in memory.