c plots simple band structure. c sets the resolution of graphs. parameter(ne=1024) dimension b1(ne),b2(ne) c sets the hopping parameter. c sets will-be-half-the-band-gap, delta. write(*,88) 88 format('Enter values for hopping, delta') read(*,*) t,delta c establishes a value for pi. pi=3.14159265 c sets the Brilloin zone. dq=pi/1024 dq1=pi/424 dq2=pi/2.0/300 c draws bands in (1,0) direction. do 1 i=1,424 qx1=i*dq1 e=-2.0*t*(1+cos(qx1)) b1(i)=-sqrt(e**2+delta**2) b2(i)=sqrt(e**2+delta**2) 1 continue c draws bands on edge. do 2 i=425,724 qx2=(i-424)*dq2 e=-2.0*t*(cos(pi-qx2)+cos(qx2)) b1(i)=-sqrt(e**2+delta**2) b2(i)=sqrt(e**2+delta**2) 2 continue c draws bands in (1,1) direction. do 3 i=725,1024 qx3=(i-724)*dq2 e=-4.0*t*(cos(pi/2-qx3)) b1(i)=-sqrt(e**2+delta**2) b2(i)=sqrt(e**2+delta**2) 3 continue c outputs results. open(20,file='Band.dat',status='new') do 4 i=1,ne qx=i*dq write(20,21) qx,b1(i),b2(i) 21 format(f10.4,6e18.7) 4 continue stop end