%Fig2_3a.m %Essential Electron Transport for Device Physics %Calculation of 3D cubic lattice density of states (dos) from nearest %neigbor tight binding dispersion relation clear all; clf; %plotting parameters + fontsizes FS = 12; %label fontsize 18 FSN = 12; %number fontsize 16 LW = 1; %linewidth % Change default axes fonts. set(0,'DefaultAxesFontName', 'Times'); set(0,'DefaultAxesFontSize', FSN); % Change default text fonts. set(0,'DefaultTextFontname', 'Times'); set(0,'DefaultTextFontSize', FSN); natoms =100; %number of lattice points (atoms) in each direction npoints=100; %number of points in plot 100 emax=7.5; %max energy in units of t emin=-7.5; %min energy in units of t if emax<=emin;error('Error: require emax > emin');end; estep=(emax-emin)/(npoints-1); dos=zeros(1,npoints); %set dos vector to zero w=emin:estep:emax; %energy t=-1; %set energy scale - for s-orbital, + for p-orbital gamma = 0.1; %Energy broadening in units of t gamma=gamma*abs(t); %use units of t gamma2=(gamma/2)^2; const=gamma/pi; kx0=pi/natoms; %kx constant ky0=pi/natoms; %ky constant kz0=pi/natoms; %kz constant kx=0:kx0:kx0*natoms; ky=0:ky0:ky0*natoms; kz=0:kz0:kz0*natoms; for ix=1:natoms+1 for iy=1:natoms+1 for iz=1:natoms+1 % Nearest neigbor dispersion for the cubic lattice Ek=2.0*t*(cos(kx(ix))+cos(ky(iy))+cos(kz(iz))); for j=1:npoints dos(j)=dos(j)+const/((w(j)-Ek)^2.0+gamma2); %Lorentzian broadening end end end end figure(1); plot(w,dos,'b','LineWidth',LW); ttl=['\rmFig2.3a, nearest-neighbor tight-binding density of states, \Gamma =',... num2str(gamma),'\times|t|, n_{atoms}=',num2str(natoms)]; title(ttl); xlabel('Energy, E (t)'); ylabel('Density of states, N(E)');