Common geometries (sisl.geom)

A variety of default geometries.

Basic

sisl.geom.sc(alat, atom)[source]

Simple cubic lattice with 1 atom

Parameters:
alat : float

lattice parameter

atom : Atom

the atom in the SC lattice

sisl.geom.bcc(alat, atom, orthogonal=False)[source]

Body centered cubic lattice with 1 (non-orthogonal) or 2 atoms (orthogonal)

Parameters:
alat : float

lattice parameter

atom : Atom

the atom in the BCC lattice

orthogonal : bool, optional

whether the lattice is orthogonal (2 atoms)

sisl.geom.fcc(alat, atom, orthogonal=False)[source]

Face centered cubic lattice with 1 (non-orthogonal) or 4 atoms (orthogonal)

Parameters:
alat : float

lattice parameter

atom : Atom

the atom in the FCC lattice

orthogonal : bool, optional

whether the lattice is orthogonal (4 atoms)

sisl.geom.hcp(a, atom, coa=1.63333, orthogonal=False)[source]

Hexagonal closed packed lattice with 2 (non-orthogonal) or 4 atoms (orthogonal)

Parameters:
alat : float

lattice parameter

atom : Atom

the atom in the HCP lattice

orthogonal : bool, optional

whether the lattice is orthogonal (4 atoms)

2D materials

sisl.geom.honeycomb(bond, atom, orthogonal=False)[source]

Honeycomb lattice with 2 or 4 atoms per unit-cell, latter orthogonal cell

This enables creating BN lattices with ease, or graphene lattices.

Parameters:
bond : float

bond length between atoms (not lattice constant)

atom : Atom

the atom (or atoms) that the honeycomb lattice consists of

orthogonal : bool, optional

if True returns an orthogonal lattice

See also

graphene
the equivalent of this, but with default of Carbon atoms
sisl.geom.graphene(bond=1.42, atom=None, orthogonal=False)[source]

Graphene lattice with 2 or 4 atoms per unit-cell, latter orthogonal cell

Parameters:
bond : float

bond length between atoms (not lattice constant)

atom : Atom, optional

the atom (or atoms) that the honeycomb lattice consists of. Default to Carbon atom.

orthogonal : bool, optional

if True returns an orthogonal lattice

See also

honeycomb
the equivalent of this, but with non-default atoms

Nanotube

sisl.geom.nanotube(bond, atom=None, chirality=(1, 1))[source]

Nanotube with user-defined chirality.

This routine is implemented as in ASE with some cosmetic changes.

Parameters:
bond: float

length between atoms in nano-tube

atom: Atom(6)

nanotube atoms

chirality: (int, int)

chirality of nanotube (n, m)

Others

sisl.geom.diamond(alat=3.57, atom=None)[source]

Diamond lattice with 2 atoms in the unitcell

Parameters:
alat : float

the lattice constant for the diamond

atom : Atom, optional

atom in the lattice, may be one or two atoms. Default is Carbon