Hi Adel

> I am testing the module wraparound and  trying  to understand how to match
> the numerical results with the well known formula from literature.
> 
> I look at the example of graphene given in the module's test   [1]: the
> overall band structure seems fine, but when I try to check a set  of
> eigenvalues for a given (kx,ky) and compare it with the exact formula
> enclosed below, I fail whatever the parameter 'a' that I choose!
> 
> The command I use is straightforward:
> 
> kx,ky=pi/4,pi/6
> np.sort(np.linalg.eigvalsh(syst.hamiltonian_submatrix( args + (kx, ky),
> sparse=False)).real)

The reason that this does not give the result you expect is because the
symmetry vectors for graphene are not orthogonal. The k parameters
expected by the wrapped around system are actually the quasimomenta *in
the direction of the reciprocal symmetry vectors*, so in this case
calling them 'kx' and 'ky' is a bit of a misnomer. This is why we only
test @ k=(0, 0) for the graphene case, to avoid having to do this
transformation.

To get what you want you will need to transform kx and ky into the basis
of reciprocal symmetry vectors. The function 'plot_2d_bands' in the
wraparound module includes code to do this. Check it out, and if it is
not clear post back to this thread and we'll give you a hand.

Happy Kwanting,

Joe

Attachment: signature.asc
Description: PGP signature

Reply via email to