From: hackbard Date: Tue, 10 Nov 2009 15:19:48 +0000 (+0100) Subject: security checkin: save fullct mig script X-Git-Url: https://hackdaworld.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=0ffb3b88bbfb763206d1428caefdc9465e4ad69a;p=physik%2Fposic.git security checkin: save fullct mig script --- diff --git a/vasp_tools/mig_fullct.sh b/vasp_tools/mig_fullct.sh new file mode 100755 index 0000000..43f2e82 --- /dev/null +++ b/vasp_tools/mig_fullct.sh @@ -0,0 +1,101 @@ +#!/bin/bash + +# migration + +if [ ! -f POSCAR.init ]; then + echo "no initial configuration file, aborting ..." + exit +fi + +if [ ! -f POSCAR.final ]; then + echo "no final configuration file, aborting ..." + exit +fi + +echo "Info:" +echo $LANG +bash --version +echo +echo + +((steps=10)) +((count=1)) +((offset=8)) + +while [ $count -le $steps ]; do + + cnt=`printf "%02d" $count` + + # create the POSCAR file + if [ $count -eq 1 ]; then + cp -v POSCAR.init CONTCAR + fi + + srcfile=CONTCAR + sed -n 1,6p $srcfile > POSCAR + echo "Transformed selective dynamics" >> POSCAR + echo "Direct" >> POSCAR + sicnt=`sed -n 6p $srcfile | awk '{ print $1 }'` + ccnt=`sed -n 6p $srcfile | awk '{ print $2 }'` + ((tot=sicnt+ccnt)) + + ((acnt=1)) + while [ $acnt -le $tot ]; do + ((lcnt=acnt+offset)) + line="`sed -n ${lcnt}p $srcfile`" + xo=`echo $line | awk '{ print $1 }'` + yo=`echo $line | awk '{ print $2 }'` + zo=`echo $line | awk '{ print $3 }'` + line="`sed -n ${lcnt}p POSCAR.final`" + xn=`echo $line | awk '{ print $1 }'` + yn=`echo $line | awk '{ print $2 }'` + zn=`echo $line | awk '{ print $3 }'` + + echo "$xo $yo $zo $xn $yn $zn $count $steps" | awk '{ + if($1<0) xo=$1+1.0 + else xo=$1 + if($2<0) yo=$2+1.0 + else yo=$2 + if($3<0) zo=$3+1.0 + else zo=$3 + if($4<0) xn=$4+1.0 + else xn=$4 + if($5<0) yn=$5+1.0 + else yn=$5 + if($6<0) zn=$6+1.0 + else zn=$6 + dx=xn-xo + if(dx>0.5) dx-=1.0; + if(dx<-0.5) dx+=1.0; + dy=yn-yo + if(dy>0.5) dy-=1.0; + if(dy<-0.5) dy+=1.0; + dz=zn-zo + if(dz>0.5) dz-=1.0; + if(dz<-0.5) dz+=1.0; + zrot=180.0*atan2(dx,dy)/3.14159265 + xrot=-180.0*atan2(dz,sqrt(dx^2+dy^2))/3.14159265 + frac=1.0/($8-$7+1) + x=xo+dx*frac + y=yo+dy*frac + z=zo+dz*frac + print " " x " " y " " z " T F T " zrot " " xrot + }' >> POSCAR + + ((acnt+=1)) + done + + echo + echo + echo "run simulation $cnt ..." + echo + echo + ../vasp.4.6-gamma-fullct/vasp + + cp -v POSCAR POSCAR.${cnt} + cp -v CONTCAR CONTCAR.${cnt} + cp -v OUTCAR OUTCAR.${cnt} + + ((count+=1)) +done +