35 SUBROUTINE aconv3(VTOT ,PHI,FLUX,FLU1,IXS,
36 . ALE_CONNECT,IOFF,QMV,IFLG,
44 use element_mod ,
only : nixs
48#include "implicit_f.inc"
55 INTEGER IOFF, IFLG,IXS(NIXS,NUMELS),NVAR,ITASK
56 my_real VTOT(*), PHI(*), FLUX(6,*), FLU1(*), QMV(12,*), TAG22(MVSIZ)
64#include "vect01_c.inc"
68 INTEGER :: I, IE, IV,J,IAD2,LGTH
69 my_real :: VALVOIS(6,MVSIZ),VALEL(MVSIZ),VL(6,MVSIZ), DELTA(MVSIZ)
84 iad2 = ale_connect%ee_connect%iad_connect(ie)
85 lgth = ale_connect%ee_connect%iad_connect(ie+1) - iad2
88 iv = ale_connect%ee_connect%connected(iad2 + j - 1)
90 valvois(j,i) = phi(iv)
92 valvois(j,i) = phi(ie)
96 valvois(j,i) = phi(-iv+ioff)
102 vl(1,i) = valvois(1,i)*flux(1,i)
103 vl(2,i) = valvois(2,i)*flux(2,i)
104 vl(3,i) = valvois(3,i)*flux(3,i)
105 vl(4,i) = valvois(4,i)*flux(4,i)
106 vl(5,i) = valvois(5,i)*flux(5,i)
107 vl(6,i) = valvois(6,i)*flux(6,i)
108 delta(i) = half * dt1 *(-valel(i)*flu1(i) - vl(1,i)-vl(2,i)-vl(3,i)-vl(4,i)-vl(5,i)-vl(6,i))
121 vtot(i) = vtot(i) + delta(i)
125 IF(tag22(i)==zero) vtot(i) = vtot(i) + delta(i)
129 IF(trimat > 0.AND.iflg == 1)
THEN
131 qmv(1,i) = qmv(1,i) - vl(1,i) - valel(i)*qmv(07,i)
132 qmv(2,i) = qmv(2,i) - vl(2,i) - valel(i)*qmv(08,i)
133 qmv(3,i) = qmv(3,i) - vl(3,i) - valel(i)*qmv(09,i)
134 qmv(4,i) = qmv(4,i) - vl(4,i) - valel(i)*qmv(10,i)
135 qmv(5,i) = qmv(5,i) - vl(5,i) - valel(i)*qmv(11,i)
136 qmv(6,i) = qmv(6,i) - vl(6,i) - valel(i)*qmv(12,i)
161 if(int22>0)then;
if (tag22(i)/=zero)then;cycle ;endif;
endif
164 if(delta(i) == zero)cycle
166 print *,
" brique=", ixs(11,nft+i)
167 print *,
" nvar=", nvar
168 print *,
" dval=", delta(i)
169 print *,
" was:", vtot(i)-delta(i)
170 print *,
" is:", vtot(i)
171 print *,
" ------------------------"
183 if(int22>0)then;
if (tag22(i)/=zero)then;cycle ;endif;
endif
186 if(delta(i) == zero)cycle
188 print *,
" brique=", ixs(11,nft+i)
189 print *,
" nvar=", nvar
190 print *,
" dval=", delta(i)
191 print *,
" was:", vtot(i)-delta(i)
192 print *,
" is:", vtot(i)
193 print *,
" ------------------------"
205 if(int22>0)then;
if (tag22(i)/=zero)then;cycle ;endif;
endif
208 if(delta(i) == zero)cycle
210 print *, " brique=
", ixs(11,nft+i)
211 print *, " nvar=
", NVAR
212 print *, " dval=
", delta(i)
213 print *, " was:
", vtot(i)-delta(i)
214 print *, " is:
", vtot(i)
215 print *, " ------------------------
"
219 endif!(IBUG22_NVAR==NVAR)
225 if(IBUG22_NVAR==NVAR)then
227 if(int22>0)then;if (tag22(i)/=zero)then;cycle ;endif;endif
228.OR.
if(ibug22_convec == ixs(11,i+nft) ibug22_convec == -1)then
229.OR..AND.
if((ibug22_convec==ixs(11,nft+i)ibug22_convec==-1) nvar==1)then
230 if(delta(i) == zero)cycle
231 !if(int22>0)then;if (tag22(i)==zero)then;print *," uncut
";endif;endif
232 print *, " brique=
", ixs(11,nft+i)
233 print *, " nvar=
", NVAR
234 print *, " dval=
", delta(i)
235 print *, " was:
", vtot(i)-delta(i)
236 print *, " is:
", vtot(i)
237 print *, " ------------------------
"
241 endif!(IBUG22_NVAR==NVAR)
244 endif!(debug_outp==.true.)
246 !-----------------------------------------!
subroutine aconv3(vtot, phi, flux, flu1, ixs, ale_connect, ioff, qmv, iflg, tag22, nvar, itask)