Creating geometries
A selection of default geometries that sisl can construct on the fly.
While this is far from complete we encourage users to contribute additional geometries via a pull request.
All methods returns a Geometry object.
Some of the geometries are created in section based geometries, such as heteroribbon.
This functionality is provided through the composite_geometry.
Bulk (3D)
|
Simple cubic lattice with 1 atom |
|
Body centered cubic lattice with 1 (non-orthogonal) or 2 atoms (orthogonal) |
|
Face centered cubic lattice with 1 (non-orthogonal) or 4 atoms (orthogonal) |
|
Hexagonal closed packed lattice with 2 (non-orthogonal) or 4 atoms (orthogonal) |
|
Diamond lattice with 2 atoms in the unitcell |
|
Two-element rocksalt lattice with 2 (non-orthogonal) or 8 atoms (orthogonal) |
Surfaces (slabs)
|
Construction of a surface slab from a body-centered cubic (BCC) crystal |
|
Surface slab forming a face-centered cubic (FCC) crystal |
|
Surface slab forming a rock-salt crystal (halite) |
0D materials
|
Hexagonal flake of a honeycomb lattice, with zig-zag edges. |
|
Hexagonal flake of graphene, with zig-zag edges. |
|
Construction of an [n]-triangulene geometry |
1D materials
|
Construction of a nanoribbon unit cell of type armchair, zigzag or (n,m)-chiral. |
|
Construction of an armchair graphene nanoribbon |
|
Construction of a zigzag graphene nanoribbon |
|
Construction of an (n, m, w)-chiral graphene nanoribbon |
|
Construction of a graphene nanoribbon |
|
Nanotube with user-defined chirality. |
|
Build a nanoribbon consisting of several nanoribbons of different widths. |
|
Build a graphene nanoribbon consisting of several nanoribbons of different widths |
2D materials
|
Honeycomb lattice with 2 or 4 atoms per unit-cell, latter orthogonal cell |
|
Commensurate unit cell of a hexagonal bilayer structure, possibly with a twist angle. |
|
Graphene lattice with 2 or 4 atoms per unit-cell, latter orthogonal cell |
|
A hexagonal unit-cell with 1 or 2 atoms in the basic unit cell |
|
A goldene unit-cell with 1 or 2 atoms in the basic unit cell |
Ancillary methods
|
Creates a composite geometry from a list of sections. |
CompositeGeometrySection() |
Saturation
saturate adds atoms to the missing bonds of selected atoms.
The selection uses the categories in Indexing atoms.
The first rule that selects an atom is used:
>>> import sisl
>>> from sisl.geom import AtomNeighbors, AtomZ, Saturate, saturate
>>> ribbon = sisl.geom.zgnr(4)
>>> edge = AtomNeighbors(max=2, R=1.5)
>>> saturated = saturate(ribbon, [
... (edge & AtomZ("N"), Saturate("H", bond=1.01, R=1.5)),
... (edge, Saturate("H", bond=1.09, R=1.5)),
... ])
>>> saturated.na - ribbon.na
2
|
Saturate missing bonds of atoms with other atoms |
Add an atom for each missing bond of an atom |