X-Git-Url: https://hackdaworld.org/gitweb/?a=blobdiff_plain;f=vasp_tools%2Fposcar2moldyn;h=a4f25620eb430f5b72ae5c418667844bdd6b0961;hb=HEAD;hp=1c117416f26d02eff2b3d562dec5ec010cbbef92;hpb=153ffa76a126130faca5be28aefad32f4c8b623d;p=physik%2Fposic.git diff --git a/vasp_tools/poscar2moldyn b/vasp_tools/poscar2moldyn index 1c11741..a4f2562 100755 --- a/vasp_tools/poscar2moldyn +++ b/vasp_tools/poscar2moldyn @@ -2,26 +2,35 @@ 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" @@ -37,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" @@ -47,19 +56,16 @@ 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) }'` + 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.xyz + echo "$type $X $Y $Z $color 0.0" >> video/atomic_conf_init${app}.xyz ((cnt+=1)) done