00001 module postProcessor
00002 use localParameters
00003 implicit none
00004
00005
00006 contains
00007
00008
00009
00010
00011
00012
00013
00014 subroutine visualizer(X,n)
00015
00016 implicit none
00017
00018 integer n
00019
00020 real(8) X(n)
00021
00022 real(8) dx,dy
00023
00024
00025 integer i,j,k
00026 integer index
00027 real(8) CoorX(nx,ny),CoorY(nx,ny),ResultVectors(nx*ny,unk)
00028 real(8) ResultMatrices(nx,ny,unk)
00029
00030
00031
00032
00033
00034
00035 dx=Lx/(nx-1.d0)
00036 dy=Ly/(ny-1.d0)
00037
00038
00039
00040 do i=1,nx*ny
00041 index=(i-1)*(unk-1)+i
00042 do k=1,unk
00043 ResultVectors(i,k)=x(index+k-1)
00044 end do
00045 end do
00046
00047
00048 dx=Lx/(nx-1.d0)
00049 dy=Ly/(ny-1.d0)
00050
00051
00052
00053
00054 do i=1,nx
00055 CoorX(i,:)=(i-1)*dx
00056 end do
00057
00058
00059
00060
00061 do j=1,ny
00062 CoorY(:,j)=(j-1)*dy
00063 end do
00064
00065
00066
00067 do j=1,ny
00068 do i=1,nx
00069 index=(j-1)*nx+i
00070 do k=1,unk
00071 ResultMatrices(i,j,k)=ResultVectors(index,k)
00072 end do
00073
00074
00075 end do
00076 end do
00077
00078 Open (4400,File='results.dat',Status='unknown')
00079 910 FORMAT(5(E18.10,1X))
00080
00081 WRITE(4400,*) 'TITLE="results"'
00082
00083 if (unk.eq.1) WRITE(4400,*) 'VARIABLES="x","y","T"'
00084 if (unk.eq.2) WRITE(4400,*) 'VARIABLES="x","y","str","vor"'
00085 if (unk.eq.3) WRITE(4400,*) 'VARIABLES="x","y","u","v","p"'
00086 if (unk.eq.4) WRITE(4400,*) 'VARIABLES="x","y","u","v","p","f"'
00087 WRITE(4400,*) 'ZONE I=', nx, ',J=', ny,', ZONETYPE = Ordered, DATAPACKING = BLOCK'
00088
00089
00090 DO j= 1, ny
00091 DO i= 1, nx
00092 WRITE(4400,910) CoorX(i,j)
00093 END DO
00094 END DO
00095
00096
00097 DO j= 1, ny
00098 DO i= 1, nx
00099 WRITE(4400,910) CoorY(i,j)
00100 END DO
00101 END DO
00102
00103
00104 do k=1,unk
00105
00106 DO j= 1, ny
00107 DO i= 1, nx
00108 WRITE(4400,910) ResultMatrices(i,j,k)
00109 END DO
00110 END DO
00111
00112 end do
00113
00114
00115
00116
00117
00118 close(4400)
00119
00120
00121 end subroutine visualizer
00122
00123
00124
00125 end module postProcessor