TBit-0.4.2.3: Utilities for condensed matter physics tight binding calculations.

Safe HaskellNone
LanguageHaskell98

TBit.Topological.Chern

Synopsis

Documentation

chern :: BandIndex -> Hamiltonian -> Parameterized Chern Source

Calculate the Chern number of the first n occupied bands by using a grid of closed loops and calculating many Berry phases using the discretized formula. This function is guaranteed to return an integer result by rounding the actual calculation. It tries to determine if the Chern number is undefined due to a degeneracy, and if it is then it throws an error via the ExceptT monad transformer.

chernBand :: BandIndex -> Hamiltonian -> Parameterized Chern Source

Calculate the Chern number of the nth band (indexed from 0) by integrating the Berry curvature over the Brillouin zone. The BandIndex parameter is passed directly to bandCurvature, and should use the same conventions for specifying the band.

The output is appropriately normalized by 1/2π. The integration is carried out using the TanhSinh quadrature method via integrate.