24小时热门版块排行榜    

CyRhmU.jpeg
查看: 752  |  回复: 1

HSE06

新虫 (小有名气)

[求助] phon处理脚本报错求助

vasp计算完gamma点振动频率之后,用phon提供的脚本提取力常数,报错如下:
./phon2vasp.sh: line 17: syntax error near unexpected token `"   1  0.00477204 -0.00477204  0.00477204 "'
./phon2vasp: line 17: ` "   1  0.00477204 -0.00477204  0.00477204 " \'

这是怎么回事啊?多谢!

phon提供的vasp接口文件内容如下
then
# here the call to VASP
~/bin/vasp
mv OUTCAR OUTCAR.$j
fi
#
# use awk to extract forces
#
echo $i >DYNMAT.$j
awk '
/total drift:/ { start=0}
!/----------/  { if ( start ==1) { printf "%14.8f  %14.8f  %14.8f\n",$4,$5,$6  }}
/TOTAL-FORCE/  { start = 1}
' >DYNMAT.$j

done

# restore POSCAR file
mv POSCAR.phon POSCAR

echo $j > FORCES
i=1
while test $i -le $j
do
cat DYNMAT.$i >> FORCES
i=`expr $i + 1`
done

…………
…………

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

2009537029

新虫 (初入文坛)

这个脚本需要修改一下,具体要把前面部分修改,下面是我的修改,
if test -f POSCAR.phon
then
  echo "POSCAR.phon exist remove before starting batchfile"
  exit 1
fi
cp POSCAR POSCAR.phon
#
#  loop over all exited ions
#
j=0
# here put the content of the DISP file
declare -a arr='( \
"  1  0.00099602  0.00000000  0.00000000 "\
"  1  0.00000000  0.00000000  0.00099602 "\
# " 17  0.00099602  0.00000000  0.00000000 "\
# " 17  0.00000000  0.00099602  0.00000000 "\
# " 17  0.00000000  0.00000000  0.00099602 "\
# " 49  0.00099602  0.00000000  0.00000000 "\
# " 49  0.00000000  0.00000000  0.00099602 "\
# " 65  0.00099602  0.00000000  0.00000000 "\
# " 65  0.00000000  0.00000000  0.00099602 "'
n=0
x=0
while [ $x -le $n ];
do
i=${arr[$x]}
x=`expr $x + 1`
j=`expr $j + 1`
echo "run number $j"

#
# use awk to displace atoms (somewhat tricky)
#
awk '
/SUBSIT/  { npos = $2 ;
            x=$3; y=$4 ; z=$5; }
!/SUBSIT/ { line=line+1
  if (line-7 == npos) {
    printf "%12.9f %12.9f %12.9f\n", $1+x, $2+y, $3+z
  }
  else if (line > 7) {
    printf "%12.9f %12.9f %12.9f\n", $1, $2, $3
  }
  else
    print
} ' >POSCAR <<!
SUBSIT $i
2楼2015-05-15 10:56:44
已阅   回复此楼   关注TA 给TA发消息 送TA红花 TA的回帖
相关版块跳转 我要订阅楼主 HSE06 的主题更新
信息提示
请填处理意见