38 . PM , IXS , ITRIMAT, IFLG ,
39 . IPARG , ELBUF_TAB, ITASK )
59 USE multimat_param_mod ,
ONLY : m51_n0phas, m51_nvphas
63#include "implicit_f.inc"
72#include "vect01_c.inc"
79 INTEGER,
INTENT(IN) :: ITRIMAT,IFLG
80 INTEGER IXS(NIXS,*), IPARG(NPARG,*),ITASK
82 TYPE(elbuf_struct_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
86 INTEGER :: J,K,ISILENT, MLW, MAT
88 INTEGER :: NBF,NBL, MCELL,ICELLv
89 INTEGER :: NUM, NADJ, IADJ, JV, NG
91 INTEGER :: IB,IBv, NIN, ICELL,NCELL,IDLOC
92 INTEGER :: IE,IDV,ADD, IE_M
93 my_real :: cellflux(6,9,
nb),upwl(6)
95 my_real,
DIMENSION(:),
POINTER :: uvar,pddvol
112 nbf = 1+itask*
nb/nthread
113 nbl = (itask+1)*
nb/nthread
125 if(mlw/=51)debug_outp=.false.
133 print *,
" |----ale51_upwind3_int22.F-----|"
134 print *,
" | THREAD INFORMATION |"
135 print *,
" |------------------------------|"
136 print *,
" NCYCLE =", ncycle
137 print *,
" ITRIMAT=", itrimat
152 DO WHILE (icell<=ncell)
154 IF (icell>ncell .AND. ncell/=0)icell=9
158 ie_m =
brick_list(nin,ib)%POLY(icell)%WhereIsMain(3)
160 upwl(1:6) = pm(16,mat)
163 brick_list(nin,ib)%POLY(icell)%Adjacent_FLU1 = zero
165 nadj =
brick_list(nin,ib)%POLY(icell)%FACE(j)%NAdjCell
170 icellv =
brick_list(nin,ib)%POLY(icell)%FACE(j)%Adjacent_Cell(iadj)
171 cellflux(j,icell,ib) =
brick_list(nin,ib)%POLY(icell)%FACE(j)%Adjacent_UpwFLUX(iadj)
173 cellflux(j,icell,ib)=cellflux(j,icell,ib)*reduc
176 isilent = iparg(64,ng)
179 cellflux(j,icell,ib)=cellflux
183 brick_list(nin,ib)%POLY(icell)%Adjacent_FLU1 =
184 .
brick_list(nin,ib)%POLY(icell)%Adjacent_FLU1 + cellflux
186 ddvol = ddvol + cellflux(j,icell,ib)
194 brick_list(nin,ib)%POLY(icell)%DDVOL_upw = ddvol
200 print *,
" brique =", ixs(11,ie)
201 print *,
" icell =", icell
202 write (*,fmt=
'(A,1E26.14)')
" Flu1 =",
brick_list(nin,ib)%POLY(icell)%Adjacent_FLU1
206 print *,
" FACE =", j
207 write (*,fmt=
'(A,6E26.14)')
" Flux(IAD:NADJ) =",
brick_list(nin,ib)%POLY(icell)%FACE(j)%Adjacent_upwFLUX(iadj)
210 print *,
" ------------------------"
240 icellv =
brick_list(nin,ib)%SecndList%ICELLv(k)
241 ddvol = ddvol +
brick_list(nin,ibv)%POLY(icellv)%DDVOL_upw
243 ddvol = ddvol +
brick_list(nin,ib)%POLY(mcell)%DDVOL_upw
248 uvar => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR
249 add = (m51_n0phas + (itrimat-1)*m51_nvphas+12)*llt
250 pddvol => uvar(add+1:add+llt)
251 pddvol(idloc) = ddvol
252 if(ixs(11,ie)==26354)
then
253 print *,
"itrimat, ddvoli", itrimat, ddvol
256 brick_list(nin,ib)%POLY(mcell)%DDVOL_upw = ddvol