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 (
HamiltonianandDynamicalMatrixetc.) 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.iofor complete details)command line interfaces for parsing files on the fly for fast exploration of calculations
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.