| 查看: 7377 | 回复: 24 | ||||||||
[交流]
侯老师脚本测试K点、截断能详解,适合零基础! 已有8人参与
|
||||||||
|
学vasp的童鞋估计都知道侯老师,很多童鞋对他教程里面的脚本也略有耳闻,估计也有不少被这些脚本绊住脚,当然也包括我。今天正好有时间,在这里跟大家聊聊侯老师的脚本。这里以K点的测试脚本为例。 1:脚本说明 脚本就像是一句话,把话传给服务器,然后服务器就照着话做,在这里用脚本的目的无非就是省时省力,对于机械的重复性动作,让脚本会省力一下。但是别担心,即使自己对脚本一窍不通,一个个算就可以了,无非多费点劲而已。 2:文件准备 我们都知道提交VASP作业需要四个基本文件,INCAR、KPOINTS、POSTAR、POTCAR,这里我们讲测试K点,也就是KPOINTS里面的内容。所以这时建立脚本文件rvasp.pbs.sh,提交作业时准备这个文件和其它三个,而KPOINTS文件就不必要了。 3:rvasp.pbs.sh脚本内容 这个脚本两个作用,一是充当KPOINTS文件,二是完成提交作业的任务。具体内容如下。 #!/bin/sh rm WAVECAR for i in 1 2 3 do cat>KPOINTS<<! Si- 0 Monkhorst-pack $i $i $i 0.0 0.0 0.0 ! echo "k mesh = $i x $i x $i" time vasp E=`grep "TOTEN" OUTCAR | tail -1 | awk '{printf "%12.6f \n", $5 }'` KP=`grep "irreducible" OUTCAR | tail -1 | awk '{printf "%5i \n", $2 }'` echo $i $KP $E >>comment done 下面是脚本说明: #!/bin/sh 说明命令类型,使用的shell是bash rm WAVECAR 删掉波函数,如果INCAR中设置ISTART=0,即重新开始弛豫,这一行需要删除。 for i in 1 2 3 for……do……done是循环的整套命令 i是变量 do cat>KPOINTS<<! 生成KPOINTS文件,而文件的内容为两个!之间的内容 Si- 从此行到下面!号前,是KPOINTS内容,不再详述 0 Monkhorst-pack $i $i $i $i读入i的数值,也就是从1再2再3 0.0 0.0 0.0 ! 与上一个!相应 echo "k mesh = $i x $i x $i" 屏幕上打印引号内的内容 time vasp 运行vas,并在程序跑完后打印时间 E=`grep "TOTEN" OUTCAR | tail -1 | awk '{printf "%12.6f \n", $5 }'` 提取OUTCAR中含有TOTEN的行且最后一行赋值为E awk后是一些输出格式 KP=`grep "irreducible" OUTCAR | tail -1 | awk '{printf "%5i \n", $2 }'` 提取OUTCAR中含有irreducible的行且最后一行赋值为KP echo $i $KP $E >>comment 将两个变量输出到comment文件 done 与for do done 配套 4.提交作业 做好INCAR、POSTAR、POTCAR,再加上上面的脚本rvasp.pbs.sh,然后提交脚本即可。 5.特别说明 1:如果作业错误,并显示找不到WAVECAR,那就把rm WAVECAR这一行删除。 2:作业错误,先检查脚本有没有问题,没有问题,注意time vasp 这一行,这个提交作业的命令可能对你的服务器不适用,那你用自己提交作业的命令替换掉这个。 3:2不成功的情况下,如果你本来有提交作业的脚本,找到mpirun这一行(这一行的作用是提交作业),将上面rvasp的所有内容粘贴到这一行的后面,然后剪切mpirun这一行进而替换掉time vasp。再正常提交脚本即可。 完毕。 本教程综合很多前辈的方法,基本是一个整合,感谢他们!对于本教程有错误的地方,请批评指正! |
» 收录本帖的淘帖专辑推荐
第一性原理计算-tg | 量化软件 | 第一原理 | 计算化学 |
科研 |
» 本帖已获得的红花(最新10朵)
» 猜你喜欢
回收溶剂求助
已经有7人回复
职称评审没过,求安慰
已经有40人回复
硝基苯如何除去
已经有3人回复
A期刊撤稿
已经有4人回复
垃圾破二本职称评审标准
已经有17人回复
投稿Elsevier的Neoplasia杂志,到最后选publishing options时页面空白,不能完成投稿
已经有22人回复
申请26博士
已经有5人回复
EST投稿状态问题
已经有7人回复
毕业后当辅导员了,天天各种学生超烦
已经有4人回复
求助文献
已经有3人回复

maoxinxina
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 226.9
- 散金: 11
- 帖子: 214
- 在线: 172.8小时
- 虫号: 2495364
- 注册: 2013-06-04
- 性别: GG
- 专业: 化学动力学
4楼2016-10-09 09:32:53
2楼2016-09-05 21:51:44
3楼2016-09-05 21:52:17

5楼2016-10-09 19:46:29
tsglss
铁杆木虫 (著名写手)
- 应助: 41 (小学生)
- 金币: 6014.2
- 红花: 19
- 帖子: 1875
- 在线: 940小时
- 虫号: 321641
- 注册: 2007-03-11
- 性别: GG
- 专业: 凝聚态物性 II :电子结构

6楼2016-10-09 22:25:50
chally123
铁虫 (著名写手)
- 应助: 0 (幼儿园)
- 金币: 3953.2
- 沙发: 1
- 帖子: 2620
- 在线: 89.4小时
- 虫号: 3240818
- 注册: 2014-05-28
- 性别: GG
- 专业: 凝聚态物性I:结构、力学和
7楼2016-10-10 00:12:38
maoxinxina
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 226.9
- 散金: 11
- 帖子: 214
- 在线: 172.8小时
- 虫号: 2495364
- 注册: 2013-06-04
- 性别: GG
- 专业: 化学动力学
★
小木虫: 金币+0.5, 给个红包,谢谢回帖
小木虫: 金币+0.5, 给个红包,谢谢回帖
|
哥:这是我的东西 #!/bin/sh rm WAVECAR for i in 150 200 250 300 350 400 do cat > INCAR <<! SYSTEM = Si-Diamond ENCUT = $i ISTART = 0 ; ICHARG = 2 ISMEAR = -5 PREC = Accurate ! echo "ENCUT = $i eV" ; time vasp E=`grep "TOTEN" OUTCAR | tail -1 | awk '{printf "%12.6f \n", $5 }'` echo $i $E >>comment done 然后我把这个放在根目录下~/bin 执行chmode +x run_ecut.sh 然后放在我的文件夹下执行 提示错误如下: [lyj@cluster si]$ run_ecut.sh rm: cannot remove `WAVECAR': No such file or directory /home/lyj/bin/run_ecut.sh: line 16: warning: here-document at line 5 delimited by end-of-file (wanted `!') /home/lyj/bin/run_ecut.sh: line 17: syntax error: unexpected end of file 想知道怎么弄才能消除这些错误 |
8楼2016-10-10 10:23:14

9楼2016-10-10 10:29:56
maoxinxina
银虫 (小有名气)
- 应助: 0 (幼儿园)
- 金币: 226.9
- 散金: 11
- 帖子: 214
- 在线: 172.8小时
- 虫号: 2495364
- 注册: 2013-06-04
- 性别: GG
- 专业: 化学动力学
10楼2016-10-10 10:32:08













回复此楼
人行道
