My Messages My download area My Cart My Product Order My articles Update Personal Information Change Photo
Nanodcal Nanodsim RESCU


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

  • molecular electronics
  • spintronics
  • semiconductor nanoelectronics
  • nano-wires and sensors 
  • carbon nanostructures
  • metal contacts and interfaces
  •  and other transport junctions.

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.

A two-probe device model of nanodcal is schematically shown in the figure where a scattering region indicated by "Device" is sandwiched by two semi-infinite leads. The leads extend to far away where external bias voltages are applied and electric current collected. The leads can have a finite cross section or have a 2D periodic slab structure, electrodes may or may not be made of the same material.  Nanodcal treats all atoms in equal footing within DFT. The scattering region can be influenced by other external physical effects of a research problem that is not anticipated by nanodcal: these are indicated by the "X-probe" in the figure. When this happens,  one can use  nanodcal API to include them at the self-consistent level. The inputs of a nanodcal calculation are symbols of atoms (i.e. Si, Fe, Mg, O, GaAs...) forming the device structure and their spatial positions. The outputs are a wide range of quantum transport properties. Once atomic positions are given, there is no phenomenological parameter in the calculation in the sense of DFT.


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.