24小时热门版块排行榜    

查看: 5442  |  回复: 6
【奖励】 本帖被评价3次,作者byin增加金币 2
本帖产生 1 个 1ST强帖 ,点击这里进行查看

byin

铜虫 (正式写手)


[资源] 用matlab脚本绘制vasp中的能带图

把EIGENVAL和.m脚本放一起,修改脚本里的一些参数“手动修改区”,然后运行脚本即可。见笑了。


%%%%%%%%%%%%%%%%%%%% 此脚本用于VASP的能带绘制 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
clc
clear
%%%%%%%%%%%%%%%%%%%%%%%%%%% 手动修改区 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

EFermi=6.1748;                  %设置费米能级
NBands=8;                       %一共计算的能带数目
inter=100;                      %每段PATH的插值点数目
NPath=4;                        %PATH数目
Ktotal=inter*NPath;             %特殊K点的总数目

xmin=1;                         %x,y坐标轴的范围
xmax=Ktotal;
ymin=-6;
ymax=7;

kpath={'L','\Gamma' ,'X','K','\Gamma'};         %设置K空间的路径

%%%%%%%%%%%%%%%%%%%%%%%%%% 图像边框 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

A4 = figure('PaperType','a4letter','PaperSize',[20.98 29.68]);
axes1 = axes('Parent',A4,'Position',[0.2 0.1 0.6 0.8],'LineWidth',1.5,'FontSize',15.0,'FontWeight','bold');         %Position [left bottom width height]
box(axes1,'on');
hold(axes1,'all');

%%%%%%%%%%%%%%%%%%%%%%%%%%% 数据读取 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

data=textread('EIGENVAL','','headerlines',7);

for i=1:1:NBands,
    for j=1:1:Ktotal,
        P(j,: )=[j,data((NBands+1)*(j-1)+1+i,2)-EFermi];         %读出每条能带的数据(每个i中的各个j),做出曲线
    end
   
    plot(P(:,1),P(:,2),'-r.');
    hold on   
end

%%%%%%%%%%%%%%%%%%%%%%%%%%%% 坐标轴设置 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

axis([xmin xmax ymin ymax]);
set(gca,'XTick',[1,inter:inter:Ktotal])
set(gca,'XTickLabel','')

j=1;                                %高对称点符号
for i=[1,inter:inter:Ktotal]
    text(i,ymin-0.7,kpath(j),'FontSize',18, 'horizontalAlignment', 'center')
    j=j+1;
end

ylabel('E-E_F (eV)');

X=[xmin xmax];                 %辅助线 - 水平
Y=[0 0];
line(X,Y,'LineWidth',1.5,'Color',[0 0 0])

for i=1:1: (NPath-1)            %辅助线 - 垂直
    X=[i*inter i*inter];
    Y=[ymin ymax];
    line(X,Y,'LineWidth',1.5,'Color',[0 0 0]);
end

print -dpng Band_Structure_of_              %输出图像文件

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

[ Last edited by byin on 2011-5-30 at 21:27 ]
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lrjhxh

木虫 (小有名气)


★★★ 三星级,支持鼓励

请问怎么会出现以下错误:
?? Attempted to access data(731,2); index out of bounds because
size(data)=[728,4].

Error in ==> bandstructure at 31
        P(j,: )=[j,data((NBands+1)*(j-1)+1+i,2)-EFermi];
        %读出每条能带的数据(每个i中的各个j),做出曲线
2楼2011-06-01 19:52:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

byin

铜虫 (正式写手)


引用回帖:
Originally posted by lrjhxh at 2011-06-01 19:52:25:
请问怎么会出现以下错误:
?? Attempted to access data(731,2); index out of bounds because
size(data)=[728,4].

Error in ==> bandstructure at 31
        P(j,: )=[j,data((NBands+1)*(j-1)+1+i,2 ...

对不起,可能有bug,请将EIGNVAL发送到我邮箱,我试试看。

byin87@gmail.com
3楼2011-06-01 21:15:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lrjhxh

木虫 (小有名气)


重新试过了,可以了,但图不好看,还需要不断改进才行。谢谢
4楼2011-06-03 11:57:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lrjhxh

木虫 (小有名气)


看来问题还是不能解决。请问VASP计算之后的输出结果中,EIGENVAL中的第一~第三行表示什么意思?画图时各高对称K点的坐标是如何定义的?怎样转换各K点的坐标来画图?你所提供的脚本中,读出每条能带的数据算法是怎样的?从CHGCAR中获得电荷密度图的Matlab脚本有没有?你是通常使用什么工具进行输出结果的分析?谢谢!
5楼2011-11-05 21:46:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

白小纸bql

新虫 (初入文坛)


★★★★★ 五星级,优秀推荐

这个星级是给lz评价么?
额,,正题,,lz您好~我是一只新虫子,谢谢您写的程序~好顶赞。
但是我有两个问题,一是不同高对称点之间的间距应该会不同,这个程序处理出来时均匀的;另一个可能是精度的问题,我在用这个程序处理石墨烯能带的时候,在Dirac锥处出现了平直部分;
lz能帮忙解决一下上面两个问题么?感激不尽!
用matlab脚本绘制vasp中的能带图
g.png

7楼2014-07-01 20:13:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
2014-05-01 10:57   回复  
三星好评  
相关版块跳转 我要订阅楼主 byin 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 29号明天会评吗 +4 笨笨唐 2026-08-28 4/200 2026-08-31 09:30 by huixian257
[基金申请] 中青基了要发朋友圈吗? +6 349506619 2026-08-28 6/300 2026-08-31 08:43 by kingkocxr
[基金申请] 基金不中,共勉 +12 eulota 2026-08-26 12/600 2026-08-31 08:42 by ZJTJZ
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +6 gdd2018 2026-08-28 11/550 2026-08-30 08:58 by 超级无敌华子
[基金申请] 国自然评审意见 +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
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 怎么看青基中了没有啊 +5 叶九微 2026-08-26 5/250 2026-08-27 10:35 by l_zh2008
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 2026年8月25日国自然放榜前突然收到列入评审专家邮件,有关系吗? +25 木水思豆 2026-08-25 28/1400 2026-08-26 14:53 by draco1987
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
[基金申请] 项目信息和经费信息在系统里都可以看到了 +6 wittyboy 2026-08-26 14/700 2026-08-26 10:55 by wittyboy
[基金申请] 国合可查了 +3 paperzjh 2026-08-26 3/150 2026-08-26 10:41 by LemmonTr
[基金申请] 国合现在查不到了吗? +10 chengyan1220 2026-08-24 20/1000 2026-08-26 08:57 by peasantsprig
[基金申请] 牛来!米来!面来! +8 beefly 2026-08-26 8/400 2026-08-26 08:37 by xuzhipiao
[基金申请] 某些机构,以效率低为荣,以效率低作为存在感 +9 yuleib84 2026-08-25 10/500 2026-08-25 17:14 by alexon
信息提示
请填处理意见