69 1 IPARI ,X ,A ,ALE_CONNECTIVITY ,XCELL ,
70 2 ICODT ,FSAV ,V ,MS ,DT2T ,
71 3 NELTST ,ITYPTST ,ITAB ,STIFN ,FSKYI ,
72 4 ISKY ,FCONT ,NIN ,LINDMAX ,KINET ,
73 5 JTASK ,NB_JLT ,NB_JLT_NEW ,NB_STOK_N ,ELBUF_TAB ,
74 6 NISKYFI ,NEWFRONT ,NSTRF ,SECFCUM ,IGROUPS ,
75 7 ICONTACT ,VISCN ,NUM_IMP ,
76 9 NS_IMP ,NE_IMP ,IND_IMP ,FSAVSUB ,NRTMDIM ,
78 B EMINX ,IXS ,IXS16 ,IXS20 ,FNCONT ,
79 C FTCONT ,IAD_ELEM ,FR_ELEM ,RCONTACT ,ACONTACT ,
80 D PCONTACT ,TEMP ,FTHE ,FTHESKYI ,
81 E PM ,IPARG ,IAD17 ,MSKYI_SMS ,ISKYI_SMS ,
82 F NODNX_SMS ,MS0 ,QFRICINT ,NPC ,TF ,
83 G CONDN ,CONDNSKYI ,INTBUF_TAB ,NODADT_THERM ,THEACCFACT ,
84 H FBSAV6 ,ISENSINT ,DIMFB ,IXIG3D ,KXIG3D ,
85 I WIGE ,KNOT ,IGEO ,MULTI_FVM ,H3D_DATA ,
86 J INTBUF_FRIC_TAB,KNOTLOCPC ,KNOTLOCEL ,ITASK ,TAGNCONT ,
87 K KLOADPINTER ,LOADPINTER ,LOADP_HYD_INTER,DGAPLOADINT ,S_LOADPINTER,
88 L INTEREFRIC ,S_XCELL_REMOTE,XCELL_REMOTE )
108#include "implicit_f.inc"
112#include "mvsiz_p.inc"
116#include "com01_c.inc"
117#include "com04_c.inc"
118#include "com08_c.inc"
119#include "param_c.inc"
122#include "parit_c.inc"
123#include "timeri_c.inc"
124#include "impl1_c.inc"
126#include "comlock.inc"
127#include "tabsiz_c.inc"
131 TYPE(timer_),
INTENT(INOUT) :: TIMERS
132 TYPE(t_ale_connectivity),
INTENT(IN) :: ALE_CONNECTIVITY
133 TYPE (ELBUF_STRUCT_),
DIMENSION(NGROUP) :: ELBUF_TAB
134 INTEGER NELTST,ITYPTST,NIN,,(*),NRTMDIM, IAD17, ISENSINT(*),DIMFB,IGROUPS(NUMELS)
135 INTEGER IPARI(NPARI,NINTER), ICODT(*),ICONTACT(*),ITAB(*), ISKY(*), KINET(*),(NPARG,*),TAGNCONT(NLOADP_HYD_INTER,NUMNOD)
136 INTEGER NB_JLT,NB_JLT_NEW,NB_STOK_N,JTASK,NISKYFI, ,ITASK
137 INTEGER NUM_IMP,NS_IMP(*),NE_IMP(*),IND_IMP(*)
138 INTEGER (*) ,IXS16(*) ,IXS20(*)
139 INTEGER IAD_ELEM(2,*),FR_ELEM(*), ISKYI_SMS(*), NODNX_SMS(*),NPC(*),KXIG3D(NIXIG3D,*),IXIG3D(*),(NPROPGI,*)
140 INTEGER,
INTENT(IN) :: S_LOADPINTER
141 INTEGER,
INTENT(IN) :: KLOADPINTER(NINTER+1),LOADPINTER(S_LOADPINTER),LOADP_HYD_INTER(NLOADP_HYD)
142 INTEGER,
INTENT(IN) :: INTEREFRIC
143 INTEGER,
INTENT(IN) :: NODADT_THERM
144 my_real,
intent(in) :: theaccfact
145 my_real,
INTENT(IN) :: DGAPLOADINT(S_LOADPINTER)
146 my_real EMINX(*), XCELL(3,SXCELL)
147 my_real DT2T,X(3,*), A(3,*), FSAV(*), V(3,*),MS(*),STIFN(*),FSKYI(LSKYI,4),FCONT(3,*),MS0(*),
148 . SECFCUM(7,NUMNOD,NSECT),VISCN(*), FSAVSUB(*),
149 . FNCONT(3,*), FTCONT(3,*), RCONTACT(*), ACONTACT(*),
150 . PCONTACT(*),TEMP(*),FTHE(*),FTHESKYI(LSKYI),PM(NPROPM,*),
151 . mskyi_sms(*), qfricint(*),tf(*),condn(*),condnskyi(lskyi),wige(*),knot(*)
152 my_real knotlocpc(*),knotlocel(*)
153 DOUBLE PRECISION FBSAV6(12,6,DIMFB)
154 INTEGER,
INTENT(in) :
155DIMENSION(S_XCELL_REMOTE),
INTENT(in) :: xcell_remote
156 TYPE(intbuf_struct_) INTBUF_TAB
157 TYPE(multi_fvm_struct),
INTENT(INOUT) :: MULTI_FVM
159 TYPE(intbuf_fric_struct_),
TARGET,
DIMENSION(NINTERFRIC) :: INTBUF_FRIC_TAB
160 TYPE (GROUP_) ,
DIMENSION(NGRBRIC) :: IGRBRIC
164 INTEGER I, J, I_STOK, JLT_NEW, JLT , NFT, IVIS2,
165 . ibc, isecin, ibag, iadm,
166 . igap, inacti, ifq, mfrot, igsti, nisub, itied,
167 . jlt_tied, nb_loc, i_stok_loc,debut,
168 . ilagm, lenr, lent, maxcc,intth,iform, h, ierror,
169 . sym_flag_type19, intfric ,nsetprts ,npartfric ,iorthfric,
171 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
172 . nsvg(mvsiz), cn_loc(mvsiz),ce_loc(mvsiz),
173 . cand_n_n(mvsiz),cand_e_n(mvsiz),kini(mvsiz),
175 . isdsiz(nspmd+1),ircsiz(nspmd+1),itag(numnod),
176 . ieleci(mvsiz), nsms(mvsiz), ipartfricsi(mvsiz),
177 . ipartfricmi(mvsiz),indexisot(mvsiz),indexorth(mvsiz),
179 my_real startt, fric, gap, stopt,visc,viscf,stiglo,gapmin, kmin, kmax, gapmax,rstif,fheats,fheatm,tint,dtmini
181 my_real nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
182 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
183 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
184 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
185 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
186 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
187 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
188 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
189 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
190 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
191 . h1(mvsiz), h2(mvsiz), h3(mvsiz), h4(mvsiz),
192 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz),
193 . tempi(mvsiz),phi(mvsiz),areasi(mvsiz),
195 my_real rcurvi(mvsiz), anglmi(mvsiz), anglt, padm
196 INTEGER NRTMFT, NRTMLT, NMNFT, NMNLT, NRADM,IRSTH,IFRIC
197 my_real NNX1(MVSIZ), NNX2(MVSIZ), (MVSIZ), NNX4(MVSIZ),
198 . NNY1(MVSIZ), NNY2(MVSIZ), NNY3(MVSIZ), NNY4(MVSIZ),
199 . nnz1(mvsiz), nnz2(mvsiz), nnz3(mvsiz), nnz4(mvsiz),
201 INTEGER ICURV,SFSAVPARIT,NINLOADP
202 my_real DRAD, DRAD2, FRAD,XTHE,XFRIC,DGAPLOADP
203 my_real,
DIMENSION(:,:,:),
ALLOCATABLE :: FSAVPARIT
204 my_real KS(MVSIZ),K1(MVSIZ),K2(MVSIZ),K3(MVSIZ),K4(MVSIZ),
205 . CS(MVSIZ),C1(MVSIZ),C2(MVSIZ),C3(MVSIZ),C4(MVSIZ),
206 . KT(MVSIZ),C(MVSIZ),CF(MVSIZ),
207 . FXI(MVSIZ), FYI(MVSIZ), FZI(MVSIZ),
208 . (MVSIZ), FX2(MVSIZ), FX3(MVSIZ), FX4(MVSIZ),
209 . FY1(MVSIZ), FY2(MVSIZ), FY3(MVSIZ), FY4(MVSIZ),
210 . FZ1(MVSIZ), FZ2(MVSIZ), FZ3(MVSIZ), FZ4(MVSIZ),
211 . PHI1(MVSIZ),PHI2(MVSIZ),PHI3(MVSIZ),PHI4(MVSIZ)
212 my_real XFILTR_FRIC,FRIC_COEFS(MVSIZ,10),VISCFFRIC(MVSIZ),FRICC(MVSIZ),
213 . FRIC_COEFS2(MVSIZ,10),VISCFFRIC2(MVSIZ),FRICC2(MVSIZ),
214 . DIR1(MVSIZ,3),DIR2(MVSIZ,3),DIR_FRICMI(MVSIZ,2)
215 INTEGER,
DIMENSION(:) ,
POINTER :: TABCOUPLEPARTS_FRIC
216 INTEGER,
DIMENSION(:) ,
POINTER :: TABPARTS_FRIC
217 INTEGER,
DIMENSION(:) ,
POINTER :: ADPARTS_FRIC
218 INTEGER,
DIMENSION(:) ,
POINTER :: IFRICORTH
219 my_real,
DIMENSION(:) ,
POINTER :: TABCOEF_FRIC
220 INTEGER,
TARGET,
DIMENSION(1):: TABCOUPLEPARTS_FRIC_BID
221 INTEGER,
TARGET,
DIMENSION(1):: TABPARTS_FRIC_BID
222 INTEGER,
TARGET,
DIMENSION(1):: ADPARTS_FRIC_BID
223 INTEGER,
TARGET,
DIMENSION(1):: IFRICORTH_BID
224 my_real,
TARGET,
DIMENSION(1):: tabcoef_fric_bid
225 INTEGER :: NSN, NTY, NOINT
237 ivis2 = ipari(14,nin)
238 IF(ipari(33,nin) == 1)
RETURN
239 noint = ipari(15,nin)
241 inacti = ipari(22,nin)
242 isecin = ipari(28,nin)
243 mfrot = ipari(30,nin)
246 igsti = ipari(34,nin)
247 nisub = ipari(36,nin)
248 icurv = ipari(39,nin)
249 itied = ipari(85,nin)
250 sym_flag_type19 = ipari(71,nin)
252 intth = ipari(47,nin)
253 iform = ipari(48,nin)
254 irsth = ipari(42,nin)
257 nradm = ipari(49,nin)
258 padm = intbuf_tab%VARIABLES(24)
259 anglt = intbuf_tab%VARIABLES(25)
260 stiglo = -intbuf_tab%STFAC(1)
261 startt = intbuf_tab%VARIABLES(3)
262 stopt = intbuf_tab%VARIABLES(11)
263 IF(startt > tt)
RETURN
264 IF(tt > stopt)
RETURN
265 fric = intbuf_tab%VARIABLES(1)
266 gap = intbuf_tab%VARIABLES(2)
267 gapmin = intbuf_tab%VARIABLES(13)
268 visc = intbuf_tab%VARIABLES(14)
269 viscf= intbuf_tab%VARIABLES(15)
271 IF(intth > 0) ifric =ipari(50,nin)
272 xfric = intbuf_tab%VARIABLES(34)
273 gapmax = intbuf_tab%VARIABLES(16)
274 kmin = intbuf_tab%VARIABLES(17)
275 kmax = intbuf_tab%VARIABLES(18)
276 rstif = intbuf_tab%VARIABLES(20)
277 fheats = intbuf_tab%VARIABLES(21)
279 dtmini = intbuf_tab%VARIABLES(41)
280 fheatm = intbuf_tab%VARIABLES(23)
281 xthe = intbuf_tab%VARIABLES(33)
286 frad = intbuf_tab%VARIABLES(31)
287 drad = intbuf_tab%VARIABLES(32)
292 intfric=ipari(72,nin)
298 IF(intfric /= 0)
THEN
299 tabcoupleparts_fric => intbuf_fric_tab(intfric)%TABCOUPLEPARTS_FRIC
300 tabcoef_fric => intbuf_fric_tab(intfric)%TABCOEF_FRIC
301 tabparts_fric => intbuf_fric_tab(intfric)%TABPARTS_FRIC
302 adparts_fric => intbuf_fric_tab(intfric)%ADPARTS_FRIC
303 xfiltr_fric = intbuf_fric_tab(intfric)%XFILTR_FRIC
304 nsetprts = intbuf_fric_tab(intfric)%NSETPRTS
305 npartfric = intbuf_fric_tab(intfric)%S_TABPARTS_FRIC
306 iorthfric = intbuf_fric_tab(intfric)%IORTHFRIC
307 ifricorth => intbuf_fric_tab(intfric)%IFRICORTH
309 tabcoupleparts_fric => tabcoupleparts_fric_bid
310 tabparts_fric => tabparts_fric_bid
311 tabcoef_fric => tabcoef_fric_bid
312 adparts_fric => adparts_fric_bid
313 ifricorth => ifricorth_bid
314 IF (ifq/=0) xfiltr_fric = intbuf_tab%XFILTR(1)
317 ninloadp = ipari(95,nin)
318 dgaploadp = intbuf_tab%VARIABLES(46)
321 IF(inacti == 7) type18 = .true.
322 IF(type18 .AND. ipari(34,nin) == -2)
RETURN
329 ALLOCATE(intbuf_tab%NODNORM_NORMAL (3,numnod))
331 CALL i7norm(ipari(4,nin),intbuf_tab%IRECTM,numnod,x,intbuf_tab%NODNORM_NORMAL,ipari(6,nin),intbuf_tab%MSR)
333 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
334 CALL spmd_exch_n(intbuf_tab%NODNORM_NORMAL,iad_elem,fr_elem,lenr)
338 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
342 1 ipari(4,nin),intbuf_tab%IRECTM,numnod,iad_elem,fr_elem,
343 2 isdsiz ,ircsiz ,itag ,lenr ,lent ,
348 1 ipari(4,nin),intbuf_tab%IRECTM,numnod,itag,lent,maxcc)
351 1 ipari(4,nin),intbuf_tab%IRECTM,numnod ,x ,intbuf_tab%NODNORM_NORMAL,
352 2 ipari(6,nin),intbuf_tab%MSR ,lent ,maxcc,isdsiz ,
353 3 ircsiz ,iad_elem ,fr_elem,itag )
365 ALLOCATE(intbuf_tab%MODRCURV(nrtmdim),intbuf_tab%MODANGLM(nrtmdim))
366 ALLOCATE(intbuf_tab%NODNORM_NORMAL (3,numnod))
369 . ipari(4,nin),intbuf_tab%IRECTM,numnod,x ,intbuf_tab%NODNORM_NORMAL,
370 . ipari(6,nin),intbuf_tab%MSR)
372 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
373 CALL spmd_exch_n(intbuf_tab%NODNORM_NORMAL,iad_elem,fr_elem,lenr)
377 lenr = iad_elem(1,nspmd+1)-iad_elem(1,1)
381 1 ipari(4,nin),intbuf_tab%IRECTM,numnod,iad_elem,fr_elem,
382 2 isdsiz ,ircsiz ,itag ,lenr ,lent ,
387 1 ipari(4,nin),intbuf_tab%IRECTM,numnod,itag,lent,maxcc)
390 1 ipari(4,nin),intbuf_tab%IRECTM,numnod ,x ,intbuf_tab%NODNORM_NORMAL,
391 2 ipari(6,nin),intbuf_tab%MSR,lent ,maxcc,isdsiz ,
392 3 ircsiz ,iad_elem ,fr_elem,itag )
396 nmnft=1+(jtask-1)*ipari(6,nin)/nthread
397 nmnlt=jtask*ipari(6,nin)/nthread
398 CALL i7norme(nmnft,nmnlt,intbuf_tab%NODNORM_NORMAL,intbuf_tab%MSR)
400 nrtmft=1+(jtask-1)*ipari(4,nin)/nthread
401 nrtmlt=jtask*ipari(4,nin)/nthread
402 CALL i7rcurv(nrtmft, nrtmlt ,x ,intbuf_tab%NODNORM_NORMAL ,intbuf_tab%IRECTM ,
403 . intbuf_tab%MODRCURV , nradm ,intbuf_tab%MODANGLM ,anglt )
408 i_stok = intbuf_tab%I_STOK(1)
413 IF(inacti /= 7 .OR. ibag == 0)
THEN
414 nb_loc = i_stok / nthread
415 IF (jtask == nthread)
THEN
416 i_stok_loc = i_stok-nb_loc*(nthread-1)
420 debut = (jtask-1)*nb_loc
424 IF (impl_s == 1)
THEN
433 IF (inacti == 5 .OR. inacti == 6 .OR. type18)
THEN
434 DO i = debut+1, debut+i_stok_loc
435 IF(intbuf_tab%CAND_N(i)<0)
THEN
439 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i)
442 intbuf_tab%CAND_P(i) = zero
446 DO i = debut+1, debut+i_stok_loc
447 IF(intbuf_tab%CAND_N(i)<0)
THEN
451 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i
456 IF (inacti == 5 .OR. inacti == 6)
THEN
457 DO i = debut+1, debut+i_stok_loc
458 IF(intbuf_tab%CAND_F(8*(i-1)+1)/=zero)
THEN
461 intbuf_tab%CAND_N(i) = iabs(intbuf_tab%CAND_N(i))
462 ELSEIF(intbuf_tab%CAND_N(i)<0)
THEN
466 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i)
469 intbuf_tab%CAND_P(i) = zero
470 intbuf_tab%CAND_F(8*(i-1)+1:8*(i-1)+8) = zero
474 DO i = debut+1, debut+i_stok_loc
475 IF(intbuf_tab%CAND_F(8*(i-1)+1)/=zero)
THEN
478 intbuf_tab%CAND_N(i) = iabs(intbuf_tab%CAND_N(i))
479 ELSEIF(intbuf_tab%CAND_N(i)<0)
THEN
483 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i)
485 intbuf_tab%CAND_F(8*(i-1)+1:8*(i-1)+8) = zero
492 IF (debug(3) >= 1)
THEN
493 nb_jlt = nb_jlt + i_stok_loc
494 nb_stok_n = nb_stok_n + i_stok
499 IF(isensint(i)/=0)
THEN
500 sfsavparit = sfsavparit + 1
503 IF (sfsavparit /= 0)
THEN
504 ALLOCATE(fsavparit(nisub+1,11,i_stok),stat=ierror)
506 CALL ancmsg(msgid=19,anmode=aninfo,c1=
'(/INTER/TYPE7)')
512 fsavparit(h,i,j) = zero
517 ALLOCATE(fsavparit(0,0,0),stat=ierror)
519 CALL ancmsg(msgid=19,anmode=aninfo,c1=
'(/INTER/TYPE7)')
529 DO nft = 0 , i_stok - 1 , nvsiz
530 jlt =
min( nvsiz, i_stok - nft )
532 CALL i7cdcor3(jlt,index2(nft+1),intbuf_tab%CAND_E,intbuf_tab%CAND_N,cand_e_n,cand_n_n)
535 1 jlt ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,cand_e_n,
536 2 cand_n_n ,intbuf_tab%STFM,intbuf_tab%STFNS,x1 ,x2 ,
537 3 x3 ,x4 ,y1 ,y2 ,y3 ,
538 4 y4 ,z1 ,z2 ,z3 ,z4 ,
539 5 xi ,yi ,zi ,stif ,ix1 ,
540 6 ix2 ,ix3 ,ix4 ,nsvg ,igap ,
541 7 gap ,intbuf_tab%GAP_S,intbuf_tab%GAP_M,gapv ,
544 b kini ,nty ,nin ,igsti ,kmin ,
545 c kmax ,gapmax ,gapmin ,iadm ,intbuf_tab%MODRCURV ,
546 d rcurvi ,intbuf_tab%MODANGLM ,anglmi ,intth ,temp ,
547 e tempi ,phi ,intbuf_tab%AREAS,intbuf_tab%IELEC,areasi ,
548 f ieleci ,nodnx_sms ,nsms ,intbuf_tab%GAP_SL,intbuf_tab%GAP_ML,
549 g intfric ,intbuf_tab%IPARTFRICS,ipartfricsi,intbuf_tab%IPARTFRICM,ipartfricmi,
550 h iorthfric,intbuf_tab%IREP_FRICM,intbuf_tab%DIR_FRICM,irep_fricmi,dir_fricmi )
558 1 jlt ,cand_n_n ,cand_e_n , cn_loc ,ce_loc ,
559 2 x1 ,x2 ,x3 , x4 ,y1 ,
560 3 y2 ,y3 ,y4 , z1 ,z2 ,
561 4 z3 ,z4 ,xi , yi ,zi ,
562 5 nx1 ,nx2 ,nx3 , nx4 ,ny1 ,
564 7 nz3 ,nz4 ,lb1 , lb2 ,lb3 ,
565 8 lb4 ,lc1 ,lc2 , lc3 ,lc4 ,
566 9 p1 ,p2 ,p3 , p4 ,ix1 ,
567 a ix2 ,ix3 ,ix4 , nsvg ,stif ,
568 b jlt_new ,gapv ,intbuf_tab%CAND_P ,ale_connectivity%NE_CONNECT,
569 c index2(nft+1) ,vxi ,vyi ,itab ,xcell ,
571 e igap ,multi_fvm ,s_xcell_remote ,xcell_remote)
573 IF( multi_fvm%IS_INT18_LAW151 )
THEN
574 msi_append(1:mvsiz) = zero
575 msi_append(mvsiz+1:2*mvsiz) = msi(1:mvsiz)
577 msi_append(1:mvsiz) = msi(1:mvsiz)
578 msi_append(mvsiz+1:2*mvsiz) = zero
582 IF (imonm > 0 .AND. jtask == 1)
CALL startime(timers,20)
583 IF(jlt_new /= 0)
THEN
586 IF (debug(3) >= 1)nb_jlt_new = nb_jlt_new + jlt_new
588 1 jlt ,a ,v ,ibc ,icodt ,
589 2 fsav ,gap ,fric ,ms ,visc ,
590 3 viscf ,noint ,intbuf_tab%STFNS ,itab ,cn_loc ,
591 4 stiglo ,stifn ,stif ,fskyi ,isky ,
592 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
593 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
594 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
595 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
596 9 p1 ,p2 ,p3 ,p4 ,fcont ,
597 b ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
598 c ivis2 ,neltst ,ityptst ,dt2t ,ixs ,
599 d gapv ,intbuf_tab%CAND_P ,index2(nft+1) ,niskyfi ,
600 e kinet ,newfront ,isecin ,nstrf ,secfcum ,
601 f x ,intbuf_tab%IRECTM ,ce_loc ,mfrot ,ifq ,
602 g intbuf_tab%FRIC_P ,intbuf_tab%FTSAVX ,intbuf_tab%FTSAVY ,intbuf_tab%FTSAVZ ,
603 h intbuf_tab%IFPEN , icontact ,igroups ,iparg ,
606 l intbuf_tab%ADDSUBM,intbuf_tab%LISUBS ,intbuf_tab%LISUBM ,fsavsub ,intbuf_tab%CAND_N ,
607 m ipari(33,nin) ,ipari(39,nin) ,fncont ,ms0 ,
608 n jtask ,isensint ,fsavparit ,nft ,multi_fvm ,
609 o h3d_data ,elbuf_tab ,idir )
614 1 jlt ,cand_n_n,cand_e_n,cn_loc ,ce_loc ,
615 2 x1 ,x2 ,x3 ,x4 ,y1 ,
616 3 y2 ,y3 ,y4 ,z1 ,z2 ,
617 4 z3 ,z4 ,xi ,yi ,zi ,
618 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
619 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
620 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
621 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
622 9 p1 ,p2 ,p3 ,p4 ,ix1 ,
623 a ix2 ,ix3 ,ix4 ,nsvg ,stif ,
624 b jlt_new ,gapv ,inacti ,intbuf_tab%CAND_P,
625 c index2(nft+1),vxi ,vyi ,
626 d vzi ,msi ,kini ,icurv ,intbuf_tab%IRECTM,
627 e nnx1 ,nnx2 ,nnx3 ,nnx4 ,nny1 ,
628 f nny2 ,nny3 ,nny4 ,nnz1 ,nnz2 ,
629 g nnz3 ,nnz4 ,intbuf_tab%NODNORM_NORMAL ,iadm,rcurvi ,
630 h anglmi ,intth ,tempi ,phi ,areasi ,
631 i ieleci ,nsms ,cmaj ,drad2 ,
632 j intfric ,ipartfricsi,
633 k ipartfricmi ,itied ,jlt_tied,intbuf_tab%CAND_F,iorthfric,
634 l irep_fricmi ,dir_fricmi,dgaploadp)
637 IF (imonm > 0 .AND. jtask == 1)
CALL startime(timers,20)
638 IF(jlt_new /= 0)
THEN
640 IF (debug(3)>=1) nb_jlt_new = nb_jlt_new + jlt_new
645 IF(itask==1)
CALL startime(timers,macro_timer_fric)
646 IF(iorthfric > 0)
THEN
648 1 intfric ,jlt ,ipartfricsi ,ipartfricmi ,adparts_fric ,
649 2 nsetprts ,tabcoupleparts_fric
650 3 fric ,viscf ,intbuf_tab%FRIC_P,fric_coefs , fricc ,
651 4 viscffric ,nty ,mfrot ,iorthfric , fric_coefs2,
652 5 fricc2 ,viscffric2 ,ifricorth ,nforth , nfisot ,
653 6 indexorth ,indexisot ,jlt_tied ,irep_fricmi , dir_fricmi,
654 7 ix3 ,ix4 ,x1 ,y1 , z1 ,
655 8 x2 ,y2 ,z2 ,x3 , y3 ,
656 9 z3 ,x4 ,y4 ,z4 ,ce_loc ,
662 1 intfric ,jlt ,ipartfricsi ,ipartfricmi ,adparts_fric ,
663 2 nsetprts ,tabcoupleparts_fric,npartfric,tabparts_fric,tabcoef_fric ,
664 3 fric ,viscf ,intbuf_tab%FRIC_P,fric_coefs , fricc ,
665 4 viscffric ,nty ,mfrot ,iorthfric , ifric ,
666 5 jlt_tied , tint ,tempi ,npc ,tf ,
667 6 temp , h1 ,h2 ,h3 ,h4 ,
668 7 ix1 , ix2 ,ix3 ,ix4 ,iform )
670 IF(itask==1)
CALL stoptime(timers,macro_timer_fric)
673 1 jlt ,a ,v ,ibc ,icodt ,
674 2 fsav ,gap ,fric ,ms ,visc ,
675 3 viscf ,noint ,intbuf_tab%STFNS,itab ,cn_loc ,
676 4 stiglo ,stifn ,stif ,fskyi ,isky ,
677 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
678 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
679 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
680 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
681 9 p1 ,p2 ,p3 ,p4 ,fcont ,
682 a ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
683 b ivis2 ,neltst ,ityptst ,dt2t ,gapv ,
684 c inacti,intbuf_tab%CAND_P,index2(nft+1),kinet ,newfront ,
685 d isecin ,nstrf ,x ,intbuf_tab%IRECTM,ce_loc ,
686 e mfrot ,ifq ,intbuf_tab%FTSAVX ,intbuf_tab%FTSAVY,
687 f intbuf_tab%FTSAVZ,xfiltr_fric,intbuf_tab%IFPEN ,ibag ,
688 h icontact ,viscn ,vxi ,vyi ,vzi ,
689 i msi ,kini ,nin ,nisub ,intbuf_tab%LISUB,
690 j intbuf_tab%ADDSUBS,intbuf_tab%ADDSUBM,intbuf_tab%LISUBS ,
691 . intbuf_tab%LISUBM,fsavsub,
692 k intbuf_tab%CAND_N,ipari(33,nin),ipari(39,nin),intbuf_tab%NODNORM_NORMAL ,fncont,
693 l ftcont ,x1 ,x2 ,x3 ,x4 ,
694 m y1 , y2 ,y3 ,y4 ,z1 ,
695 n z2 ,z3 ,z4 ,xi ,yi ,
696 o zi ,iadm ,rcurvi ,rcontact ,acontact ,
697 p pcontact ,anglmi ,padm ,intth ,temp ,
698 q tempi ,iform ,npc ,tf ,cmaj ,
699 r dtmini ,drad ,fheats ,fheatm ,efrict ,
700 s qfricint(nin),fni ,ifric ,jtask ,h1 ,
701 u h2 ,h3 ,h4 ,ks ,kt ,
702 v k1 ,k2 ,k3 ,k4 ,c1 ,
703 w c2 ,c3 ,c4 ,cs ,c ,
704 x cf ,tint ,xfric ,fxi ,fyi ,
705 y fzi ,fx1 ,fy1 ,fz1 ,fx2 ,
706 z fy2 ,fz2 ,fx3 ,fy3 ,fz3 ,
707 1 fx4 ,fy4 ,fz4 ,isensint ,fsavparit ,
708 5 nft ,sym_flag_type19,h3d_data,fricc ,viscffric ,
709 6 fric_coefs ,itied ,jlt_tied ,intbuf_tab%CAND_F,iorthfric,
710 7 fric_coefs2 ,fricc2 ,viscffric2 ,nforth ,nfisot ,
711 8 indexorth ,indexisot ,dir1 ,dir2 ,tagncont ,
712 9 kloadpinter ,loadpinter ,loadp_hyd_inter,intbuf_tab%TYPSUB
714 a intbuf_tab%INFLG_SUBM,ninloadp,dgaploadint,s_loadpinter,dgaploadp,
718 CALL i7therm(jlt ,iparg ,pm ,ixs ,iform ,x ,
719 1 xi ,yi ,zi ,x1 ,y1 ,z1 ,
720 2 x2 ,y2 ,z2 ,x3 ,y3 ,z3 ,
721 3 x4 ,y4 ,z4 ,ix1 ,ix2 ,ix3 ,
722 4 ix4 ,rstif ,tempi, intbuf_tab%IELEC ,
723 5 phi ,tint , areasi,ieleci ,frad,drad ,
725 6 condint,phi1,phi2 ,phi3 ,phi4 ,fheats,
731 1 jlt ,a ,noint ,itab ,stifn ,
732 2 stif ,fskyi ,isky ,fcont ,ix1 ,
733 3 ix2 ,ix3 ,ix4 ,nsvg ,neltst ,
734 4 ityptst ,dt2t ,niskyfi ,isecin ,nstrf ,
735 5 secfcum ,viscn ,nin ,fxi ,fyi ,
736 6 fzi ,fx1 ,fy1 ,fz1 ,fx2 ,
737 7 fy2 ,fz2 ,fx3 ,fy3 ,fz3 ,
738 8 fx4 ,fy4 ,fz4 ,h1 ,h2 ,
739 9 h3 ,h4 ,ks ,kt ,k1 ,
740 a k2 ,k3 ,k4 ,cs ,cf ,
741 b c1 ,c2 ,c3 ,c4 ,c ,
742 c intth ,phi ,phi1 ,phi2 ,phi3 ,
743 d phi4 ,fthe ,ftheskyi ,mskyi_sms ,iskyi_sms ,
744 e nsms ,dtmini ,jtask ,
745 f condn ,condint ,condnskyi ,ixig3d ,kxig3d ,
746 j wige ,knot ,igeo ,intbuf_tab%NIGE ,
747 k intbuf_tab%RIGE ,x ,h3d_data ,knotlocpc ,
748 l knotlocel ,iform ,nodadt_therm)
755 IF (imonm > 0 .AND. jtask == 1)
CALL stoptime(timers,20)
758 ns_imp(i+num_imp)=cn_loc(i)
759 ne_imp(i+num_imp)=ce_loc(i)
760 ind_imp(i+num_imp)=index2(i+nft)
762 num_imp=num_imp+jlt_new
766 IF (sfsavparit /= 0)
THEN
767 CALL sum_6_float_sens(fsavparit, nisub+1, 11, i_stok,1,i_stok, fbsav6, 12, 6, dimfb, isensint )
769 IF (
ALLOCATED(fsavparit))
DEALLOCATE (fsavparit)
771 IF(icurv == 3 .OR. iadm /= 0)
THEN
773 IF(jtask==1)
DEALLOCATE(intbuf_tab%NODNORM_NORMAL)
777 IF(jtask==1)
DEALLOCATE(intbuf_tab%MODRCURV,intbuf_tab%MODANGLM)
780 ilagm = ipari(33,nin)
784 1 nin ,ipari ,intbuf_tab ,x ,v ,
785 2 a ,jtask-1,igrbric ,eminx(iad17),ms ,
786 3 ixs ,ixs16 ,ixs20 ,stifn ,fskyi ,isky ,
787 4 fsav ,fcont ,niskyfi ,h3d_data)
subroutine i7for3(jlt, a, v, ibcc, icodt, fsav, gap, fric, ms, visc, viscf, noint, stfn, itab, cn_loc, stiglo, stifn, stif, fskyi, isky, nx1, nx2, nx3, nx4, ny1, ny2, ny3, ny4, nz1, nz2, nz3, nz4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, p1, p2, p3, p4, fcont, ix1, ix2, ix3, ix4, nsvg, ivis2, neltst, ityptst, dt2t, gapv, inacti, cand_p, index, kinet, newfront, isecin, nstrf, x, irect, ce_loc, mfrot, ifq, cand_fx, cand_fy, cand_fz, alpha0, ifpen, ibag, icontact, viscn, vxi, vyi, vzi, msi, kini, nin, nisub, lisub, addsubs, addsubm, lisubs, lisubm, fsavsub, cand_n, ilagm, icurv, nod_normal, fncont, ftcont, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, iadm, rcurvi, rcontact, acontact, pcontact, anglmi, padm, intth, temp, tempi, iform, npc, tf, cmaj, dtmini, drad, fheats, fheatm, efrict, qfric, fni, ifric, jtask, h1, h2, h3, h4, ks, kt, k1, k2, k3, k4, c1, c2, c3, c4, cs, c, cf, tint, xfric, fxi, fyi, fzi, fx1, fy1, fz1, fx2, fy2, fz2, fx3, fy3, fz3, fx4, fy4, fz4, isensint, fsavparit, nft, sym_flag_type19, h3d_data, fricc, viscffric, fric_coefs, itied, jlt_tied, cand_f, iorthfric, fric_coefs2, fricc2, viscffric2, nforth, nfisot, indexorth, indexisot, dir1, dir2, tagncont, kloadpinter, loadpinter, loadp_hyd_inter, typsub, inflg_subs, inflg_subm, ninloadp, dgaploadint, s_loadpinter, dgaploadp, interefric)