34 . ITRIMAT,DDVOL,QMV,IFLG)
39 use element_mod ,
only : nixq
43#include "implicit_f.inc"
53#include "vect01_c.inc"
58 INTEGER IXQ(NIXQ,NUMELQ), ITRIMAT,IFLG,IAD2
59 my_real pm(npropm,nummat), flux(4,*), flu1(*),ddvol(*),qmv(8,*), x(3,numnod)
64 INTEGER I,J,II,MAT(MVSIZ)
65 my_real reduc,qmv5,qmv6,qmv7,qmv8,
66 . flux1(mvsiz), flux2(mvsiz), flux3(mvsiz), flux4(mvsiz),
67 . upwl(4,mvsiz), r1, r2, r3, r4
85 upwl(j,i)=pm(16,mat(i))
94 iad2 = ale_connect%ee_connect%iad_connect(i + nft)
96 ii=ale_connect%ee_connect%connected(iad2 + 1 - 1)
98 flux1(i)=flux1(i)*reduc
101 ii=ale_connect%ee_connect%connected(iad2 + 2 - 1)
103 flux2(i)=flux2(i)*reduc
106 ii=ale_connect%ee_connect%connected(iad2 + 3 - 1)
108 flux3(i)=flux3(i)*reduc
111 ii=ale_connect%ee_connect%connected(iad2 + 4 - 1)
113 flux4(i)=flux4(i)*reduc
123 flux(1,i) = flux1(i)-upwl(1,i)*abs(flux1(i))
124 flux(2,i) = flux2(i)-upwl(2,i)*abs(flux2(i))
125 flux(3,i) = flux3(i)-upwl(3,i)*abs(flux3(i))
126 flux(4,i) = flux4(i)-upwl(4,i)*abs(flux4(i))
129 qmv(5,i) = flux1(i)+upwl(1,i)*abs(flux1(i))
130 qmv(6,i) = flux2(i)+upwl(2,i)*abs(flux2(i))
131 qmv(7,i) = flux3(i)+upwl(3,i)*abs(flux3(i))
132 qmv(8,i) = flux4(i)+upwl(4,i)*abs(flux4(i))
134 flu1(i) = qmv(5,i) + qmv(6,i) + qmv(7,i) + qmv(8,i)
136 r1 = half * (x(2, ixq(2, ii)) + x(2, ixq(3, ii)))
137 r2 = half * (x(2, ixq(3, ii)) + x(2, ixq(4, ii)))
138 r3 = half * (x(2, ixq(4, ii)) + x(2, ixq(5, ii)))
139 r4 = half * (x(2, ixq(5, ii)) + x(2, ixq(2, ii)))
142 IF (r1 /= zero) qmv(5,i) = qmv(5,i) / r1
143 IF (r2 /= zero) qmv(6,i) = qmv(6,i) / r2
145 IF (r4 /= zero) qmv(8,i) = qmv(8,i) / r4
149 flux(1,i) = flux1(i)-upwl(1,i)*abs(flux1(i))
150 flux(2,i) = flux2(i)-upwl(2,i)*abs(flux2(i))
151 flux(3,i) = flux3(i)-upwl(3,i)*abs(flux3(i))
152 flux(4,i) = flux4(i)-upwl(4,i)*abs(flux4(i))
154 qmv(5,i) = flux1(i)+upwl(1,i)*abs(flux1(i))
155 qmv(6,i) = flux2(i)+upwl(2,i)*abs(flux2(i))
156 qmv(7,i) = flux3(i)+upwl(3,i)*abs(flux3(i))
157 qmv(8,i) = flux4(i)+upwl(4,i)*abs(flux4(i))
159 flu1(i) = qmv(5,i) + qmv(6,i) + qmv(7,i) + qmv(8,i)
164 flux(1,i) = flux1(i)-upwl(1,i)*abs(flux1(i))
165 flux(2,i) = flux2(i)-upwl(2,i)*abs(flux2(i))
166 flux(3,i) = flux3(i)-upwl(3,i)*abs(flux3(i))
167 flux(4,i) = flux4(i)-upwl(4,i)*abs(flux4(i))
169 qmv5 = flux1(i)+upwl(1,i)*abs(flux1(i))
170 qmv6 = flux2(i)+upwl(2,i)*abs(flux2(i))
171 qmv7 = flux3(i)+upwl(3,i)*abs(flux3(i))
172 qmv8 = flux4(i)+upwl(4,i)*abs(flux4(i))
174 flu1(i) = qmv5 + qmv6 + qmv7 + qmv8
180 ddvol(i)=half * ( flu1(i)+flux(1,i)+flux(2,i)+flux(3,i)+flux(4,i) )