/sisl

Electronic structure Python package for post analysis and large scale tight-binding DFT/NEGF calculations

Primary LanguagePythonMozilla Public License 2.0MPL-2.0

Install sisl using PyPI Install sisl using conda License: MPL 2.0 Code style: black DOI for citation

Join discussion on Discord Build Status Checkout sisl code coverage Python versions

Copyright Nick R. Papior 2024

sisl is an open-source easy-to-use density functional theory API framework to post-analyse density functional theory codes output as well as providing tight-binding calculation capabilities. It couples to a wide range of density functional theory codes and has a high connection with LCAO codes such as Siesta. The tight-binding matrices can be used in non-equilibrium Green function calculations with TBtrans as a backend. API for creating publication ready graphs and images.

Features

  • Simple command-line interface: To extract or quickly plot calculation output
  • Tight-binding API: Easily create (non-) orthogonal tight-binding matrices and do electronic structure analysis
  • Manipulation of sparse matrices: Extract, replace, append matrices and sub-matrices to one another
  • Post analyse DFT simulations: Post-process LCAO Hamiltonians by doing (projected) density of states, inverse participation ratio and many more
  • Post analyse NEGF simulations: Effectively create and post-analyse NEGF output from TBtrans
  • Real-space grid analysis: Perform mathematical operations on DFT real-space grid outputs, spin-density differences and wavefunction plots
  • Conversion of geometries and real-space grid: Easy conversion of geometry files and real-space grid file formats (cube, xsf, etc.)
  • User contributed toolboxes: Users may contribute toolboxes for sharing methodologies
  • Interoperability with other codes: ASE and pymatgen
  • and many more features

Tutorials and examples

The easiest way to get started is to follow the tutorials here and the workshop material for TranSiesta here.

Documentation

Please find documentation here:

Community support

There are different places for getting information on using sisl, here is a short list of places to search/ask for answers:

If sisl was used to produce scientific contributions, please use this DOI for citation. We recommend to specify the version of sisl in combination of this citation:

@software{zerothi_sisl,
  author = {Papior, Nick},
  title  = {sisl: v<fill-version>},
  year   = {2024},
  doi    = {10.5281/zenodo.597181},
  url    = {https://doi.org/10.5281/zenodo.597181}
}

To get the BibTeX entry easily you may issue the following command:

sdata --cite

which fills in the version number.

Contributing

Kindly read our Contributing Guide to learn and understand about our development process, how to propose bug fixes and improvements, and how to build and test your changes to sisl.

Contributors

License

sisl © 2024, Released under the Mozilla Public License v2.0.