24小时热门版块排行榜    

查看: 6748  |  回复: 45
【奖励】 本帖被评价25次,作者neweroica增加金币 20.1

neweroica

木虫 (著名写手)


[资源] 【neweroica个人文集】转换VASP的CHGCAR为cube文件的程序chgcar2cube(v0.0)

VASP计算的电荷密度分布保存在CHGCAR文件里,但有一定的局限性,因为目前能够直接支持CHGCAR的可视化软件并不多见。而相比之下,Gaussian的cube文件则已经非常“出名”,大量的软件(甚至非量化软件)都支持可

视化cube文件。而且,Gaussian自带的cubman程序还能对多个cube文件进行加减乘除和平方等操作,更表明cube格式的文件有极大的灵活性。

这里发布我的另一个原创程序,用于将VASP的CHGCAR文件或LOCPOT文件转换为Gaussian的cube文件。

1. 编译:
i) 在Windows下我已经给大家编译好了可执行文件(见附件的chgcar2cube.exe),大家可以直接在DOS下运行。

ii) 如果你用的是Linux,则可用标准C编译器进行编译,如:
gcc -o chgcar2cube -lm chgcar2cube.c

iii) 如果你用Windows,但想修改或重新编译的话,请先设置源文件中的MS_Window值为1,然后再用C编译器进行编译。这很重要!!!否则程序虽然编译通过,但转换结果会发生严重错误。


2. 用法:
i) 在命令行直接敲入:
chgcar2cube

或者跟上输入文件名作为参数:
chgcar2cube [input-file]

然后程序会读入CHGCAR文件,并开始将数据写入*.cube文件中:
Writing file "CHGCAR.cube"...

ii) 接着程序会要求你输入各种类型原子的原子序数:
Please enter the atomic number of element 1:
比如,你的各种元素依次是碳、氢、硫和铜,就*按顺序*输入6、1、16和29。
屏幕输入如下所示:
Please enter the atomic number of element 1:6
6 atoms for this ion type.
Please enter the atomic number of element 2:1
4 atoms for this ion type.
Please enter the atomic number of element 3:16
4 atoms for this ion type.
Please enter the atomic number of element 4:29
100 atoms for this ion type.

然后程序就会读出三个方向的格点数目:
NGX = 108, NGY = 108, NGZ = 250


3. 补充说明:

i)  当程序将所有的数据读完并转换完之后,就会统计出所有格点数据的最大值、最小值和均方根值,如下所示:
MAX= 74583.743207  MIN= -1158.089524  RMS=  5083.330715

这一行信息既在屏幕上输出,也被写到生成的cube文件的第一行。这个信息非常有用,它能帮助你在作图时选择最合适的等值面(isovalue)。一般来说,等值面的数值取RMS是最合适的(若绝大部分格点数据是负值则

取-RMS)。

ii)  Gaussian提供的cubman程序有时会出现bug。过段时间我将再发布chgcarman程序,用于加减乘除和平方多个chgcar文件。


4. 实例:

附图1: 将三个体系(AB、A和B)的CHGCAR转换成cube文件,然后用cubman做差(AB - A - B)得到分子吸附前后电荷密度差分布的cube文件。最后用GaussView进行可视化。图中红色是电荷密度增多的区域,蓝色对应

减少的区域。

附图2: 将电荷密度差分布映射到总电荷密度分布上。

[ Last edited by yjcmwgk on 2010-6-16 at 21:41 ]
回复此楼

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

第一性原理相关文档 VASP 第一性 vasp

» 猜你喜欢

» 本主题相关商家推荐: (我也要在这里推广)

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

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

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

很强大
2楼2010-01-21 10:15:10
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wonderflyer

木虫 (正式写手)


surface build failed!

Error reading MO File header
不知道哪出错了?
4楼2010-01-21 18:07:32
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

neweroica

木虫 (著名写手)


引用回帖:
Originally posted by wonderflyer at 2010-1-21 18:07:
surface build failed!

Error reading MO File header
不知道哪出错了?

你是不是isovalue选取得不合适?
5楼2010-01-21 18:51:22
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

405963512

铜虫 (正式写手)


★★★ 三星级,支持鼓励

你好,我按照你说的,在windows下,转换了一个chgcar文件,转换完成,遇到两个问题。
1.在gaussview打开.cubbe文件,但是我原来在vasp下的分子现在散开了,可能是有些原子在晶胞外面,这个问题如何解决?
2.在显示cube时,出现错误:contour build failed! Reading map cube file Writing Grid Data Reading Grid Point Line Number 2721
谢谢
6楼2010-01-22 09:32:19
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wonderflyer

木虫 (正式写手)


我的isovalue选取的是RMS值,还是出现同样的错误
7楼2010-01-22 16:00:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

neweroica

木虫 (著名写手)


楼上两位能不能把你们的CHGCAR文件上传到纳米盘之类的,或发邮件给我(如果文件不是很大的话)?
8楼2010-01-22 17:15:17
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wonderflyer

木虫 (正式写手)


谢谢楼主,我已经上传到了,请帮我看看。http://d.namipan.com/d/106996372 ... 054a56204ab65670e03
9楼2010-01-23 09:19:06
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

neweroica

木虫 (著名写手)


引用回帖:
Originally posted by wonderflyer at 2010-1-23 09:19:
谢谢楼主,我已经上传到了,请帮我看看。http://d.namipan.com/d/106996372 ... 054a56204ab65670e03

