File: /nfs/home/0/users/jenkins/mfix.git/model/function3_mod.f
1 MODULE function3
2
3 USE functions
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 contains
47
48 INTEGER FUNCTION FUNIJK3(LI3,LJ3,LK3)
49 USE compar
50 IMPLICIT NONE
51 INTEGER, INTENT(IN) :: LI3,LJ3,LK3
52 FUNIJK3 = LJ3 + c0_3 + LI3*c1_3 + LK3*c2_3
53 END FUNCTION FUNIJK3
54
55 INTEGER FUNCTION FUNIJK3_PROC(LI3, LJ3, LK3, LIPROC3)
56 USE compar
57 IMPLICIT NONE
58 INTEGER, INTENT(IN) :: LI3,LJ3,LK3,LIPROC3
59 FUNIJK3_PROC = 1 + (LJ3 - jstart4_all(LIPROC3))+ &
60 (LI3-Istart4_all(LIPROC3))*(jend4_all(LIPROC3)-jstart4_all(LIPROC3)+1) &
61 + (LK3-kstart4_all(LIPROC3))*(jend4_all(LIPROC3)-jstart4_all(LIPROC3)+1)* &
62 (iend4_all(LIPROC3)-istart4_all(LIPROC3)+1)
63 END FUNCTION FUNIJK3_PROC
64
65 INTEGER FUNCTION FUNIJK3_GL (LI3, LJ3, LK3)
66 USE geometry
67 IMPLICIT NONE
68 INTEGER, INTENT(IN) :: LI3,LJ3,LK3
69 FUNIJK3_GL = 1 + (LJ3 - jmin4) + (LI3-imin4)*(jmax4-jmin4+1) &
70 + (LK3-kmin4)*(jmax4-jmin4+1)*(imax4-imin4+1)
71 END FUNCTION FUNIJK3_GL
72
73 INTEGER FUNCTION IM3_OF (IJK3)
74 USE indices
75 IMPLICIT NONE
76 INTEGER IJK3
77 IM3_OF = IJK3 + INCREMENT3_FOR_im(CELL_CLASS3(IJK3))
78 END FUNCTION IM3_OF
79
80 INTEGER FUNCTION IP3_OF (IJK3)
81 USE indices
82 IMPLICIT NONE
83 INTEGER IJK3
84 IP3_OF = IJK3 + INCREMENT3_FOR_ip(CELL_CLASS3(IJK3))
85 END FUNCTION IP3_OF
86
87 INTEGER FUNCTION JM3_OF (IJK3)
88 USE indices
89 IMPLICIT NONE
90 INTEGER IJK3
91 JM3_OF = IJK3 + INCREMENT3_FOR_jm(CELL_CLASS3(IJK3))
92 END FUNCTION JM3_OF
93
94 INTEGER FUNCTION JP3_OF (IJK3)
95 USE indices
96 IMPLICIT NONE
97 INTEGER IJK3
98 JP3_OF = IJK3 + INCREMENT3_FOR_jp(CELL_CLASS3(IJK3))
99 END FUNCTION JP3_OF
100
101 INTEGER FUNCTION KM3_OF(IJK3)
102 USE indices
103 IMPLICIT NONE
104 INTEGER IJK3
105 KM3_OF = IJK3 + INCREMENT3_FOR_km(CELL_CLASS3(IJK3))
106 END FUNCTION KM3_OF
107
108 INTEGER FUNCTION KP3_OF (IJK3)
109 USE indices
110 IMPLICIT NONE
111 INTEGER IJK3
112 KP3_OF = IJK3 + INCREMENT3_FOR_kp(CELL_CLASS3(IJK3))
113 END FUNCTION KP3_OF
114
115 LOGICAL FUNCTION FLUID3_AT(IJK3)
116 USE geometry
117 IMPLICIT NONE
118 INTEGER IJK3
119 FLUID3_AT = FLAG3(IJK3) .EQ. 1
120 END FUNCTION FLUID3_AT
121
122 LOGICAL FUNCTION CYCLIC3_AT(IJK3)
123 USE geometry
124 IMPLICIT NONE
125 INTEGER IJK3
126 CYCLIC3_AT = FLAG3(IJK3) .EQ. 106 .OR. &
127 FLAG3(IJK3) .EQ. 107
128 END FUNCTION CYCLIC3_AT
129
130 END MODULE function3
131