TBit- Utilities for condensed matter physics tight binding calculations.

Safe HaskellNone




decompactify :: Int -> LEdge Displacement -> CellGraph -> Parameterizable CellGraph Source

Perform so-called "truncated decompactification" on a CellGraph.

Since the neighbor-data is stored in a unit-cell-level graph, it's in a sense "compact", i.e. it's a local periodic structure instead of an extended (to infinity) structure. Truncated decompactification sends the periodic structure (on T^2, roughly speaking) back to something of infinite extent (i.e. the integers), but then truncates the result to keep only a finite subset (i.e. the ribbon-width).

It may not be clear a priori how to choose the edge you want to decompactify on to get the desired edge configuration; for honeycomb, you can show on paper that decompactifying on a single graph edge (there are three, corresponding to the three nearest neighbors of a site) gives you zig-zag edge, while decompactifying on two graph edges gives you an armchair configuration. The square lattice is even more straightforward.