Safe Haskell | None |
---|---|
Language | Haskell98 |
- defaultParams :: Parameters
- parameters :: [(String, Complex Double)] -> [(String, Vector (Complex Double))] -> Parameters
- kagomeAF :: Parameterized Hamiltonian
Documentation
defaultParams :: Parameters Source
The default set of scalar parameters is:
- "t" = 1, the hopping parameter
- "tSO" = 1, the intrinsic spin-orbit coupling
- J = 1, the Heisenberg exchange parameter
The default vector parameters are the d-orbital local moments on the three sites. Each of them takes the form: (-cos theta, -sin theta, 0) where theta is:
- "d0" : theta = pi/2
- "d1" : theta = pi2 + 2pi3
- "d2" : theta = pi2 + 4pi3
These can be changed by using parameters
to set
all of them explicitly.
parameters :: [(String, Complex Double)] -> [(String, Vector (Complex Double))] -> Parameters Source
Set the named parameters to their given complex values.
This function is used to implement defaultParams
as
defaultParams = parameters [ ("t" , 1.0 :+ 0.0) , ("tSO", 0.2 :+ 0.0) , ("J" , 1.7 :+ 0.0) ] [ ("d0" , n21 ) , ("d1" , n02 ) , ("d2" , n10 ) ] where n10 = negate $ fromList [ cos ang01 , sin ang01 , 0.0 ] n21 = negate $ fromList [ cos ang12 , sin ang12 , 0.0 ] n02 = negate $ fromList [ cos ang20 , sin ang20 , 0.0 ] ang01 = pi/2.0 + 4.0*pi/3.0 ang12 = pi/2.0 ang20 = pi/2.0 + 2.0*pi/3.0
but you can use it to generate your own parameter list. For
more advanced manipulation, like setting the mesh size or the
primitive lattice vectors, you'll have to constuct a Parameters
type explicitly.
kagomeAF :: Parameterized Hamiltonian Source
The kagomé hamiltonian provided here includes nearest-neighbor hopping, noncollinear AF order due to localized d-orbital moments, and spin-orbit coupling which breaks mirror symmetry.