((count=1))
echo "found $nt atoms: Si = $nsi / C = $nc"
+echo "scale: $scale"
+echo "X: $X1 $X2 $X3"
+echo "Y: $Y1 $Y2 $Y3"
+echo "Z: $Z1 $Z2 $Z3"
+echo
while [ "1" ]; do
yb=`echo $tmpb | awk '{ print $2 }'`
zb=`echo $tmpb | awk '{ print $3 }'`
- echo "$xa $ya $za $xa $yb $zb $scale $len $delta" | \
+ echo "$xa $ya $za $xb $yb $zb $scale $len $delta" | \
awk ' \
BEGIN {
- xa=0; xb=0;
+ dxt=0; dyt=0; dzt=0
dx=0; dy=0; dz=0; dist=0
X1=ENVIRON["X1"]; X2=ENVIRON["X2"]; X3=ENVIRON["X3"]
Y1=ENVIRON["Y1"]; Y2=ENVIRON["Y2"]; Y3=ENVIRON["Y3"]
Z1=ENVIRON["Z1"]; Z2=ENVIRON["Z2"]; Z3=ENVIRON["Z3"]
}
{
- xa=$1*X1+$2*Y1+$3*Z1
- ya=$1*X2+$2*Y2+$3*Z2
- za=$1*X3+$2*Y3+$3*Z3
- xb=$4*X1+$5*Y1+$6*Z1
- yb=$4*X2+$5*Y2+$6*Z2
- zb=$4*X3+$5*Y3+$6*Z3
- dx=xa-xb
- dy=ya-yb
- dz=za-zb
- dist=sqrt(dx^2+dy^2+dz^2)
+ dx=$1-$4
+ dy=$2-$5
+ dz=$3-$6
+ if(dx>1/2)
+ dx-=1
+ if(dx<-1/2)
+ dx+=1
+ if(dy>1/2)
+ dy-=1
+ if(dy<-1/2)
+ dy+=1
+ if(dz>1/2)
+ dz-=1
+ if(dz<-1/2)
+ dz+=1
+ dxt=dx*X1+dy*Y1+dz*Z1
+ dyt=dx*X2+dy*Y2+dz*Z2
+ dzt=dx*X3+dy*Y3+dz*Z3
+ dist=sqrt(dxt^2+dyt^2+dzt^2)
dist*=$7
if((dist>=($8-$9))&&(dist<=($8+$9))) {
+ print "\n"
print $1 " " $2 " " $3
- print $4 " " $5 " " $6 " (" dist ")"
+ print $4 " " $5 " " $6 " (" dist " - " $8 ")"
+ print dx " " dy " " dz " " dxt " " dyt " " dzt
}
}'
fi