33 . X5 ,X6 ,X7 ,X8 ,Y1 ,Y2 ,Y3 ,
34 . Y4 ,Y5 ,Y6 ,Y7 ,Y8 ,Z1 ,Z2 ,
35 . Z3 ,Z4 ,Z5 ,Z6 ,Z7 ,Z8 ,
36 . VDX1,VDX2,VDX3,VDX4,VDX5,VDX6,VDX7,VDX8,
37 . VDY1,VDY2,VDY3,VDY4,VDY5,VDY6,VDY7,VDY8,
38 . VDZ1,VDZ2,VDZ3,VDZ4,VDZ5,VDZ6,VDZ7,VDZ8,
39 . FLUX,FLU1,ALE_CONNECT,ALPHA )
52#include "implicit_f.inc"
59#include "vect01_c.inc"
64 INTEGER IXS(NIXS,NUMELS)
65 my_real PM(NPROPM,NUMMAT),FLUX(MVSIZ,6), FLU1(*),
66 . X1(*), X2(*), X3(*), X4(*), X5(*), X6(*), X7(*), X8(*),
77 INTEGER MAT(MVSIZ), I,II,ICLOS,IAD2
78 my_real N1X(MVSIZ), N2X(MVSIZ), N3X(MVSIZ), N4X(MVSIZ), N5X(MVSIZ),
79 . (MVSIZ), N1Y(MVSIZ), N2Y(MVSIZ), N3Y(MVSIZ), N4Y(MVSIZ),
80 . N5Y(MVSIZ), N6Y(MVSIZ), (MVSIZ), N2Z(MVSIZ), N3Z(MVSIZ),
81 . n4z(mvsiz), n5z(mvsiz), n6z(mvsiz),
82 . flux1(mvsiz),flux2(mvsiz), flux3(mvsiz), flux4(mvsiz),
83 . flux5(mvsiz),flux6(mvsiz), vx1(mvsiz),
84 . vx2(mvsiz), vx3(mvsiz), vx4(mvsiz), vx5(mvsiz), vx6(mvsiz),
85 . vy1(mvsiz), vy2(mvsiz), vy3(mvsiz), vy4(mvsiz), vy5(mvsiz),
86 . vy6(mvsiz), vz1(mvsiz), vz2(mvsiz), vz3(mvsiz), vz4(mvsiz),
87 . vz5(mvsiz), vz6(mvsiz),
88 . upwl(mvsiz,6),xc(mvsiz),yc(mvsiz),
89 . zc(mvsiz) ,xf1(mvsiz),yf1(mvsiz),zf1(mvsiz),xf2(mvsiz),
90 . yf2(mvsiz),zf2(mvsiz), xf3(mvsiz),yf3(mvsiz),zf3(mvsiz),
91 . xf4(mvsiz),yf4(mvsiz),zf4(mvsiz),xf5(mvsiz),yf5(mvsiz),
92 . zf5(mvsiz), xf6(mvsiz),yf6(mvsiz),zf6(mvsiz),test
105 vx1(i)=one_over_8*(vdx1(i)+vdx2(i)+vdx3(i)+vdx4(i))
106 vx2(i)=one_over_8*(vdx3(i)+vdx4(i)+vdx8(i
107 vx3(i)=one_over_8*(vdx5(i)+vdx6(i)+vdx7(i)+vdx8(i))
108 vx4(i)=one_over_8*(vdx1(i)+vdx2(i)+vdx6(i)+vdx5(i))
109 vx5(i)=one_over_8*(vdx2(i)+vdx3(i)+vdx7(i)+vdx6(i))
110 vx6(i)=one_over_8*(vdx1(i)+vdx4(i)+vdx8(i)+vdx5(i))
112 vy1(i)=one_over_8*(vdy1(i)+vdy2(i)+vdy3(i)+vdy4(i))
113 vy2(i)=one_over_8*(vdy3(i)+vdy4(i)+vdy8(i)+vdy7(i))
114 vy3(i)=one_over_8*(vdy5(i)+vdy6(i)+vdy7(i)+vdy8(i))
115 vy4(i)=one_over_8*(vdy1(i)+vdy2(i)+vdy6(i)+vdy5(i))
116 vy5(i)=one_over_8*(vdy2(i)+vdy3(i)+vdy7(i)+vdy6(i))
117 vy6(i)=one_over_8*(vdy1(i)+vdy4(i)+vdy8(i)+vdy5(i))
119 vz1(i)=one_over_8*(vdz1(i)+vdz2(i)+vdz3(i)+vdz4(i))
120 vz2(i)=one_over_8*(vdz3(i)+vdz4(i)+vdz8(i)+vdz7(i))
121 vz3(i)=one_over_8*(vdz5(i)+vdz6(i)+vdz7(i)+vdz8(i))
122 vz4(i)=one_over_8*(vdz1(i)+vdz2(i)+vdz6(i)+vdz5(i))
123 vz5(i)=one_over_8*(vdz2(i)+vdz3(i)+vdz7(i)+vdz6(i))
124 vz6(i)=one_over_8*(vdz1(i)+vdz4(i)+vdz8(i)+vdz5(i))
130 n1x(i)=(y3(i)-y1(i))*(z2(i)-z4(i)) - (z3(i)-z1(i))*(y2(i)-y4(i))
131 n1y(i)=(z3(i)-z1(i))*(x2(i)-x4(i)) - (x3(i)-x1(i))*(z2(i)-z4(i))
132 n1z(i)=(x3(i)-x1(i))*(y2(i)-y4(i)) - (y3(i)-y1(i))*(x2(i)-x4(i))
134 n2x(i)=(y7(i)-y4(i))*(z3(i)-z8(i)) - (z7(i)-z4(i))*(y3(i)-y8(i))
135 n2y(i)=(z7(i)-z4(i))*(x3(i)-x8(i)) - (x7(i)-x4(i))*(z3(i)-z8(i))
136 n2z(i)=(x7(i)-x4(i))*(y3(i)-y8(i)) - (y7(i)-y4(i))*(x3(i)-x8(i))
138 n3x(i)=(y6(i)-y8(i))*(z7(i)-z5(i)) - (z6(i)-z8(i))*(y7(i)-y5(i))
139 n3y(i)=(z6(i)-z8(i))*(x7(i)-x5(i)) - (x6(i)-x8(i))*(z7(i)-z5(i))
140 n3z(i)=(x6(i)-x8(i))*(y7(i)-y5(i)) - (y6(i)-y8(i))*(x7(i)-x5(i))
142 n4x(i)=(y2(i)-y5(i))*(z6(i)-z1(i)) - (z2(i)-z5(i))*(y6(i)-y1(i))
143 n4y(i)=(z2(i)-z5(i))*(x6(i)-x1(i)) - (x2(i)-x5(i))*(z6(i)-z1(i))
144 n4z(i)=(x2(i)-x5(i))*(y6(i)-y1(i)) - (y2(i)-y5(i))*(x6(i)-x1(i))
146 n5x(i)=(y7(i)-y2(i))*(z6(i)-z3(i)) - (z7(i)-z2(i))*(y6(i)-y3(i))
147 n5y(i)=(z7(i)-z2(i))*(x6(i)-x3(i)) - (x7(i)-x2(i))*(z6(i)-z3(i))
148 n5z(i)=(x7(i)-x2(i))*(y6(i)-y3(i)) - (y7(i)-y2(i))*(x6(i)-x3(i))
150 n6x(i)=(y8(i)-y1(i))*(z4(i)-z5(i)) - (z8(i)-z1(i))*(y4(i)-y5(i))
151 n6y(i)=(z8(i)-z1(i))*(x4(i)-x5(i)) - (x8(i)-x1(i))*(z4(i)-z5(i))
152 n6z(i)=(x8(i)-x1(i))*(y4(i)-y5(i)) - (y8(i)-y1(i))*(x4(i)-x5(i))
160 xc(i)=one_over_8*(x1(i)+x2(i)+x3(i)+x4(i)+x5(i)+x6(i)+x7(i)+x8(i))
161 yc(i)=one_over_8*(y1(i)+y2(i)+y3(i)+y4(i)+y5(i)+y6(i)+y7(i)+y8(i))
162 zc(i)=one_over_8*(z1(i)+z2(i)+z3(i)+z4(i)+z5(i)+z6(i)+z7(i)+z8(i))
163 xf1(i)=fourth*(x1(i)+x2(i)+x3(i)+x4(i))
164 xf2(i)=fourth*(x3(i)+x4(i)+x8(i)+x7(i))
165 xf3(i)=fourth*(x5(i)+x6(i)+x7(i)+x8(i))
166 xf4(i)=fourth*(x1(i)+x2(i)+x6(i)+x5(i))
168 xf6(i)=fourth*(x1(i)+x4(i)+x8(i)+x5(i))
170 yf1(i)=fourth*(y1(i)+y2(i)+y3(i)+y4(i))
171 yf2(i)=fourth*(y3(i)+y4(i)+y8(i)+y7(i))
172 yf3(i)=fourth*(y5(i)+y6(i)+y7(i)+y8(i))
173 yf4(i)=fourth*(y1(i)+y2(i)+y6(i)+y5(i))
174 yf5(i)=fourth*(y2(i)+y3(i)+y7(i)+y6(i))
175 yf6(i)=fourth*(y1(i)+y4(i)+y8(i)+y5(i))
177 zf1(i)=fourth*(z1(i)+z2(i)+z3(i)+z4(i))
178 zf2(i)=fourth*(z3(i)+z4(i)+z8(i)+z7(i))
179 zf3(i)=fourth*(z5(i)+z6(i)+z7(i)+z8(i))
180 zf4(i)=fourth*(z1(i)+z2(i)+z6(i)+z5(i))
181 zf5(i)=fourth*(z2(i)+z3(i)+z7(i)+z6(i))
182 zf6(i)=fourth*(z1(i)+z4(i)+z8(i)+z5(i))
185 test=(xf1(i)-xc(i))*n1x(i)+
186 . (yf1(i)-yc(i))*n1y(i)+
187 . (zf1(i)-zc(i))*n1z(i)
195 test=(xf2(i)-xc(i))*n2x(i)+
196 . (yf2(i)-yc(i))*n2y(i)+
197 . (zf2(i)-zc(i))*n2z(i)
205 test=(xf3(i)-xc(i))*n3x(i)+
206 . (yf3(i)-yc(i))*n3y(i)+
207 . (zf3(i)-zc(i))*n3z(i)
215 test=(xf4(i)-xc(i))*n4x(i)+
216 . (yf4(i)-yc(i))*n4y(i)+
217 . (zf4(i)-zc(i))*n4z(i)
225 test=(xf5(i)-xc(i))*n5x(i)+
226 . (yf5(i)-yc(i))*n5y(i)+
227 . (zf5(i)-zc(i))*n5z(i)
235 test=(xf6(i)-xc(i))*n6x(i)+
236 . (yf6(i)-yc(i))*n6y(i)+
237 . (zf6(i)-zc(i))*n6z(i)
249 flux1(i)=(vx1(i)*n1x(i)+vy1(i)*n1y(i)+vz1(i)*n1z(i))
250 flux2(i)=(vx2(i)*n2x(i)+vy2(i)*n2y(i)+vz2(i)*n2z(i))
251 flux3(i)=(vx3(i)*n3x(i)+vy3(i)*n3y(i)+vz3(i)*n3z(i))
252 flux4(i)=(vx4(i)*n4x(i)+vy4(i)*n4y(i)+vz4(i)*n4z(i))
253 flux5(i)=(vx5(i)*n5x(i)+vy5(i)*n5y(i)+vz5(i)*n5z(i))
254 flux6(i)=(vx6(i)*n6x(i)+vy6(i)*n6y(i)+vz6(i)*n6z(i))
256 flux1(i)=alpha(i,1)*flux1(i)
257 flux2(i)=alpha(i,2)*flux2(i)
258 flux3(i)=alpha(i,3)*flux3(i)
259 flux4(i)=alpha(i,4)*flux4(i)
260 flux5(i)=alpha(i,5)*flux5(i)
261 flux6(i)=alpha(i,6)*flux6(i)
276 iclos = nint(pm(198, mat(1)))
279 iad2 = ale_connect%ee_connect%iad_connect(i + nft)
280 ii=ale_connect%ee_connect%connected(iad2 + 1 - 1)
281 IF(ii == 0) flux1(i)= zero
283 ii=ale_connect%ee_connect%connected(iad2 + 2 - 1)
284 IF(ii == 0) flux2(i)= zero
286 ii=ale_connect%ee_connect%connected(iad2 + 3 - 1)
287 IF(ii == 0)flux3(i)= zero
289 ii=ale_connect%ee_connect%connected(iad2 + 4 - 1)
290 IF(ii == 0)flux4(i)= zero
292 ii=ale_connect%ee_connect%connected(iad2 + 5 - 1)
293 IF(ii == 0) flux5(i)=zero
295 ii=ale_connect%ee_connect%connected(iad2 + 6 - 1)
296 IF(ii == 0) flux6(i)= zero
303 flux(i,1)=flux1(i)-upwl(i,1)*abs(flux1(i))
304 flux(i,2)=flux2(i)-upwl(i,2)*abs(flux2(i))
305 flux(i,3)=flux3(i)-upwl(i,3)*abs(flux3(i))
306 flux(i,4)=flux4(i)-upwl(i,4)*abs(flux4(i))
307 flux(i,5)=flux5(i)-upwl(i,5)*abs(flux5(i))
308 flux(i,6)=flux6(i)-upwl(i,6)*abs(flux6(i))
310 flu1(i) =flux1(i)+upwl(i,1)*abs(flux1(i))
311 . +flux2(i)+upwl(i,2)*abs(flux2(i))
312 . +flux3(i)+upwl(i,3)*abs(flux3(i))
313 . +flux4(i)+upwl(i,4)*abs(flux4(i))
314 . +flux5(i)+upwl(i,5)*abs(flux5(i))
315 . +flux6(i)+upwl(i,6)*abs(flux6(i))
subroutine aleflux(pm, ixs, x1, x2, x3, x4, x5, x6, x7, x8, y1, y2, y3, y4, y5, y6, y7, y8, z1, z2, z3, z4, z5, z6, z7, z8, vdx1, vdx2, vdx3, vdx4, vdx5, vdx6, vdx7, vdx8, vdy1, vdy2, vdy3, vdy4, vdy5, vdy6, vdy7, vdy8, vdz1, vdz2, vdz3, vdz4, vdz5, vdz6, vdz7, vdz8, flux, flu1, ale_connect, alpha)