Skip to main content

Adaptive band structure analyzer for Kwant leads

Project description

kwantSpectrum is an extension to Kwant that adaptively analyzes band structures of infinite quasi-1d systems. The bandstructure is approximated to an arbitrary precision by piecewise cubic polynomials. Functionality to deal with special points, intervals, and the periodic nature of the spectrum is provided.

kwantSpectrum is distributed under the 2-clause BSD license

Website: https://kwant-project.org/extensions/kwantspectrum

Source code: https://gitlab.kwant-project.org/kwant/kwantspectrum

Installation

This section covers the installation of kwantSpectrum on a GNU/Linux system as Debian and Ubuntu via the command line.

Requirements

kwantSpectrum has following non-Python dependency:

Kwant can be installed with the following command:

sudo apt-add-repository -s ppa:kwant-project/ppa
sudo apt-get update
sudo apt-get install python3-kwant

kwantSpectrum requires at least Python 3.5. The following packages must be installed to build kwantSpectrum:

Most packages can be installed from the command line by the standard Python package manager pip via:

sudo pip3 install numpy scipy

Testing requirements

The kwantSpectrum test suite requires the following Python packages:

The packages can be installed by the standard pip command:

sudo pip3 install pytest pytest-cov pytest-flake8

Documentation requirements

Building the documentation requires the following Python packages:

The packages can be installed by the standard pip command:

sudo pip3 install matplotlib sphinx jupyter-sphinx

Building kwantSpectrum

kwantSpectrum can be installed from PyPI with:

sudo pip3 install kwantspectrum

Alternatively, it can be installed directly from the source code repository:

sudo pip3 install git+https://gitlab.kwant-project.org/kwant/kwantspectrum.git

For development, kwantSpectrum can be cloned from the official repository with:

git clone https://gitlab.kwant-project.org/kwant/kwantspectrum.git

Test suite

Unittests can be run directly in the local source repository from the command line:

pytest

Building the documentation

The documentation can be build directly in the /doc folder of the local source repository from the command line:

make html

The generated html documentation can be browsed by opening the file doc/build/html/index.html with a web browser.

Documentation

Full documentation including a tutorial:

Communication

The kwant-discuss mailing list is the main communication channel for questions and discussions around kwantSpectrum. Searching and using the mailing list is explained in section mailing list.

In addition, the authors can be reached by email, see below.

Contributing

Contributions and feedback are always welcome. Report bugs and follow development through the project repository. Authors can be reached by email or a merge request may be opened on the project’s website. Please make sure that the test suite runs without errors before opening a new merge request.

License

kwantSpectrum is distributed under BSD license, see the file LICENSE.rst in the project repository.

Authors

The principle developer of kwantSpectrum is:

Contributors to the project are:

  • Christoph Groth (CEA Grenoble)
  • Xavier Waintal (CEA Grenoble)
  • Benoît Rossignol (CEA Grenoble)

(CEA = Commissariat à l’énergie atomique et aux énergies alternatives)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for kwantspectrum, version 0.1.0
Filename, size File type Python version Upload date Hashes
Filename, size kwantspectrum-0.1.0-py3-none-any.whl (20.9 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size kwantspectrum-0.1.0.tar.gz (34.4 kB) File type Source Python version None Upload date Hashes View

Supported by

Pingdom Pingdom Monitoring Google Google Object Storage and Download Analytics Sentry Sentry Error logging AWS AWS Cloud computing DataDog DataDog Monitoring Fastly Fastly CDN DigiCert DigiCert EV certificate StatusPage StatusPage Status page