File: /nfs/home/0/users/jenkins/mfix.git/model/fun_avg_mod.f
1 MODULE fun_avg
2
3 CONTAINS
4
5
6
7
8
9 DOUBLE PRECISION FUNCTION AVG_X(XXXm, XXXp, xL)
10 USE geometry
11 IMPLICIT NONE
12 DOUBLE PRECISION XXXp, XXXm
13 INTEGER xL
14
15 AVG_X = FX_E(xL) * XXXm + FX_E_bar(xL) * XXXp
16 END FUNCTION AVG_X
17
18
19
20
21
22 DOUBLE PRECISION FUNCTION AVG_X_E(XXXm, XXXp, xL)
23 USE geometry
24 IMPLICIT NONE
25 DOUBLE PRECISION XXXp, XXXm
26 INTEGER xL
27
28 AVG_X_E = FX(xL) * XXXm + FX_bar(xL) * XXXp
29 END FUNCTION AVG_X_E
30
31
32
33
34
35 DOUBLE PRECISION FUNCTION AVG_Y(XXXm, XXXp, xL)
36 USE geometry
37 IMPLICIT NONE
38 DOUBLE PRECISION XXXp, XXXm
39 INTEGER xL
40
41 AVG_Y = FY_N(xL) * XXXm + FY_N_bar(xL) * XXXp
42 END FUNCTION AVG_Y
43
44
45
46
47
48 DOUBLE PRECISION FUNCTION AVG_Y_N(XXXm, XXXp)
49 USE param1
50 IMPLICIT NONE
51 DOUBLE PRECISION XXXp, XXXm
52
53 AVG_Y_N = HALF *( XXXm + XXXp )
54 END FUNCTION AVG_Y_N
55
56
57
58
59
60 DOUBLE PRECISION FUNCTION AVG_Z(XXXm, XXXp, xL)
61 USE geometry
62 IMPLICIT NONE
63 DOUBLE PRECISION XXXp, XXXm
64 INTEGER xL
65
66 AVG_Z = FZ_T(xL) * XXXm + FZ_T_bar(xL) * XXXp
67 END FUNCTION AVG_Z
68
69
70
71
72
73 DOUBLE PRECISION FUNCTION AVG_Z_T(XXXm, XXXp)
74 USE param1
75 IMPLICIT NONE
76 DOUBLE PRECISION XXXp, XXXm
77
78 AVG_Z_T = HALF *( XXXm + XXXp )
79 END FUNCTION AVG_Z_T
80
81
82
83
84
85 DOUBLE PRECISION FUNCTION AVG_X_h(XXXm, XXXp, xL)
86 USE geometry
87 USE param1
88 IMPLICIT NONE
89 DOUBLE PRECISION XXXp, XXXm
90 INTEGER xL
91
92 AVG_X_h = XXXm * XXXp / &
93 MAX(SMALL_NUMBER, ( FX_E(xL) * XXXm + FX_E_bar(xL) * XXXp) )
94 END FUNCTION AVG_X_h
95
96
97
98
99
100 DOUBLE PRECISION FUNCTION AVG_Y_h(XXXm, XXXp, xL)
101 USE geometry
102 USE param1
103 IMPLICIT NONE
104 DOUBLE PRECISION XXXp, XXXm
105 INTEGER xL
106
107 AVG_Y_h = XXXm * XXXp / &
108 MAX(SMALL_NUMBER, ( FY_N(xL) * XXXm + FY_N_bar(xL) * XXXp) )
109 END FUNCTION AVG_Y_h
110
111
112
113
114
115 DOUBLE PRECISION FUNCTION AVG_Z_h(XXXm, XXXp, xL)
116 USE geometry
117 USE param1
118 IMPLICIT NONE
119 DOUBLE PRECISION XXXp, XXXm
120 INTEGER xL
121
122 AVG_Z_h = XXXm * XXXp / &
123 MAX(SMALL_NUMBER, ( FZ_T(xL) * XXXm + FZ_T_bar(xL) * XXXp) )
124 END FUNCTION AVG_Z_h
125
126
127
128
129
130
131 DOUBLE PRECISION FUNCTION AVG_X_S(XXXm, XXXp, xL)
132 USE geometry
133 IMPLICIT NONE
134 DOUBLE PRECISION XXXp, XXXm
135 INTEGER xL
136
137 AVG_X_S = XXXm * XXXp / &
138 (1D-30 + ( FX_E(xL) * XXXm + FX_E_bar(xL) * XXXp) )
139 END FUNCTION AVG_X_S
140
141
142
143
144
145 DOUBLE PRECISION FUNCTION AVG_Y_S(XXXm, XXXp, xL)
146 USE geometry
147 IMPLICIT NONE
148 DOUBLE PRECISION XXXp, XXXm
149 INTEGER xL
150
151 AVG_Y_S = XXXm * XXXp / &
152 (1D-30 + ( FY_N(xL) * XXXm + FY_N_bar(xL) * XXXp) )
153 END FUNCTION AVG_Y_S
154
155
156
157
158
159 DOUBLE PRECISION FUNCTION AVG_Z_S(XXXm, XXXp, xL)
160 USE geometry
161 IMPLICIT NONE
162 DOUBLE PRECISION XXXp, XXXm
163 INTEGER xL
164
165 AVG_Z_S = XXXm * XXXp / &
166 (1D-30 + ( FZ_T(xL) * XXXm + FZ_T_bar(xL) * XXXp) )
167 END FUNCTION AVG_Z_S
168
169 END MODULE fun_avg
170