Graphene band structure Matlab code

Click For Summary
SUMMARY

The discussion centers on a MATLAB code for generating the 3D band structure of graphene, specifically addressing the discrepancy between the expected hexagonal first Brillouin zone and the rectangular representation used in the code. Key parameters include a Coulomb integral (E0) of 0, a hopping integral (V) of -2.7 eV, and a carbon-carbon bond length (acc) of 1.41 Å. The code utilizes k-vectors generated through linspace and meshgrid functions to compute energy values, which are then visualized using surf plots. The hexagonal nature of the Brillouin zone is acknowledged as being represented in the energy bands rather than the plot itself.

PREREQUISITES
  • Understanding of MATLAB programming and syntax
  • Familiarity with band structure concepts in solid-state physics
  • Knowledge of Brillouin zones and their geometric representations
  • Basic grasp of energy band calculations in materials science
NEXT STEPS
  • Explore MATLAB's meshgrid function for multidimensional data visualization
  • Research the physical significance of Brillouin zones in crystalline materials
  • Learn about advanced plotting techniques in MATLAB for 3D surfaces
  • Investigate the implications of hopping integrals in electronic band structure calculations
USEFUL FOR

Physicists, materials scientists, and computational researchers interested in graphene's electronic properties and those looking to visualize band structures using MATLAB.

Mohammad-gl
Messages
29
Reaction score
4
I have this code for 3D band structure of graphene but i can't understand why while graphene first brillouin zone is hexagonal but here a rectangle form of first brillouin zone is used?E0 = 0; % coloumb integral
V = -2.7; % hopping integral [eV]
acc = 1.41; % c-c bond length [Angstrom]
lattice = acc*sqrt(3); % Lattice constant
% Creating necessary k-vectors
kx = linspace(-2*pi/(lattice),2*pi/(lattice),100);
ky = linspace(-2*pi/(lattice),2*pi/(lattice),100);
[k_x,k_y] = meshgrid(kx, ky);
% Energy values with the preset parameters

energy_mesh1 = (E0 + V*sqrt(1 + (4.*((cos(k_y/2*lattice)).^2)) + (4.*(cos(sqrt(3)/2*lattice*k_x)).*(cos(k_y/2*lattice)))));

energy_mesh2 = (E0 - V*sqrt(1 +(4.*((cos(k_y/2*lattice)).^2)) +(4.*(cos(sqrt(3)/2*lattice*k_x)).*(cos(k_y/2*lattice)))));% Plotting
surf(k_x, k_y, real(energy_mesh1));
hold on
surf(k_x, k_y, real(energy_mesh2));
colormap('jet');
shading interp
hx = xlabel('k_x');
hy = ylabel('k_y');
hz = zlabel('E(k)');
 
Physics news on Phys.org
plotting purposes only, the hexagonal part is in the energy bands themselves.
 

Similar threads

  • · Replies 13 ·
Replies
13
Views
2K
  • · Replies 4 ·
Replies
4
Views
3K
  • · Replies 1 ·
Replies
1
Views
4K
  • · Replies 10 ·
Replies
10
Views
3K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 4 ·
Replies
4
Views
5K
  • · Replies 1 ·
Replies
1
Views
2K
  • · Replies 2 ·
Replies
2
Views
2K
  • · Replies 6 ·
Replies
6
Views
6K
  • · Replies 6 ·
Replies
6
Views
2K