24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3835  |  回复: 17
【奖励】 本帖被评价12次,作者nkleof增加金币 10.8
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

nkleof

银虫 (正式写手)


[资源] 【分享】态密度处理程序

之前发过一个简单版本的态密度处理程序,这次更新一下。

split_dos.ksh是根据JMS NRL的脚本改的,其它程序是我自己写的。

用法:只能在linux系统下,键入各个程序名称运行就可以,如果遇到平台问题,sumdos程序无法执行,可以用
gcc -lm sum.c
编译源文件产生可执行程序。

运行split_dos.ksh会读取DOSCAR,并生成总的态密度DOS0和各个原子的各轨道态密度DOS1~DOSn。(这里注意在计算DOS时INCAR文件里的NEDOS不要设置为>9999,五位数的NEDOS值会造成错误)
然后运行sumdos可以产生按照特定原子特定轨道模式生成的态密度和(注意:适用于ISPIN=2的计算结果,即DOSCAR里面共有有20列数据)。
例:
sumdos name -t 1 2 3
sumdos是程序名称,name是一个自定义字符串,会加在生成的文件名里,可以作为说明(但是长度只有8个字符),-t表示生成各个轨道的态密度和,(还有两种模式: -n 表示不加和各轨道态密度,仍旧生成从s到d各个轨道的态密度; -d 表示把p轨道,eg轨道,t2g轨道各自加和。!!仍然注意,和上次一样,这里的eg指的是第14、15和18、19列数据,t2g是剩下的3列数据,如果有各个d轨道不是按照这样排列的情形则生成的就不是eg和t2g),后面的数字表示要加和的原子标号。上面的例子就是把第1、2、3号原子的所有轨道的态密度全部加起来。程序支持采用 n~m 形式表示要处理的第n到m个标号连续的原子,例如要处理13到26号原子时,不需要一个一个写出原子标号,只需要写 13~26 就可以。

附送一个将CONTCAR文件转换为可导入Materials Studio的cif文件的程序,使用很简单,只需要在linux下,vasp任务的计算文件夹下,运行exe_Ctocif,程序会自动寻找CONTCAR和POTCAR,并生成cif文件。另外也支持在只有POSCAR文件时转换为cif,但这时需要手动输入元素名称。(!!注意:如果是vasp5版本的CONTCAR,请先删除其中的元素符号那一行。)
例如:
exe_Ctocif
exe_Ctocif POSCAR Si O
这两种方式都可以,前一种自动从赝势里找元素名称,后一种手动输入元素名。
http://ishare.iask.sina.com.cn/f/9316742.html

[ Last edited by nkleof on 2010-8-16 at 11:10 ]
回复此楼

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

材料计算模拟实用技巧 材料计算模拟软件 理论计算及软件的使用 Materials-studio

» 猜你喜欢

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

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

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

支持分享和原创。

split_dos源代码中的逻辑关系理清楚没?form=0/1,

# Total is first DOS
if [ $form -eq 0 ]; then
i=0
else
i=0
fi
这个没理解为什么要这样写。

还有后面的
while [ $i -le 0 ]; do

            #echo $i $start $end

        if [ $i -gt 0 ]; then
            sed -n ''$i' p' tmp.dat2 >| DOS$i
        fi

        if [ $i -gt 0 ]; then
这个循环从i<=0开始,但是上面无论怎样,看起来i的初值是0呢。为什么这样做循环呢?奇怪,好像可以大量简化,即删掉while [ $i -le 0 ]这段循环。
你说呢?
6楼2010-08-16 14:38:36
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 18 个回答

vaspnew

金虫 (小有名气)


试了一下exe_Ctocif 出现 浮点数例外的问题!
2楼2010-08-16 10:57:56
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

nkleof

银虫 (正式写手)


引用回帖:
Originally posted by vaspnew at 2010-08-16 10:57:56:
试了一下exe_Ctocif 出现 浮点数例外的问题!

这个忘了说了,由于vasp5的CONTCAR里面包含一行元素符号,而程序设计时没有考虑,所以如果是vasp5的CONTCAR,请在执行转换前,删除那一行。
3楼2010-08-16 11:09:21
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lono75

铁杆木虫 (著名写手)


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

支持原创
谢谢分享
5楼2010-08-16 12:02:14
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见