File: /nfs/home/0/users/jenkins/mfix.git/model/set_geometry1.f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 SUBROUTINE SET_GEOMETRY1
19
20
21
22
23
24
25
26
27 USE param
28 USE param1
29 USE parallel
30 USE run
31 USE geometry
32 USE indices
33 USE compar
34 USE functions
35
36 IMPLICIT NONE
37
38
39
40
41
42
43
44
45
46
47
48 INTEGER I, J, K, IP, JP, KP, IJK
49 INTEGER i_cyl_min, i_cyl_max
50
51
52
53
54
55
56
57
58 IF(CYLINDRICAL_2D)THEN
59 if(mod(imax,2).eq.1)then
60 = (imax+1)/2 + 1 - i_cyl_num
61 i_cyl_max = (imax+1)/2 + 1 + i_cyl_num
62 else
63 i_cyl_min = (imax)/2 + 2 - i_cyl_num
64 i_cyl_max = (imax)/2 + 1 + i_cyl_num
65 endif
66 ENDIF
67
68 DO IJK = ijkstart3, ijkend3
69
70
71 = I_OF(IJK)
72 IP = IP1(I)
73 J = J_OF(IJK)
74 JP = JP1(J)
75 K = K_OF(IJK)
76 KP = KP1(K)
77
78 IF(.NOT.IS_ON_myPE_plus2layers(I,J,K)) CYCLE
79 IF (DEAD_CELL_AT(I,J,K)) CYCLE
80
81
82 (IJK) = DX(I)*DY(J)*(X(I)*DZ(K))
83 VOL_U(IJK) = HALF*(DX(I)+DX(IP))*DY(J)*(HALF*(X(I)+X(IP))*DZ(K))
84 VOL_V(IJK) = DX(I)*HALF*(DY(J)+DY(JP))*(X(I)*DZ(K))
85 VOL_W(IJK) = DX(I)*DY(J)*(X(I)*HALF*(DZ(K)+DZ(KP)))
86
87 (IJK) = DY(J)*(X_E(I)*DZ(K))
88 AYZ_U(IJK) = DY(J)*(X(IP)*DZ(K))
89 AYZ_V(IJK) = HALF*(DY(J)+DY(JP))*(X_E(I)*DZ(K))
90 AYZ_W(IJK) = DY(J)*(X_E(I)*HALF*(DZ(K)+DZ(KP)))
91
92 (IJK) = DX(I)*DY(J)
93 AXY_U(IJK) = HALF*(DX(I)+DX(IP))*DY(J)
94 AXY_V(IJK) = DX(I)*HALF*(DY(J)+DY(JP))
95 AXY_W(IJK) = AXY(IJK)
96
97 (IJK) = DX(I)*(X(I)*DZ(K))
98 AXZ_U(IJK) = HALF*(DX(I)+DX(IP))*(HALF*(X(I)+X(IP))*DZ(K))
99 AXZ_V(IJK) = AXZ(IJK)
100 AXZ_W(IJK) = DX(I)*(X(I)*HALF*(DZ(K)+DZ(KP)))
101
102
103 if(cylindrical_2d)then
104 VOL(IJK) = DX(I)*DY(J)*(cyl_X(I))
105 VOL_U(IJK) = HALF*(DX(I)+DX(IP))*DY(J)*(HALF*(cyl_X(I)+cyl_X(IP)))
106 VOL_V(IJK) = DX(I)*HALF*(DY(J)+DY(JP))*(cyl_X(I))
107 VOL_W(IJK) = DX(I)*DY(J)*(cyl_X(I))
108
109 (IJK) = DY(J)*(cyl_X_E(I))
110 AYZ_U(IJK) = DY(J)*(cyl_X(IP))
111 AYZ_V(IJK) = HALF*(DY(J)+DY(JP))*(cyl_X_E(I))
112 AYZ_W(IJK) = DY(J)*(cyl_X_E(I))
113
114 (IJK) = DX(I)*DY(J)
115 AXY_U(IJK) = HALF*(DX(I)+DX(IP))*DY(J)
116 AXY_V(IJK) = DX(I)*HALF*(DY(J)+DY(JP))
117 AXY_W(IJK) = AXY(IJK)
118
119 (IJK) = DX(I)*(cyl_X(I))
120 AXZ_U(IJK) = HALF*(DX(I)+DX(IP))*(HALF*(cyl_X(I)+cyl_X(IP)))
121 AXZ_V(IJK) = AXZ(IJK)
122 AXZ_W(IJK) = DX(I)*(cyl_X(I))
123
124 if(i.ge.i_cyl_min -i_cyl_transition .and. i.le.i_cyl_max +i_cyl_transition)then
125 vol_u(ijk) = half*dx(i)*dy(j)*half*(half*(cyl_x_e(i-1) + cyl_x_e(i))+cyl_x_e(i)) + &
126 half*dx(i+1)*dy(j)*half*(half*(cyl_x_e(i) + cyl_x_e(i+1))+cyl_x_e(i))
127 axz_u(IJK) = half*dx(i)*half*(half*(cyl_x_e(i-1) + cyl_x_e(i))+cyl_x_e(i)) + &
128 half*dx(i+1)*half*(half*(cyl_x_e(i) + cyl_x_e(i+1))+cyl_x_e(i))
129 endif
130 endif
131
132 END DO
133 RETURN
134 END SUBROUTINE SET_GEOMETRY1
135
136
137
138
139