# Welcome to sisl documentation!¶

sisl is a tool to manipulate an increasing amount of density functional theory code input and/or output. It is also a tight-binding code which implements extremely fast and scalable tight-binding creation algorithms (>1,000,000 orbitals). In particular is sisl developed with TBtrans in mind to act as a tight-binding Hamiltonian input engine for N-electrode transport calculations.

## Features¶

sisl consists of several distinct features:

• Geometries; create, extend, combine, manipulate different geometries readed from a large variety of DFT-codes and/or from generically used file formats.
• Hamiltonian; easily create tight-binding Hamiltonians with user chosen number of orbitals per atom. Or read in Hamiltonians from DFT software such as SIESTA, Wannier90, etc. Secondly, there is intrinsic capability of orthogonal and non-orthogonal Hamiltonians.
• Generic output files from DFT-software. A generic set of output files are implemented which provides easy examination of output files.
• Command line utilities for processing of data files for a wide variety of file formats:
• sdata Read and transform any sisl data file. This script is capable of handling geometries, grids, special data files such as binary files etc.
• sgeom a geometry conversion tool which reads and writes many commonly encounted files for geometries, such as XYZ files etc. as well as DFT related input and output files.
• sgrid a real-space grid conversion tool which reads and writes many commonly encounted files for real-space grids. Mainly targetted SIESTA_.

## Installation¶

The easiest way to install sisl is via the pypi interface. Install via:

pip install sisl


In case you are using conda simply do:

conda install -c zerothi sisl


Alternatively you can download the releases on the release page. And install via the regular setup.py interface:

python setup.py install


which will install sisl in your default location, use --prefix <path> for manual control of the placement.

## Requirements¶

To succesfully use sisl these Python packages must be installed: