24小时热门版块排行榜    

北京石油化工学院2026年研究生招生接收调剂公告
查看: 4168  |  回复: 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的回帖

lono75

铁杆木虫 (著名写手)


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

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

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

支持分享和原创。

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的回帖
☆ 无星级 ★ 一星级 ★★★ 三星级 ★★★★★ 五星级
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[考研] 293求调剂 +3 末未mm 2026-03-30 5/250 2026-03-30 17:23 by 王保杰33
[考研] 342求调剂 +4 加油a李zs 2026-03-26 4/200 2026-03-30 16:39 by 晶体之美
[考研] 一志愿郑大材料工程290求调剂 +8 Youth_ 2026-03-30 8/400 2026-03-30 16:30 by ztnimte
[考研] 329求调剂 +8 星野? 2026-03-26 8/400 2026-03-30 13:41 by chemdavid
[硕博家园] 求调剂 有机化学考研356分 +10 Nadiums 2026-03-25 11/550 2026-03-30 11:56 by yjolah
[考研] 070300一志愿211,312分求调剂院校 +4 小黄鸭宝 2026-03-30 4/200 2026-03-30 11:49 by 棒棒球手
[考研] 356求调剂 +4 gysy?s?a 2026-03-28 4/200 2026-03-29 10:32 by 唐沐儿
[考研] 本科双非材料,跨考一志愿华电085801电气,283求调剂,任何专业都可以 +6 芝士雪baoo 2026-03-28 8/400 2026-03-29 08:16 by 松花缸1201
[考研] 调剂考研 +3 王杰一 2026-03-29 3/150 2026-03-29 08:09 by fmesaito
[考研] 食品工程专硕一志愿中海洋309求调剂 +4 小张zxy张 2026-03-26 8/400 2026-03-28 19:25 by lbsjt
[考研] 一志愿华理,数一英一285求A区调剂 +8 AZMK 2026-03-25 12/600 2026-03-28 18:15 by AZMK
[考研] 085701环境工程,267求调剂 +16 minht 2026-03-26 16/800 2026-03-28 12:16 by zllcz
[考研] 340求调剂 +5 jhx777 2026-03-27 5/250 2026-03-28 04:18 by fmesaito
[考研] 085601 材料工程 313分 求调剂 +5 Ong3 2026-03-27 5/250 2026-03-27 12:24 by goldfish51
[考研] 324求调剂 +5 hanamiko 2026-03-26 5/250 2026-03-27 10:33 by wangjy2002
[考研] 336材料求调剂 +7 陈滢莹 2026-03-26 9/450 2026-03-27 00:20 by wxiongid
[考研] 环境专硕324分求调剂推荐 +5 轩小宁—— 2026-03-26 5/250 2026-03-26 12:05 by i_cooler
[考研] 334分 一志愿武理-080500 材料求调剂 +4 李李不服输 2026-03-25 4/200 2026-03-25 21:26 by 星空星月
[考研] 材料考研调剂生 +3 黄粱一梦千年 2026-03-24 3/150 2026-03-24 17:00 by barlinike
[考研] 一志愿南航材料专317分求调剂 +5 炸呀炸呀炸薯条 2026-03-23 5/250 2026-03-24 16:52 by 星空星月
信息提示
请填处理意见