matlab 局域态密度电子密度的可视化程序

这个程序结合超胞能带计算技巧,对局域态密度和电子密度进行可视化

nx=30;  % 
ny=8; % 体系宽度(y方向的长度)
[x,y]=zigzag_graphene(nx,ny);
N=4*nx*ny; % 原子总数
xx=x(N/3+1:N*2/3,1);  % 取出中间device区域的坐标
yy=y(N/3+1:N*2/3,1);  % 取出中间device区域的坐标
%plot(x,y,'.','MarkerSize',20)
t1=-2.7;
t2=0.0038/3/sqrt(3);
H=Hamiltonian_NN_graphene(x,y,t1);
Hsp=Hamiltonian_Haldane(x,y,sqrt(3),t2);
H=H+Hsp;
N=length(H);
HDL=H(N/3+1:N*2/3,1:N/3);
HD=H(N/3+1:N*2/3,N/3+1:N*2/3);
HDR=H(N/3+1:N*2/3,N*2/3+1:N);
n = length(HD);
kx=3;
Hk=HDL*exp(-1i*kx*nx/3)+HD+HDR*exp(1i*kx*nx/3);
[V,E]=eig(Hk);
plot(diag(E))
ans=V(:,n/2);
local_density = V(:,n/2).*conj(V(:,n/2));
m = length(xx);
Zs=0;  % 总的局域电子密度
sigma=0.5;  % 高斯函数的标准差
du=0.01; % x方向采样间隔
dv=0.01; % y方向采样间隔
u=min(xx)-0.5:du:max(xx)+0.5;
v=min(yy)-0.5:dv:max(yy)+0.5;
[X,Y]=meshgrid(u,v);
for i=1:m
    Z=real(local_density(i))*exp(-((X-xx(i))/sigma).^2-((Y-yy(i))/sigma).^2);
    Zs=Z+Zs;
end
mesh(X,Y,Zs)

    
   

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值