-
Notifications
You must be signed in to change notification settings - Fork 2
Home
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.
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'
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.
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
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
Please see the documentation produced by doxygen.