You are on page 1of 1

D:\Learning\NES\Nano_Structure_and_Nanot...\graphene_E_k_script.

m
Page 1
May 11, 2015
3:40:33 PM
% Script for generating the E-k diagram of Graphene
%------------ Input parameters ---------------------%
E0 = 0; % coloumb integral
V = -2.7; % hopping integral
acc = 1.41; % c-c bond length
lattice = acc*sqrt(3); % Lattice constant
% Creating necessary k-vectors
k_vec_x = linspace(-2*pi/lattice,2*pi/lattice,100);
k_vec_y = linspace(-2*pi/lattice,2*pi/lattice,100);
[k_mesh_x,k_mesh_y] = meshgrid(k_vec_x, k_vec_y);
% Energy values with the preset parameters
energy_mesh = NaN([size(k_mesh_x,1),size(k_mesh_y,2),2]);
for a = 1 : size(k_mesh_x,1)
energy_mesh(:,a,1) = (E0 + V*sqrt(1 + (4.*((cos(k_mesh_y(:,a)/2*lattice)).^2)) + (4.*(cos
(sqrt(3)/2*lattice*k_mesh_x(:,a))).*(cos(k_mesh_y(:,a)/2*lattice)))));
energy_mesh(:,a,2) = (E0 - V*sqrt(1 + (4.*((cos(k_mesh_y(:,a)/2*lattice)).^2)) + (4.*(cos
(sqrt(3)/2*lattice*k_mesh_x(:,a))).*(cos(k_mesh_y(:,a)/2*lattice)))));
end
% Plotting
surf(k_mesh_x, k_mesh_y, real(energy_mesh(:,:,1)));
hold on
surf(k_mesh_x, k_mesh_y, real(energy_mesh(:,:,2)));
colormap('jet');
shading interp
hx = xlabel('k_x');
hy = ylabel('k_y');
hz = zlabel('E(k)');
% axis equal
hold off

You might also like