Package overview
sisl is a Python package providing access to a large variety of things.
creation and manipulation of geometries
using orbitals for basis-set visualization purposes
creating tight-binding matrices (
Hamiltonian
andDynamicalMatrix
etc.) and manipulations (e.g. atomic or orbital sub-spaces)managing 3D real-space quantities such as density and potential grids
unified interface for interacting with a broad range of electronic structure codes (see
sisl.io
for complete details)command line interfaces for parsing files on the fly for fast exploration of calculations
Units
sisl assumes the user is careful in using consistent units.
The internal units in sisl are:
Ang (Angstrom)
eV (electron volt)
If you wish to introduce a specific unit, and its default, please open an issue.
Data structures
sisl provides a broad set of datastructures, each providing a unique set of capabilities.
The primary data structures includes:
Class |
Description |
---|---|
Specifications of orbitals (sub-classed for various functionality) |
|
Specifications of single atoms, species and orbitals |
|
A collection of |
|
Handling lattice-vectors, manipulations of lattices |
|
Lattice vectors + atoms and coordinates |
|
Real space quantities for manipulation of 3D grid-data |
|
IO-interactions, reading/writing electronic structure output/input |
These primary classes, which covers the basic usage of sisl, has a dependency graph as shown below:
The vast majority of other data structures in sisl relies on these. For instance
Hamiltonian
relies on a Geometry
object.