File: N:\mfix\model\adjust_a_v_g.f
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21 SUBROUTINE ADJUST_A_V_G(A_M, B_M)
22
23
24
25
26
27
28
29
30 USE param
31 USE param1
32 USE parallel
33 USE fldvar
34 USE geometry
35 USE run
36 USE indices
37 USE compar
38 USE sendrecv
39 USE fun_avg
40 USE functions
41 IMPLICIT NONE
42
43
44
45
46
47
48
49
50 INTEGER IJK, IJKN, IJMK
51
52
53 INTEGER M
54
55
56 DOUBLE PRECISION A_m(DIMENSION_3, -3:3, 0:DIMENSION_M)
57
58
59 DOUBLE PRECISION B_m(DIMENSION_3, 0:DIMENSION_M)
60
61
62 = 0
63 IF (.NOT.MOMENTUM_Y_EQ(0)) RETURN
64
65
66 DO IJK = ijkstart3, ijkend3
67 IF (ABS(A_M(IJK,0,M)) < SMALL_NUMBER) THEN
68 A_M(IJK,east,M) = ZERO
69 A_M(IJK,west,M) = ZERO
70 A_M(IJK,north,M) = ZERO
71 A_M(IJK,south,M) = ZERO
72 A_M(IJK,top,M) = ZERO
73 A_M(IJK,bottom,M) = ZERO
74 A_M(IJK,0,M) = -ONE
75 IF (B_M(IJK,M) < ZERO) THEN
76 IJKN = NORTH_OF(IJK)
77 IF (ROP_G(IJKN)*AXZ(IJK) > SMALL_NUMBER) THEN
78 B_M(IJK,M) = SQRT((-B_M(IJK,M)/(ROP_G(IJKN)*AVG_Y_N(ONE,ZERO)&
79 *AXZ(IJK))))
80 ELSE
81 B_M(IJK,M) = ZERO
82 ENDIF
83 ELSE IF (B_M(IJK,M) > ZERO) THEN
84 IJMK = JM_OF(IJK)
85 IF (ROP_G(IJK)*AXZ(IJK) > SMALL_NUMBER) THEN
86 B_M(IJK,M) = SQRT(B_M(IJK,M)/(ROP_G(IJK)*AVG_Y_N(ZERO,ONE)*&
87 AXZ(IJK)))
88 ELSE
89 B_M(IJK,M) = ZERO
90 ENDIF
91 ENDIF
92 ENDIF
93 END DO
94 RETURN
95 END SUBROUTINE ADJUST_A_V_G
96
97
98
99
100