From: hackbard Date: Sun, 13 Sep 2009 11:44:33 +0000 (+0200) Subject: initial positions from outcar to moldyn format X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=1cf2114a39da91459ec33d0ecb208915eba74832;p=physik%2Fposic.git initial positions from outcar to moldyn format --- diff --git a/vasp_tools/o_init2moldyn b/vasp_tools/o_init2moldyn new file mode 100755 index 0000000..837712e --- /dev/null +++ b/vasp_tools/o_init2moldyn @@ -0,0 +1,56 @@ +#!/bin/bash + +for i in OUTCAR*; do + app=`echo $i | awk -F. '{ print $2 }'` + [ ! -z $app ] && app=".$app" + +rm -rf video$app +mkdir -p video$app + +sicnt=`grep 'ions per' $i | awk '{ print $5 }'` +ccnt=`grep 'ions per' $i | awk '{ print $6 }'` + +((total=sicnt+ccnt)) + +echo "parsing file $PWD/$i ..." +echo " Si: $sicnt, C: $ccnt, total: $total" + +cnt=0 +tcnt=0 + +cx=1.0 +cy=1.0 +cz=0.8 + +sed -n -e '/ position of ions in cartesian/,/----/p' $i | \ + grep -v POS | grep -v total | grep -v -- ^\ - | \ + while read x y z; do + + time=`printf "%05d" $tcnt` + #echo -en "$tcnt/$cnt " + [ "$cnt" = "0" ] && \ + echo "# P $total $time <$cx,$cy,$cz>" > \ + video$app/atomic_conf_$time.xyz + + type="Si" + color="Yellow" + force=0.0 + if [ $cnt -ge $sicnt ]; then + type="C" + color="Gray" + fi + echo "$type $x $y $z $color $force" >> \ + video$app/atomic_conf_$time.xyz + + ((cnt+=1)) + if [ $cnt -eq $total ]; then + cnt=0 + ((tcnt+=1)) + echo -en "$tcnt " + fi +done + +echo + +done +