这个程序是初步优化后的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计算程序相关推荐

  1. matlab化石墨烯,基于MATLAB的石墨烯场效应晶体管电学特性研究

    第 34 卷 第 9 期 Vol.34 No.9 2015 年 9 月 Sep. 2015 研 究 简 报 基于 MATLAB 的石墨烯场效应晶体管电学特性研究 文/徐建丽 淮安信息职业技术学院 摘要 ...

  2. matlab heaviside,Matlab编写的Lyapunov指数计算程序汇总.doc

    Matlab编写的Lyapunov指数计算程序汇总 matlab编写的Lyapunov指数计算程序汇总申明:以下各程序为个人在网络上收集的Lyapunov指数计算程序,未经过验证,不保证程序的正确性和 ...

  3. matlab 2014b 图像,使用Matlab 2014b的锯齿状轮廓

    Matlab承认这是已知的错误.对我来说,第一个解决方案有效. 在以矢量格式导出时,图形上出现锯齿线是MATLAB R2014b中的一个已知错误.它与矢量格式中使用的线连接和仪表限制的组合相关联. 要 ...

  4. matlab锯齿交换,MATLAB折线消除锯齿平滑

    MATLAB学习实战:深入剖析Figure的属性 很多人使用MATLAB是因为它具有强大的图形绘制功能,相比于C++,绘制二维或三维图形MATLAB简单到不用怎么去学习这门语言,只需要把数据导入,再从 ...

  5. 用matlab计算潮流牛拉法,Matlab牛拉法潮流计算程序

    Matlab牛拉法潮流计算程序 V(k)=sqrt(e(k)^2+f(k)^2); %计算各节点电压的模值 sida(k)=atan(f(k)./e(k))*180./pi; %计算各节点电压的角度 ...

  6. matlab 画石墨烯能带,锯齿石墨烯能带matlab计算程序

    这个程序是初步优化后的matlab版本,主要思路是先生成体系的格点坐标,再运用坐标生成体系的哈密顿量,然后进行对角化计算能带,能带的计算使用一维体系超原胞的处理方法.可以进一步优化 主程序 nx=3; ...

  7. 用matlab画干涉条纹图,matlab干涉条纹处理

    基于matlab的等倾干涉实 验仿真黄强煌 2017.12.25 目录 Cont... [5] 符运良. MATLAB 在光学教学中的应用 . 华南热带农业大学学报, [J] 2004, (3 : 1 ...

  8. matlab雨流计数,matlab雨流计数法

    算法的实现主要基于 Matlab 编程实现. 关键词:图像分割,种子区域生长算法,Matlab 一.引言区域生长是一种古老的图像分割方法,最早的区域生长图像分割方法是由 Levine...... Ma ...

  9. matlab如何处理动态分配,基于MATLAB的水资源优化分配问题动态规划解法

    摘要:介绍了动态规划的基本原理,针对水资源分配问题进行了动态规划方法分析.针对具体问题采用逆序解法的表格法进行了计算,然后用MATLAB编制了相应的计算程序进行计算,避免了繁琐的人工计算.结果表明该方 ...

最新文章

  1. java datasource mysql_Java MysqlDataSource類代碼示例
  2. 异常-----freemarker.template.TemplateException: Error executing macro: write
  3. 802.11(wi-fi)的PHY层(编码与调制方法)
  4. 一般地,我们将计算机指令的集合称为,简述公共关系人员培养的原则。
  5. C++ Builder创建和调用dll中的资源
  6. boost::container实现devector选项程序
  7. 用ASP.NET Core 2.1 建立规范的 REST API -- 翻页/排序/过滤等
  8. 解决:Cannot read property ‘component‘ of undefined ( 即 vue-router 0.x 转化为 2.x)
  9. python绘制饼状图图例_使用matplotlib的所有饼图的通用图例
  10. 2017.3.25 最长递增子序列 失败总结
  11. linux mysql --help_深入理解mysql帮助命令(help)
  12. 思科修复运营商级路由器中的两个已遭利用漏洞
  13. 7z解压软件(小巧好用)。百度云下载链接
  14. Window7使用虚拟桌面
  15. linux 下 安装Gdrive来实现谷歌云盘同步文件ps 可能出现 Error 404: File not found
  16. 盯上年轻人的今日头条,重新以内容出发还有多少可能?
  17. [面试经验]一汽大众旗下车联网公司摩斯智联面试记
  18. 个人中心布局android,Android实现个人中心设置界面
  19. linux进下一级目录下,linux进入下一级目录的命令
  20. win10中安装JDK8以及环境配置

热门文章

  1. 名词缩写、简称、简写(解释)
  2. Linux ls的三个选项(l、h、a)
  3. VBA 等待1S 处理方法
  4. Java Selenium防止被网站检测
  5. 某2U机型中Intel X540T2 10G 网卡测试心得
  6. linux 限速命令,Linux路由器限速设置进程
  7. 问题 H: 口袋的天空(Kruscal)
  8. 能否使用他人机动车的登记证书,号牌,行驶证,检验合格标志,保险标志?
  9. 区块链社交APP协议分析:Qbao
  10. 【12月】RT-Thread VL53L0X TOF传感器驱动实现