Types and standard operation for k grids and tight binding dispersions in solid state theory. This project is inteded to be used as a backend for k grid related operations in order to abstract over the actual k grid logic. For an example usage see LadderDGA.jl
Build Status | Coverage | Documentation | Social |
---|---|---|---|
-
kG = genKGrid(s, nk)
will generate a k grid withnk
points in each direction from a configuration string. Examples ares = "2Dsc-1.0"
(2D simple cubic with hopping parameter -t = 1.0
),s = "p6m-1.0"
for a hexagonal lattice. -
gridshape(kG)
returns the shape of a k grid. Example:(4,4)
for a lattice generated withgenKGrid("2Dsc-1.0", 4)
-
Nk(kG)
returns the number of k points for the given grid. Example:16
for a lattice generated withgenKGrid("2Dsc-1.0", 4)
-
gridPoints(kG)
returns the k vektors for the given grid. -
dispersion(kG)
returns the dispersion relation, i.e. an array of energy value for each point ofgridPoints(kG)
. -
grid_type(kG)
returns the KGridType of the given grid without the dimension the grid lives on. -
conv(kG, arr1, arr2)
returns the convolution of the arraysarr1
andarr2
(any function evaluated onkG
) onkG
. This is usefull for the evaluation of expressions like G(q) = sum_k G(q)*G(k+q) -
conv_fft(kG, arr1, arr2)
andconv_fft1(kG, arr1, arr2)
are helpers, used whenarr1
or botharr1
andarr2
are already fourier transformed (used for repeated evaluation with the same kernel).