How to Plot a 2D band structure?

Click For Summary
The discussion focuses on plotting a 2D band structure for graphene using a tight-binding dispersion equation. The user initially struggles with plotting along the K, Γ, M, K path due to the involvement of both k_x and k_y. A solution is provided, suggesting the use of a linear parameterization to connect the points and plot energy as a function of this parameter. The user successfully implements the advice using Matlab's surf function to create both 2D and 3D plots, utilizing meshgrid for the 3D representation. The conversation concludes with gratitude for the assistance received.
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.
 
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

  • · Replies 6 ·
Replies
6
Views
2K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
3K
  • · Replies 2 ·
Replies
2
Views
3K
  • · Replies 17 ·
Replies
17
Views
20K
  • · Replies 3 ·
Replies
3
Views
2K
  • · Replies 6 ·
Replies
6
Views
6K
Replies
2
Views
2K
  • · Replies 7 ·
Replies
7
Views
3K