24小时热门版块排行榜    

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

thelrgbird

金虫 (小有名气)

[求助] 关于脚本书写求助

在提交作业的时候写了这样一个脚本:
#!/bin/sh
rm WAVECAR
rm fcc_mesh
for i in 2.6 2.65 2.7 2.75 2.8 2.85 2.9 2.95  3.0 3.05
do
cat > POSCAR << !
Pt
1.000
$i/2    $i/2     0.000
$i/2    0.000  $i/2
0.000 $i/2     $i/2
1
d
0.000 0.000 0.000
!
~/vasp
grep F= OS* >> fcc_mesh
done

运行出了不少错误…… 第一个就是不能用$i/2这个方式简单的表示算数关系,第二个是什么原因我也看不明白了…… 好像说我这样写的POSCAR有问题,麻烦各位帮忙看看,应该怎么修改一下可以呢?谢谢啦!
PS:我想建的模型就是简单的立方面心的Pt
回复此楼
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dxcharlary

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +1
liliangfang(金币+2): 多谢指教 2012-02-19 08:45:34
thelrgbird(金币+2): 有帮助 谢谢 2012-02-20 16:03:57
应该是你的第一个错误导致$i/2没被执行,所以可能晶格参数没写POSCAR里面去。所以vasp根本就不认识你的POSCAR。
4楼2012-02-18 21:22:48
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
查看全部 13 个回答

贺仪

铁杆木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
uuv2010(金币+1): 多谢提示 2012-02-17 09:43:37
thelrgbird(金币+2): 有帮助 谢谢啦~ 2012-02-20 16:03:32
thelrgbird(金币+2): 有帮助 谢谢帮助 2012-02-20 16:04:58
一,既然不可以运算,那么你可以先算一下呀
for i in 2.6 2.65 2.7 2.75 2.8 2.85 2.9 2.95  3.0 3.05(在这里算一下不就行了?)
do
cat > POSCAR << !
Pt
1.000
$i/2    $i/2     0.000
$i/2    0.000  $i/2
0.000 $i/2     $i/2

二,把你提示的错误贴上来
嘟啦啦嘟啦啦嘟
2楼2012-02-17 09:31:08
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

souledge

专家顾问 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +1
WDD880227(金币+1): 感谢交流 2012-02-18 19:45:57
thelrgbird(金币+2): 有帮助 谢谢~ 2012-02-20 16:03:46
thelrgbird(金币+2): 有帮助 谢谢帮助 2012-02-20 16:05:19
另外,可以用这样的方法计算:
HalfI=`echo "scale=5; $i / 2" | bc -l`
然后在晶格常数位置用$HalfI就可以了~
思想重于技巧,内涵重于表象
3楼2012-02-18 18:04:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dxcharlary

专家顾问 (职业作家)

另外你的grep F= OS* >> fcc_mesh是想往fcc_mesh里面写什么?
5楼2012-02-18 21:24:30
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
信息提示
请填处理意见