reset # lattice constant a = 1.0 # hopping amplitude t = 1.0 # define band dispersion epsilon(kx,ky) = t * sqrt(1.0 + 4.0*cos((a*kx*pi)/2)**2 + 4.0*cos((a*kx*pi)/2) * cos((sqrt(3)*a*ky*pi)/2) ) set terminal qt enhanced font "Verdana, 18" set pm3d set isosamples 50,50 set hidden3d set xyplane at 0 #set view 0,0 set xlabel "k_x [{/Symbol p}]" rotate parallel set ylabel "k_y {/Symbol p}" rotate parallel set zlabel "{/Symbol e}(k)" rotate parallel set cblabel "{/Symbol e}(k)" # plot range in units of pi kmin = -2.0 kmax = +2.0 set xrange [kmin:kmax] set yrange [kmin:kmax] # draw 1. Brillouin zone rot_x(x,y) = x*cos(pi/3) - y*sin(pi/3) rot_y(x,y) = x*sin(pi/3) + y*cos(pi/3) Kx = 4.0 / (3.0 * a) Ky = 0.0 do for[I=1:3] { # get K' via pi/3 rotation of K Kpx = rot_x(Kx,Ky) Kpy = rot_y(Kx,Ky) # draw line from K to K' and add label to K set arrow front from Kx,Ky to Kpx,Kpy nohead lw 2 lc 'black' set label center front 'K' at 1.1*Kx,1.1*Ky # get next K via pi/3 rotation of K' Kx = rot_x(Kpx,Kpy) Ky = rot_y(Kpx,Kpy) # draw line from K' to next K and add label to K' set arrow front from Kpx,Kpy to Kx,Ky nohead lw 2 lc 'black' set label center front 'K^{,}' at 1.1*Kpx,1.1*Kpy } splot -epsilon(x,y) t '', epsilon(x,y) t ''