46 SUBROUTINE aflux0(IPARG ,ELBUF_STR ,PM ,IXS ,IXQ ,
47 . V ,W ,X ,FLUX ,FLU2 ,
48 . VEUL ,FILL ,DFILL ,VOL ,
49 . ALE_CONNECT ,ALPH ,ITASK ,NV46 ,IPM )
61#include "implicit_f.inc"
68#include "vect01_c.inc"
76 INTEGER IPARG(NPARG,NGROUP), IXS(NIXS,NUMELS), IXQ(7,NUMELQ), IPM(NPROPMI,NUMMAT)
78 my_real flux(*), flu2(*), veul(*), fill(numnod,*),dfill(numnod,*), vol(*), alph(2,*)
79 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP),
TARGET :: ELBUF_STR
84 INTEGER NG, I, NF1,ISOLNOD,NSG,NEL
86 TYPE(G_BUFEL_) ,
POINTER :: GBUF
87 TYPE(l_bufel_) ,
POINTER :: LBUF1,LBUF2
95 IF (iparg(76, ng) == 1) cycle
97 2 mtn ,llt ,nft ,iad ,ity ,
98 3 npt ,jale ,ismstr ,jeul ,jtur ,
99 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
100 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
101 6 irep ,iint ,igtyp ,israt ,isrot ,
102 7 icsen ,isorth ,isorthg ,ifailure,jsms )
103 IF (jmult == 0) cycle
104 gbuf => elbuf_str(ng)%GBUF
105 lbuf1 => elbuf_str(ng)%BUFLY(1)%LBUF(1,1,1)
106 lbuf2 => elbuf_str(ng)%BUFLY(2)%LBUF(1,1,1)
114 alph(1,i+nft)=lbuf1%FRAC(i)
115 alph(2,i+nft)=lbuf2%FRAC(i)
116 vol(i+nft)=gbuf%VOL(i)*udt
125 DO ng=itask+1,ngroup,nthread
127 IF (iparg(76, ng) == 1) cycle
129 2 mtn ,llt ,nft ,iad ,ity ,
130 3 npt ,jale ,ismstr ,jeul ,jtur ,
131 4 jthe ,jlag ,jmult ,jhbe ,jivf ,
132 5 nvaux ,jpor ,jcvt ,jclose ,jplasol ,
133 6 irep ,iint ,igtyp ,israt ,isrot ,
134 7 icsen ,isorth ,isorthg ,ifailure,jsms )
135 IF (jale+jeul == 0) cycle
136 IF (iparg(8,ng) == 1) cycle
137 gbuf => elbuf_str(ng)%GBUF
139 isolnod = iparg(28,ng)
144 IF(n2d == 0.AND.jeul == 0.AND. isolnod == 4)
THEN
145 CALL a4flux3(pm,ixs,v,w,x,flux(6*nft+1),flu2(nf1),ale_connect)
146 ELSEIF(n2d == 0.AND.jeul == 0)
THEN
148 CALL aflux3(pm,ixs,v,w,x,flux(6*nft+1),flu2(nf1),ale_connect,nsg,gbuf%TAG22)
151 2 flu2(nf1),ale_connect,
155 ELSEIF(n2d /= 0.AND.jeul == 0)
THEN
157 . flux(4*nft+1),flu2(nf1),
158 . fill,dfill,vol,ale_connect,alph)
159 ELSEIF(n2d == 0.AND.jeul /= 0)
THEN
161 CALL eflux3(pm,ixs,v,flux(6*nft+1),flu2(nf1),veul,ale_connect,gbuf%TAG22)
164 2 veul ,ale_connect ,ipm ,
167 ELSEIF(n2d /= 0.AND.jeul /= 0)
THEN
168 CALL eflux2(pm,ixq,v,x,flux(4*nft+1),flu2(nf1),fill,dfill,vol,ale_connect,alph)
177 IF(i22_aleul == 2)
THEN
179 . pm , ixs , flux(1) , flu2(1) ,
180 . iparg , elbuf_str , itask ,
184 . pm , ixs , flux(1) , flu2(1) ,
185 . iparg , elbuf_str , itask ,
186 . nv46 , ipm , x , w)
subroutine initbuf(iparg, ng, mtn, llt, nft, iad, ity, npt, jale, ismstr, jeul, jtur, jthe, jlag, jmult, jhbe, jivf, mid, jpor, jcvt, jclose, jpla, irep, iint, igtyp, israt, isrot, icsen, isorth, isorthg, ifailure, jsms)