24小时热门版块排行榜    

查看: 1779  |  回复: 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的回帖

贺仪

铁杆木虫 (著名写手)

【答案】应助回帖

感谢参与,应助指数 +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

专家顾问 (职业作家)

【答案】应助回帖

感谢参与,应助指数 +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的回帖

dxcharlary

专家顾问 (职业作家)

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

thelrgbird

金虫 (小有名气)

引用回帖:
: Originally posted by 贺仪 at 2012-02-17 09:31:08:
一,既然不可以运算,那么你可以先算一下呀
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   ...

这样还是不行的,$i/2在这里出现的话,最后反映在POSCAR上就是2.6/2这样的东西,貌似VASP不认……不能继续计算……
6楼2012-02-20 09:29:45
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

thelrgbird

金虫 (小有名气)

WDD880227(金币+1): 感谢交流 2012-02-20 09:39:12
引用回帖:
: Originally posted by souledge at 2012-02-18 18:04:45:
另外,可以用这样的方法计算:
HalfI=`echo "scale=5; $i / 2" | bc -l`
然后在晶格常数位置用$HalfI就可以了~

我最后也是在木虫上查的,用的是a= python -c "print $i/2" 但是这样的话所有的简单计算都会要重新命名一个新的变量,觉得可麻烦了…… 不知道能不能直接用某个命令让其直接算出呢?例如:
cat > POSCAR << !
Pt
1.000
{一个运算公式}    {一个运算公式}     0.000
{一个运算公式}    0.000  {一个运算公式}
0.000  {一个运算公式}    {一个运算公式}
7楼2012-02-20 09:33:18
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

thelrgbird

金虫 (小有名气)

引用回帖:
: Originally posted by dxcharlary at 2012-02-18 21:22:48:
应该是你的第一个错误导致$i/2没被执行,所以可能晶格参数没写POSCAR里面去。所以vasp根本就不认识你的POSCAR。

您说的第一个错误是哪里?
8楼2012-02-20 09:34:52
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

thelrgbird

金虫 (小有名气)

引用回帖:
: Originally posted by dxcharlary at 2012-02-18 21:24:30:
另外你的grep F= OS* >> fcc_mesh是想往fcc_mesh里面写什么?

这个就是想手动检测晶格参数的意思,OS*其实就是OSZICAR,懒得继续输入了
9楼2012-02-20 09:36:07
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

dxcharlary

专家顾问 (职业作家)

WDD880227(金币+1): 感谢提示 2012-02-20 15:09:02
引用回帖:
7楼: Originally posted by thelrgbird at 2012-02-20 09:33:18:
我最后也是在木虫上查的,用的是a= python -c "print $i/2" 但是这样的话所有的简单计算都会要重新命名一个新的变量,觉得可麻烦了…… 不知道能不能直接用某个命令让其直接算出呢?例如:
cat >  ...

我记得shell根本就不支持浮点运算。用python或者是matlab吧。
10楼2012-02-20 09:51:02
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 thelrgbird 的主题更新
最具人气热帖推荐 [查看全部] 作者 回/看 最后发表
[基金申请] 面上函评意见出来了,像什么等级? 20+4 Tsingking1 2026-08-27 15/750 2026-09-01 12:23 by icm639
[基金申请] 在坚冰还盖着北海的时候,我看到了怒放的梅花。 (金币+10) +8 ziyangfang 2026-08-25 11/550 2026-09-01 09:51 by zzuzxg
[基金申请] 基金未中,这种答复是模板吗? +6 zhaosm1982 2026-08-27 7/350 2026-08-31 21:18 by qdxxmc
[基金申请] 哪位高人中了,把查询到的截图贴出来让我看看,让我长长见识 +6 yuleib84 2026-08-26 7/350 2026-08-31 19:46 by 鱼翔浅底1
[基金申请] 面上意见出来了 +12 黄鸟于飞Chao 2026-08-29 23/1150 2026-08-31 18:57 by 黄鸟于飞Chao
[基金申请] 基金不中,共勉 +12 eulota 2026-08-26 12/600 2026-08-31 08:42 by ZJTJZ
[基金申请] 有没有仍没收到信息的 +7 德尚中行 2026-08-27 8/400 2026-08-30 20:52 by purplejack
[基金申请] 国自然面上复盘~欢迎讨论 (金币+15) +15 晴天加油 2026-08-26 16/800 2026-08-29 18:28 by symmetry
[基金申请] 国自然评审意见 +13 wangmingqi 2026-08-28 19/950 2026-08-29 10:22 by Poppy1104
[基金申请] 2026年叶企孙基金 +4 bud_bud 2026-08-27 7/350 2026-08-29 07:23 by foolishmani
[基金申请] 系统查不到 +11 董八千 2026-08-26 11/550 2026-08-28 18:06 by Leogzhya
[基金申请] 怎么查啊 +6 huang1991js 2026-08-26 6/300 2026-08-28 08:42 by winsaint
[基金申请] 看板上这么多中的,有点像50人群里49个人都是骗子的那种感觉…… +5 a089 2026-08-26 6/300 2026-08-27 14:05 by jonewore
[基金申请] 为什么 国际(地区)合作与交流项目 没有放榜? 10+3 majunge000 2026-08-26 11/550 2026-08-27 08:42 by 北京莱茵编辑
[基金申请] 我不理解! +15 Edward_pc 2026-08-26 23/1150 2026-08-26 20:34 by zzuzxg
[基金申请] 出来了 +9 trojank 2026-08-26 9/450 2026-08-26 14:25 by 宝贝虫子
[基金申请] 为什么国自然不能直接公布 +4 bjdxyxy 2026-08-26 4/200 2026-08-26 13:12 by qingmu1201
[基金申请] 国合里面能看到了 +7 一怀馨秋 2026-08-26 7/350 2026-08-26 11:23 by zhaosm1982
[基金申请] 国际合作可查了,中了面上 (EPI+1)(金币+50) +18 Ldrop2023 2026-08-26 18/900 2026-08-26 11:15 by cmrandy
[基金申请] 系统进不去 +4 yanglien 2026-08-26 5/250 2026-08-26 11:10 by wenfengw83
信息提示
请填处理意见