X-Git-Url: https://hackdaworld.org/gitweb/?p=physik%2Fposic.git;a=blobdiff_plain;f=vasp_tools%2Fposcar2moldyn;fp=vasp_tools%2Fposcar2moldyn;h=a4f25620eb430f5b72ae5c418667844bdd6b0961;hp=0000000000000000000000000000000000000000;hb=6e6d7126ea9a845f11637d8e1b8eb2b570ac4dc9;hpb=97dc63eb6a519b8e1f4fbfaa9760dd94539436b0 diff --git a/vasp_tools/poscar2moldyn b/vasp_tools/poscar2moldyn new file mode 100755 index 0000000..a4f2562 --- /dev/null +++ b/vasp_tools/poscar2moldyn @@ -0,0 +1,73 @@ +#!/bin/bash + +mkdir -p video + +if [ -z $1 ]; then + file=POSCAR + app="" +else + file=$1 + app=".`echo $file | awk -F. '{ print $2 }'`" +fi + +echo "parsing $file file ..." + +sicnt=`sed -n 6p $file | awk '{ print $1 }'` +ccnt=`sed -n 6p $file | awk '{ print $2 }'` + +lc=`sed -n 2p $file | awk '{ print $1 }'` + +x1=`sed -n 3p $file | awk '{ print $1 }'` +x2=`sed -n 3p $file | awk '{ print $2 }'` +x3=`sed -n 3p $file | awk '{ print $3 }'` + +y1=`sed -n 4p $file | awk '{ print $1 }'` +y2=`sed -n 4p $file | awk '{ print $2 }'` +y3=`sed -n 4p $file | awk '{ print $3 }'` + +z1=`sed -n 5p $file | awk '{ print $1 }'` +z2=`sed -n 5p $file | awk '{ print $2 }'` +z3=`sed -n 5p $file | awk '{ print $3 }'` + +((total=sicnt+ccnt)) +((eoa=total+8)) + +echo " Si: $sicnt, C: $ccnt, total: $total" +echo " Lattice constant: $lc A" +echo " Basis:" +echo " $x1 $y1 $z1" +echo " x = $x2 y = $y2 z = $z2" +echo " $x3 $y3 $z3" + +cnt=0 +tcnt=0 + +cx=1.0 +cy=1.0 +cz=0.8 + +echo "# P $total init <$cx,$cy,$cz>" > video/atomic_conf_init${app}.xyz + +sed -n 9,${eoa}p $file | \ + while read x y z fx fy fz; do + type="Si" + color="Yellow" + if [ $cnt -ge $sicnt ]; then + type="C" + color="Gray" + fi + X=`echo $x $y $z $x1 $y1 $z1 | \ + awk '{ print $1*$4+$2*$5+$3*$6 }'` + Y=`echo $x $y $z $x2 $y2 $z2 | \ + awk '{ print $1*$4+$2*$5+$3*$6 }'` + Z=`echo $x $y $z $x3 $y3 $z3 | \ + awk '{ print $1*$4+$2*$5+$3*$6 }'` + X=`echo $lc $X | awk '{ print $1*$2 }'` + Y=`echo $lc $Y | awk '{ print $1*$2 }'` + Z=`echo $lc $Z | awk '{ print $1*$2 }'` + echo "$type $X $Y $Z $color 0.0" >> video/atomic_conf_init${app}.xyz + ((cnt+=1)) + done + +echo "done" +