24小时热门版块排行榜    

查看: 3506  |  回复: 7

xianggui7895

银虫 (小有名气)

[交流] 【原创】利用Matlab绘制Materials studio能带图 已有7人参与

Materials Studio提供的能带图既呆板又难看,能不能把能带图画漂亮点呢?

答案当然是肯定的。MS提供了将能带图(实际上是所有chart图形)导出为csv文件的功能。能带图的CSV文件是逗号分割的数据位置,一共两列,第一列是K点位置坐标,第二列是各K点相应的能量值。傻瓜点的做法的是导入到Origin中重新作图,也有专门的软件对数据进行处理画图。不过,我在这里介绍使用Matlab对能带数据进行处理和绘图的方法,感兴趣的大家可以尝试一下,matlab强大的画图功能不会让你失望的:)

第一步:在MS中将能带图导出(file->export...)为csv文件;

第二步:打开Matlab,将csv文件保存到工作目录下;

第三步:新建m文件,内容如下,不同能带图进行相应修改:)
CODE:
% plot band structure from *.csv file clear;  
% general information
Filename = 'ZnO Band Structure-dot.csv';
Num_Pts = 67;   % number of Band structure K points

% Note: MS exported csv files of band structure have two columns
%   first is K points positions, and second is corresponding energy
%   actual points number is Num_Pts-1:)  

% computing process
M = csvread(Filename);
x = M(:,1); y = M(:,2);
L = size(M,1);
x = reshape(x,Num_Pts,L/Num_Pts);
y = reshape(y,Num_Pts,L/Num_Pts);
x(67,:) = []; y(67,:) = [];
plot(x,y,'-+','LineWidth',2);
ylabel('Energy(eV)');
title('Band Structure of ZnO');
line([0 1],[0 0],'Color','k','LineWidth',2,'LineStyle','--'); %Fermi energy line  

% special K-points marker id_kpts = [1 7 21 27 41 53 59 66];
label_kpts = 'G|A|H|K|G|M|L|H'; loc_kpts = x(id_kpts); set(gca,'XTick',loc_kpts,'XTickLabel',label_kpts); line([loc_kpts;loc_kpts],repmat(get(gca,'yLim')',1,size(id_kpts,2)),'Color','k');

绘制出来的图形大概如下图所示,本人不才,还是有点丑,不过当做抛砖引玉啦,哈哈!



[ Last edited by xianggui7895 on 2011-3-30 at 21:31 ]
回复此楼

» 收录本帖的淘帖专辑推荐

模拟 第一性原理概念及相关内容

» 猜你喜欢

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

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

zyj8119

木虫 (著名写手)


小木虫(金币+0.5):给个红包,谢谢回帖交流
引用回帖:
Originally posted by xianggui7895 at 2011-03-30 21:27:41:
Materials Studio提供的能带图既呆板又难看,能不能把能带图画漂亮点呢?

答案当然是肯定的。MS提供了将能带图(实际上是所有chart图形)导出为csv文件的功能。能带图的CSV文件是逗号分割的数据位置,一共两列 ...

不错,学习了。。。。。
好好学习,天天向上。
2楼2011-04-01 15:23:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jinzhulin000

金虫 (小有名气)

NB虫

呵呵,挺丑的,哈哈
走虫子的路,让虫子无路可走
3楼2011-04-01 17:18:00
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

markblue

金虫 (著名写手)

丑,不如origin
4楼2011-04-03 11:10:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lwrobinson

铁杆木虫 (著名写手)

呵呵,学习了,matlab功能还是不差的
5楼2011-04-03 12:27:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

x163_yu

银虫 (小有名气)


楼主威武
6楼2011-04-06 16:01:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

woxinrushui

铜虫 (小有名气)

不错,学习了。
7楼2012-07-25 20:55:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weizhiyong

金虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
引用回帖:
105363楼: Originally posted by xianggui7895 at 2011-03-30 21:27:41
Materials Studio提供的能带图既呆板又难看,能不能把能带图画漂亮点呢?

答案当然是肯定的。MS提供了将能带图(实际上是所有chart图形)导出为csv文件的功能。能带图的CSV文件是逗号分割的数据位置,一共两列, ...

当沿同一方向时,发现有两条色散线相交,例如上图的KG方向。我看楼主就是按照频率从大到小排列的。但是实际是这样的吗?色散线都是连续的吧?
8楼2012-07-26 01:40:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 xianggui7895 的主题更新
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见