39 . PM , IXS , ITRIMAT, IFLG ,
40 . IPARG , ELBUF_TAB, ITASK )
60 USE multimat_param_mod ,
ONLY : m51_n0phas, m51_nvphas
61 use element_mod ,
only : nixs
65#include "implicit_f.inc"
74#include "vect01_c.inc"
81 INTEGER,
INTENT(IN) :: ITRIMAT,IFLG
82 INTEGER IXS(NIXS,*), IPARG(NPARG,*),ITASK
84 TYPE(elbuf_struct_),
TARGET,
DIMENSION(NGROUP) :: ELBUF_TAB
88 INTEGER :: J,K,ISILENT, MLW, MAT
90 INTEGER :: NBF,NBL, MCELL,ICELLv
91 INTEGER :: NUM, NADJ, IADJ, JV, NG
93 INTEGER :: IB,IBv, NIN, ICELL,NCELL,IDLOC
94 INTEGER :: IE,IDV,ADD, IE_M
95 my_real :: cellflux(6,9,
nb),upwl(6)
97 my_real,
DIMENSION(:),
POINTER :: uvar,pddvol
100 LOGICAL :: debug_outp
114 nbf = 1+itask*
nb/nthread
115 nbl = (itask+1)*
nb/nthread
127 if(mlw/=51)debug_outp=.false.
135 print
" |----ale51_upwind3_int22.F-----|"
136 print *,
" | THREAD INFORMATION |"
137 print *,
" |------------------------------|"
138 print *,
" NCYCLE =", ncycle
139 print *,
" ITRIMAT=", itrimat
154 DO WHILE (icell<=ncell)
156 IF (icell>ncell .AND. ncell/=0)icell=9
160 ie_m =
brick_list(nin,ib)%POLY(icell)%WhereIsMain(3)
162 upwl(1:6) = pm(16,mat)
165 brick_list(nin,ib)%POLY(icell)%Adjacent_FLU1 = zero
167 nadj =
brick_list(nin,ib)%POLY(icell)%FACE(j)%NAdjCell
172 icellv =
brick_list(nin,ib)%POLY(icell)%FACE(j)%Adjacent_Cell(iadj)
173 cellflux(j,icell,ib) =
brick_list(nin,ib)%POLY(icell)%FACE(j)%Adjacent_UpwFLUX(iadj)
175 cellflux(j,icell,ib)=cellflux(j,icell,ib)*reduc
178 isilent = iparg(64,ng)
181 cellflux(j,icell,ib)=cellflux(j,icell,ib)*pm(92,ixs(1,idv))
184 brick_list(nin,ib)%POLY(icell)%FACE(j)%Adjacent_upwFLUX(iadj) = cellflux(j
185 brick_list(nin,ib)%POLY(icell)%Adjacent_FLU1 =
186 .
brick_list(nin,ib)%POLY(icell)%Adjacent_FLU1 + cellflux(j,icell,ib
188 ddvol = ddvol + cellflux(j,icell,ib)
196 brick_list(nin,ib)%POLY(icell)%DDVOL_upw = ddvol
202 print *,
" brique =", ixs(11,ie)
203 print *,
" icell =", icell
204 write (*,fmt=
'(A,1E26.14)')
" Flu1 =",
brick_list(nin,ib)%POLY(icell)%Adjacent_FLU1
206 nadj =
brick_list(nin,ib)%POLY(icell)%FACE(j)%NAdjCell
208 print *,
" FACE =", j
209 write (*,fmt=
'(A,6E26.14)')
" Flux(IAD:NADJ) =",
brick_list(nin,ib)%POLY(icell)%FACE(j)%Adjacent_upwFLUX(iadj)
212 print *,
" ------------------------"
242 icellv =
brick_list(nin,ib)%SecndList%ICELLv(k)
243 ddvol = ddvol +
brick_list(nin,ibv)%POLY(icellv)%DDVOL_upw
245 ddvol = ddvol +
brick_list(nin,ib)%POLY(mcell)%DDVOL_upw
250 uvar => elbuf_tab(ng)%BUFLY(1)%MAT(1,1,1)%VAR
251 add = (m51_n0phas + (itrimat-1)*m51_nvphas+12)*llt
252 pddvol => uvar(add+1:add+llt)
253 pddvol(idloc) = ddvol
254 if(ixs(11,ie)==26354)
then
255 print *,
"itrimat, ddvoli", itrimat, ddvol
258 brick_list(nin,ib)%POLY(mcell)%DDVOL_upw = ddvol