另外,元素类型依次都是什么?
10楼2010-01-23 23:42:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wonderflyer

木虫 (正式写手)


元素类型依次都是O,FE,IN,SN
11楼2010-01-24 09:26:41
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

neweroica

木虫 (著名写手)


引用回帖:
Originally posted by wonderflyer at 2010-1-24 09:26:
元素类型依次都是O,FE,IN,SN

我用chgcar2cube程序亲自转换了一下你的chgcar文件,用GaussView 4.1.2打开生成的chgcar.cube文件,没有任何问题。 我选用的isovalue为1000(因为RMS=973)。结果如附图所示。

建议:

1. 重新下载chgcar2cube.c文件(见主楼的附件4),然后最好在Linux下编译和执行。

2. 选取isovalue为1000绘制等值面。
12楼2010-01-24 10:07:31
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wonderflyer

木虫 (正式写手)


谢谢了,是我的GASSVIEW版本太低的缘故,换高版本就可以了。
13楼2010-01-25 10:47:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

piaoxue001

木虫 (正式写手)


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

非常感谢  用用
15楼2011-03-17 11:01:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

piaoxue001

木虫 (正式写手)


内容已删除
16楼2011-03-17 12:48:39
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zsjan

金虫 (正式写手)


★★★ 三星级,支持鼓励

将电荷密度差分布映射到总电荷密度分布上,这个图是怎么做出来的呢?
17楼2011-04-25 13:33:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

blgao12

禁虫 (小有名气)

本帖内容被屏蔽

18楼2011-06-12 08:38:01
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

blgao12

禁虫 (小有名气)

本帖内容被屏蔽

19楼2011-06-12 08:39:38
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

wiseguy2008

新虫 (初入文坛)


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

谢谢这么好的程序,想问一下cube文件电荷密度的写入方式;是先X循环,后y循环,最后z循环吗?
33楼2014-03-06 11:14:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

solarman

新虫 (正式写手)


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

一直没注意过这个帖子,前两天下载了楼主的源码文件看了下,总体框架写的很不错,但似乎有一个地方是错的。
在你的getData函数中:
shift = ( iz*ngy*ngx + iy*ngy + ix ) * 18;
这条指令应该是用于移动文件指针的,它需要统计网格空间中已走过的“点”的数量的,按我的理解,它本应该是:shift = ( iz*ngy*ngx + ix*ngy + iy ) * 18; 才对。
同样,下一条指令:
shift += ( iz*ngy*ngx + iy*ngy + ix ) / 5 ;
应该改为shift += ( iz*ngy*ngx + ix*ngy + iy ) / 5 ;
楼主不妨回顾一下,看看是否如此,期待回复!
39楼2014-10-17 20:29:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

weichengdo

新虫 (小有名气)


没有看到脚本哈
45楼2021-06-22 19:40:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

徘徊的彷徨者

新虫 (初入文坛)


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

楼主,这个资源下载不了了,急求,可重谢!!您看到请发到我邮箱hanl20@mails.tsinghua.edu.cn

发自小木虫Android客户端
46楼2022-01-10 14:58:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
2010-01-21 16:46   回复  
 
fox-fox14楼
2010-01-26 13:05   回复  
 
emmaxue20楼
2011-08-31 17:05   回复  
五星好评  顶一下,感谢分享!
sjzxbe21楼
2012-01-13 22:45   回复  
五星好评  顶一下,感谢分享!
sjzxbe22楼
2012-01-13 22:46   回复  
顶一下,感谢分享!
sandycug23楼
2012-01-15 15:25   回复  
五星好评  顶一下,感谢分享!
xiaoluoj24楼
2012-06-12 19:22   回复  
五星好评  顶一下,感谢分享!
2012-06-21 10:18   回复  
五星好评  顶一下,感谢分享!
2012-06-21 10:19   回复  
顶一下,感谢分享!
2012-06-21 10:19   回复  
顶一下,感谢分享!
fjfuzhou28楼
2012-09-21 09:43   回复  
五星好评  顶一下,感谢分享!
fjfuzhou29楼
2012-09-21 09:43   回复  
顶一下,感谢分享!
fjfuzhou30楼
2012-09-21 09:44   回复  
顶一下,感谢分享!
2013-08-03 08:41   回复  
五星好评  顶一下,感谢分享!
cskx_hxj32楼
2014-01-07 10:44   回复  
五星好评  顶一下,感谢分享!
wucx123434楼
2014-04-30 14:46   回复  
五星好评  顶一下,感谢分享!
2014-06-13 16:55   回复  
五星好评  顶一下,感谢分享!
wucx123436楼
2014-06-19 09:48   回复  
顶一下,感谢分享!
wucx123437楼
2014-06-19 09:49   回复  
顶一下,感谢分享!
llhhvhnh38楼
2014-09-04 20:17   回复  
五星好评  顶一下,感谢分享!
islyway40楼
2014-10-23 17:27   回复  
五星好评  顶一下,感谢分享!
hczheng89941楼
2015-08-11 17:28   回复  
五星好评  顶一下,感谢分享!
hczheng89942楼
2015-12-26 21:10   回复  
顶一下,感谢分享!
2018-05-30 09:43   回复  
五星好评  顶一下,感谢分享!
2019-01-21 16:52   回复  
五星好评  顶一下,感谢分享!
相关版块跳转 我要订阅楼主 neweroica 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
信息提示
请填处理意见