24小时热门版块排行榜    

CyRhmU.jpeg
南方科技大学公共卫生及应急管理学院2025级博士研究生招生报考通知
查看: 2984  |  回复: 17
当前主题已经存档。
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

longchang

金虫 (小有名气)

[交流] 【求助】VASP脚本程序怎么运行?

刚学VASP,对其还不是很熟悉;现在正在试着运行脚本文件(按侯老师的例子),准备好INCAR、KPOINTS、POTCAR文件后,应该准备POSCAR文件,那脚本程序run_a0怎样运行?脚本run_a0为:
#!/bin/sh
rm WAVECAR
for i in 3.80 3.85 3.90 3.95 4.00 4.05 4.10 4.15 4.20 4.25 4.30
do
cat >POSCAR < Al-fcc
$i
0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0
Direct
0.0 0.0 0.0
!
echo "a =$i angstrom";time vasp
E=‘grep "TOTEN" OUTCAR |tail -1|awk ‘{printf "%12.6f \n",$5}'‘
V=‘grep "volume" OUTCAR |tail -1|awk ‘{printf "%12.4f \n",$5}'‘
echo $V  $E >>EtVo.dat
done
VASP运行需四个文件,这里难道用run_a0替代POSCAR文件?但那样的话VASP运行不了,但又不能单独运行脚本程序(出不了结果),到底该怎麽办?哪位能告诉我具体的运行步骤?谢谢!

[ Last edited by aylayl08 on 2010-4-21 at 09:01 ]
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tjpm

金虫 (正式写手)

★ ★
fegg7502(金币+2,VIP+0):thank you very much! 5-10 18:41
其实shell脚本很简单的,有C语言基础随便看看就会了,当然还需要熟悉常用的linux命令。
简单写个注释吧
====
#!/bin/sh #每种shell脚本开头需要指定起类型,比如unix下原始的就是sh,linux都标配bash了, Solaris也是用bash了。功能上现在似乎zsh比较好,目前我是把zsh做默认shell.
rm WAVECAR  
删除WAVECAR,其实这里有点不好,因为很多系统默认把rm 替换为rm -i
也就是说你要删除这个文件时会跳出一个提示问是否要删除。建议改为 rm  WAVECAR -rf
for i in 3.80 3.85 3.90 3.95 4.00 4.05 4.10 4.15 4.20 4.25 4.30
do
这个sh/bash下典型的for循环,就是让i逐次取后面的值
cat >POSCAR < Al-fcc
$i
0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0
Direct
0.0 0.0 0.0
!
这个就是利用管道创建文件POSCAR,两个“!”分别标识开头和结尾。
echo "a =$i angstrom";time vasp
屏幕输出 a的值,并运行vasp, time命令加在前面就是计算其运行时间。
E=‘grep "TOTEN" OUTCAR |tail -1|awk ‘{printf "%12.6f \n",$5}'‘
搜索包含"TOTEN"的所有行,利用tail -1取最后一行,然后格式化输出第5个字符段。
V=‘grep "volume" OUTCAR |tail -1|awk ‘{printf "%12.4f \n",$5}'‘
这个同上
echo $V  $E >>EtVo.dat
把V,E的值添加到EtVo.dat
done
表示结束for循环。

其实这些工具脚本都很简单的,关键还是要明白输出文件,然后就可以自己写一些适合自己用的。
4楼2009-05-09 20:20:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 18 个回答

emily6526

铁虫 (初入文坛)

★ ★ ★ ★
fegg7502(金币+4,VIP+0):鼓励交流! 5-9 17:10
可以自己写一个POSCAR,把$i换成一个具体的数。
Al-fcc
$i
0.0 0.5 0.5
0.5 0.0 0.5
0.5 0.5 0.0
Direct
0.0 0.0 0.0
2楼2009-05-09 10:54:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sars518

木虫 (著名写手)

小木虫灌水大队队长

★ ★
fegg7502(金币+2,VIP+0):鼓励交流! 5-9 17:10
其实这个脚本的作用就是 改变 缩放系数  写POSCAR
人生是一场旅行,在欣赏风景的同时,别忘了你也是别人的风景。
3楼2009-05-09 16:06:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

405963512

铜虫 (正式写手)


fegg7502(金币+1,VIP+0):鼓励交流! 5-10 18:41
我觉得他问的没这么难吧,那个脚本程序是做晶格常数测试的,看取的这些a值那个能量最低,那么这个a所对应的值作为标准的晶格常数,带入 到poscar,进行后续的计算。这是他的作用
至于运行方法,chmod +x 文件名;这个命令吧你的shell变成可执行程序,然后敲入这个文件名,就可运行
我很笨,是弄了一周才弄明白的,虽不是什么大问题,和大家分享!
6楼2009-05-09 21:13:11
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通表情 高级回复(可上传附件)
信息提示
请填处理意见