cb9fec0254e8c5fc340fedc08e84b097f817d48a
[physik/posic.git] / vasp_tools / poscar2moldyn
1 #!/bin/bash
2
3 mkdir -p video
4
5 echo "parsing POSCAR file ..."
6
7 sicnt=`sed -n 6p POSCAR | awk '{ print $1 }'`
8 ccnt=`sed -n 6p POSCAR | awk '{ print $2 }'`
9
10 lc=`sed -n 2p POSCAR | awk '{ print $1 }'`
11
12 x1=`sed -n 3p POSCAR | awk '{ print $1 }'`
13 x2=`sed -n 3p POSCAR | awk '{ print $2 }'`
14 x3=`sed -n 3p POSCAR | awk '{ print $3 }'`
15
16 y1=`sed -n 4p POSCAR | awk '{ print $1 }'`
17 y2=`sed -n 4p POSCAR | awk '{ print $2 }'`
18 y3=`sed -n 4p POSCAR | awk '{ print $3 }'`
19
20 z1=`sed -n 5p POSCAR | awk '{ print $1 }'`
21 z2=`sed -n 5p POSCAR | awk '{ print $2 }'`
22 z3=`sed -n 5p POSCAR | awk '{ print $3 }'`
23
24 ((total=sicnt+ccnt))
25
26 echo "  Si: $sicnt, C: $ccnt, total: $total"
27 echo "      $x1      $y1      $z1"
28 echo "  x = $x2  y = $y2  z = $z2"
29 echo "      $x3      $y3      $z3"
30
31 cnt=0
32 tcnt=0
33
34 cx=1.0
35 cy=1.0
36 cz=0.8
37
38 echo "# P $total init <$cx,$cy,$cz>" > video/atomic_conf_init.xyz
39
40 tail -${total} POSCAR | \
41         while read x y z fx fy fz; do
42                 type="Si"
43                 color="Yellow"
44                 if [ $cnt -ge $sicnt ]; then
45                         type="C"
46                         color="Gray"
47                 fi
48                 ((X=0))
49                 ((Y=0))
50                 ((Z=0))
51                 X=`echo $X $x $y $z $x1 $y1 $z1 | \
52                         awk '{ print $1+($2*$5)+($3*$6)+($4*$7) }'`
53                 Y=`echo $Y $x $y $z $x2 $y2 $z2 | \
54                         awk '{ print $1+($2*$5)+($3*$6)+($4*$7) }'`
55                 Z=`echo $Z $x $y $z $x3 $y3 $z3 | \
56                         awk '{ print $1+($2*$5)+($3*$6)+($4*$7) }'`
57                 echo "$type $X $Y $Z $color 0.0" >> video/atomic_conf_init.xyz
58                 ((cnt+=1))
59         done
60
61 echo
62