-
Notifications
You must be signed in to change notification settings - Fork 8
/
reading_data.f90
85 lines (47 loc) · 1.45 KB
/
reading_data.f90
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
subroutine reading_data()
use variables
implicit none
if(Gridder=='non-uniform')then
!Small interval
dxSml = lxSml/nxSml
dySml = lySml/nySml
dzSml = lzSml/nzSml
!Middle intervel
dyMid = (lyMid-lySml)/(nyMid-nySml)
dzMid = (lzMid-lzSml)/(nzMid-nzSml)
!Large interval
dx = ( lx-lxSml ) / ( nx - nxSml )
dy = ( ly-lyMid ) / ( ny - nyMid )
dz = ( lz-lzMid ) / ( nz - nzMid )
dx = lx / nx
else if(Gridder=='uniform')then
dx = lx / nx
dy = ly / ny
dz = lz / nz
end if
nu = 1./Re
end subroutine reading_data
subroutine reading_variables()
use variables
implicit none
open (18,file=inputfile,form='unformatted')
read(18) inblocks
read(18) inx, iny, inz
read(18) temp, temp, temp, temp
read(18) ( ( ( ( Qout(i,j,k,h), i = 1, nx), j = 1, ny), k = 1, nz), h = 1, 5 )
close(18)
do k=1,nz-1; do j=1,ny-1; do i=1,nx-1
u(i,j,k) = 0.5*( Qout(i,j,k,2)+Qout(i+1,j,k,2) )
v(i,j,k) = 0.5*( Qout(i,j,k,3)+Qout(i,j+1,k,3) )
w(i,j,k) = 0.5*( Qout(i,j,k,4)+Qout(i,j,k+1,4) )
enddo; enddo; enddo
do k=1,nz; do j=1,ny; do i=1,nx
p(i,j,k) = Qout(i,j,k,1)
pre(i,j,k) = p(i,j,k)
end do; end do; end do
do k=1,nz; do j=1,ny; do i=1,nx
uc(i,j,k) = 0.5*(u(i,j,k)+u(i-1,j,k))
vc(i,j,k) = 0.5*(v(i,j,k)+v(i,j-1,k))
wc(i,j,k) = 0.5*(w(i,j,k)+w(i,j,k-1))
end do; end do; end do
end subroutine reading_variables