Safe Haskell | None |
---|---|

Language | Haskell98 |

- bzPlot :: (Parameterized Hamiltonian, Parameters) -> (Hamiltonian -> Wavevector -> Parameterized Double) -> String
- paramPlot :: (Parameterized Hamiltonian, Parameters) -> (Hamiltonian -> Parameterized Double) -> (String, [Double]) -> String
- bandPlot :: (Parameterized Hamiltonian, Parameters) -> [Wavevector] -> String

# 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.