X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=vasp_tools%2Foutcar2moldyn;fp=vasp_tools%2Foutcar2moldyn;h=780dd9395f8c1bf61cced874331da888b331d879;hb=88c1733cf107670db154954879b59bc7bb8ce3f2;hp=0000000000000000000000000000000000000000;hpb=0d2f9a11030dff3583104dac5d4dcb9f040a1327;p=physik%2Fposic.git diff --git a/vasp_tools/outcar2moldyn b/vasp_tools/outcar2moldyn new file mode 100755 index 0000000..780dd93 --- /dev/null +++ b/vasp_tools/outcar2moldyn @@ -0,0 +1,50 @@ +#!/bin/bash + +rm -rf video +mkdir -p video + +sicnt=`grep 'ions per' OUTCAR | awk '{ print $5 }'` +ccnt=`grep 'ions per' OUTCAR | awk '{ print $6 }'` + +((total=sicnt+ccnt)) + +echo "parsing OUTCAR file ..." +echo " Si: $sicnt, C: $ccnt, total: $total" + +cnt=0 +tcnt=0 + +cx=1.0 +cy=1.0 +cz=0.8 + +sed -n -e '/POSITION/,/total/p' OUTCAR | \ + grep -v POS | grep -v total | grep -v -- ^\ - | \ + while read x y z fx fy fz; do + + time=`printf "%05d" $tcnt` + echo -en "$tcnt/$cnt " + [ "$cnt" = "0" ] && \ + echo "# P $total $time <$cx,$cy,$cz>" > \ + video/atomic_conf_$time.xyz + + type="Si" + color="Yellow" + force=`echo "sqrt($fx*$fx+$fy*$fy+$fz*$fz)" | bc` + if [ $cnt -ge $sicnt ]; then + type="C" + color="Gray" + fi + echo "$type $x $y $z $color $force" >> \ + video/atomic_conf_$time.xyz + + ((cnt+=1)) + if [ $cnt -eq $total ]; then + cnt=0 + ((tcnt+=1)) + echo + fi +done + +echo +