石墨烯能带matlab,锯齿石墨烯能带matlab计算程序
这个程序是初步优化后的matlab版本,主要思路是先生成体系的格点坐标,再运用坐标生成体系的哈密顿量,然后进行对角化计算能带,能带的计算使用一维体系超原胞的处理方法。可以进一步优化
主程序
nx=3; %
ny=100; % 体系宽度(y方向的长度)
[x,y]=zigzag_graphene(nx,ny);
%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);
dk = 0.01;
kx=0:dk:2*pi; % k空间路径
Ek=band_calculate(kx,HD,HDL,HDR);
plot(kx,Ek,'.')
set(gca,'YLim',[-0.5 0.5]);%X轴的数据显示范围
坐标生成函数
function [x,y]=zigzag_graphene(nx,ny)
x1=zeros(4,1);
y1=zeros(4,1);
x1(1,1)=sqrt(3)/2;
x1(2,1)=0;
x1(3,1)=0;
x1(4,1)=sqrt(3)/2;
y1(1,1)=0;
y1(2,1)=0.5;
y1(3,1)=1.5;
y1(4,1)=2;
x2=x1;
y2=y1;
for i=1:ny-1
x2=[x2;x1];
y2=[y2;y1+i*ones(4,1)*3];
end
x=x2;
y=y2;
n=length(x2);
for i=1:nx-1
x=[x;x2+i*ones(n,1)*sqrt(3)];
y=[y;y2];
end
最近邻相互作用哈密顿量的生成
function H=Hamiltonian_NN_graphene(x,y,t)
%t=-2.7;
N=length(x);
H=zeros(N,N);
eps=0.01;
for i=1:N
for j=1:N
if abs(sqrt((x(i)-x(j))^2+(y(i)-y(j))^2)-1)
Haldane模型哈密顿量
function H=Hamiltonian_Haldane(x,y,a,t2)
N=length(x);
H=zeros(N,N);
for l=1:N
for j=1:N
if x(l)>x(j)&&y(l)==y(j)&&mod(j,2)==1&&abs(sqrt((x(j)-x(l))^2+(y(j)-y(l))^2)-a)<0.001
H(j,l)=-1i*t2;
end
if x(l)x(j)&&y(l)>y(j)&&mod(j,2)==1&&abs(sqrt((x(j)-x(l))^2+(y(j)-y(l))^2)-a)<0.001
H(j,l)=1i*t2;
end
if x(l)y(j)&&mod(j,2)==1&&abs(sqrt((x(j)-x(l))^2+(y(j)-y(l))^2)-a)<0.001
H(j,l)=-1i*t2;
end
if x(l)>x(j)&&y(l)x(j)&&y(l)==y(j)&&mod(j,2)==0&&abs(sqrt((x(j)-x(l))^2+(y(j)-y(l))^2)-a)<0.001
H(j,l)=1i*t2;
end
if x(l)x(j)&&y(l)>y(j)&&mod(j,2)==0&&abs(sqrt((x(j)-x(l))^2+(y(j)-y(l))^2)-a)<0.001
H(j,l)=-1i*t2;
end
if x(l)y(j)&&mod(j,2)==0&&abs(sqrt((x(j)-x(l))^2+(y(j)-y(l))^2)-a)<0.001
H(j,l)=1i*t2;
end
if x(l)>x(j)&&y(l)
能带计算函数
function Ek=band_calculate(kx,HD,HDL,HDR)
dN = length(kx);
n = length(HD);
Ek = zeros(n,dN);
for i = 1:dN
Hk=HDL*exp(-1i*kx(i))+HD+HDR*exp(1i*kx(i));
[~,E]=eig(Hk);
Ek(:,i) = diag(E);
end
石墨烯能带matlab,锯齿石墨烯能带matlab计算程序相关推荐
- matlab化石墨烯,基于MATLAB的石墨烯场效应晶体管电学特性研究
第 34 卷 第 9 期 Vol.34 No.9 2015 年 9 月 Sep. 2015 研 究 简 报 基于 MATLAB 的石墨烯场效应晶体管电学特性研究 文/徐建丽 淮安信息职业技术学院 摘要 ...
- matlab heaviside,Matlab编写的Lyapunov指数计算程序汇总.doc
Matlab编写的Lyapunov指数计算程序汇总 matlab编写的Lyapunov指数计算程序汇总申明:以下各程序为个人在网络上收集的Lyapunov指数计算程序,未经过验证,不保证程序的正确性和 ...
- matlab 2014b 图像,使用Matlab 2014b的锯齿状轮廓
Matlab承认这是已知的错误.对我来说,第一个解决方案有效. 在以矢量格式导出时,图形上出现锯齿线是MATLAB R2014b中的一个已知错误.它与矢量格式中使用的线连接和仪表限制的组合相关联. 要 ...
- matlab锯齿交换,MATLAB折线消除锯齿平滑
MATLAB学习实战:深入剖析Figure的属性 很多人使用MATLAB是因为它具有强大的图形绘制功能,相比于C++,绘制二维或三维图形MATLAB简单到不用怎么去学习这门语言,只需要把数据导入,再从 ...
- 用matlab计算潮流牛拉法,Matlab牛拉法潮流计算程序
Matlab牛拉法潮流计算程序 V(k)=sqrt(e(k)^2+f(k)^2); %计算各节点电压的模值 sida(k)=atan(f(k)./e(k))*180./pi; %计算各节点电压的角度 ...
- matlab 画石墨烯能带,锯齿石墨烯能带matlab计算程序
这个程序是初步优化后的matlab版本,主要思路是先生成体系的格点坐标,再运用坐标生成体系的哈密顿量,然后进行对角化计算能带,能带的计算使用一维体系超原胞的处理方法.可以进一步优化 主程序 nx=3; ...
- 用matlab画干涉条纹图,matlab干涉条纹处理
基于matlab的等倾干涉实 验仿真黄强煌 2017.12.25 目录 Cont... [5] 符运良. MATLAB 在光学教学中的应用 . 华南热带农业大学学报, [J] 2004, (3 : 1 ...
- matlab雨流计数,matlab雨流计数法
算法的实现主要基于 Matlab 编程实现. 关键词:图像分割,种子区域生长算法,Matlab 一.引言区域生长是一种古老的图像分割方法,最早的区域生长图像分割方法是由 Levine...... Ma ...
- matlab如何处理动态分配,基于MATLAB的水资源优化分配问题动态规划解法
摘要:介绍了动态规划的基本原理,针对水资源分配问题进行了动态规划方法分析.针对具体问题采用逆序解法的表格法进行了计算,然后用MATLAB编制了相应的计算程序进行计算,避免了繁琐的人工计算.结果表明该方 ...
最新文章
- java datasource mysql_Java MysqlDataSource類代碼示例
- 异常-----freemarker.template.TemplateException: Error executing macro: write
- 802.11(wi-fi)的PHY层(编码与调制方法)
- 一般地,我们将计算机指令的集合称为,简述公共关系人员培养的原则。
- C++ Builder创建和调用dll中的资源
- boost::container实现devector选项程序
- 用ASP.NET Core 2.1 建立规范的 REST API -- 翻页/排序/过滤等
- 解决:Cannot read property ‘component‘ of undefined ( 即 vue-router 0.x 转化为 2.x)
- python绘制饼状图图例_使用matplotlib的所有饼图的通用图例
- 2017.3.25 最长递增子序列 失败总结
- linux mysql --help_深入理解mysql帮助命令(help)
- 思科修复运营商级路由器中的两个已遭利用漏洞
- 7z解压软件(小巧好用)。百度云下载链接
- Window7使用虚拟桌面
- linux 下 安装Gdrive来实现谷歌云盘同步文件ps 可能出现 Error 404: File not found
- 盯上年轻人的今日头条,重新以内容出发还有多少可能?
- [面试经验]一汽大众旗下车联网公司摩斯智联面试记
- 个人中心布局android,Android实现个人中心设置界面
- linux进下一级目录下,linux进入下一级目录的命令
- win10中安装JDK8以及环境配置