24小时热门版块排行榜    

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

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

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

含草

金虫 (小有名气)

★ ★
fegg7502(金币+2,VIP+0):鼓励交流! 5-10 18:41
运行脚本文件之后,文件里面根本就没有数据,这是什么原因?谢谢
./opt.sh: line 14: echoa=3.70 angstrom: command not found
running on    1 nodes
distr:  one band on    1 nodes,    1 groups
vasp.4.6.31 08Feb07 complex
POSCAR found :  0 types and    0 ions
p0_31941:  p4_error: interrupt SIGSEGV: 11

real    0m0.022s
user    0m0.019s
sys     0m0.003s
./opt.sh: command substitution: line 16: unexpected EOF while looking for matching `"'
./opt.sh: command substitution: line 17: syntax error: unexpected end of file
./opt.sh: line 14: echoa=3.80 angstrom: command not found
running on    1 nodes
distr:  one band on    1 nodes,    1 groups
vasp.4.6.31 08Feb07 complex
POSCAR found :  0 types and    0 ions
p0_31949:  p4_error: interrupt SIGSEGV: 11

real    0m0.022s
user    0m0.019s
sys     0m0.003s
./opt.sh: command substitution: line 16: unexpected EOF while looking for matching `"'
./opt.sh: command substitution: line 17: syntax error: unexpected end of file
./opt.sh: line 14: echoa=3.90 angstrom: command not found
running on    1 nodes
distr:  one band on    1 nodes,    1 groups
vasp.4.6.31 08Feb07 complex
POSCAR found :  0 types and    0 ions
8楼2009-05-09 21:57:57
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

sars518

木虫 (著名写手)

小木虫灌水大队队长


zxzj05(金币+1,VIP+0):3Q! ^_^ 期待你的更多精彩回答! 5-12 10:11
!
echo "a =$i angstrom";time vasp


改成

!
vasp
echo "a =$i angstrom"

[ Last edited by sars518 on 2009-5-11 at 21:48 ]
人生是一场旅行,在欣赏风景的同时,别忘了你也是别人的风景。
13楼2009-05-11 21:43:03
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
普通回帖

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

含草

金虫 (小有名气)

学习了很多
5楼2009-05-09 20:30:43
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tjpm

金虫 (正式写手)

★ ★
fegg7502(金币+1,VIP+0):鼓励交流! 5-10 18:41
zxzj05(金币+1,VIP+0):3Q! ^_^ 期待你的更多精彩回答! 5-12 10:10

./run_a0就可以了
引用回帖:
Originally posted by 405963512 at 2009-5-9 21:13:
我觉得他问的没这么难吧,那个脚本程序是做晶格常数测试的,看取的这些a值那个能量最低,那么这个a所对应的值作为标准的晶格常数,带入 到poscar,进行后续的计算。这是他的作用
至于运行方法,chmod +x 文件名; ...

7楼2009-05-09 21:35:27
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

tjpm

金虫 (正式写手)

★ ★ ★
fegg7502(金币+3,VIP+0):鼓励交流! 5-10 18:41
你的脚本有问题。
1、./opt.sh: line 14: echoa=3.70 angstrom: command not found
是echo "a=$a angstrom",你少了空格。
2、/opt.sh: command substitution: line 16: unexpected EOF while looking for matching `"'
./opt.sh: command substitution: line 17: syntax error: unexpected end of file
用cat创建文件时,重定向符“<<”后 前后截断字符要相同。
9楼2009-05-10 00:14:04
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

longchang

金虫 (小有名气)

rm: cannot remove `WAVECAR': No such file or directory
a =3.80 angstrom
bash: vasp: command not found

real    0m0.001s
user    0m0.000s
sys     0m0.000s
bash: TOTEN: command not found
awk: cmd. line:1:
awk: cmd. line:1: ^ invalid char '�' in expression
a =3.85 angstrom
bash: vasp: command not found

real    0m0.001s
user    0m0.000s
sys     0m0.000s
bash: TOTEN: command not found
awk: cmd. line:1:
awk: cmd. line:1: ^ invalid char '�' in expression
a =3.90 angstrom
bash: vasp: command not found

real    0m0.001s
user    0m0.000s
sys     0m0.000s
bash: TOTEN: command not found
awk: cmd. line:1:
awk: cmd. line:1: ^ invalid char '�' in expression
a =3.95 angstrom
bash: vasp: command not found
real    0m0.001s
user    0m0.000s
sys     0m0.000s
bash: TOTEN: command not found
awk: cmd. line:1:
awk: cmd. line:1: ^ invalid char '�' in expression
a =4.00 angstrom
bash: vasp: command not found

real    0m0.001s
user    0m0.001s
sys     0m0.000s
bash: TOTEN: command not found
.............
...............
...............
是怎么回事?难道VASP运行脚本需要”特殊“代码?
10楼2009-05-10 21:14:13
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 longchang 的主题更新
普通表情 高级回复(可上传附件)
信息提示
请填处理意见