24小时热门版块排行榜    

查看: 3908  |  回复: 22
【奖励】 本帖被评价6次,作者monowolf增加金币 3.75
当前主题已经存档。

monowolf

铁杆木虫 (著名写手)


[资源] 电荷密度图等高线的作法

这是我师兄编的MATLAB程序用来处理MS电荷密度的等高线做法,分四步:
1.找到电荷密度图的存储文件,一般是在自己所建的计算project中,隐藏的,castep模块是.charg_frm格式的,可以用txt打开后另存为txt格式。
2.读取数据,在matlab命令里输入以下命令:
[path,fn]=uigetfile('*.txt','Open');
fp=fopen([fn,path],'r');
head=fscanf(fp,'%s',4);
data=fscanf(fp,'%f',[4,18*18*144]);
fclose(fp);
这是读取刚才保存的txt数据的,其中18*18*144是可以改的,分别对应a,b,c的重复单元。
3.作矩阵。
a=reshape(data(1,,[18,18,144]);
b=reshape(data(2,,[18,18,144]);
c=reshape(data(3,,[18,18,144]);
d=reshape(data(4,,[18,18,144]);
其中18*18*144是可以改的,分别对应a,b,c的重复单元,即长宽高的值。
4.作等高线图
layer=1;
contour(reshape(a(:,layer,,[18,144]),reshape(c(:,layer,,[18,144]),reshape(d(:,layer,,[18,144]),8);
layer=1(2,3,4....) 可以修改作图的层数,分别是从前面到后面。最后的8表示显示线条数目,可以自己修改成9,10或其它。
hold on 表示累积作图,hold off表示清空前面的 作图
举例;做表面层和第九层的等高线图
>> layer=9;
contour(reshape(a(:,layer,,[18,144]),reshape(c(:,layer,,[18,144]),reshape(d(:,layer,,[18,144]),8);
>> hold on
>> layer=1;
contour(reshape(a(:,layer,,[18,144]),reshape(c(:,layer,,[18,144]),reshape(d(:,layer,,[18,144]),8);

这是沿侧面做等高线(即xz平面),其它方向作图类似。只要修改其中的参数就可以了,如把a(:,layer,,[18,144]),reshape(c(:,layer,,[18,144]),reshape(d(:,layer,,[18,144]),8);
改为a(layer,:,,[18,144]),reshape(c(layer,l:,,[18,144]),reshape(d(layer,:,,[18,144]),8);
欢迎大家指点。上传附件为样本数据和上述作图txt文档。

特别感谢师兄Mr.Tang.

[ Last edited by monowolf on 2008-9-25 at 21:58 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

monowolf

铁杆木虫 (著名写手)


这个是 :+ ),做图片处理了。
2楼2008-09-25 21:59:25
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhfuchun

金虫 (小有名气)


★★★ 三星级,支持鼓励

那么任意三个原子确定一个面,这个如何提取数据?
3楼2008-09-25 22:02:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jieweiwei

铜虫 (小有名气)


★★★ 三星级,支持鼓励

请问楼主我的Project中怎么没有这个隐含文件啊?
到底该怎么找啊
4楼2008-09-26 14:40:58
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

stractor

金虫 (著名写手)


引用回帖:
Originally posted by zhfuchun at 2008-9-25 22:02:
那么任意三个原子确定一个面,这个如何提取数据?

我也问这个问题,(001)面得电荷密度简单,但是任意面呢,比如(112)面怎么处理?
5楼2009-05-30 15:36:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

okhere8815

金虫 (正式写手)


★ 一星级,一般

其实际上MS软件中就有显示待高级功能,只是大家不会使用MS的功能而已,搞得这么复杂!!
6楼2009-05-30 15:46:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

okhere8815

金虫 (正式写手)


很简单的事,搞得这么复杂,不好吧?

很简单的事,搞得这么复杂,不好吧?
7楼2009-05-30 15:47:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zhfuchun

金虫 (小有名气)


要做任意面的等高线图如何做?就是三个原子确定的一个面的数据如何提取?
8楼2009-05-30 19:04:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
引用回帖:
Originally posted by okhere8815 at 2009-5-30 15:47:
很简单的事,搞得这么复杂,不好吧?

不知道能不能详细说说呢?
9楼2009-05-30 20:48:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

meimeidyh

铁杆木虫 (著名写手)


老帖子了(虽然是好帖子),却总是被某些人在论坛里转来转去,拿来骗金币。
10楼2009-05-31 09:35:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hh113

铜虫 (初入文坛)


请问怎样在等高线里面确定是什么原子产生的呢?
11楼2009-05-31 10:49:40
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hchfox

木虫 (正式写手)


这能有多好?lev00一切都可搞定,只要你学明白了。。。
引用回帖:
Originally posted by zhfuchun at 2008-9-25 22:02:
那么任意三个原子确定一个面,这个如何提取数据?

12楼2009-05-31 11:54:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小臭虫

新虫 (小有名气)


monowolf 你好 我按照你教的方法 已经做出了电荷密度图 但如何区分各个原子的图呢 再次感谢
13楼2009-06-04 11:25:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xing446

木虫 (小有名气)


★★★ 三星级,支持鼓励

支持一下!
14楼2009-06-04 14:26:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dongdong3881

木虫 (正式写手)


引用回帖:
Originally posted by okhere8815 at 2009-5-30 15:46:
其实际上MS软件中就有显示待高级功能,只是大家不会使用MS的功能而已,搞得这么复杂!!

请说详细些好吗 ?
15楼2009-06-04 15:40:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

小臭虫

新虫 (小有名气)


如何做出这样的电荷密度图 大家一起来想办法吧 人多力量大
16楼2009-06-04 15:56:37
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hchfox

木虫 (正式写手)


只要你得到了charge density的文本文件,用Origin就OK了,作出来的图比这还漂亮,哈。。。
引用回帖:
Originally posted by 小臭虫 at 2009-6-4 15:56:
如何做出这样的电荷密度图 大家一起来想办法吧 人多力量大

17楼2009-06-04 16:05:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

li_jinchun

金虫 (小有名气)


引用回帖:
Originally posted by hchfox at 2009-6-4 16:05:
只要你得到了charge density的文本文件,用Origin就OK了,作出来的图比这还漂亮,哈。。。


怎样得到 charge density的文本文件,谢谢
18楼2009-06-05 09:01:33
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hchfox

木虫 (正式写手)


由你的计算程序啊。。。vasp,siesta,pwscf。。。
得到的应该都是文本文件啊,
另外lev00与这些程序都结合的很好的,可进一步得到任一平面的charge density,再用origin或其他程序画图就ok啦。。。
引用回帖:
Originally posted by li_jinchun at 2009-6-5 09:01:

怎样得到 charge density的文本文件,谢谢

19楼2009-06-05 17:07:35
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zzjust

新虫 (小有名气)


如果使用MS呢
还没弄懂
20楼2009-06-09 01:14:53
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

laohaoren2802

银虫 (正式写手)


同样期待,顶一个
21楼2009-06-10 16:41:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 monowolf 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 投票:  有多少人是今天查系统知道结果的? +17 爱看书的可乐 2026-08-26 19/950 2026-09-02 00:19 by xiangy672
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 17/850 2026-09-01 19:51 by 超级无敌华子
[基金申请] 学科评审组评审是指会评吗? +4 瞬息宇宙 2026-08-31 4/200 2026-09-01 14:58 by jiaoxg
[论文投稿] 小白求助 投论文要求的highlights应该如何写 5+3 l1963982152 2026-08-29 4/200 2026-09-01 09:04 by 北京莱茵编辑
[基金申请] 怎么看青基中了没有啊 +6 叶九微 2026-08-26 6/300 2026-08-31 23:54 by yudaoqian88
[基金申请] 国社科又开始会评了,不知道这次命运如何 +7 雨打竹帘 2026-08-30 11/550 2026-08-31 23:16 by hittle2008
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 能否申诉? +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 冼亮淀粉酶
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[基金申请] 我就是申请一个面上项目而已,这评审意见是按照杰青的条件评的吧? +6 gouxfjh 2026-08-28 11/550 2026-08-30 07:57 by gouxfjh
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +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
信息提示
请填处理意见