24小时热门版块排行榜    

查看: 409  |  回复: 0

wei.yc

新虫 (初入文坛)

[交流] 关于有转角双层石墨烯14带能级连续性模型的程序求助~

本人想重复PNAS里的Moiré bands in twisted double-layer graphene(http://www.pnas.org/content/108/30/12233. full.pdf)文章里的结果(Fig.3A),但我一直是做实验的,编程能力不强,自己的程序(如下)与文章结果相差甚远,故想向各位请求指点,谢谢~

程序:
Program:

clear
w=0.11;
a=1.42;
t=3.16;
v=t*sqrt(3)*a/2;
kd=4*pi/(3*sqrt(3)*a);
theta=1.05*pi/180;
phi=2*pi/3;
ktheta=kd*sin(theta/2);
o=zeros(2);

%---------------------------
T1=[1,1;...
    1,1];

T2=[exp(-1i*phi),1;...
    exp(1i*phi),exp(-1i*phi)];

T3=[exp(1i*phi),1;...
    exp(-1i*phi),exp(1i*phi)];

T4=[1,1;...
    1,1];

T5=T2';

T6=T3';

%-------------0---------------
Kx1=linspace(0,0,800);
Ky1=linspace(-2,2,800);
Kx2=linspace(0,sqrt(3),692);
Ky2=-sqrt(3)*Kx2+2;
Kx3=linspace(sqrt(3),0,400);
Ky3=Kx3/sqrt(3)-2;
KX0=[Kx1,Kx2,Kx3];
KY0=[Ky1,Ky2,Ky3];

%-------------1---------------
Kx1=linspace(0,0,800);
Ky1=linspace(-4,0,800);
Kx2=linspace(0,sqrt(3),692);
Ky2=-sqrt(3)*Kx2;
Kx3=linspace(sqrt(3),0,400);
Ky3=Kx3/sqrt(3)-4;
KX1=[Kx1,Kx2,Kx3];
KY1=[Ky1,Ky2,Ky3];

%-------------2---------------
Kx1=linspace(sqrt(3),sqrt(3),800);
Ky1=linspace(-1,3,800);
Kx2=linspace(sqrt(3),2*sqrt(3),692);
Ky2=-sqrt(3)*Kx2+6;
Kx3=linspace(2*sqrt(3),sqrt(3),400);
Ky3=Kx3/sqrt(3)-2;
KX2=[Kx1,Kx2,Kx3];
KY2=[Ky1,Ky2,Ky3];

%-------------3----------------
Kx1=linspace(-sqrt(3),-sqrt(3),800);
Ky1=linspace(-1,3,800);
Kx2=linspace(-sqrt(3),0,692);
Ky2=-sqrt(3)*Kx2;
Kx3=linspace(0,-sqrt(3),400);
Ky3=Kx3/sqrt(3);
KX3=[Kx1,Kx2,Kx3];
KY3=[Ky1,Ky2,Ky3];

%-------------4------------------
Kx1=linspace(0,0,800);
Ky1=linspace(-2,2,800);
Kx2=linspace(0,sqrt(3),692);
Ky2=-sqrt(3)*Kx2+2;
Kx3=linspace(sqrt(3),0,400);
Ky3=Kx3/sqrt(3)-2;
KX4=[Kx1,Kx2,Kx3];
KY4=[Ky1,Ky2,Ky3];

%------------5---------------------
Kx1=linspace(sqrt(3),sqrt(3),800);
Ky1=linspace(-5,-1,800);
Kx2=linspace(sqrt(3),2*sqrt(3),692);
Ky2=-sqrt(3)*Kx2+2;
Kx3=linspace(2*sqrt(3),sqrt(3),400);
Ky3=Kx3/sqrt(3)-6;
KX5=[Kx1,Kx2,Kx3];
KY5=[Ky1,Ky2,Ky3];

%------------6---------------------
Kx1=linspace(-sqrt(3),-sqrt(3),800);
Ky1=linspace(-5,-1,800);
Kx2=linspace(-sqrt(3),0,692);
Ky2=-sqrt(3)*Kx2-4;
Kx3=linspace(0,-sqrt(3),400);
Ky3=Kx3/sqrt(3)-4;
KX6=[Kx1,Kx2,Kx3];
KY6=[Ky1,Ky2,Ky3];

%-----------------------------------
for m=1:length(KX1)
    kx1=KX1(m);ky1=KY1(m);
    kx2=KX2(m);ky2=KY2(m);
    kx3=KX3(m);ky3=KY3(m);
    kx4=KX4(m);ky4=KY4(m);
    kx5=KX5(m);ky5=KY5(m);
    kx6=KX6(m);ky6=KY6(m);
    kx0=KX0(m);ky0=KY0(m);
   
    %--------------0-----------------
    if kx0==0
        if ky0>=0
            thetak0=pi/2;
        else
            thetak0=-pi/2;
        end
    elseif ky0>=0
        thetak0=acos(kx0/sqrt(kx0^2+ky0^2));
    else
        thetak0=-acos(kx0/sqrt(kx0^2+ky0^2));
    end
   
    %--------------1-------------------
     if kx1==0
        thetak1=-pi/2;
    else
        thetak1=-acos(kx1/sqrt(kx1^2+ky1^2));
    end
   
    %--------------2-------------------
    if ky2==0
        thetak2=0;
    elseif ky1>0;
         thetak2=acos(kx2/sqrt(kx2^2+ky2^2));
    else
         thetak2=-acos(kx2/sqrt(kx2^2+ky2^2));
    end
   
    %---------------3--------------------
    if ky3==0
        thetak3=pi;
    elseif ky3>0
        thetak3=acos(kx3/sqrt(kx3^2+ky3^2));
    else
        thetak3=-acos(kx3/sqrt(kx3^2+ky3^2));
    end
   
    %---------------4--------------------
    if kx4==0
        if ky4>=0
            thetak4=pi/2;
        else
            thetak4=-pi/2;
        end
    elseif ky4>=0
        thetak4=acos(kx4/sqrt(kx4^2+ky4^2));
    else
        thetak4=-acos(kx4/sqrt(kx4^2+ky4^2));
    end
        
    %--------------5---------------------
    thetak5=-acos(kx5/sqrt(kx5^2+ky5^2));
   
    %--------------6---------------------
    thetak6=-acos(kx6/sqrt(kx6^2+ky6^2));
   
    %--------------k---------------------
    k0=sqrt(kx0^2+ky0^2)*ktheta;
    k1=sqrt(kx1^2+ky1^2)*ktheta;
    k2=sqrt(kx2^2+ky2^2)*ktheta;
    k3=sqrt(kx3^2+ky3^2)*ktheta;
    k4=sqrt(kx4^2+ky4^2)*ktheta;
    k5=sqrt(kx5^2+ky5^2)*ktheta;
    k6=sqrt(kx6^2+ky6^2)*ktheta;
   
%--------------H-----------------
    hk0=-v*k0*[0,exp(1i*(thetak0-theta/2));...
            exp(-1i*(thetak0-theta/2)),0];
    hk1=-v*k1*[0,exp(1i*(thetak1+theta/2));...
            exp(-1i*(thetak1+theta/2)),0];
    hk2=-v*k2*[0,exp(1i*(thetak2+theta/2));...
            exp(-1i*(thetak2+theta/2)),0];
    hk3=-v*k3*[0,exp(1i*(thetak3+theta/2));...
            exp(-1i*(thetak3+theta/2)),0];
    hk4=-v*k4*[0,exp(1i*(thetak4+theta/2));...
            exp(-1i*(thetak4+theta/2)),0];
    hk5=-v*k5*[0,exp(1i*(thetak5+theta/2));...
            exp(-1i*(thetak5+theta/2)),0];
    hk6=-v*k6*[0,exp(1i*(thetak6+theta/2));...
            exp(-1i*(thetak6+theta/2)),0];
      
   %---------------------------------     
     H=   [hk0,w*T1,w*T2,w*T3,w*T4,w*T5,w*T6;...
           w*T1',hk1,o,o,o,o,o;...
           w*T2',o,hk2,o,o,o,o;...
           w*T3',o,o,hk3,o,o,o;...
           w*T4',o,o,o,hk4,o,o;...
           w*T5',o,o,o,o,hk5,o;...
           w*T6',o,o,o,o,o,hk6];
    %--------------------------------
    E0=eig(H);
    E1(m)=E0(1);E2(m)=E0(2);E3(m)=E0(3);E4(m)=E0(4);
    E5(m)=E0(5);E6(m)=E0(6);E7(m)=E0(7);E8(m)=E0(8);
    E9(m)=E0(9);E10(m)=E0(10);E11(m)=E0(11);E12(m)=E0(12);
    E13(m)=E0(13);E14(m)=E0(14);
end
figure
K=[1:1:1892];
plot(K,E1,'-b');hold on
plot(K,E2,'-g');hold on
plot(K,E3,'-r');hold on
plot(K,E4,'-c');hold on
plot(K,E5,'-m');hold on
plot(K,E6,'-y');hold on
plot(K,E7,'-k');hold on
plot(K,E8,'-k');hold on
plot(K,E9,'-y');hold on
plot(K,E10,'-m');hold on
plot(K,E11,'-c');hold on
plot(K,E12,'-r');hold on
plot(K,E13,'-g');hold on
plot(K,E14,'-b');hold on
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

智能机器人

Robot (super robot)

我们都爱小木虫

找到一些相关的精华帖子,希望有用哦~

科研从小木虫开始,人人为我,我为人人
相关版块跳转 我要订阅楼主 wei.yc 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +8 gdd2018 2026-08-28 13/650 2026-09-03 06:22 by 羽毛枫f
[公派出国] 售SCI-T0P文章,我:8O.5.5.1.O.54,科目齐全,可+急 +3 ero8OE6tv9cu 2026-09-02 4/200 2026-09-03 03:14 by rM1TE0WVDIIY
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +14 Kittylucky 2026-08-27 15/750 2026-09-02 19:35 by liumei0601
[基金申请] 科研人应该花精力去思考如何解决问题,而不是去凝练问题 +7 瞬息宇宙 2026-09-01 14/700 2026-09-02 17:33 by ma0526
[基金申请] 要骂人了,新模版改版就是要淡化问题凝练这种虚的东西,结果有个评委还在说凝练得不够 +9 瞬息宇宙 2026-08-31 17/850 2026-09-02 14:04 by anjeeshine
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 10/500 2026-09-02 11:35 by 大不刘6
[基金申请] 学科评审组评审是指会评吗? +5 瞬息宇宙 2026-08-31 5/250 2026-09-02 10:13 by 雨冰共舞
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 能否申诉? +7 echo8914667 2026-08-30 8/400 2026-08-31 17:00 by yihongxu
[基金申请] 中青基了要发朋友圈吗? +7 349506619 2026-08-28 7/350 2026-08-31 13:39 by 冼亮淀粉酶
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
信息提示
请填处理意见