Common geometries (sisl.geom)

A variety of default geometries.

Basic

sisl.geom.sc(alat, atom)

Simple cubic lattice with 1 atom

Parameters
  • alat (float) – lattice parameter

  • atom (Atom) – the atom in the SC lattice

sisl.geom.bcc(alat, atoms, orthogonal=False)

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

Parameters
  • alat (float) – lattice parameter

  • atoms (Atom) – the atom(s) in the BCC lattice

  • orthogonal (bool, optional) – whether the lattice is orthogonal (2 atoms)

sisl.geom.fcc(alat, atoms, orthogonal=False)

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

Parameters
  • alat (float) – lattice parameter

  • atoms (Atom) – the atom(s) in the FCC lattice

  • orthogonal (bool, optional) – whether the lattice is orthogonal (4 atoms)

sisl.geom.hcp(a, atoms, coa=1.63333, orthogonal=False)

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

Parameters
  • a (float) – lattice parameter for 1st and 2nd lattice vectors

  • atoms (Atom) – the atom(s) in the HCP lattice

  • coa (float, optional) – c over a parameter where c is the 3rd lattice vector length

  • orthogonal (bool, optional) – whether the lattice is orthogonal (4 atoms)

1D materials

sisl.geom.nanoribbon(bond, atoms, width, kind='armchair')

Construction of a nanoribbon unit cell of type armchair or zigzag.

The geometry is oriented along the \(x\) axis.

Parameters
  • bond (float) – bond length between atoms in the honeycomb lattice

  • atoms (Atom) – atom (or atoms) in the honeycomb lattice

  • width (int) – number of atoms in the transverse direction

  • kind ({'armchair', 'zigzag'}) – type of ribbon

See also

honeycomb

honeycomb lattices

graphene

graphene geometry

graphene_nanoribbon

graphene nanoribbon

agnr

armchair graphene nanoribbon

zgnr

zigzag graphene nanoribbon

sisl.geom.graphene_nanoribbon(width, bond=1.42, atoms=None, kind='armchair')

Construction of a graphene nanoribbon

Parameters
  • width (int) – number of atoms in the transverse direction

  • bond (float, optional) – C-C bond length. Defaults to 1.42

  • atoms (Atom, optional) – atom (or atoms) in the honeycomb lattice. Defaults to Atom(6)

  • kind ({'armchair', 'zigzag'}) – type of ribbon

See also

honeycomb

honeycomb lattices

graphene

graphene geometry

nanoribbon

honeycomb nanoribbon (used for this method)

agnr

armchair graphene nanoribbon

zgnr

zigzag graphene nanoribbon

sisl.geom.agnr(width, bond=1.42, atoms=None)

Construction of an armchair graphene nanoribbon

Parameters
  • width (int) – number of atoms in the transverse direction

  • bond (float, optional) – C-C bond length. Defaults to 1.42

  • atoms (Atom, optional) – atom (or atoms) in the honeycomb lattice. Defaults to Atom(6)

See also

honeycomb

honeycomb lattices

graphene

graphene geometry

nanoribbon

honeycomb nanoribbon

graphene_nanoribbon

graphene nanoribbon

zgnr

zigzag graphene nanoribbon

sisl.geom.zgnr(width, bond=1.42, atoms=None)

Construction of a zigzag graphene nanoribbon

Parameters
  • width (int) – number of atoms in the transverse direction

  • bond (float, optional) – C-C bond length. Defaults to 1.42

  • atoms (Atom, optional) – atom (or atoms) in the honeycomb lattice. Defaults to Atom(6)

See also

honeycomb

honeycomb lattices

graphene

graphene geometry

nanoribbon

honeycomb nanoribbon

graphene_nanoribbon

graphene nanoribbon

agnr

armchair graphene nanoribbon

sisl.geom.nanotube(bond, atoms=None, chirality=1, 1)

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

  • atoms (Atom(6)) – nanotube atoms

  • chirality ((int, int)) – chirality of nanotube (n, m)

2D materials

sisl.geom.honeycomb(bond, atoms, orthogonal=False)

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)

  • atoms (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

bilayer

create bilayer honeycomb lattices

sisl.geom.graphene(bond=1.42, atoms=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

bilayer

create bilayer honeycomb lattices

sisl.geom.bilayer(bond=1.42, bottom_atoms=None, top_atoms=None, stacking='AB', twist=0, 0, separation=3.35, ret_angle=False, layer='both')

Commensurate unit cell of a hexagonal bilayer structure, possibly with a twist angle.

This routine follows the prescription of twisted bilayer graphene found in 1.

Notes

This routine may change in the future to force some of the arguments.

Parameters
  • bond (float, optional) – bond length between atoms in the honeycomb lattice

  • bottom_atoms (Atom, optional) – atom (or atoms) in the bottom layer. Defaults to Atom(6)

  • top_atoms (Atom, optional) – atom (or atoms) in the top layer, defaults to bottom_atom

  • stacking ({'AB', 'AA', 'BA'}) – stacking sequence of the bilayer, where XY means that site X in bottom layer coincides with site Y in top layer

  • twist (tuple of int, optional) – integer coordinates (m, n) defining a commensurate twist angle

  • separation (float, optional) – distance between the two layers

  • ret_angle (bool, optional) – return the twist angle (in degrees) in addition to the geometry instance

  • layer ({'both', 'bottom', 'top'}) – control which layer(s) to return

See also

honeycomb

honeycomb lattices

graphene

graphene geometry

References

1
  1. Trambly de Laissardiere, D. Mayou, L. Magaud, “Localization of Dirac Electrons in Rotated Graphene Bilayers”, Nano Letts. 10, 804-808 (2010)

Others

sisl.geom.diamond(alat=3.57, atoms=None)

Diamond lattice with 2 atoms in the unitcell

Parameters
  • alat (float) – the lattice constant for the diamond

  • atoms (Atom, optional) – atom in the lattice, may be one or two atoms. Default is Carbon