24小时热门版块排行榜    

CyRhmU.jpeg
查看: 3255  |  回复: 17
当前只显示满足指定条件的回帖,点击这里查看本话题的所有回帖

butterflyyh

木虫 (著名写手)

[求助] ENCUT测试脚本

使用VASP的ENCUT测试脚本optencut.sh
rm WAVECAR
for i in 100 150 200 250 300 350 400 450 500 550 600
do
cat > INCAR < SYSTEM = bcc Fe
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
执行后出错:syntax error: unexpected end of file
optencut.sh脚本是我按照VASP计算前的验证写的,请问有没有人知道出错原因?多谢
回复此楼
nothingisimpossible
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

youzhizhe

荣誉版主 (职业作家)

有志者

优秀版主优秀版主

引用回帖:
1楼: Originally posted by butterflyyh at 2011-08-13 22:05:50:
使用VASP的ENCUT测试脚本optencut.sh
rm WAVECAR
for i in 100 150 200 250 300 350 400 450 500 550 600
do
cat > INCAR <<!
SYSTEM = bcc Fe
ENCUT = $i
...

问题出在最后两句上 修改结果如下
E=`grep "TOTEN" OUTCAR | tail -1 | awk '{printf "%12.6f\n",$5}'`
echo $i $E >> comment

应该就没有问题了。
微博http://weibo.com/10986069
11楼2011-08-19 16:36:47
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 18 个回答

leehb870605

银虫 (小有名气)

【答案】应助回帖

★ ★ ★
butterflyyh(金币+15): 2011-08-17 18:01:40
youzhizhe(金币+3): 谢谢交流。 2011-08-17 19:56:40
1,脚本第一行的
#!/bin/sh
这句话不知道你写了没有,

2,如果你是在WINDOWS环境下的写的脚本,然后再在LINUX环境下运行,可能就会出如下问题,下面是我转的

Shell 尴尬一: syntax error:unexpected end of file
2010-05-23 21:20
在windows下写好了Shell 但是在linux下用
>> sh -n [filesName]  检查语法总是出一个错误 syntax error:unexpected end of file
原因如下:
dos文件传输到unix系统时,会在每行的结尾多一个^M,在vi的时候,当你用如下命令:
>>vi dos.txt
>>:set fileformat=unix
>>:w
就会看到这些存在于每行结尾的^M符号,这个就是产生syntax error:unexpected end of file的原因
解决方案:
在vi下把这些^M都删除后, 搞定!

3,E=$(grep "TOTEN" OUTCAR | tail -1| awk '{printf "%12.6f \n", $5}') 这一句在我那里曾经出过问题,我把它更改过,再每次循环时ECHO一个总能,只是没有这句话后面那些控制输出格式的东西罢了,也可以尝试把这句删掉再试试(个人意见)
2楼2011-08-16 14:57:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

butterflyyh

木虫 (著名写手)

★ ★
youzhizhe: 建议你采用“引用回复”。 2011-08-17 19:57:07
mazuju028(金币+2): 谢谢交流 2011-08-19 08:26:07
1. 第一行的#!/bin/sh加了;

2.是在LINUX下直接编写的,没有每行结尾的^M符号现象;

3.不知道你有没遇到VASP没运算完就读取i 循环的现象?
nothingisimpossible
3楼2011-08-17 18:04:49
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

w76990480

荣誉版主 (文坛精英)

super-emuch

优秀版主文献杰出贡献文献杰出贡献


youzhizhe(金币+1): 谢谢提示。 2011-08-18 18:00:46
引用回帖:
3楼: Originally posted by butterflyyh at 2011-08-17 18:04:49:
1. 第一行的#!/bin/sh加了;

2.是在LINUX下直接编写的,没有每行结尾的^M符号现象;

3.不知道你有没遇到VASP没运算完就读取i 循环的现象?

如果是运行这个脚本的话,应该没有出现3的现象,我是没有遇见过
专业文献求助
4楼2011-08-17 22:39:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见