|Login | Register | Logout|
Nanodcal is an implementation of real space density functional theory (DFT) within the Keldysh nonequilibrium Green’s function formalism (NEGF). It is a general purpose tool for quantitative calculations of nonlinear and non-equilibrium quantum transport properties of two-probe open device structures such as
Nanodcal includes a large suite of methods for calculating many important transport properties, it is parallelized to run efficiently on computer clusters. In addition to transport, typical equilibrium electronic structure calculations can also be done.
In nanodcal, DFT is used to determine device Hamiltonian H: H gives electronic states which are populated by appropriate statistical information to obtain density matrix. At equilibrium, the statistics is Fermi-Dirac. When a current flows driven by external bias voltages, NEGF is used to determine the non-equilibrium quantum statistical information. Nanodcal is implemented in real space to handle open device boundary conditions. After the NEGF-DFT self-consistent iteration is converged, quantum transport properties are determined by NEGF. Algorithm features, functional features, parallelization issues, and some example systems can be found by these links.
In nanodcal, physical quantities are expanded in linear combination of atomic orbitals (LCAO) and atomic cores are defined by norm conserving nonlocal pseudopotentials. The LCAO basis and its associated pseudopotentials have been generated by a separate atomic package nanobase. A standard set of these functions are provided by nanodcal, but users are strongly encouraged to use nanobasis to generate basis functions according to specific chemical environment of an application. The current version of nanodcal (ver.1.0.0) implements LDA, LSDA and various GGA exchange-correlation functionals. A fully non-collinear LSDA method has also been included but will be released in a slightly later update. Please read more about features of nanodcal.
Nanodcal is implemented with Matlab and computationally intensive parts with C. In order to use the API of nanodcal for further developments, for instance adding your own external potential to the Hamiltonian, a basic version of Matlab should be installed in your computer. A subset of MPICH2 has been implemented in nanodcal for parallel computation. MPICH2 must be installed before parrallel features can be used.