Inelastica.physics.mesh

Written by Thomas Frederiksen.

Classes

kmesh(Nk1, Nk2, Nk3[, meshtype, invsymmetry])

Create a k-mesh samling where each of the three components sample the range [-0.5,0.5]).

Inelastica.physics.mesh.generatelinmesh(Nk)[source]

Generate Nk points sampling linearly the interval [-0.5;0.5]

class Inelastica.physics.mesh.kmesh(Nk1, Nk2, Nk3, meshtype=['LIN', 'LIN', 'LIN'], invsymmetry=True)[source]

Bases: object

Create a k-mesh samling where each of the three components sample the range [-0.5,0.5]). They are not in reciprocal space. Instead they correspond to the mathematical orthogonal space that is Fourier transformed.

Variables: k : Array of 3D k-points (shape = [NNk,3]) w : Array of integration weights (shape = [4,NNk]), where

w[0] are the full weights and w[i=1,2,3] are weights with a reduced number of GK points for the three axes. These are used for error estimates within the GK method.

NNk : Total number of k-points explicitly in the mesh Nk : Array with sampling for each axis type : List of sampling type for each axis

SymmetryReduce()[source]

Remove duplicates for symmetry INVERSION SYMMETRY: If the Bloch function

psi(k) = exp(ikr)u(k),

with crystal momentum k, is an eigenstate of the Schroedinger equation then also

psi^dagger(k) = exp(-ikr)u^dagger(k)

with crystal momentum -k, is an eigenstate with same eigenvalue. Hence E(k) = E(-k). TIME REVERSAL SYMMETRY: t,psi(r,t) –> -t,psi^dagger(r,-t). T(k) = T(-k). (Elastic) propagation from L to R is always identical to propagation from R to L.

genkmesh()[source]

Generate mesh for a given sampling of the axes

mesh2file(fn)[source]

Writes the k-mesh to file

Inelastica.physics.mesh.test()[source]

Test function