How to Plot a 2D band structure?

stranhuz
Messages
2
Reaction score
0
Dear forum people,

I just learned how to get a tight-binding dispersion for graphene:

E = +- \sqrt{1+4\cos((\sqrt{3}a/2) k_x)\cos((a/2) k_y)+4\cos^2((a/2) k_y)}

But i can not figure out how can I plot that. I want to plot that in the following path: K \rightarrow \Gamma \rightarrow M \rightarrow K.

I think k_y = 0 in the line \Gamma M and I should plot(E,k_x); k_x = constant in the line MK and I should plot(E,k_y); but I don't know how the plot() is look like for K \Gamma, where both k_x and k_y are not constant.

For nanotube, I was able to do that becouse we just had k, so I just made "plot(E,k,'b')". Here in graphene, we have both k_x, k_y.

I would be appreciated if could some one give me a hand on my problem.

Best wishes for all.
 
Physics news on Phys.org
The curve connecting the two points is a straight line, hence both k_x and k_y can be written as linear functions of a common parameter s ranging from 0 to 1.
Specifically if k_0 ist the coordinate vector of the first point and k_1 of the last, then the line is
k_0 +s*(k_1-k_0) and you can plot the energy as a function of the scalar parameter s.
 
I guess you are using Matlab.

You can using the function surf to get the E-K diagram. Syntax would be surf(kx,ky,Ek)

The output would look like this
http://en.wikipedia.org/wiki/File:GrapheneE2.png
 
How to Plot a 2D band structure? [Solved]

Dear DrDu and Wolfgang2b,

Thank you very much. Your answer was very useful. It worked pretty fine. Now I'm able to plot the 2D and 3D for graphene on matlab.

For 3D plot, I had to use meshgrid(), in order to create the matrix KX an KY, then use surf(KX,KY,Ek). It worked fine. The plot was very nice.

Best wishes and Thank you again.
 

Similar threads

Back
Top