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

Safe HaskellNone
LanguageHaskell98

TBit.Hamiltonian.Builder.Terms

Synopsis

Documentation

neighborTerm :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix) Source

Add nearest-neighbor hopping to a lattice model.

onsiteTerm :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix) Source

Add an onsite energy term to a lattice model.

parityStaggeredTerm :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix) Source

Add an staggered onsite term to a lattice model. Works based on the integer parity of graph nodes, making it model-detail-dependent.

localMoments :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix) Source

Produces a representation of local magnetic moments given by site-wise VectorSite data. Fails clumsily if applied to Scalar sites.

kagomeSOC :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix) Source

Produces a spin-orbit interaction in the style of that given by Hua et al in PRL 112, 017205 (2014). It should probably only be used with a Kagomé lattice CellGraph. It works by looking at nearest neighbor pairs (i,j) and then looking up the VectorSite moment of site k; k is computed as

k = let i' = succ $ (i - 1) `mod` 3
        j' = succ $ (j - 1) `mod` 3
     in head $ [1,2,3] \\ [i',j']

(Recall that i and j are indexed from 1 as nodes.) Clearly, this function is not safe unless it's applied to the correct lattice.

Once mom is computed for VectorSite k, it is coupled to the Pauli matrix tensor as expected. The parity ν is chosen by asking whether succ i == j mod 3.

rashbaZ :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix) Source

Produces a Rashba spin-orbit coupling term for an E-field applied along the z direction.