;$Id: pvar2.pro,v 1.2 2014/11/27 11:23:58 brandenb Exp $
;
;  Procedure to compute rate of strain tensor,
;  as well as its eigenvalues and eigenvectors.
;
;  dimensions
;
s=size(var.uij)
nx=s[1]
ny=s[2]
nz=s[3]
;
;aa=reform(var.aa,1L*nx*ny*nz,3)
bb=reform(var.bb,1L*nx*ny*nz,3)
uij=reform(var.uij,1L*nx*ny*nz,3,3)
sij=uij
;
;  compute sij
;
for i=0,2 do begin
for j=0,2 do begin
  sij(*,i,j)=.5*(uij(*,i,j)+uij(*,j,i))
end
end
;
;  the last row, vecs(*,*,3), contains the eigenvalues
;
;stop
b=1./sqrt(dot2(var.bb))
vecs=eigvec3_arr(sij)
cosb1=b*dot(bb,vecs(*,*,0)) & pdf,fmin=0,fmax=1,n=500,abs(cosb1),xb1,yb1
cosb2=b*dot(bb,vecs(*,*,1)) & pdf,fmin=0,fmax=1,n=500,abs(cosb2),xb2,yb2
cosb3=b*dot(bb,vecs(*,*,2)) & pdf,fmin=0,fmax=1,n=500,abs(cosb3),xb3,yb3
save,file='align.sav',xb1,yb1,xb2,yb2,xb3,yb3
;
plot,xb3,yb3,xr=[0,1],yr=[0,1.6]
oplot,xb2,yb2,col=122
oplot,xb1,yb1,col=55

;  pdfs of eigenvalues
;
pdf,n=500,reform(vecs(*,0,3)),xe1,ye1
pdf,n=500,reform(vecs(*,1,3)),xe2,ye2
pdf,n=500,reform(vecs(*,2,3)),xe3,ye3
save,file='eigenvals.sav',xe1,ye1,xe2,ye2,xe3,ye3
;
bb=reform(bb,nx,ny,nz,3)
sij=reform(sij,nx,ny,nz,3,3)
vecs=reform(vecs,nx,ny,nz,3,4)
nn=float(reform(vecs(*,*,*,*,1)))
END
