468
469
470
471 USE intbufdef_mod
472
473
474
475#include "implicit_f.inc"
476
477
478
479#include "mvsiz_p.inc"
480
481
482
483#include "com08_c.inc"
484#include "param_c.inc"
485#include "impl2_c.inc"
486
487
488
489 INTEGER IPARI(*)
490 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN,IUPD
491
493 . x(*), a(3,*),v(3,*),d(3,*),ms(*)
494
495 TYPE(INTBUF_STRUCT_) INTBUF_TAB
496
497
498
499 INTEGER I, I_STOK, NSEG,JLT , NFT, JLT_NEW, IGAP,
500 . I_STOK_LOC,DEBUT,LREM,IDESAC, IGSTI, IBID
501 INTEGER N1(MVSIZ), N2(MVSIZ), M1(MVSIZ), M2(MVSIZ)
502
504 . startt, fric, gap, stopt,stiglo, gapmin, kmin, kmax
505
506
508 . nx(mvsiz),ny(mvsiz),nz(mvsiz),
509 . hs1(mvsiz), hs2(mvsiz), hm1(mvsiz), hm2(mvsiz),
510 . stif(mvsiz),gapv(mvsiz),
511 . xxs1(mvsiz), xxs2(mvsiz), xys1(mvsiz), xys2(mvsiz),
512 . xzs1(mvsiz), xzs2(mvsiz), xxm1(mvsiz), xxm2(mvsiz),
513 . xym1(mvsiz), xym2(mvsiz), xzm1(mvsiz), xzm2(mvsiz),
514 . vxs1(mvsiz), vxs2(mvsiz), vys1(mvsiz), vys2(mvsiz),
515 . vzs1(mvsiz), vzs2(mvsiz), vxm1(mvsiz), vxm2(mvsiz),
516 . vym1(mvsiz), vym2(mvsiz), vzm1(mvsiz), vzm2(mvsiz),
517 . ms1(mvsiz), ms2(mvsiz), mm1(mvsiz), mm2(mvsiz) ,
518 . dxs1(mvsiz),dys1(mvsiz),dzs1(mvsiz),
519 . dxs2(mvsiz),dys2(mvsiz),dzs2(mvsiz),bid(mvsiz)
520 INTEGER :: NRTS
521
522 IF(num_imp==0) RETURN
523
524 ibid=0
525
526 nrts =ipari(3)
527 igap =ipari(21)
528 igsti =ipari(34)
529
530 stiglo=-intbuf_tab%STFAC(1)
531 startt=intbuf_tab%VARIABLES(3)
532 stopt =intbuf_tab%VARIABLES(11)
533 IF(startt>tt) RETURN
534 IF(tt>stopt) RETURN
535
536 fric =intbuf_tab%VARIABLES(1)
537 gap =intbuf_tab%VARIABLES(2)
538 gapmin=intbuf_tab%VARIABLES(13)
539 kmin =intbuf_tab%VARIABLES(17)
540 kmax =intbuf_tab%VARIABLES(18)
541 idesac = 0
542
543 i_stok = num_imp
544
545 DO nft = 0 , i_stok - 1 , nvsiz
546 jlt =
min( nvsiz, i_stok - nft )
548 1 jlt ,intbuf_tab%IRECTS,intbuf_tab%IRECTM,x ,v ,
549 2 cand_n(nft+1),cand_e(nft+1),intbuf_tab%STFS,intbuf_tab%STFM,gapmin ,
550 3 intbuf_tab%GAP_S,intbuf_tab%GAP_M,igap ,gapv ,ms ,
551 4 stif ,xxs1 ,xxs2 ,xys1 ,xys2 ,
552 5 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
553 6 xym2 ,xzm1 ,xzm2 ,vxs1 ,vxs2 ,
554 7 vys1 ,vys2 ,vzs1 ,vzs2 ,vxm1 ,
555 8 vxm2 ,vym1 ,vym2 ,vzm1 ,vzm2 ,
556 9 ms1 ,ms2 ,mm1 ,mm2 ,n1 ,
557 a n2 ,m1 ,m2 ,nrts ,nin ,
558 b igsti ,kmin ,kmax ,ibid ,ibid ,
559 c intbuf_tab%GAP_SL,intbuf_tab%GAP_ML ,ibid,bid ,bid
560 d bid ,bid ,bid ,intbuf_tab%AREAS ,bid ,
561 e bid ,ibid ,ibid ,intbuf_tab%IELEC,intbuf_tab%IELES ,
562 f ibid ,ibid ,ibid ,ibid ,ibid ,
563 g ibid ,ibid )
565 1 xxs1 ,xxs2 ,xys1 ,xys2 ,xzs1 ,
566 2 xzs2 ,dxs1 ,dys1 ,dzs1 ,dxs2 ,
567 3 dys2 ,dzs2 ,d ,cand_n(nft+1),nrts ,
568 4 n1 ,n2 ,nin ,iupd )
570 1 jlt ,cand_n(nft+1),cand_e(nft+1),hs1 ,hs2 ,
571 2 hm1 , hm2 ,nx ,ny ,nz ,
572 3 stif ,n1 ,n2 ,m1 ,m2 ,
573 4 xxs1 ,xxs2 ,xys1 ,xys2 ,
574 5 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
575 6 xym2 ,xzm1 ,xzm2 ,vxs1 ,vxs2 ,
576 7 vys1 ,vys2 ,vzs1 ,vzs2 ,vxm1 ,
577 8 vxm2 ,vym1 ,vym2 ,vzm1 ,vzm2 ,
578 9 ms1 ,ms2 ,mm1 ,mm2 ,gapv )
580 1 jlt ,a ,v ,gap ,ms ,
581 2 cand_n(nft+1),cand_e(nft+1),stif ,fric ,
582 3 hs1 ,hs2 ,hm1 ,hm2 ,nx ,
583 4 ny ,nz ,gapv ,intbuf_tab%PENIS,intbuf_tab%PENIM,
584 5 ipari(22) ,nrts ,ms1 ,ms2 ,mm1 ,
585 6 mm2 ,vxs1 ,vys1 ,vzs1 ,vxs2 ,
586 7 vys2 ,vzs2 ,vxm1 ,vym1 ,vzm1 ,
587 8 vxm2 ,vym2 ,vzm2 ,n1 ,n2 ,
588 9 m1 ,m2 ,nin ,dxs1 ,dys1 ,
589 a dzs1 ,dxs2 ,dys2 ,dzs2 ,d ,
590 b sk_int)
591 END DO
592
593 RETURN
subroutine i11cor3(jlt, irects, irectm, x, v, cand_s, cand_m, stfs, stfm, gap, gap_s, gap_m, igap, gapv, ms, stif, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, vxs1, vxs2, vys1, vys2, vzs1, vzs2, vxm1, vxm2, vym1, vym2, vzm1, vzm2, ms1, ms2, mm1, mm2, n1, n2, m1, m2, nrts, nin, igsti, kmin, kmax, nodnx_sms, nsms, gap_s_l, gap_m_l, intth, temp, tempi1, tempi2, tempm1, tempm2, areas, aream, areac, ieleci, ielesi, ielec, ieles, iform, itab, intfric, ipartfrics, ipartfricsi, ipartfricm, ipartfricmi)
subroutine i11corkp3(jlt, xxs1, xxs2, xys1, xys2, xzs1, xzs2, dxs1, dys1, dzs1, dxs2, dys2, dzs2, d, cand_n, nrts, n1, n2, nin, iupd)
subroutine i11dstk3(jlt, cand_s, cand_m, h1s, h2s, h1m, h2m, nx, ny, nz, stif, n1, n2, m1, m2, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, vxs1, vxs2, vys1, vys2, vzs1, vzs2, vxm1, vxm2, vym1, vym2, vzm1, vzm2, ms1, ms2, mm1, mm2, gapv)
subroutine i11kfor3(jlt, a, v, gap, ms, cs_loc, cm_loc, stif, fric, hs1, hs2, hm1, hm2, nx, ny, nz, gapv, penis, penim, inacti, nrts, ms1, ms2, mm1, mm2, vxs1, vys1, vzs1, vxs2, vys2, vzs2, vxm1, vym1, vzm1, vxm2, vym2, vzm2, n1, n2, m1, m2, nin, dxs1, dys1, dzs1, dxs2, dys2, dzs2, d, scalk)