Skip to content
K M Masum Habib edited this page Oct 6, 2016 · 3 revisions

QUEST

QUantum mechanics Enabled Simulation Toolset (QUEST) library is a collection of C++ classes and functions for simulation and design of nano-scaled devices using quantum mechanical tools such as Non-equilibrium Green Function (NEGF) formalism. This library provides a common framework for NEGF so that it can be used with any empirical tight binding, k.p model, extended Huckel method and density functional theory codes. This library also includes a generic empirical tight binding model and a k.p model which can be extended for any material with known parameters.

Unlike most of the quantum transport tools available out there, QUEST is a not a predefined simulator for a predefined problem in a predefined device structure. Rather, it is a flexible toolbox that allows users to write their own simulators best-suited for their own problems.

Deep down, QUEST is a C++ library that uses BLAS and LAPACK for computation. Yet, QUEST provides both C++ and Python interfaces so that one can choose between the elegance of C++ and ease of Python.

Git branches

We follow the branching mode presented here.

  • master: production branch
  • hotfix-x.xx.x: bug fix branch for version x.xx
  • release-x.xx: next release branch for version x.xx
  • develop: development branch
  • user-name/feature/*: feature branches for user 'user-name'

Versioning

Version number is x.yy.z where x, yy and z are major, minor and bug fix numbers respectively. We do not break compatibility between z releases. Even yy are production versions and odd yy's are development versions.

Dependencies

The following libraries are needed to build QUEST:

  • CMake >= 2.8
  • Boost >= 1.55 (Boost.MPI and Boost.Python) [How to Install]
  • Armadillo >= 4.x [How to Install]
  • BLAS+LAPACK (Intel MKL)
  • Python >= 2.7
  • Doxygen >= 1.8

Installation

Download and unzip source. Then configure using cmake:
$ ./build config

Make and install using:

  • $ ./build
  • $ ./build install ~/

To change installation directory, change ~/ to /your/install/path.

To clean:

  • $ ./build clean
  • or for permanent deletion of object files $ ./build superclean

To create documentation do:
$ ./build doc

Documentation

Please see the documentation produced by doxygen.