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

Safe HaskellNone
LanguageHaskell98

TBit.Parameterization

Synopsis

Documentation

loadParams :: [(String, a)] -> Map String a Source

Given a list of (String, a) pairs, return a mapping from the string to the value. Such a map is suitable for setting the scalarParams and vectorParams records of the Parameters type.

getScalar :: String -> Parameterized (Complex Double) Source

Given a String, retrieve that value from the parameterization monad. If no such scalar has been uploaded to the Parameters type, getScalar with throw an error in 'TBit.Types.Parameterized'\'s ExceptT monad.

getVector :: String -> Parameterized (Vector (Complex Double)) Source

Given a String, retrieve that value from the parameterization monad. If no such scalar has been uploaded to the Parameters type, getScalar with throw an error in 'TBit.Types.Parameterized'\'s ExceptT monad.

getMesh :: Parameterized Meshing Source

Return the spacing information for purposes of gridding the Brillouin zone.

crunch :: Parameterized a -> Parameters -> Either TBError a Source

Compute a Parameterized quantity given a set of input parameters.

primitiveLattice :: Parameterized Lattice Source

Return a list of primitive lattice vectors.

recipPrimitiveLattice :: Parameterized Lattice Source

Return a list of reciprocal primitive lattice vectors. They correspond in order to the return values of primitiveLattice, in the sense that:

do as <- primitiveLattice
   bs <- primitiveLattice
   return $ zipWith `dot` as bs

will return the list

replicate dim (2*pi)

up to numerical precision.