65 2 ICODT ,FSAV ,V ,MS ,DT2T ,
66 3 NELTST ,ITYPTST ,ITAB ,STIFN ,FSKYI ,
67 4 ISKY ,FCONT ,NIN ,LINDMAX ,KINET ,
68 5 JTASK ,NB_JLT ,NB_JLT_NEW,NB_STOK_N ,
69 6 NISKYFI ,NEWFRONT ,NSTRF ,SECFCUM ,ICONTACT ,
71 9 NS_IMP ,NE_IMP ,IND_IMP ,FSAVSUB ,NRTMDIM ,
73 B EMINX ,IXS ,IXS16 ,IXS20 ,FNCONT ,
74 C FTCONT ,IAD_ELEM ,FR_ELEM ,RCONTACT ,ACONTACT ,
75 D PCONTACT ,TEMP ,FTHE ,FTHESKYI ,
76 E PM ,IPARG ,IAD17 ,WEIGHT ,NISKYFIE ,
77 F IRLEN20 ,ISLEN20 ,IRLEN20T ,ISLEN20T ,IRLEN20E ,
78 G ISLEN20E ,MSKYI_SMS ,ISKYI_SMS ,NODNX_SMS ,NPC ,
79 H TF ,INTBUF_TAB,FBSAV6 ,ISENSINT ,DIMFB ,
80 I H3D_DATA ,theaccfact)
93#include "implicit_f.inc"
101#include "com01_c.inc"
102#include "com04_c.inc"
103#include "com08_c.inc"
104#include "param_c.inc
"
107#include "parit_c.inc
"
108#include "timeri_c.inc
"
112 type(output_), intent(inout) :: output
113 INTEGER NELTST,ITYPTST,NIN,NEWFRONT,NSTRF(*),
114 . NRTMDIM, IAD17, IRLEN20, ISLEN20, IRLEN20T, ISLEN20T,
115 . IRLEN20E, ISLEN20E, DIMFB
116 INTEGER IPARI(NPARI), ICODT(*),ICONTACT(*),
117 . ITAB(*), ISKY(*), KINET(*),
118 . WEIGHT(*),IPARG(NPARG,*)
119 INTEGER NB_JLT,NB_JLT_NEW,NB_STOK_N,JTASK,
120 . NISKYFI, LINDMAX, NISKYFIE
121 INTEGER NUM_IMP,NS_IMP(*),NE_IMP(*),IND_IMP(*)
122 INTEGER IXS(*) ,IXS16(*) ,IXS20(*)
123 INTEGER IAD_ELEM(2,*),FR_ELEM(*),
124 . ISKYI_SMS(*), NODNX_SMS(*),NPC(*), ISENSINT(*)
125 my_real, intent(in) :: theaccfact
128 . X(*), A(3,*), FSAV(*), V(3,*),FSAVBAG(*),
129 . MS(*),STIFN(*),FSKYI(LSKYI,4),FCONT(3,*),
130 . SECFCUM(7,NUMNOD,NSECT),VISCN(*), FSAVSUB(*),
131 . FNCONT(3,*), FTCONT(3,*), RCONTACT(*), ACONTACT(*),
133 . TEMP(*),FTHE(*),FTHESKYI(LSKYI),PM(NPROPM,*),
136 DOUBLE PRECISION FBSAV6(12,6,DIMFB)
137 TYPE(TIMER_) :: TIMERS
138 TYPE(INTBUF_STRUCT_) INTBUF_TAB
139 TYPE(H3D_DATABASE) :: H3D_DATA
146 INTEGER I, I_STOK, JLT_NEW, JLT , NFT, IVIS2,
147 . IBC, NOINT, ISECIN, IBAG, IADM,
148 . IGAP, INACTI, IFQ, MFROT, IGSTI, NISUB,
149 . NB_LOC, I_STOK_LOC,DEBUT,
150 . LENR, LENT, MAXCC,INTTH,IFORM,
151 . NLN, NRTMFT, NRTMLT, NMNFT, NMNLT, NRADM,
152 . NLNFT1, NLNLT, NLNL, IFUNCTK, SFSAVPARIT, J, H, IERROR
153 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
154 . NSVG(MVSIZ), CN_LOC(MVSIZ),CE_LOC(MVSIZ),
155 . CAND_N_N(MVSIZ),CAND_E_N(MVSIZ),KINI(MVSIZ),
157 . ISDSIZ(NSPMD+1),IRCSIZ(NSPMD+1),ITAG(NUMNOD),
161 . STARTT, FRIC, GAP, STOPT,
162 . VISC,VISCF,STIGLO,GAPMIN,
163 . KMIN, KMAX, GAPMAX,RSTIF,FHEAT,TINT,FRAD,DRAD,
168 . NX1(MVSIZ), NX2(MVSIZ), NX3(MVSIZ), NX4(MVSIZ),
169 . NY1(MVSIZ), NY2(MVSIZ), NY3(MVSIZ), NY4(MVSIZ),
170 . NZ1(MVSIZ), NZ2(MVSIZ), NZ3(MVSIZ), NZ4(MVSIZ),
171 . LB1(MVSIZ), LB2(MVSIZ), LB3(MVSIZ), LB4(MVSIZ),
172 . LC1(MVSIZ), LC2(MVSIZ), LC3(MVSIZ), LC4(MVSIZ),
173 . P1(MVSIZ), P2(MVSIZ), P3(MVSIZ), P4(MVSIZ),
174 . X1(MVSIZ), X2(MVSIZ), X3(MVSIZ), X4(MVSIZ),
175 . Y1(MVSIZ), Y2(MVSIZ), Y3(MVSIZ), Y4(MVSIZ),
176 . Z1(MVSIZ), Z2(MVSIZ), Z3(MVSIZ), Z4(MVSIZ),
177 . XI(MVSIZ), YI(MVSIZ), ZI(MVSIZ), STIF(MVSIZ),
179 . H1(MVSIZ), H2(MVSIZ), H3(MVSIZ), H4(MVSIZ),
180 . GAPV(MVSIZ),VXI(MVSIZ),VYI(MVSIZ),VZI(MVSIZ),MSI(MVSIZ),
181 . GAPR(MVSIZ),TEMPI(MVSIZ),PHI(MVSIZ),AREASI(MVSIZ)
183 . NX(MVSIZ),NY(MVSIZ),NZ(MVSIZ),
184 . HS1(MVSIZ), HS2(MVSIZ), HM1(MVSIZ), HM2(MVSIZ),
185 . XXS1(MVSIZ), XXS2(MVSIZ), XYS1(MVSIZ), XYS2(MVSIZ),
186 . XZS1(MVSIZ), XZS2(MVSIZ), XXM1(MVSIZ), XXM2(MVSIZ),
187 . XYM1(MVSIZ), XYM2(MVSIZ), XZM1(MVSIZ), XZM2(MVSIZ),
188 . VXS1(MVSIZ), VXS2(MVSIZ), VYS1(MVSIZ), VYS2(MVSIZ),
189 . VZS1(MVSIZ), VZS2(MVSIZ), VXM1(MVSIZ), VXM2(MVSIZ),
190 . VYM1(MVSIZ), VYM2(MVSIZ), VZM1(MVSIZ), VZM2(MVSIZ),
191 . MS1(MVSIZ), MS2(MVSIZ), MM1(MVSIZ), MM2(MVSIZ)
193 . RCURVI(MVSIZ), ANGLMI(MVSIZ), ANGLT, PADM
195 . NNX1(MVSIZ), NNX2(MVSIZ), NNX3(MVSIZ), NNX4(MVSIZ),
196 . NNY1(MVSIZ), NNY2(MVSIZ), NNY3(MVSIZ), NNY4(MVSIZ),
197 . NNZ1(MVSIZ), NNZ2(MVSIZ), NNZ3(MVSIZ), NNZ4(MVSIZ),
198 . CMAJ(MVSIZ),CONDINT(MVSIZ),FNI(MVSIZ),
199 . PHI1(MVSIZ),PHI2(MVSIZ),PHI3(MVSIZ),PHI4(MVSIZ),EFRICT(MVSIZ)
200 INTEGER N1(MVSIZ), N2(MVSIZ), M1(MVSIZ), M2(MVSIZ),
201 . NL1(MVSIZ), NL2(MVSIZ),ML1(MVSIZ), ML2(MVSIZ),
202 . CS_LOC(MVSIZ), CM_LOC(MVSIZ), NSMS(MVSIZ)
203 INTEGER ICURV,IMPL_S0
204 my_real, DIMENSION(:,:,:), ALLOCATABLE :: FSAVPARIT
205 INTEGER NSN, NTY, NLINSA
211 IF(IPARI(33) == 1) RETURN
227 PADM =INTBUF_TAB%VARIABLES(24)
228 ANGLT=INTBUF_TAB%VARIABLES(25)
233 STIGLO=-INTBUF_TAB%STFAC(1)
234 STARTT=INTBUF_TAB%VARIABLES(3)
235 STOPT =INTBUF_TAB%VARIABLES(11)
236 IF(STARTT > TT) RETURN
237 IF(TT > STOPT) RETURN
239 FRIC =INTBUF_TAB%VARIABLES(1)
240 GAP =INTBUF_TAB%VARIABLES(2)
241 GAPMIN=INTBUF_TAB%VARIABLES(13)
242 VISC =INTBUF_TAB%VARIABLES(14)
243 VISCF =INTBUF_TAB%VARIABLES(15)
245 GAPMAX=INTBUF_TAB%VARIABLES(16)
246 KMIN =INTBUF_TAB%VARIABLES(17)
247 KMAX =INTBUF_TAB%VARIABLES(18)
249 RSTIF = INTBUF_TAB%VARIABLES(20)
250 FHEAT = INTBUF_TAB%VARIABLES(21)
251 TINT = INTBUF_TAB%VARIABLES(22)
256 IF (IMPL_S0 == 1) THEN
277 ALLOCATE(INTBUF_TAB%SOLIDN_NORMAL (3,NUMNOD))
278 CALL I20NORMS(IPARI(4),INTBUF_TAB%IRECTM,NUMNOD,X,INTBUF_TAB%SOLIDN_NORMAL,
279 2 IPARI(6),INTBUF_TAB%MSR,NLN,INTBUF_TAB%NLG,INTBUF_TAB%GAP_SH,
280 3 IAD_ELEM,FR_ELEM,INTBUF_TAB%NSV,NSN)
283 LENR = IAD_ELEM(1,NSPMD+1)-IAD_ELEM(1,1)
284 CALL SPMD_I20EXCH_N(INTBUF_TAB%SOLIDN_NORMAL,IAD_ELEM,FR_ELEM,LENR)
287 ALLOCATE(INTBUF_TAB%SOLIDN_NORMAL_F (3,IPARI(24)))
289 ALLOCATE(INTBUF_TAB%SOLIDN_NORMAL_FE(3,2*IPARI(57)))
291 1 INTBUF_TAB%SOLIDN_NORMAL,INTBUF_TAB%SOLIDN_NORMAL_F,INTBUF_TAB%SOLIDN_NORMAL_FE,NIN ,IRLEN20 ,
292 2 ISLEN20 ,IRLEN20T ,ISLEN20T ,IRLEN20E,ISLEN20E,
293 3 INTBUF_TAB%NSV,INTBUF_TAB%NLG ,INTBUF_TAB%IXLINS )
306 ALLOCATE(INTBUF_TAB%NODNORM_NORMAL (3,NUMNOD))
308 CALL I20NORM(IPARI(4),INTBUF_TAB%IRECTM,NUMNOD,X,INTBUF_TAB%NODNORM_NORMAL,
309 . IPARI(6),INTBUF_TAB%MSR,NLN,INTBUF_TAB%NLG)
312 LENR = IAD_ELEM(1,NSPMD+1)-IAD_ELEM(1,1)
313 CALL SPMD_EXCH_N(INTBUF_TAB%NODNORM_NORMAL,IAD_ELEM,FR_ELEM,LENR)
317 LENR = IAD_ELEM(1,NSPMD+1)-IAD_ELEM(1,1)
320 1 IPARI(4),INTBUF_TAB%IRECTM,NUMNOD,IAD_ELEM,FR_ELEM,
321 2 ISDSIZ ,IRCSIZ ,ITAG ,LENR ,LENT ,
322 3 MAXCC ,NLN ,INTBUF_TAB%NLG)
325 1 IPARI(4),INTBUF_TAB%IRECTM,NUMNOD ,ITAG ,LENT ,
326 2 MAXCC ,NLN ,INTBUF_TAB%NLG)
329 1 IPARI(4),INTBUF_TAB%IRECTM,NUMNOD ,X ,INTBUF_TAB%NODNORM_NORMAL,
330 2 IPARI(6),INTBUF_TAB%MSR,LENT ,MAXCC,ISDSIZ ,
331 3 IRCSIZ ,IAD_ELEM ,FR_ELEM,ITAG ,NLN,INTBUF_TAB%NLG)
346 ALLOCATE(INTBUF_TAB%MODRCURV(NRTMDIM),INTBUF_TAB%MODANGLM(NRTMDIM))
347 ALLOCATE(INTBUF_TAB%NODNORM_NORMAL (3,NUMNOD))
351 . IPARI(4),INTBUF_TAB%IRECTM,NUMNOD,X ,INTBUF_TAB%NODNORM_NORMAL,
352 . IPARI(6),INTBUF_TAB%MSR,NLN,INTBUF_TAB%NLG)
355 LENR = IAD_ELEM(1,NSPMD+1)-IAD_ELEM(1,1)
356 CALL SPMD_EXCH_N(INTBUF_TAB%NODNORM_NORMAL,IAD_ELEM,FR_ELEM,LENR)
360 LENR = IAD_ELEM(1,NSPMD+1)-IAD_ELEM(1,1)
363 1 IPARI(4),INTBUF_TAB%IRECTM,NUMNOD,IAD_ELEM,FR_ELEM,
364 2 ISDSIZ ,IRCSIZ ,ITAG ,LENR ,LENT ,
365 3 MAXCC ,NLN ,INTBUF_TAB%NLG)
368 1 IPARI(4),INTBUF_TAB%IRECTM,NUMNOD ,ITAG ,LENT ,
369 2 MAXCC ,NLN ,INTBUF_TAB%NLG)
373 1 IPARI(4),INTBUF_TAB%IRECTM,NUMNOD ,X ,INTBUF_TAB%NODNORM_NORMAL,
374 2 IPARI(6),INTBUF_TAB%MSR,LENT ,MAXCC,ISDSIZ ,
375 3 IRCSIZ ,IAD_ELEM ,FR_ELEM,ITAG ,NLN,INTBUF_TAB%NLG)
384 NMNFT=1+(JTASK-1)*IPARI(6)/NTHREAD
385 NMNLT=JTASK*IPARI(6)/NTHREAD
388 . NMNFT,NMNLT,INTBUF_TAB%NODNORM_NORMAL,INTBUF_TAB%MSR,NLN,INTBUF_TAB%NLG)
391 NRTMFT=1+(JTASK-1)*IPARI(4)/NTHREAD
392 NRTMLT=JTASK*IPARI(4)/NTHREAD
393 CALL I20RCURV(NRTMFT, NRTMLT ,X ,INTBUF_TAB%NODNORM_NORMAL ,INTBUF_TAB%IRECTM ,
394 . INTBUF_TAB%MODRCURV , NRADM ,INTBUF_TAB%MODANGLM ,ANGLT,NLN,INTBUF_TAB%NLG )
399 I_STOK = INTBUF_TAB%I_STOK(1)
401 NB_LOC = I_STOK / NTHREAD
402 IF (JTASK==NTHREAD) THEN
403 I_STOK_LOC = I_STOK-NB_LOC*(NTHREAD-1)
407 DEBUT = (JTASK-1)*NB_LOC
414 DO I = DEBUT+1, DEBUT+I_STOK_LOC
415 IF(INTBUF_TAB%CAND_N(I) < 0) THEN
419 INTBUF_TAB%CAND_N(I) = -INTBUF_TAB%CAND_N(I)
423 IF (DEBUG(3)>=1) THEN
424 NB_JLT = NB_JLT + I_STOK_LOC
425 NB_STOK_N = NB_STOK_N + I_STOK
431 IF(ISENSINT(I)/=0) THEN
432 SFSAVPARIT = SFSAVPARIT + 1
435 IF (SFSAVPARIT /= 0) THEN
436 ALLOCATE(FSAVPARIT(NISUB+1,11,I_STOK),STAT=IERROR)
438 CALL ANCMSG(MSGID=19,ANMODE=ANINFO,
439 . C1='(/INTER/TYPE20)')
445 FSAVPARIT(H,I,J) = ZERO
450 ALLOCATE(FSAVPARIT(0,0,0),STAT=IERROR)
452 CALL ANCMSG(MSGID=19,ANMODE=ANINFO,
453 . C1='(/INTER/TYPE20)')
458 DO NFT = 0 , I_STOK - 1 , NVSIZ
460 JLT = MIN( NVSIZ, I_STOK - NFT )
463 1 JLT,INDEX2(NFT+1),INTBUF_TAB%CAND_E,INTBUF_TAB%CAND_N,
467 1 JLT ,INTBUF_TAB%XA,INTBUF_TAB%IRECTM,INTBUF_TAB%NSV,CAND_E_N,
468 2 CAND_N_N ,INTBUF_TAB%STFM,INTBUF_TAB%STFA,X1 ,X2 ,
469 3 X3 ,X4 ,Y1 ,Y2 ,Y3 ,
470 4 Y4 ,Z1 ,Z2 ,Z3 ,Z4 ,
471 5 XI ,YI ,ZI ,STIF ,IX1 ,
472 6 IX2 ,IX3 ,IX4 ,NSVG ,IGAP ,
473 7 GAP ,INTBUF_TAB%GAP_S,INTBUF_TAB%GAP_M,GAPV ,GAPR ,
474 8 MS ,VXI ,VYI ,NLN ,INTBUF_TAB%NLG,
475 9 VZI ,MSI ,NSN ,INTBUF_TAB%VA,KINET ,
476 A KINI ,NTY ,NIN ,IGSTI ,KMIN ,
477 B KMAX ,GAPMAX ,GAPMIN ,IADM ,INTBUF_TAB%MODRCURV ,
478 C RCURVI ,INTBUF_TAB%MODANGLM ,ANGLMI ,INTTH ,TEMP ,
479 D TEMPI ,PHI ,INTBUF_TAB%AREAS,INTBUF_TAB%IELEC,AREASI ,
480 E IELECI ,INTBUF_TAB%GAP_SH,INTBUF_TAB%STFAC,NODNX_SMS,NSMS )
485 1 JLT ,CAND_N_N ,CAND_E_N ,CN_LOC ,CE_LOC ,
486 2 X1 ,X2 ,X3 ,X4 ,Y1 ,
487 3 Y2 ,Y3 ,Y4 ,Z1 ,Z2 ,
488 4 Z3 ,Z4 ,XI ,YI ,ZI ,
489 5 NX1 ,NX2 ,NX3 ,NX4 ,NY1 ,
490 6 NY2 ,NY3 ,NY4 ,NZ1 ,NZ2 ,
491 7 NZ3 ,NZ4 ,LB1 ,LB2 ,LB3 ,
492 8 LB4 ,LC1 ,LC2 ,LC3 ,LC4 ,
493 9 P1 ,P2 ,P3 ,P4 ,IX1 ,
494 A IX2 ,IX3 ,IX4 ,NSVG ,STIF ,
495 B JLT_NEW ,GAPV ,INACTI ,INTBUF_TAB%SOLIDN_NORMAL,
496 C INDEX2(NFT+1),VXI ,VYI ,GAPR ,INTBUF_TAB%GAP_SH,
497 D VZI ,MSI ,KINI ,ICURV ,INTBUF_TAB%IRECTM,
498 E NNX1 ,NNX2 ,NNX3 ,NNX4 ,NNY1 ,
499 F NNY2 ,NNY3 ,NNY4 ,NNZ1 ,NNZ2 ,
500 G NNZ3 ,NNZ4 ,INTBUF_TAB%NODNORM_NORMAL ,IADM ,RCURVI ,
501 H ANGLMI ,INTTH ,TEMPI ,PHI ,AREASI ,
502 I IELECI ,NLN ,INTBUF_TAB%NLG,IGAP ,GAPMAX ,
503 J INTBUF_TAB%SOLIDN_NORMAL_F ,NSMS ,INTBUF_TAB%NBINFLG,INTBUF_TAB%GAP_M,
506.AND.
IF (IMONM > 0 JTASK == 1) CALL STARTIME(TIMERS,20)
509 IF (DEBUG(3)>=1)NB_JLT_NEW = NB_JLT_NEW + JLT_NEW
512 CALL I7THERM(JLT ,IPARG ,PM ,IXS ,IFORM ,X ,
513 1 XI ,YI ,ZI ,X1 ,Y1 ,Z1 ,
514 2 X2 ,Y2 ,Z2 ,X3 ,Y3 ,Z3 ,
515 3 X4 ,Y4 ,Z4 ,IX1 ,IX2 ,IX3 ,
516 4 IX4 ,RSTIF ,TEMPI, INTBUF_TAB%IELEC,
517 5 PHI ,TINT ,AREASI, IELECI,FRAD,DRAD ,
518 6 GAPV ,FNI ,IFUNCTK,XTHE,NPC ,TF ,
519 7 CONDINT,PHI1,PHI2 ,PHI3 ,PHI4 ,FHEATS,
520 7 FHEATM,EFRICT,TEMP ,H1 ,H2 ,H3 ,
525 1 JLT ,A ,INTBUF_TAB%VA,IBC ,ICODT ,
526 2 FSAV ,GAP ,FRIC ,MS ,VISC ,
527 3 VISCF ,NOINT ,INTBUF_TAB%STFA,ITAB ,CN_LOC ,
528 4 STIGLO ,STIFN ,STIF ,FSKYI ,ISKY ,
529 5 NX1 ,NX2 ,NX3 ,NX4 ,NY1 ,
530 6 NY2 ,NY3 ,NY4 ,NZ1 ,NZ2 ,
531 7 NZ3 ,NZ4 ,LB1 ,LB2 ,LB3 ,
532 8 LB4 ,LC1 ,LC2 ,LC3 ,LC4 ,
533 9 P1 ,P2 ,P3 ,P4 ,FCONT ,
534 B IX1 ,IX2 ,IX3 ,IX4 ,NSVG ,
535 C IVIS2 ,NELTST ,ITYPTST ,DT2T ,
536 D GAPV ,INACTI ,INDEX2(NFT+1),NISKYFI ,
537 E KINET ,NEWFRONT ,ISECIN ,NSTRF ,SECFCUM ,
538 F X ,INTBUF_TAB%XA,CE_LOC ,MFROT ,IFQ ,
539 G INTBUF_TAB%FRIC_P,INTBUF_TAB%CAND_FX,INTBUF_TAB%CAND_FY,INTBUF_TAB%CAND_FZ,
541 H INTBUF_TAB%IFPEN,GAPR,INTBUF_TAB%AVX_ANCR ,NLN ,INTBUF_TAB%NLG,
542 I IBAG ,ICONTACT ,INTBUF_TAB%NSV,INTBUF_TAB%PENIS,
544 J VISCN ,VXI ,VYI ,VZI ,MSI ,
545 K KINI ,NIN ,NISUB ,INTBUF_TAB%LISUB,INTBUF_TAB%ADDSUBS,
546 L INTBUF_TAB%ADDSUBM,INTBUF_TAB%LISUBS,INTBUF_TAB%LISUBM,FSAVSUB,INTBUF_TAB%CAND_N,
547 M IPARI(33) ,IPARI(39) ,INTBUF_TAB%NODNORM_NORMAL ,FNCONT ,FTCONT ,
548 N X1 ,X2 ,X3 ,X4 ,Y1 ,
549 O Y2 ,Y3 ,Y4 ,Z1 ,Z2 ,
550 P Z3 ,Z4 ,XI ,YI ,ZI ,
551 Q IADM ,RCURVI ,RCONTACT ,ACONTACT ,PCONTACT ,
552 R ANGLMI ,PADM ,INTTH , PHI , FTHE ,
553 S FTHESKYI ,INTBUF_TAB%DAANC6,TEMP ,TEMPI ,RSTIF ,
554 T IFORM ,INTBUF_TAB%GAP_S,IGAP ,INTBUF_TAB%ALPHAK,MSKYI_SMS,
555 U ISKYI_SMS ,NSMS ,CMAJ ,JTASK ,ISENSINT ,
556 V FSAVPARIT ,NFT ,H3D_DATA )
559.AND.
IF (IMONM > 0 JTASK == 1) CALL STOPTIME(TIMERS,20)
562 IF(IMPL_S0 == 1) THEN
564 NS_IMP(I+NUM_IMP)=CN_LOC(I)
565 NE_IMP(I+NUM_IMP)=CE_LOC(I)
566 IND_IMP(I+NUM_IMP)=INDEX2(I+NFT)
568 NUM_IMP=NUM_IMP+JLT_NEW
573 IF (SFSAVPARIT /= 0)THEN
574 CALL SUM_6_FLOAT_SENS(FSAVPARIT, NISUB+1, 11, I_STOK,1,I_STOK,
575 . FBSAV6, 12, 6, DIMFB, ISENSINT )
577 IF(ALLOCATED(FSAVPARIT)) DEALLOCATE (FSAVPARIT)
583 I_STOK = INTBUF_TAB%I_STOK_E(1)
586 NB_LOC = I_STOK / NTHREAD
587 IF (JTASK==NTHREAD) THEN
588 I_STOK_LOC = I_STOK-NB_LOC*(NTHREAD-1)
592 DEBUT = (JTASK-1)*NB_LOC
595 DO I = DEBUT+1, DEBUT+I_STOK_LOC
596 IF(INTBUF_TAB%LCAND_S(I) < 0) THEN
600 INTBUF_TAB%LCAND_S(I) = -INTBUF_TAB%LCAND_S(I)
603 IF (DEBUG(3)>=1) THEN
604 NB_JLT = NB_JLT + I_STOK_LOC
605 NB_STOK_N = NB_STOK_N + I_STOK
610 IF(ISENSINT(I)/=0) THEN
611 SFSAVPARIT = SFSAVPARIT + 1
614 IF (SFSAVPARIT /= 0) THEN
615 ALLOCATE(FSAVPARIT(NISUB+1,11,I_STOK),STAT=IERROR)
617 CALL ANCMSG(MSGID=19,ANMODE=ANINFO,
618 . C1='(/INTER/TYPE20)')
624 FSAVPARIT(H,I,J) = ZERO
629 ALLOCATE(FSAVPARIT(0,0,0),STAT=IERROR)
631 CALL ANCMSG(MSGID=19,ANMODE=ANINFO,
632 . C1='(/INTER/TYPE20)')
637 DO NFT = 0 , I_STOK - 1 , NVSIZ
638 JLT = MIN( NVSIZ, I_STOK - NFT )
641 1 JLT,INDEX2(NFT+1),INTBUF_TAB%LCAND_N,INTBUF_TAB%LCAND_S,CM_LOC,
644 1 JLT ,INTBUF_TAB%IXLINS,INTBUF_TAB%IXLINM,INTBUF_TAB%XA,INTBUF_TAB%VA,
645 2 CS_LOC ,CM_LOC ,INTBUF_TAB%STFS,INTBUF_TAB%STF,GAPMIN ,
646 3 INTBUF_TAB%GAP_SE,INTBUF_TAB%GAP_ME,IGAP ,GAPV ,MS ,
647 4 STIF ,XXS1 ,XXS2 ,XYS1 ,XYS2 ,
648 5 XZS1 ,XZS2 ,XXM1 ,XXM2 ,XYM1 ,
649 6 XYM2 ,XZM1 ,XZM2 ,VXS1 ,VXS2 ,
650 7 VYS1 ,VYS2 ,VZS1 ,VZS2 ,VXM1 ,
651 8 VXM2 ,VYM1 ,VYM2 ,VZM1 ,VZM2 ,
652 9 MS1 ,MS2 ,MM1 ,MM2 ,N1 ,
653 A N2 ,M1 ,M2 ,NLINSA ,NIN ,
654 B NL1 ,NL2 ,ML1 ,ML2 ,INTBUF_TAB%NLG,
655 C INTBUF_TAB%STFAC,NODNX_SMS ,NSMS )
658 1 JLT ,CS_LOC,CM_LOC ,HS1 ,HS2 ,
659 2 HM1 ,HM2 ,NX ,NY ,NZ ,
660 3 STIF ,N1 ,N2 ,M1 ,M2 ,
661 4 JLT_NEW,XXS1 ,XXS2 ,XYS1 ,XYS2 ,
662 5 XZS1 ,XZS2 ,XXM1 ,XXM2 ,XYM1 ,
663 6 XYM2 ,XZM1 ,XZM2 ,VXS1 ,VXS2 ,
664 7 VYS1 ,VYS2 ,VZS1 ,VZS2 ,VXM1 ,
665 8 VXM2 ,VYM1 ,VYM2 ,VZM1 ,VZM2 ,
666 9 MS1 ,MS2 ,MM1 ,MM2 ,GAPV ,
667 A NL1 ,NL2 ,ML1 ,ML2 ,IGAP ,
668 B INTBUF_TAB%SOLIDN_NORMAL,INTBUF_TAB%GAP_SE,INTBUF_TAB%GAP_ME,NLINSA,
669 C INTBUF_TAB%SOLIDN_NORMAL_FE,NSMS)
671.AND.
IF (IMONM > 0 JTASK == 1) CALL STARTIME(TIMERS,20)
675 . NB_JLT_NEW = NB_JLT_NEW + JLT_NEW
677 1 JLT ,A ,V ,IBC ,ICODT ,
678 2 FSAV ,GAP ,FRIC ,MS ,VISC ,
679 3 VISCF ,NOINT ,ITAB ,CS_LOC ,CM_LOC ,
680 4 STIGLO ,STIFN ,STIF ,FSKYI ,ISKY ,
681 5 FCONT ,INTBUF_TAB%STFS,INTBUF_TAB%STF,DT2T ,HS1 ,
682 6 HS2 ,HM1 ,HM2 ,N1 ,N2 ,
683 7 M1 ,M2 ,IVIS2 ,NELTST ,ITYPTST ,
684 8 NX ,NY ,NZ ,GAPV ,INTBUF_TAB%PENISE,
685 9 INTBUF_TAB%PENIME,IPARI(22) ,NISKYFIE ,NEWFRONT ,ISECIN ,
686 A NSTRF ,SECFCUM ,VISCN ,NLINSA ,MS1 ,
687 B MS2 ,MM1 ,MM2 ,VXS1 ,VYS1 ,
688 C VZS1 ,VXS2 ,VYS2 ,VZS2 ,VXM1 ,
689 D VYM1 ,VZM1 ,VXM2 ,VYM2 ,VZM2 ,
690 E NIN ,NL1 ,NL2 ,ML1 ,ML2 ,
691 F INTBUF_TAB%DAANC6,INTBUF_TAB%ALPHAK,MSKYI_SMS ,ISKYI_SMS ,NSMS,
692 G JTASK ,ISENSINT ,FSAVPARIT ,NISUB ,NFT ,
696.AND.
IF (IMONM > 0 JTASK == 1) CALL STOPTIME(TIMERS,20)
699 NS_IMP(I+NUM_IMP)=CS_LOC(I)
700 NE_IMP(I+NUM_IMP)=CM_LOC(I)
702 NUM_IMP=NUM_IMP+JLT_NEW
705 IF (SFSAVPARIT /= 0)THEN
706 CALL SUM_6_FLOAT_SENS(FSAVPARIT, NISUB+1, 11, I_STOK,1,I_STOK,
707 . FBSAV6, 12, 6, DIMFB, ISENSINT )
709 IF(ALLOCATED(FSAVPARIT)) DEALLOCATE (FSAVPARIT)
719.AND.
IF (IMONM > 0 JTASK == 1) CALL STARTIME(TIMERS,20)
720 NLNFT1= (JTASK-1)*NLN/NTHREAD
721 NLNLT = JTASK*NLN/NTHREAD
722 NLNL = NLNLT - NLNFT1
724 1 NLNL ,INTBUF_TAB%NLG(1+NLNFT1),MS ,INTBUF_TAB%AVX_ANCR(1+3*NLNFT1),
725 2 INTBUF_TAB%AVX_ANCR(1+3*NLN+3*NLNFT1),INTBUF_TAB%STFA(1+NLNFT1),WEIGHT,INACTI,
726 3 INTBUF_TAB%DAANC6(1+18*2*NLNFT1),INTBUF_TAB%STFAC(1),
727 3 INTBUF_TAB%PENIA(1+5*NLNFT1),INTBUF_TAB%ALPHAK(1+3*NLNFT1),
728 4 INTBUF_TAB%AVX_ANCR(1+6*NLN+3*NLNFT1),KMIN)
730.AND.
IF (IMONM > 0 JTASK == 1) CALL STOPTIME(TIMERS,20)
734 DEALLOCATE(INTBUF_TAB%SOLIDN_NORMAL)
736 DEALLOCATE(INTBUF_TAB%SOLIDN_NORMAL_F)
737 DEALLOCATE(INTBUF_TAB%SOLIDN_NORMAL_FE)
741.OR.
IF(ICURV==3IADM/=0)THEN
743 IF(JTASK == 1)DEALLOCATE(INTBUF_TAB%NODNORM_NORMAL)
747 IF(JTASK == 1)DEALLOCATE(INTBUF_TAB%MODRCURV,INTBUF_TAB%MODANGLM)
subroutine i20mainf(output, timers, ipari, x, a, icodt, fsav, v, ms, dt2t, neltst, ityptst, itab, stifn, fskyi, isky, fcont, nin, lindmax, kinet, jtask, nb_jlt, nb_jlt_new, nb_stok_n, niskyfi, newfront, nstrf, secfcum, icontact, viscn, num_imp, ns_imp, ne_imp, ind_imp, fsavsub, nrtmdim, fsavbag, eminx, ixs, ixs16, ixs20, fncont, ftcont, iad_elem, fr_elem, rcontact, acontact, pcontact, temp, fthe, ftheskyi, pm, iparg, iad17, weight, niskyfie, irlen20, islen20, irlen20t, islen20t, irlen20e, islen20e, mskyi_sms, iskyi_sms, nodnx_sms, npc, tf, intbuf_tab, fbsav6, isensint, dimfb, h3d_data, theaccfact)