X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=vasp_tools%2Fposcar2moldyn;h=a4f25620eb430f5b72ae5c418667844bdd6b0961;hb=31a82cd2a10be5c6c7095c784588bb43c48a4c3d;hp=cb9fec0254e8c5fc340fedc08e84b097f817d48a;hpb=74338eb2c232045ba39ca945cb9662604cbbd6c5;p=physik%2Fposic.git diff --git a/vasp_tools/poscar2moldyn b/vasp_tools/poscar2moldyn index cb9fec0..a4f2562 100755 --- a/vasp_tools/poscar2moldyn +++ b/vasp_tools/poscar2moldyn @@ -2,28 +2,39 @@ mkdir -p video -echo "parsing POSCAR file ..." +if [ -z $1 ]; then + file=POSCAR + app="" +else + file=$1 + app=".`echo $file | awk -F. '{ print $2 }'`" +fi -sicnt=`sed -n 6p POSCAR | awk '{ print $1 }'` -ccnt=`sed -n 6p POSCAR | awk '{ print $2 }'` +echo "parsing $file file ..." -lc=`sed -n 2p POSCAR | awk '{ print $1 }'` +sicnt=`sed -n 6p $file | awk '{ print $1 }'` +ccnt=`sed -n 6p $file | awk '{ print $2 }'` -x1=`sed -n 3p POSCAR | awk '{ print $1 }'` -x2=`sed -n 3p POSCAR | awk '{ print $2 }'` -x3=`sed -n 3p POSCAR | awk '{ print $3 }'` +lc=`sed -n 2p $file | awk '{ print $1 }'` -y1=`sed -n 4p POSCAR | awk '{ print $1 }'` -y2=`sed -n 4p POSCAR | awk '{ print $2 }'` -y3=`sed -n 4p POSCAR | awk '{ print $3 }'` +x1=`sed -n 3p $file | awk '{ print $1 }'` +x2=`sed -n 3p $file | awk '{ print $2 }'` +x3=`sed -n 3p $file | awk '{ print $3 }'` -z1=`sed -n 5p POSCAR | awk '{ print $1 }'` -z2=`sed -n 5p POSCAR | awk '{ print $2 }'` -z3=`sed -n 5p POSCAR | 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" @@ -35,9 +46,9 @@ cx=1.0 cy=1.0 cz=0.8 -echo "# P $total init <$cx,$cy,$cz>" > video/atomic_conf_init.xyz +echo "# P $total init <$cx,$cy,$cz>" > video/atomic_conf_init${app}.xyz -tail -${total} POSCAR | \ +sed -n 9,${eoa}p $file | \ while read x y z fx fy fz; do type="Si" color="Yellow" @@ -45,18 +56,18 @@ tail -${total} POSCAR | \ type="C" color="Gray" fi - ((X=0)) - ((Y=0)) - ((Z=0)) - X=`echo $X $x $y $z $x1 $y1 $z1 | \ - awk '{ print $1+($2*$5)+($3*$6)+($4*$7) }'` - Y=`echo $Y $x $y $z $x2 $y2 $z2 | \ - awk '{ print $1+($2*$5)+($3*$6)+($4*$7) }'` - Z=`echo $Z $x $y $z $x3 $y3 $z3 | \ - awk '{ print $1+($2*$5)+($3*$6)+($4*$7) }'` - echo "$type $X $Y $Z $color 0.0" >> video/atomic_conf_init.xyz + 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 +echo "done"