55 1 IPARG, ELBUF_TAB, FLUX, VAL2,
56 2 PHI, ALE_CONNECT,IXS, IXQ,
58 4 MS, VEUL, FILL, DFILL,
59 5 ALPH, FV, BUFMAT, TF,
60 6 NPF, ITASK, NBRCVOIS, NBSDVOIS,
61 7 LNRCVOIS, LNSDVOIS, NERCVOIS, NESDVOIS,
62 8 LERCVOIS, LESDVOIS, SEGVAR,
63 9 MSNF, NODFT, NODLT, BHOLE,
64 A IPM, QMV, ITAB, ITABM1,
66 C IAD_ELEM, GLOB_THERM,
79 USE matparam_def_mod,
ONLY : matparam_struct_
83#include "implicit_f.inc"
94 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
96 INTEGER IPARG(NPARG,NGROUP), IXS(NIXS,NUMELS), IXQ(NIXQ,NUMELQ),NPF(*),
97 . ITAB(NUMNOD), ITABM1(*), BHOLE(*),
98 . NBRCVOIS(*),NBSDVOIS(*), LNRCVOIS(*), LNSDVOIS(*),
99 . NERCVOIS(*),NESDVOIS(*),LERCVOIS(*),LESDVOIS(*),IPM(NPROPMI,NUMMAT),
100 . NODFT, NODLT, LENQMV, ITASK, NV46,
101 . IAD_ELEM(2, *), FR_ELEM(*)
103 my_real VEUL, FLUX(*), VAL2(*), PHI(*), V(*), W(*), X(*), PM(*),
104 . MS(*), FILL(*), DFILL(*), ALPH(*), FV(*), BUFMAT(*), TF(*),
108 TYPE(t_ale_connectivity),
INTENT(IN) :: ALE_CONNECT
109 type (glob_therm_) ,
intent(inout) :: glob_therm
110 TYPE(MATPARAM_STRUCT_),
DIMENSION(NUMMAT),
INTENT(IN) :: MATPARAM
114 INTEGER ITRIMAT,NVAR,I, LENCOMN,LENCOM
117 my_real,
DIMENSION(:,:),
ALLOCATABLE:: FLUX_SAV
121 ALLOCATE(flux_sav(nv46,lenqmv))
122 lencomn=nbrcvois(nspmd+1)+nbsdvois(nspmd+1)
123 lencom =nercvois(nspmd+1)+nesdvois(nspmd+1)
128 IF (glob_therm%ITHERM+iturb /= 0)
THEN
134 CALL spmd_xvois(x,nbrcvois,nbsdvois,lnrcvois,lnsdvois,lencomn)
140 CALL agrad0(iparg,ixs,ixq,x,ale_connect,
141 + flux,veul,elbuf_tab
145 IF (glob_therm%ITHERM /= 0)
THEN
150 1 iparg, pm, elbuf_tab, flux,
151 2 val2, phi, ale_connect,ixs,
152 3 ixq, fv, x, bufmat,
153 4 tf, npf, nercvois, nesdvois,
154 5 lercvois, lesdvois, lencom, ipm,
166 CALL akturb(iparg ,elbuf_tab ,flux ,val2 ,phi ,
167 2 ale_connect ,ixs ,ixq ,pm
168 3 nercvois ,nesdvois ,lercvois ,lesdvois ,lencom ,
170 CALL aeturb(iparg ,elbuf_tab ,flux ,val2 ,phi ,
171 2 ale_connect ,ixs ,ixq ,pm ,itask ,
172 3 nercvois ,nesdvois ,lercvois ,lesdvois ,lencom ,
180 IF(iale+ieuler /= 0)
THEN
194 CALL aflux0(iparg ,elbuf_tab,pm ,ixs ,ixq ,
195 . v ,w ,x ,flux ,val2
196 . veul ,fill ,dfill ,phi ,
197 . ale_connect,alph ,itask ,nv46 ,ipm )
204 IF(n2d /= 0.AND.nmult > 0)
THEN
205 CALL bhol2(itask,iparg , pm ,bhole ,ixq )
217 3 ale_connect ,itask ,
218 4 flux_sav ,qmv ,nv46 ,elbuf_tab)
223 CALL arezon(iparg ,elbuf_tab, flux ,phi ,ale_connect ,
224 2 2 ,1 ,itask ,nercvois
225 3 nesdvois,lercvois ,lesdvois,lencom ,bhole ,
227 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
228 2 2 ,2 ,itask ,nercvois ,
229 3 nesdvois,lercvois ,lesdvois,lencom ,bhole ,
231 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
232 2 2 ,3 ,itask ,nercvois ,
233 3 nesdvois,lercvois ,lesdvois,lencom ,bhole ,
235 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
236 2 2 ,4 ,itask ,nercvois ,
237 3 nesdvois,lercvois ,lesdvois,lencom ,bhole ,
239 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
240 2 2 ,5 ,itask ,nercvois ,
241 3 nesdvois,lercvois ,lesdvois,lencom ,bhole ,
243 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
244 2 2 ,6 ,itask ,nercvois ,
245 3 nesdvois,lercvois ,lesdvois,lencom ,bhole ,
250 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
251 2 10 ,1 ,itask ,nercvois ,
252 3 nesdvois,lercvois ,lesdvois,lencom,bhole ,
257 DO i = 1,
ale%REZON%NUM_NUVAR_MAT
258 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
259 2 11 ,i ,itask ,nercvois ,
260 3 nesdvois,lercvois ,lesdvois,lencom ,bhole ,
263 DO i = 1,
ale%REZON%NUM_NUVAR_EOS
264 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
265 2 11 ,i ,itask ,nercvois ,
266 3 nesdvois,lercvois ,lesdvois,lencom ,bhole ,
273 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
274 2 12 ,1 ,itask ,nercvois ,
275 3 nesdvois,lercvois ,lesdvois,lencom,bhole ,
280 DO nvar=
ale%GLOBAL%LCONV,1,-1
286 IF((nvar /= 9.AND.
ale%GLOBAL%CODV(nvar) /= 0))
THEN
288 1 iparg ,elbuf_tab ,flux , val2 ,phi ,
289 2 ale_connect ,nvar ,itask , nercvois ,nesdvois,
290 3 lercvois ,lesdvois ,lencom , segvar ,bhole ,
291 4 itrimat ,qmv ,0 , ixs ,ixq ,
304 . nercvois,nesdvois, lercvois,lesdvois,lencom, itask,
305 . iad_elem, fr_elem, segvar)
308 . nv46,nercvois,nesdvois, lercvois,lesdvois,lencom, itask,
309 . iad_elem, fr_elem, segvar)
313 DO itrimat = 1,trimat
314 CALL afluxt(iparg ,elbuf_tab ,pm ,ixs ,ixq,
316 3 phi ,ale_connect,itask
317 4 itrimat ,flux_sav ,nercvois,nesdvois ,
318 5 lercvois,lesdvois ,lencom ,qmv ,itab ,
319 6 itabm1 ,nv46 ,segvar
320 !-----------------------------
325 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
326 2 2 ,1 ,itask ,nercvois ,
327 3 nesdvois,lercvois ,lesdvois,lencom,bhole ,
329 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
330 2 2 ,2 ,itask ,nercvois ,
331 3 nesdvois,lercvois ,lesdvois,lencom,bhole
333 CALL arezon(iparg ,elbuf_tab
334 2 2 ,3 ,itask ,nercvois ,
335 3 nesdvois,lercvois ,lesdvois,lencom,bhole ,
337 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
338 2 2 ,4 ,itask ,nercvois ,
339 3 nesdvois,lercvois ,lesdvois,lencom
341 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
342 2 2 ,5 ,itask ,nercvois ,
343 3 nesdvois,lercvois ,lesdvois,lencom,bhole ,
345 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
346 2 2 ,6 ,itask ,nercvois ,
347 3 nesdvois,lercvois ,lesdvois,lencom,bhole ,
355 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect ,
356 2 10 ,1 ,itask ,nercvois,
357 3 nesdvois,lercvois,lesdvois,lencom ,bhole ,
363 CALL arezon(iparg ,elbuf_tab,flux ,phi ,ale_connect,
364 2 12 ,1 ,itask ,nercvois,
365 3 nesdvois,lercvois,lesdvois,lencom ,bhole ,
367 !-----------------------------
371 CALL aconve(iparg ,elbuf_tab,flux ,val2 ,phi ,
372 2 ale_connect ,2 ,itask ,nercvois,nesdvois,
373 3 lercvois ,lesdvois ,lencom,segvar ,bhole ,
374 4 itrimat ,qmv ,0 ,ixs ,ixq ,
380 CALL aconve(iparg ,elbuf_tab,flux ,val2 ,phi ,
381 2 ale_connect ,1 ,itask ,nercvois,nesdvois,
382 3 lercvois ,lesdvois ,lencom,segvar ,bhole ,
383 4 itrimat ,qmv ,1 ,ixs ,ixq ,
389 . x ,flux ,val2 ,phi ,ale_connect ,itask,flux_sav,qmv
394 IF(itask==0)
DEALLOCATE(flux_sav)
subroutine alemain(timers, pm, geo, x, a, v, ms, wa, elbuf_tab, bufmat, partsav, tf, val2, veul, fv, stifn, fsky, eani, phi, fill, dfill, alph, skew, w, d, dsave, asave, dt2t, dt2save, xcell, iparg, npc, ixs, ixq, ixtg, iads, ifill, icodt, iskew, ims, iadq, neltst, ityptst, iparts, ipartq, itask, nodft, nodlt, nbrcvois, temp, fsavsurf, nbsdvois, lnrcvois, lnsdvois, nercvois, nesdvois, lercvois, lesdvois, isizxv, iad_elem, fr_elem, fskym, msnf, ipari, segvar, itab, iskwn, diffusion, iresp, volmon, fsav, igrsurf, neltsa, ityptsa, weight, npsegcom, lsegcom, ipm, igeo, itabm1, lenqmv, nv46, aglob, gresav, grth, igrth, lgauge, gauge, mssa, dmels, igaup, ngaup, table, ms0, xdp, igrnod, sfem_nodvar, fskyi, isky, s_sfem_nodvar, intbuf_tab, ixt, igrv, agrav, sensors, lgrav, condnsky, condn, ms_2d, multi_fvm, igrtruss, igrbric, nloc_dmg, id_global_vois, face_vois, ebcs_tab, ale_connectivity, mat_elem, h3d_data, dt, output, need_comm_inter18, idtmins, idtmin, maxfunc, imon_mat, userl_avail, impl_s, idyna, python, matparam, glob_therm)