%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%      TFY4340 February 2010 Exercise 2 Graphene                             %
%      Nearest neighbour tight binding band structure                        %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%
% x=kx*a, y=ky*a
[x,y] = meshgrid(-2*pi/3:(4*pi/3)/100:2*pi/3,-4*pi/(3*sqrt(3)):(8*pi/(3*sqrt(3)))/100:4*pi/(3*sqrt(3)));
% We set gamma=-1 and E0 = 0, then the TB band structure is
E1 = sqrt(1 + 4.*cos(sqrt(3).*y./2).*(cos(3.*x./2) + cos(sqrt(3).*y./2)));
E2 = -sqrt(1 + 4.*cos(sqrt(3).*y./2).*(cos(3.*x./2) + cos(sqrt(3).*y./2)));
% The command figure simply asks for a new figure
figure;
% The command mesh(x,y,E) makes a 3D plot of E1 (conduction band)
mesh(x,y,E1);
% Use command "hold on" so that E2 (valence band) is plotted in same figure
hold on;
mesh(x,y,E2);
% The command axis([a b c d e f]) sets axes for 3D plots like this:
% a < x < b, c < y < d, e < z < f
% axis([-2 2 -2 2 0 10]);
% Command caxis([zmin zmax]) sets color coding such that blue is zmin
% and red is zmax
caxis([-3 3]);
% Axis text:
xlabel('kx*a');
ylabel('ky*a');
zlabel('E');
% E(k) from Gamma to K: