31 SUBROUTINE a4flux3(PM,IXS,V,W,X,FLUX,FLU1,ALE_CONNECT)
36 use element_mod ,
only : nixs
40#include "implicit_f.inc"
48#include "vect01_c.inc"
55 my_real pm(npropm,nummat), v(3,numnod), w(3,numnod), x(3,numnod), flux(6,*), flu1(*)
61 . NC1(), NC2(MVSIZ), NC3(MVSIZ), NC4(MVSIZ), I,J,II,IAD2
63 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
64 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
65 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
66 . n1x(mvsiz),n1y(mvsiz),n1z(mvsiz),
67 . n2x(mvsiz),n2y(mvsiz),n2z(mvsiz),
68 . n3x(mvsiz),n3y(mvsiz),n3z(mvsiz),
69 . n4x(mvsiz),n4y(mvsiz),n4z(mvsiz),
70 . flux2(mvsiz), flux4(mvsiz), flux5(mvsiz), flux6(mvsiz),
71 . vx1(mvsiz), vx2(mvsiz), vx3(mvsiz),
73 . vy1(mvsiz), vy2(mvsiz), vy3(mvsiz),
75 . vz1(mvsiz), vz2(mvsiz), vz3(mvsiz),
77 . vdx1(mvsiz),vdx2(mvsiz),vdx3(mvsiz),vdx4(mvsiz),
78 . vdy1(mvsiz),vdy2(mvsiz),vdy3(mvsiz),vdy4(mvsiz),
79 . vdz1(mvsiz),vdz2(mvsiz),vdz3(mvsiz),vdz4(mvsiz),
80 . reduc, upwl(6,mvsiz)
119 vdx1(i)=v(1,nc1(i)) - w(1,nc1(i))
120 vdy1(i)=v(2,nc1(i)) - w(2,nc1(i))
121 vdz1(i)=v(3,nc1(i)) - w(3,nc1(i))
123 vdx2(i)=v(1,nc2(i)) - w(1,nc2(i))
124 vdy2(i)=v(2,nc2(i)) - w(2,nc2(i))
125 vdz2(i)=v(3,nc2(i)) - w(3,nc2(i))
127 vdx3(i)=v(1,nc3(i)) - w(1,nc3(i))
128 vdy3(i)=v(2,nc3(i)) - w(2,nc3(i))
129 vdz3(i)=v(3,nc3(i)) - w(3,nc3(i))
131 vdx4(i)=v(1,nc4(i)) - w(1,nc4(i))
132 vdy4(i)=v(2,nc4(i)) - w(2,nc4(i))
133 vdz4(i)=v(3,nc4(i)) - w(3,nc4(i))
144 vx1(i)=(vdx1(i)+vdx2(i)+vdx3(i))
145 vx2(i)=(vdx4(i)+vdx2(i)+vdx1(i))
146 vx3(i)=(vdx4(i)+vdx3(i)+vdx2(i))
147 vx4(i)=(vdx4(i)+vdx1(i)+vdx3(i))
149 vy1(i)=(vdy1(i)+vdy2(i)+vdy3(i))
150 vy2(i)=(vdy4(i)+vdy2(i)+vdy1(i))
151 vy3(i)=(vdy4(i)+vdy3(i)+vdy2(i))
152 vy4(i)=(vdy4(i)+vdy1(i)+vdy3(i))
154 vz1(i)=(vdz1(i)+vdz2(i)+vdz3(i))
155 vz2(i)=(vdz4(i)+vdz2(i)+vdz1(i))
156 vz3(i)=(vdz4(i)+vdz3(i)+vdz2(i))
157 vz4(i)=(vdz4(i)+vdz1(i)+vdz3(i))
168 n2x(i)=-(y1(i)-y4(i))*(z2(i)-z4(i)) +(z1(i)-z4(i))*(y2(i)-y4(i))
169 n2y(i)=-(z1(i)-z4(i))*(x2(i)-x4(i)) +(x1(i)-x4(i))*(z2(i)-z4(i))
170 n2z(i)=-(x1(i)-x4(i))*(y2(i)-y4(i)) +(y1(i)-y4(i))*(x2(i)-x4(i))
172 n3x(i)=-(y2(i)-y4(i))*(z3(i)-z4(i)) +(z2(i)-z4(i))*(y3(i)-y4(i))
173 n3y(i)=-(z2(i)-z4(i))*(x3(i)-x4(i)) +(x2(i)-x4(i))*(z3(i)-z4(i))
174 n3z(i)=-(x2(i)-x4(i))*(y3(i)-y4(i)) +(y2(i)-y4(i))*(x3(i)-x4(i))
176 n4x(i)=-(y3(i)-y4(i))*(z1(i)-z4(i)) +(z3(i)-z4(i))*(y1(i)-y4(i))
177 n4y(i)=-(z3(i)-z4(i))*(x1(i)-x4(i)) +(x3(i)-x4(i))*(z1(i)-z4(i))
178 n4z(i)=-(x3(i)-x4(i))*(y1(i)-y4(i)) +(y3(i)-y4(i))*(x1(i)-x4(i))
180 n1x(i)= -n2x(i) -n3x(i) -n4x(i)
181 n1y(i)= -n2y(i) -n3y(i) -n4y(i)
182 n1z(i)= -n2z(i) -n3z(i) -n4z(i)
191 flux5(i)=(vx1(i)*n1x(i)+vy1(i)*n1y(i)+vz1(i)*n1z(i))*one_over_6
192 flux6(i)=(vx2(i)*n2x(i)+vy2(i)*n2y(i)+vz2(i)*n2z(i))*one_over_6
193 flux2(i)=(vx3(i)*n3x(i)+vy3(i)*n3y(i)+vz3(i)*n3z(i))*one_over_6
194 flux4(i)=(vx4(i)*n4x(i)+vy4(i)*n4y(i)+vz4(i)*n4z(i))*one_over_6
203 upwl(j,i)=pm(16,mat(i))
219 iad2 = ale_connect%ee_connect%iad_connect(i + nft)
220 ii = ale_connect%ee_connect%connected(iad2 + 3 - 1)
222 flux2(i)=flux2(i)*reduc
224 IF(int(pm(19,ixs(1,ii))) == 11)
THEN
226 flux2(i)=flux2(i)*pm(92,ixs(1,ii))
230 ii = ale_connect%ee_connect%connected(iad2 + 4 - 1)
232 flux4(i)=flux4(i)*reduc
234 IF(int(pm(19,ixs(1,ii))) == 11)
THEN
236 flux4(i)=flux4(i)*pm(92,ixs(1,ii))
240 ii = ale_connect%ee_connect%connected(iad2 + 1 - 1)
242 flux5(i)=flux5(i)*reduc
244 IF(int(pm(19,ixs(1,ii))) == 11)
THEN
246 flux5(i)=flux5(i)*pm(92,ixs(1,ii))
250 ii = ale_connect%ee_connect%connected(iad2 + 2 - 1)
252 flux6(i)=flux6(i)*reduc
254 IF(int(pm(19,ixs(1,ii))) == 11)
THEN
256 flux6(i)=flux6(i)*pm(92,ixs(1,ii))
274 flux(2,i)=flux2(i)-upwl(2,i)*abs(flux2(i))
276 flux(4,i)=flux4(i)-upwl(4,i)*abs(flux4(i))
277 flux(5,i)=flux5(i)-upwl(5,i)*abs(flux5(i))
280 flu1(i) =flux2(i)+upwl(2,i)*abs(flux2(i))
282 . +flux5(i)+upwl(5,i)*abs(flux5(i))
283 . +flux6(i)+upwl(6,i)*abs(flux6(i))