subroutine tensor(n,Y,U,W,U2,V2,W2,UV,UW,VW) c subroutine tensor(n,Y,U,v,W,uun,vun,wun,U2,V2,W2,UV,UW,VW c ?,squ2un,sqv2un,sqw2un,uvun,uwun,vwun) c c if used for turbulence modeling then call it with the first line c dimension U(75),V(75),W(75),U2(75),V2(75),W2(75) ?,UV(75),UW(75),VW(75),Y(75),T(3,3),A(3,3),TT(3,3,75) ?,uun(100),vun(100),wun(100),squ2un(100),sqv2un(100), ?sqw2un(100),uvun(100),uwun(100),vwun(100) ?,avdudy(10),avdvdy(100),avdwdy(100) ?,xpar(100),ypar(100),div3(100),div4(100) c c if used for turbulence modeling next two lines must be c'ed c c print *,'INPUT FREE-STREAM ANGLE (positive)' c read *,alfa do 101 k=1,n pi=3.1415926/180. c c if used for turbulence modeling then use the next line c alfa=atan(w(k)/u(k))/pi A(1,1)=COS(ALFA*pi) A(1,2)=0. A(1,3)=COS((90+ALFA)*pi) A(2,1)=0. A(2,2)=1. A(2,3)=0. A(3,1)=COS((90-ALFA)*pi) A(3,2)=0. A(3,3)=COS(ALFA*pi) T(1,1)=U2(K) T(1,2)=UV(K) T(1,3)=UW(K) T(2,1)=UV(K) T(2,2)=V2(K) T(2,3)=VW(K) T(3,1)=UW(K) T(3,2)=VW(K) T(3,3)=W2(K) do 201 I=1,3 do 202 J=1,3 SUM=0. do 203 L=1,3 do 204 M=1,3 SUM=SUM+A(I,L)*A(J,M)*T(L,M) 204 continue 203 continue TT(I,J,K)=SUM 202 continue 201 continue u2(k)=tt(1,1,k) v2(k)=tt(2,2,k) w2(k)=tt(3,3,k) uv(k)=tt(1,2,k) uw(k)=tt(1,3,k) vw(k)=tt(2,3,k) c c if used for turbulence modeling use the next line c go to 101 uu=u(k)*cos(alfa*pi)-w(k)*sin(alfa*pi) ww=u(k)*sin(alfa*pi)+w(k)*cos(alfa*pi) vv=v(k) u(k)=uu v(k)=vv w(k)=ww 101 continue return END