计算电子态密度主程序,体系的坐标和哈密顿量在之前的博客里面有
需要用Pade展开费米函数
ny=48;
nx=3;
% [x,y]=zigzagP(N,number);
[x,y]=zigzagP(ny,nx); %生成zigzag石墨烯的坐标
% plot(x,y,'.','MarkerSize',20);
t1=-2.7;
H0=Hamiltonian_NN_graphene(x,y,t1,1); %最近邻hooping
e=0.01;
m=length(H0);
Hab=Hab(m,e);
H0=H0+Hab;
hL=H0(1:ny,1:ny); %取出最左边一列的哈密顿量,用于半无穷表面格林函数的计算
hR=H0(ny*(nx-1)+1:ny*nx,ny*(nx-1)+1:ny*nx); %取出最右边的一列的哈密顿量
hLD=H0(1:ny,ny+1:2*ny); %取出最左与右边一列的耦合矩阵
hDL=hLD';
hRD=H0((nx-1)*ny+1:nx*ny,ny+1:2*ny); %取出最右边与左边的耦合矩阵
hDR=hRD';
HD=H0(ny+1:ny*(nx-1),ny+1:(nx-1)*ny); %取出device区域的哈密顿量
HLD=H0(1:ny,ny+1:ny*(nx-1)); %左边与device区域的耦合矩阵
HRD=H0(ny*(nx-1)+1:ny*nx,ny+1:(nx-1)*ny); %右边与device区域的耦合矩阵
HDL=HLD';
HDR=HRD';
density=zeros(length(HD)); %初始化密度矩阵
%导入pade系数
file1=fopen('Rp.txt','r'); %Pade展开费米函数的系数
file2=fopen('zp.txt','r'); %Pade展开费米函数的留数
Rp=fscanf(file1,&#