24小时热门版块排行榜    

查看: 4482  |  回复: 8

valenhou001

至尊木虫 (职业作家)

[交流] 从VASP的OUTCAR提取xyz以及结构优化的轨迹 已有4人参与

将以下内容考虑至一个文件,比如命名为getvaspxyz.sh,然后将它的属性改为可执行的, chmod +x getvaspxyz.sh。另外在linux下,还可能需要使用命令dos2unix来去掉文件里每行多余隐藏的字符:dos2unix getvaspxyz.sh。在含有OUTCAR文件的目录下运行getvaspxyz.sh,就可以取出原子的位置,以及原子所受的力。按xyz的格式输出。 xyz格式的文件可以用Jmol等软件来可视化。

一个缺点就是,如果所计算的体系所包含的原子个数比较多,另外结构弛豫的步数比较多的话,在得到轨迹文件比较慢。
#!/bin/bash
pwd1=`echo ${PWD##*/}`

natom=`grep \'NIONS\' OUTCAR|tail -1 |awk \'{printf "%s\\n", $12}\'`
last=`sed -n \'/total drift:/=\' OUTCAR |tail -1`
iaf=`echo "$last - 2 - $natom" |bc -l `
echo $natom        > opt.xyz
sed -n "$iaf",+"$natom"p OUTCAR  >>opt.xyz
echo "The latest atomic positions are written to opt.xyz!"
iptc=`grep \'ions per type =\' OUTCAR|tail -1 `
ipt=(`echo "${iptc##*=}"`)
ats=(`grep \'VRHFIN =\'  OUTCAR | sed -e \'s/=/  /g\' |sed -e \'s/:/  /g\'| awk \'{printf "%s\\n", $2}\' `)
ntp=${#ipt[@]}
i=2
for  it in `seq 0  $((${ntp}-1))`;do
    for j in `seq 1  ${ipt[$it]}`;do
    i=`echo "$i +1 " |bc`
    elem=${ats[$it]}
    sed -i "$i s/^/$elem/" opt.xyz
done
done

cp opt.xyz   opt-"$pwd1".xyz

nstep=(`sed -n \'/total drift:/=\' OUTCAR `)
etot=(`grep \'energy  without entropy=\' OUTCAR |awk \'{printf "%20.8f\\n", $4}\' `)
myFile="trajec.xyz"
if [ ! -e "$myFile" ]; then
echo $natom  > $myFile
sed -i \'1d\' $myFile
fi


for k in `seq 0  $((${#nstep[@]}-1))`;do
iaf=`echo "${nstep[k]} - 2 - $natom" |bc -l `
if [  $k -eq 0 ];then
echo $natom  > $myFile
else
echo $natom  >> $myFile
fi
sed -n "$iaf",+"$natom"p OUTCAR  >> $myFile
i=`echo "$k * ($natom+2) + 2"|bc -l`
sed -i "$i s/^/#Etotal: ${etot[k]} eV/"  $myFile
for  it in `seq 0  $((${ntp}-1))`;do
    for j in `seq 1  ${ipt[$it]}`;do
    i=`echo "$i +1 " |bc`
    elem=${ats[$it]}
    sed -i "$i s/^/$elem/"  $myFile
done
done
done
echo "The atomic positions in each optimization step are written to trajec.xyz!"
cp  trajec.xyz   trajec-"$pwd1".xyz
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

lion_tiger

至尊木虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
送红花一朵
感谢侯老师的分享
2楼2019-10-29 16:45:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zuocuiping

木虫 (职业作家)


小木虫: 金币+0.5, 给个红包,谢谢回帖
这个有什么用呢?能说说吗?

发自小木虫Android客户端
3楼2019-10-29 18:01:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

引用回帖:
3楼: originally posted by zuocuiping at 2019-10-29 19:01:05
这个有什么用呢?能说说吗?

前言已经说的比较清楚了。

在结构优化,CONTCAR里是优化的结构。但是每一步优化的原子位置得需从其他文件里取出,比如OUTCAR。这个工具就是从OUTCAR里把每一步优化的原子位置给取出来,并按xyz的格式输出。
4楼2019-10-29 20:13:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

zuocuiping

木虫 (职业作家)

引用回帖:
4楼: Originally posted by valenhou001 at 2019-10-29 20:13:04
前言已经说的比较清楚了。

在结构优化,CONTCAR里是优化的结构。但是每一步优化的原子位置得需从其他文件里取出,比如OUTCAR。这个工具就是从OUTCAR里把每一步优化的原子位置给取出来,并按xyz的格式输出。...

谢谢,感谢侯老师。

发自小木虫Android客户端
5楼2019-10-29 22:01:55
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

hy1987007

木虫 (著名写手)

6楼2019-10-29 23:30:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

轻轻飘过之

金虫 (正式写手)


小木虫: 金币+0.5, 给个红包,谢谢回帖
感谢侯老师的分享!不过想请教下,什么情况下需要查看每一步优化的原子的位置?或者说查看每一步优化的原子位置可以得到什么信息?这个跟搜索过渡态的计算有什么区别?
7楼2019-10-30 09:35:05
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

引用回帖:
7楼: Originally posted by 轻轻飘过之 at 2019-10-30 10:35:05
感谢侯老师的分享!不过想请教下,什么情况下需要查看每一步优化的原子的位置?或者说查看每一步优化的原子位置可以得到什么信息?这个跟搜索过渡态的计算有什么区别?

只是为了监测结构优化的进展情况。与过渡态搜索无关。
8楼2019-11-13 10:10:24
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

valenhou001

至尊木虫 (职业作家)

在用jmol显示这个脚本所提取出来的轨迹时。通过在jmol的控制台使用如下命令:
set vectorScale 5.0
set vectorsCentered
set vectorSymmetry FALSE
set vibrationPeriod  2.0
set vibrationScale  2.0
set defaults PyMOL
vector ON
vector 0.05
vibration ON
可以用来显示原子所受的力的矢量。

或者将以上几行命令放到一个文件比如名为"label.spt"的文件中,然后将该文件通过鼠标拖到jmol已打开了原子轨迹显示的窗口,那这些原子上就会显示出相应所受的力的矢量,以及原子沿着这个矢量上的振动,这样可以很清楚地看到那个原子受的力是很大。
9楼2019-11-13 10:15:23
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 valenhou001 的主题更新
普通表情 高级回复 (可上传附件)
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 学科评审组评审是指会评吗? +4 瞬息宇宙 2026-08-31 4/200 2026-09-01 14:58 by jiaoxg
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 15/750 2026-09-01 12:23 by icm639
[基金申请] 为什么资助数各大高校都创新高,自己申请怎么就这么难 +13 Kittylucky 2026-08-27 14/700 2026-09-01 11:06 by feng6531
[基金申请] 麻烦专家们看看评委们的意见(F口面上) +7 gdd2018 2026-08-28 12/600 2026-09-01 08:32 by 尼古拉斯小虫
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 能否申诉? +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 冼亮淀粉酶
[基金申请] 基金不中,共勉 +12 eulota 2026-08-26 12/600 2026-08-31 08:42 by ZJTJZ
[基金申请] 为什么到现在没收到通知? +5 tannykie 2026-08-29 5/250 2026-08-30 21:05 by purplejack
[考博] 找导师 +6 yuanjiabao 2026-08-29 7/350 2026-08-30 14:40 by 生科新手
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 基金系统什么内容也没有 30+4 winsaint 2026-08-27 9/450 2026-08-28 11:06 by maolC
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 出来了 +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
信息提示
请填处理意见