Plotting Graphene in Mathematica

Click For Summary

Discussion Overview

The discussion revolves around plotting the 3D band structure of graphene in Mathematica, specifically addressing issues related to the graphical representation of the electronic properties at K-points. Participants explore potential syntax errors, rendering settings, and the accuracy of the plotted dispersion relations.

Discussion Character

  • Technical explanation
  • Debate/contested
  • Mathematical reasoning

Main Points Raised

  • One participant reports that the cones at the K-points in their plot do not touch, which is a critical feature of graphene's electronic structure.
  • Another participant claims that their plot works correctly when the variable a is set to 2.46 at the beginning of the code.
  • A different participant expresses confusion, stating that their plot also shows the surfaces not touching at the corners of the hexagon.
  • One participant suggests that adjusting the PlotPoints parameter to 60 improves the sharpness of the peaks at the hexagon, although it may significantly increase rendering time.
  • This same participant mentions that modifying the WorkingPrecision to 5 further refines the plot, making the gaps less noticeable.

Areas of Agreement / Disagreement

Participants do not reach a consensus, as there are conflicting reports regarding the accuracy of the plots and the settings that yield satisfactory results. Some participants experience issues with the surfaces not touching, while others report successful plots with different configurations.

Contextual Notes

There are potential limitations related to the rendering settings, such as PlotPoints and WorkingPrecision, which may affect the visual output without resolving the underlying mathematical representation.

nuclearpasta
Messages
4
Reaction score
0
I am encountering an issue when I plot attempting to plot 3d band structure of graphene in Mathematica. While the general shape and curvature looks fine, the cones at the K-points are not touching, which is an important qualitative electronic property of graphene. Since further down the line I want to test the effects of extra terms in the Hamiltonian, I need to first ensure that this is working as expected. Code is provided below:

Code:
f[kx_, ky_,
   t_] := -t E^(-I kx a) (1 + 2 E^(I (3 kx a)/2)*Cos[Sqrt[3]/2 ky a]);

GrapheneHam[kx_, ky_, t_] :=
  ComplexExpand[{{0, f[kx, ky, t]}, {Conjugate[f[kx, ky, t]], 0}}];

Energies[kx_, ky_, t_] := Eigenvalues[GrapheneHam[kx,ky,t]];

Plot3D[Energies[kx,ky, 2.8], {kx, -Pi/a, Pi/a},{ky, -Pi/a, Pi/a}]

In this case the variable a is set to 2.46. Would anyone know if there is something in the syntax I am doing incorrectly, or perhaps the dispersion is being calculated wrong? Any help is appreciated. Thanks!
 
Physics news on Phys.org
It plots fine for me as long as I set a=2.46 at the beginning of the code
 
That's strange. When I do it I get that the two surfaces never touch each other, which is what is supposed to happen at the six corners of the hexagon.
 
nuclearpasta said:
That's strange. When I do it I get that the two surfaces never touch each other, which is what is supposed to happen at the six corners of the hexagon.

Ok, I only meant that it plotted. Can't say if the plot is what you want though.
 
I think it's an issue with PlotPoints, when I set them on 60 (fair bit of warning: this usually takes quite long to render), the peaks at the "hexagon" are much sharper, you could try experimenting with that. Tampering with the WorkingPrecision also seems to refine it even more, I've tried setting it to 5 and the gaps are almost unnoticeable.
 

Similar threads

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