Dismiss Notice
Join Physics Forums Today!
The friendliest, high quality science and math community on the planet! Everyone who loves science is here!

How to Plot a 2D band structure?

  1. Jan 24, 2012 #1
    Dear forum people,

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

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

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

    I think k_y = 0 in the line [itex]\Gamma M[/itex] 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 [itex]K \Gamma[/itex], 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 [itex] k_x, k_y[/itex].

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

    Best wishes for all.
     
  2. jcsd
  3. Jan 25, 2012 #2

    DrDu

    User Avatar
    Science Advisor

    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.
     
  4. Jan 25, 2012 #3
    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
     
  5. Jan 29, 2012 #4
    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.
     
Know someone interested in this topic? Share this thread via Reddit, Google+, Twitter, or Facebook