24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3832  |  回复: 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的回帖
回帖支持 ( 显示支持度最高的前 50 名 )

comeonwyf

新虫 (初入文坛)


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

你好,这个可以在VASP5.2下分裂DOSCAR吗??谁有这程序啊??
17楼2014-03-27 11:27:59
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

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的回帖

hcdd1986

铜虫 (小有名气)


linux用不来
4楼2010-08-16 11:15:26
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lono75

铁杆木虫 (著名写手)


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

支持原创
谢谢分享
5楼2010-08-16 12:02:14
已阅   回复此楼   关注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的回帖

nkleof

银虫 (正式写手)


引用回帖:
Originally posted by cenwanglai at 2010-08-16 14:38:36:
支持分享和原创。

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

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

还有后面的
while [ $i -l ...

嗯,欢迎修改,不过这个脚本不是我写的,我也只改动了其中判断并处理LORBIT>10的部分,使得脚本适合于处理含20列数据的情况。
其它部分还没仔细看,欢迎找出bug并把它完善。
7楼2010-08-16 14:48:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

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

牛:)~!
8楼2010-08-16 15:49:42
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

xuebiao

金虫 (小有名气)


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

恩,顶下,还不错!
9楼2010-08-16 15:59:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

cocolv

木虫 (正式写手)


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

好东西,顶一下。
14楼2011-04-15 17:10:28
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

chenyuchen

木虫 (正式写手)


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

thanks for sharing
15楼2011-04-15 17:16:34
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

ustbwgs

木虫 (正式写手)


引用回帖:
Originally posted by nkleof at 2010-08-16 10:50:03:
之前发过一个简单版本的态密度处理程序,这次更新一下。

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

用法:只能在linux系统下,键入各个程序名称运行就可以,如果遇到平台问题,sumdos ...

我的有300左右个原子呢,如果分一下,都出来的话,找也找不到,那怎么办呢?而且对于这种作图特别麻烦,有什么好的建议吗??
16楼2011-04-15 18:47:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
简单回复
zzy870720z10楼
2010-08-16 17:24   回复  
 
wuli811楼
2010-09-14 16:15   回复  
 
2010-09-15 09:02   回复  
 
aylayl0813楼
2010-09-15 14:45   回复  
 
laoda7918楼
2016-04-20 11:26   回复  
一般  
相关版块跳转 我要订阅楼主 nkleof 的主题更新
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复(可上传附件)
信息提示
请填处理意见