24小时热门版块排行榜    

CyRhmU.jpeg
查看: 515  |  回复: 2

qinform

木虫 (著名写手)

[求助] 求助 晶格优化脚本 一个命令格式的修改

在vasp入门指南里 晶格优化部分,有一个脚本
#!/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

我想修改这个脚本,我用的程序输出文件名是report,
。。。。。。。。。。。。。。。。。。。。。。。。
---------------------------------------------------
Ewald        = -.24937674101229E+02
Alpha        = 0.44417481059890E+01
E_extV       = 0.00000000000000E+00    0.0000E+00
E_NSC        = 0.55244485925725E+01    -.1520E-04
E[-rho*V_Hxc]= -.32491868458856E+01    0.1217E-04
E_Hxc        = -.47988207613946E+01    0.3027E-05
-TS          = -.20308418661012E-29    0.0000E+00
E_tot        = -.23019485009947E+02    -.2602E-08
---------------------------------------------------
Zero temp. E_tot =-.23019485009947E+02 Using formula: E_tot(T)+TS/(N+2), N=    0
---------------------------------------------------
E_Hart,E_xc,E_ion =0.2374022815E+01  -.7172843576E+01  -.7078483387E+01
E_rhoVext,E_IVext     =0.0000000000E+00  0.0000000000E+00
    E_psiV,E_dDrho =-.3829296541E+01  0.0000000000E+00
      ave(vtot):v0 =-.4925372855E+00
ave(V_ion_s(or p,d))=ave(V_Hatree)=0; ave(Vtot)=ave(V_xc)=v0
---------------------------------------------------

弛豫之后输出总能的一行
Zero temp. E_tot =-.23019485009947E+02 Using formula: E_tot(T)+TS/(N+2), N=    0
。。。。。。。。。。。。。。。。。。

E=‘grep "Zero temp. E_tot“ report  | tail -1 | awk ’{printf "%12.6f \n", $5 }’‘
不能正确输出总能的数值,输出为0。
试了grep "Zero temp. E_tot“ report  | tail -1  能够正确找出
Zero temp. E_tot =-.23019485009947E+02 Using formula: E_tot(T)+TS/(N+2), N=    0
但是, | awk ’{printf "%12.6f \n", $5}‘  不知道怎么修改。
请帮忙。
回复此楼

» 猜你喜欢

» 本主题相关价值贴推荐,对您同样有帮助:

已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
感谢参与,应助指数 +1
qinform: 金币+5, ★★★很有帮助, 有错误,不过还是感谢帮忙 2013-09-22 00:44:46
awk ' sub("Zero temp. E_tot =", ""; printf "%12.6f \n", $5}'
2楼2013-09-21 22:10:29
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖

jerkwin

专家顾问 (正式写手)

【答案】应助回帖

★ ★ ★ ★ ★
qinform: 金币+5, ★★★很有帮助, 已经找到解决办法了,感谢 2013-09-22 01:30:09
哦, 应该是
awk ' sub("Zero temp. E_tot =", ""; printf "%12.6f \n", $1}'
3楼2013-09-22 00:56:16
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 qinform 的主题更新
信息提示
请填处理意见