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

Safe HaskellNone
LanguageHaskell98

TBit.Plots

Synopsis

Documentation

bzPlot :: (Parameterized Hamiltonian, Parameters) -> (Hamiltonian -> Wavevector -> Parameterized Double) -> String Source

Given a hamiltonian and a set of parameters, plot a real-valued function over the Brillouin zone. For a Berry curvature plot, e.g.,

bzPlot (kagomeAF, defaultParams) (bandCurvature 0)

The output string is suitable for gnuplot, unless that string is reporting an error from the calculation.

paramPlot :: (Parameterized Hamiltonian, Parameters) -> (Hamiltonian -> Parameterized Double) -> (String, [Double]) -> String Source

Given a hamiltonian and a set of parameters, plot a real-valued function over some range of a parameter. For a Chern number plot over the hopping parameter, e.g.,

paramPlot (kagomeAF, defaultParams) (chern 1) ("t", [1.0, 1.1 .. 5.0])

The output string is suitable for gnuplot, unless that string is reporting an error from the calculation.

bandPlot :: (Parameterized Hamiltonian, Parameters) -> [Wavevector] -> String Source

Given a hamiltonian and a set of parameters, plot the bands over a path anchored by the provided wavevectors. For instance,

gamma  = vector [0.0 ,  0.0]
point1 = vector [0.5 ,  1.0]
point2 = vector [0.5 , -1.0]
bandPlot (kagomeAF, defaultParams) [gamma, point1, point2, gamma]

The output string is suitable for gnuplot, unless that string is reporting an error from the calculation.