Safe Haskell | None |
---|---|
Language | Haskell98 |
- neighborTerm :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix)
- onsiteTerm :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix)
- parityStaggeredTerm :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix)
- localMoments :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix)
- kagomeSOC :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix)
- rashbaZ :: String -> CellGraph -> Parameterized (Wavevector -> AdjMatrix)
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.