OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i7ke3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "com01_c.inc"
#include "com04_c.inc"
#include "com08_c.inc"
#include "param_c.inc"
#include "impl2_c.inc"
#include "task_c.inc"

Go to the source code of this file.

Functions/Subroutines

subroutine i7ke3 (a, v, ms, ipari, intbuf_tab, x, nin, num_imp, cand_n, cand_e, index2, iddl, k_diag, k_lt, iadk, jdik, gap_imp, lrem)
subroutine i7mainfr (a, v, d, x, ms, ipari, intbuf_tab, num_imp, ns_imp, ne_imp)
subroutine i7forcf3 (a, v, ms, x, d, ipari, intbuf_tab, nin, num_imp, cand_n, cand_e)
subroutine imp_i7mainf (ipari, intbuf_tab, x, v, ms, nin, lindmax, jtask, num_imp, ns_imp, ne_imp, ind_imp)
subroutine i7fku3 (a, v, ms, d, ipari, intbuf_tab, x, nin, num_imp, cand_n, cand_e, index2, iupd)
subroutine ffizero (jlt, nin, nsn, cand_n)

Function/Subroutine Documentation

◆ ffizero()

subroutine ffizero ( integer jlt,
integer nin,
integer nsn,
integer, dimension(*) cand_n )

Definition at line 755 of file i7ke3.F.

756C-----------------------------------------------
757C M o d u l e s
758C-----------------------------------------------
759 USE imp_intm
760C-----------------------------------------------
761C I m p l i c i t T y p e s
762C-----------------------------------------------
763#include "implicit_f.inc"
764C-----------------------------------------------
765C C o m m o n B l o c k s
766C-----------------------------------------------
767#include "com01_c.inc"
768C-----------------------------------------------
769C D u m m y A r g u m e n t s
770C-----------------------------------------------
771 INTEGER JLT, CAND_N(*),NSN ,NIN
772C-----------------------------------------------
773C L o c a l V a r i a b l e s
774C-----------------------------------------------
775 INTEGER I,NS,NI,NN
776C-----------------------------------------------
777C--------------------------------------------------------
778C Due to multi-contacts, zero initialization should be done globally
779C--------------------------------------------------------
780 IF (nspmd>1) THEN
781 DO i=1,jlt
782 ni = cand_n(i)
783 IF(ni > nsn)THEN
784 nn = ni - nsn
785 ns=ind_int(nin)%P(nn)
786C---------pour diag_ss---
787 ffi(1,ns)=zero
788 ffi(2,ns)=zero
789 ffi(3,ns)=zero
790 dfi(1,ns)=zero
791 dfi(2,ns)=zero
792 dfi(3,ns)=zero
793 ENDIF
794 ENDDO
795 END IF
796C
797 RETURN
type(int_pointer2), dimension(:), allocatable ind_int
Definition imp_intm.F:133

◆ i7fku3()

subroutine i7fku3 ( a,
v,
ms,
d,
integer, dimension(npari,ninter) ipari,
type(intbuf_struct_) intbuf_tab,
x,
integer nin,
integer num_imp,
integer, dimension(*) cand_n,
integer, dimension(*) cand_e,
integer, dimension(*) index2,
integer iupd )

Definition at line 599 of file i7ke3.F.

602C-----------------------------------------------
603C M o d u l e s
604C-----------------------------------------------
605 USE intbufdef_mod
606C-----------------------------------------------
607C I m p l i c i t T y p e s
608C-----------------------------------------------
609#include "implicit_f.inc"
610C-----------------------------------------------
611C G l o b a l P a r a m e t e r s
612C-----------------------------------------------
613#include "mvsiz_p.inc"
614C-----------------------------------------------
615C C o m m o n B l o c k s
616C-----------------------------------------------
617#include "com04_c.inc"
618#include "com08_c.inc"
619#include "param_c.inc"
620#include "impl2_c.inc"
621C-----------------------------------------------
622C D u m m y A r g u m e n t s
623C-----------------------------------------------
624 INTEGER IPARI(NPARI,NINTER), INDEX2(*)
625 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN
626C REAL
627 my_real
628 . ms(*),v(3,*),x(*),a(3,*),d(3,*)
629 TYPE(INTBUF_STRUCT_) INTBUF_TAB
630C-----------------------------------------------
631C L o c a l V a r i a b l e s
632C-----------------------------------------------
633 INTEGER I, I_STOK, JLT_NEW, JLT , NFT, IVIS2,
634 . IBC, NOINT, NSEG, ISECIN, IBAG,
635 . IGAP, INACTI, IFQ, MFROT, IGSTI,IUPD
636 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
637 . NSVG(MVSIZ), I3N
638C REAL
639 my_real
640 . startt, fric, gap, stopt,stiglo,gapmin,
641 . kmin, kmax, gapmax,gap_imp
642C-----------------------------------------------
643C REAL
644 my_real
645 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
646 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
647 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
648 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
649 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
650 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
651 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
652 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
653 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
654 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
655 . n1(mvsiz), n2(mvsiz), n3(mvsiz), off(mvsiz),
656 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),
657 . dxi(mvsiz),dyi(mvsiz),dzi(mvsiz),
658 . msi(mvsiz)
659 INTEGER :: NSN,NTY
660C ---- A(3,I) input:D(3,I); output:Fint(3,I)-----
661 IF(num_imp==0) RETURN
662C
663 nsn =ipari(5,nin)
664 nty =ipari(7,nin)
665 IF(nty/=7)RETURN
666 IF(ipari(33,nin)==1) RETURN
667 startt=intbuf_tab%VARIABLES(3)
668 stopt =intbuf_tab%VARIABLES(11)
669 IF(startt>tt) RETURN
670 IF(tt>stopt) RETURN
671 igap =ipari(21,nin)
672 inacti=ipari(22,nin)
673 stiglo=-intbuf_tab%STFAC(1)
674 fric =intbuf_tab%VARIABLES(1)
675 gap =intbuf_tab%VARIABLES(2)
676 gapmin=intbuf_tab%VARIABLES(13)
677 igsti=ipari(34,nin)
678 gapmax=intbuf_tab%VARIABLES(16)
679 kmin =intbuf_tab%VARIABLES(17)
680 kmax =intbuf_tab%VARIABLES(18)
681 mfrot =ipari(30,nin)
682 ifq =ipari(31,nin)
683C
684 IF(nty==3)THEN
685 ELSEIF(nty==4)THEN
686 ELSEIF(nty==5)THEN
687 ELSEIF(nty==6)THEN
688C
689 ELSEIF(nty==7)THEN
690C
691 i_stok = num_imp
692C
693 DO nft = 0 , i_stok - 1 , nvsiz
694 jlt = min( nvsiz, i_stok - nft )
695 CALL i7cork3(jlt ,x,intbuf_tab%IRECTM,intbuf_tab%NSV,
696 1 cand_e(nft+1) ,cand_n(nft+1) ,intbuf_tab%STFM,
697 2 intbuf_tab%STFNS,x1 ,x2 ,
698 2 x3 ,x4 ,y1 ,y2 ,y3 ,
699 3 y4 ,z1 ,z2 ,z3 ,z4 ,
700 4 xi ,yi ,zi ,stif ,ix1 ,
701 5 ix2 ,ix3 ,ix4 ,nsvg ,igap ,
702 6 gapmin ,intbuf_tab%GAP_S,intbuf_tab%GAP_M,gapv,
703 7 ms ,vxi ,vyi ,vzi ,msi ,
704 8 v ,igsti ,kmin ,kmax ,gapmax,
705 9 gapmin ,nin ,nty ,nsn )
706 CALL i7corkp3(
707 1 jlt ,xi ,yi ,zi ,d ,
708 2 dxi ,dyi ,dzi ,nsvg ,nin ,
709 3 iupd )
710 CALL i7dstk3(
711 1 jlt ,cand_n(nft+1) ,cand_e(nft+1) ,
712 2 x1 ,x2 ,x3 ,x4 ,y1 ,
713 3 y2 ,y3 ,y4 ,z1 ,z2 ,
714 4 z3 ,z4 ,xi ,yi ,zi ,
715 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
716 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
717 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
718 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
719 9 p1 ,p2 ,p3 ,p4 ,ix1 ,
720 a ix2 ,ix3 ,ix4 ,nsvg ,stif ,
721 b i3n ,gapv ,inacti ,intbuf_tab%CAND_P ,
722 c index2(nft+1))
723 CALL i7kfor3(jlt ,a ,v ,ms ,fric ,
724 1 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
725 2 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
726 3 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
727 4 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
728 5 p1 ,p2 ,p3 ,p4 ,nin ,
729 6 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
730 7 gapv ,inacti ,intbuf_tab%CAND_P,index2(nft+1),
731 8 stiglo ,stif ,vxi ,vyi ,vzi ,msi ,
732 9 x ,intbuf_tab%IRECTM,cand_e(nft+1),mfrot ,
733 a ifq ,intbuf_tab%FRIC_P,intbuf_tab%FTSAVX,
734 b intbuf_tab%FTSAVY,intbuf_tab%FTSAVZ,
735 . intbuf_tab%XFILTR(1),
736 c dxi ,dyi ,dzi ,d ,sk_int ,
737 d x1 ,x2 ,x3 ,x4 ,y1 ,
738 e y2 ,y3 ,y4 ,z1 ,z2 ,
739 f z3 ,z4 ,xi ,yi ,zi ,
740 g ipari(39,nin) )
741 ENDDO
742C
743 ENDIF
744C
745 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine i7corkp3(jlt, xi, yi, zi, d, dxi, dyi, dzi, nsvg, nin, iupd)
Definition i7cork3.F:376
subroutine i7cork3(jlt, x, irect, nsv, cand_e, cand_n, stf, stfn, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, stif, ix1, ix2, ix3, ix4, nsvg, igap, gap, gap_s, gap_m, gapv, ms, vxi, vyi, vzi, msi, v, igsti, kmin, kmax, gapmax, gapmin, nin, ity, nsn)
Definition i7cork3.F:45
subroutine i7dstk3(jlt, cand_n, cand_e, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, nx1, nx2, nx3, nx4, ny1, ny2, ny3, ny4, nz1, nz2, nz3, nz4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, p1, p2, p3, p4, ix1, ix2, ix3, ix4, nsvg, stif, i3n, gapv, inacti, cand_p, index)
Definition i7dstk3.F:45
subroutine i7kfor3(jlt, a, v, ms, fric, nx1, nx2, nx3, nx4, ny1, ny2, ny3, ny4, nz1, nz2, nz3, nz4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, p1, p2, p3, p4, nin, ix1, ix2, ix3, ix4, nsvg, gapv, inacti, cand_p, index, stiglo, stif, vxi, vyi, vzi, msi, x, irect, ce_loc, mfrot, ifq, frot_p, cand_fx, cand_fy, cand_fz, alpha0, dxi, dyi, dzi, d, scalk, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, icurv)
Definition i7keg3.F:726
#define min(a, b)
Definition macros.h:20

◆ i7forcf3()

subroutine i7forcf3 ( a,
v,
ms,
x,
d,
integer, dimension(npari,*) ipari,
type(intbuf_struct_) intbuf_tab,
integer nin,
integer num_imp,
integer, dimension(*) cand_n,
integer, dimension(*) cand_e )

Definition at line 269 of file i7ke3.F.

272C-----------------------------------------------
273C M o d u l e s
274C-----------------------------------------------
275 USE intbufdef_mod
276C-----------------------------------------------
277C I m p l i c i t T y p e s
278C-----------------------------------------------
279#include "implicit_f.inc"
280C-----------------------------------------------
281C G l o b a l P a r a m e t e r s
282C-----------------------------------------------
283#include "mvsiz_p.inc"
284C-----------------------------------------------
285C C o m m o n B l o c k s
286C-----------------------------------------------
287#include "com08_c.inc"
288#include "param_c.inc"
289#include "impl2_c.inc"
290C-----------------------------------------------
291C D u m m y A r g u m e n t s
292C-----------------------------------------------
293 INTEGER IPARI(NPARI,*)
294 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN
295C REAL
296 my_real
297 . a(3,*), ms(*), v(3,*),d(3,*),x(*)
298
299 TYPE(INTBUF_STRUCT_) INTBUF_TAB
300C-----------------------------------------------
301C L o c a l V a r i a b l e s
302C-----------------------------------------------
303 INTEGER I, I_STOK, JLT_NEW, JLT , NFT,
304 . INACTI, NSN,NTY,L
305 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ),
306 . IX4(MVSIZ),NSVG(MVSIZ)
307C REAL
308 my_real
309 . startt, fric, stopt
310C-----------------------------------------------
311C REAL
312 my_real
313 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),
314 . dxi(mvsiz),dyi(mvsiz),dzi(mvsiz),
315 . h1(mvsiz),h2(mvsiz),h3(mvsiz),h4(mvsiz),
316 . msi(mvsiz),stif(mvsiz),
317 . n1(mvsiz),n2(mvsiz),n3(mvsiz)
318C----------------------------------------------
319C
320 nsn =ipari(5,nin)
321 nty =ipari(7,nin)
322 IF(ipari(33,nin)==1) RETURN
323 startt=intbuf_tab%VARIABLES(3)
324 stopt =intbuf_tab%VARIABLES(11)
325 IF(startt>tt) RETURN
326 IF(tt>stopt) RETURN
327 fric =intbuf_tab%VARIABLES(1)
328C
329 IF(nty==3)THEN
330 ELSEIF(nty==4)THEN
331 ELSEIF(nty==5)THEN
332 ELSEIF(nty==6)THEN
333C
334 ELSEIF(nty==7)THEN
335C
336 i_stok = num_imp
337 l = 0
338C
339 DO nft = 0 , i_stok - 1 , nvsiz
340 jlt = min( nvsiz, i_stok - nft )
341 jlt_new=0
342 CALL i7corp3(jlt ,x ,intbuf_tab%IRECTM,cand_e(nft+1),
343 1 cand_n(nft+1),stif ,h1 ,h2 ,
344 2 h3 ,h4 ,n1 ,n2 ,n3 ,
345 3 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
346 4 vxi ,vyi ,vzi ,msi ,dxi ,
347 5 dyi ,dzi ,nsn ,nin ,jlt_new ,
348 6 l )
349 l = l +jlt_new
350 jlt=jlt_new
351 CALL i7frf3(jlt ,a ,v ,ms ,fric ,
352 1 n1 ,n2 ,n3 ,h1 ,h2 ,
353 2 h3 ,h4 ,ix1 ,ix2 ,ix3 ,
354 3 ix4 ,nsvg ,vxi ,vyi ,vzi ,
355 4 msi ,dxi ,dyi ,dzi ,stif ,
356 5 nin ,d ,sk_int )
357 ENDDO
358 ELSEIF(nty == 24)THEN
359C
360 i_stok = num_imp
361 l = 0
362C
363 DO nft = 0 , i_stok - 1 , nvsiz
364 jlt = min( nvsiz, i_stok - nft )
365 jlt_new=0
366 CALL i24corp3(jlt ,x ,intbuf_tab%IRECTM,cand_e(nft+1),
367 1 cand_n(nft+1),stif ,h1 ,h2 ,
368 2 h3 ,h4 ,n1 ,n2 ,n3 ,
369 3 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
370 4 vxi ,vyi ,vzi ,msi ,dxi ,
371 5 dyi ,dzi ,nsn ,nin ,jlt_new ,
372 6 l )
373 l = l +jlt_new
374 jlt=jlt_new
375 CALL i7frf3(jlt ,a ,v ,ms ,fric ,
376 1 n1 ,n2 ,n3 ,h1 ,h2 ,
377 2 h3 ,h4 ,ix1 ,ix2 ,ix3 ,
378 3 ix4 ,nsvg ,vxi ,vyi ,vzi ,
379 4 msi ,dxi ,dyi ,dzi ,stif ,
380 5 nin ,d ,sk_int )
381 ENDDO
382C
383 ENDIF
384C
385 RETURN
subroutine i24corp3(jlt, x, irect, cand_e, cand_n, stif, h1, h2, h3, h4, n1, n2, n3, ix1, ix2, ix3, ix4, nsvg, vxi, vyi, vzi, msi, dxi, dyi, dzi, nsn, nin, jlt_new, lrem)
Definition i24cork3.F:496
subroutine i7corp3(jlt, x, irect, cand_e, cand_n, stif, h1, h2, h3, h4, n1, n2, n3, ix1, ix2, ix3, ix4, nsvg, vxi, vyi, vzi, msi, dxi, dyi, dzi, nsn, nin, jlt_new, lrem)
Definition i7cork3.F:294
subroutine i7frf3(jlt, a, v, ms, fric, n1, n2, n3, h1, h2, h3, h4, ix1, ix2, ix3, ix4, index, vxi, vyi, vzi, msi, dxi, dyi, dzi, stif, nin, d, scalk)
Definition i7keg3.F:557

◆ i7ke3()

subroutine i7ke3 ( a,
v,
ms,
integer, dimension(npari,ninter) ipari,
type(intbuf_struct_) intbuf_tab,
x,
integer nin,
integer num_imp,
integer, dimension(*) cand_n,
integer, dimension(*) cand_e,
integer, dimension(*) index2,
integer, dimension(*) iddl,
k_diag,
k_lt,
integer, dimension(*) iadk,
integer, dimension(*) jdik,
gap_imp,
integer lrem )

Definition at line 37 of file i7ke3.F.

42C-----------------------------------------------
43C M o d u l e s
44C-----------------------------------------------
45 USE intbufdef_mod
46C-----------------------------------------------
47C I m p l i c i t T y p e s
48C-----------------------------------------------
49#include "implicit_f.inc"
50C-----------------------------------------------
51C G l o b a l P a r a m e t e r s
52C-----------------------------------------------
53#include "mvsiz_p.inc"
54C-----------------------------------------------
55C C o m m o n B l o c k s
56C-----------------------------------------------
57#include "com01_c.inc"
58#include "com04_c.inc"
59#include "com08_c.inc"
60#include "param_c.inc"
61#include "impl2_c.inc"
62C-----------------------------------------------
63C D u m m y A r g u m e n t s
64C-----------------------------------------------
65 INTEGER IPARI(NPARI,NINTER), INDEX2(*)
66 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN,IDDL(*),
67 . IADK(*) ,JDIK(*),LREM
68C REAL
69 my_real
70 . a(3,*), ms(*), v(3,*),x(*),k_diag(*),k_lt(*)
71 TYPE(INTBUF_STRUCT_) INTBUF_TAB
72C-----------------------------------------------
73C L o c a l V a r i a b l e s
74C-----------------------------------------------
75 INTEGER JD(50),KD(50), JFI, KFI,
76 . I, I_STOK, JLT_NEW, JLT , NFT, IVIS2,
77 . IBC, NOINT, NSEG, ISECIN, IBAG,
78 . IGAP, INACTI, IFQ, MFROT, IGSTI
79 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
80 . NSVG(MVSIZ), I3N
81C REAL
83 . startt, fric, gap, stopt,stiglo,gapmin,
84 . kmin, kmax, gapmax,gap_imp
85C-----------------------------------------------
86C REAL
88 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
89 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
90 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
91 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
92 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
93 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
94 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
95 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
96 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
97 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
98 . n1(mvsiz), n2(mvsiz), n3(mvsiz), off(mvsiz),
99 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),
100 . msi(mvsiz),ki11(9,mvsiz),kj11(9,mvsiz),
101 . kk11(9,mvsiz),kl11(9,mvsiz),ki12(9,mvsiz),
102 . kj12(9,mvsiz),kk12(9,mvsiz),kl12(9,mvsiz)
103 INTEGER :: NSN,NTY
104C
105 nsn =ipari(5,nin)
106 nty =ipari(7,nin)
107 IF(ipari(33,nin)==1) RETURN
108 startt=intbuf_tab%VARIABLES(3)
109 stopt =intbuf_tab%VARIABLES(11)
110 IF(startt>tt) RETURN
111 IF(tt>stopt) RETURN
112 igap =ipari(21,nin)
113 inacti=ipari(22,nin)
114 stiglo=-intbuf_tab%STFAC(1)
115 fric =intbuf_tab%VARIABLES(1)
116 gap =intbuf_tab%VARIABLES(2)
117 gapmin=intbuf_tab%VARIABLES(13)
118 gap_imp=min(gap_imp,gapmin)
119 igsti=ipari(34,nin)
120 gapmax=intbuf_tab%VARIABLES(16)
121 kmin =intbuf_tab%VARIABLES(17)
122 kmax =intbuf_tab%VARIABLES(18)
123C
124 IF(nty==3)THEN
125 ELSEIF(nty==4)THEN
126 ELSEIF(nty==5)THEN
127 ELSEIF(nty==6)THEN
128C
129 ELSEIF(nty==7)THEN
130C
131 CALL ffizero(num_imp ,nin ,nsn ,cand_n )
132 i_stok = num_imp
133C 90c1 LREM=0
134C
135 DO nft = 0 , i_stok - 1 , nvsiz
136 jlt = min( nvsiz, i_stok - nft )
137 CALL i7cork3(jlt ,x,intbuf_tab%IRECTM,intbuf_tab%NSV,
138 1 cand_e(nft+1) ,cand_n(nft+1) ,intbuf_tab%STFM,
139 2 intbuf_tab%STFNS,x1 ,x2 ,
140 2 x3 ,x4 ,y1 ,y2 ,y3 ,
141 3 y4 ,z1 ,z2 ,z3 ,z4 ,
142 4 xi ,yi ,zi ,stif ,ix1 ,
143 5 ix2 ,ix3 ,ix4 ,nsvg ,igap ,
144 6 gapmin ,intbuf_tab%GAP_S,intbuf_tab%GAP_M,gapv,
145 7 ms ,vxi ,vyi ,vzi ,msi ,
146 8 v ,igsti ,kmin ,kmax ,gapmax,
147 9 gapmin ,nin ,nty ,nsn )
148 CALL i7dstk3(
149 1 jlt ,cand_n(nft+1) ,cand_e(nft+1) ,
150 2 x1 ,x2 ,x3 ,x4 ,y1 ,
151 3 y2 ,y3 ,y4 ,z1 ,z2 ,
152 4 z3 ,z4 ,xi ,yi ,zi ,
153 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
154 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
155 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
156 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
157 9 p1 ,p2 ,p3 ,p4 ,ix1 ,
158 a ix2 ,ix3 ,ix4 ,nsvg ,stif ,
159 b i3n ,gapv ,inacti ,intbuf_tab%CAND_P ,
160 c index2(nft+1))
161 CALL i7keg3(jlt ,a ,v ,ms ,fric ,
162 1 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
163 2 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
164 3 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
165 4 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
166 5 p1 ,p2 ,p3 ,p4 ,nin ,
167 6 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
168 7 gapv,inacti,intbuf_tab%CAND_P,index2(nft+1),
169 8 stiglo ,stif ,vxi ,vyi ,vzi ,
170 9 msi ,ki11 ,ki12 ,kj11 ,kj12 ,
171 a kk11 ,kk12 ,kl11 ,kl12 ,off ,
172 b sk_int ,lrem ,ipari(39,nin) ,x ,
173 2 x1 ,x2 ,x3 ,x4 ,y1 ,
174 3 y2 ,y3 ,y4 ,z1 ,z2 ,
175 4 z3 ,z4 ,xi ,yi ,zi )
176 IF (nspmd>1) THEN
177 lrem = lrem + jlt
178 CALL ass_spmd(3 ,nsvg ,ix1 ,ix2 ,ix3 ,
179 1 ix4 ,jlt ,iddl ,k_diag ,k_lt ,
180 2 iadk ,jdik ,ki11 ,ki12 ,kj11 ,
181 3 kj12 ,kk11 ,kk12 ,kl11 ,kl12 ,
182 4 off ,nin )
183 lrem = lrem - jlt
184 ENDIF
185 CALL assem_int(3 ,nsvg ,ix1 ,ix2 ,ix3 ,
186 1 ix4 ,jlt ,iddl ,k_diag ,k_lt ,
187 2 iadk ,jdik ,ki11 ,ki12 ,kj11 ,
188 3 kj12 ,kk11 ,kk12 ,kl11 ,kl12 ,
189 4 off )
190 ENDDO
191C
192 ENDIF
193C
194 RETURN
subroutine ass_spmd(nd, ns, n1, n2, n3, n4, nel, iddl, k_diag, k_lt, iadk, jdik, ki11, ki12, kj11, kj12, kk11, kk12, kl11, kl12, off, nin)
Definition assem_int.F:98
subroutine assem_int(nd, ns, n1, n2, n3, n4, nel, iddl, k_diag, k_lt, iadk, jdik, ki11, ki12, kj11, kj12, kk11, kk12, kl11, kl12, off)
Definition assem_int.F:39
subroutine ffizero(jlt, nin, nsn, cand_n)
Definition i7ke3.F:756
subroutine i7keg3(jlt, a, v, ms, fric, nx1, nx2, nx3, nx4, ny1, ny2, ny3, ny4, nz1, nz2, nz3, nz4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, p1, p2, p3, p4, nin, ix1, ix2, ix3, ix4, nsvg, gapv, inacti, cand_p, index, stiglo, stif, vxi, vyi, vzi, msi, ki11, ki12, kj11, kj12, kk11, kk12, kl11, kl12, off, scalk, lrem, icurv, x, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi)
Definition i7keg3.F:45

◆ i7mainfr()

subroutine i7mainfr ( a,
v,
d,
x,
ms,
integer, dimension(npari,*) ipari,
type(intbuf_struct_), dimension(*) intbuf_tab,
integer, dimension(*) num_imp,
integer, dimension(*) ns_imp,
integer, dimension(*) ne_imp )

Definition at line 207 of file i7ke3.F.

210C-----------------------------------------------
211C M o d u l e s
212C-----------------------------------------------
213 USE intbufdef_mod
214C-----------------------------------------------
215C I m p l i c i t T y p e s
216C-----------------------------------------------
217#include "implicit_f.inc"
218C-----------------------------------------------
219C C o m m o n B l o c k s
220C-----------------------------------------------
221#include "com04_c.inc"
222#include "param_c.inc"
223C-----------------------------------------------
224C D u m m y A r g u m e n t s
225C-----------------------------------------------
226 INTEGER IPARI(NPARI,*), NUM_IMP(*),NS_IMP(*),NE_IMP(*)
227 my_real
228 . a(3,*),v(3,*),d(3,*),x(3,*) ,ms(*)
229 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
230C-----------------------------------------------
231C L o c a l V a r i a b l e s
232C-----------------------------------------------
233 INTEGER I,J,N, IAD,NTY
234C
235 iad=1
236 DO n = 1, ninter
237 nty =ipari(7,n)
238 IF(nty==7.OR.nty==24) THEN
239 CALL i7forcf3( a ,v ,ms ,x ,d ,
240 1 ipari ,intbuf_tab(n) ,n ,
241 2 num_imp(n),ns_imp(iad),ne_imp(iad) )
242 iad=iad+num_imp(n)
243 ELSEIF(nty==10) THEN
244 CALL i10forcf3( a ,v ,ms ,x ,d ,
245 1 ipari(1,n),intbuf_tab(n) ,n ,
246 2 num_imp(n),ns_imp(iad),ne_imp(iad) )
247 iad=iad+num_imp(n)
248 ELSEIF(nty==11) THEN
249 CALL i11forcf3( a ,v ,ms ,x ,d ,
250 1 ipari(1,n),intbuf_tab(n) ,n ,
251 2 num_imp(n),ns_imp(iad),ne_imp(iad) )
252 iad=iad+num_imp(n)
253 ENDIF
254 ENDDO
255C
256 RETURN
subroutine i10forcf3(a, v, ms, x, d, ipari, intbuf_tab, nin, num_imp, cand_n, cand_e)
Definition i10ke3.F:194
subroutine i11forcf3(a, v, ms, x, d, ipari, intbuf_tab, nin, num_imp, cand_n, cand_e)
Definition i11ke3.F:200
subroutine i7forcf3(a, v, ms, x, d, ipari, intbuf_tab, nin, num_imp, cand_n, cand_e)
Definition i7ke3.F:272

◆ imp_i7mainf()

subroutine imp_i7mainf ( integer, dimension(npari,*) ipari,
type(intbuf_struct_) intbuf_tab,
x,
v,
ms,
integer nin,
integer lindmax,
integer jtask,
integer num_imp,
integer, dimension(*) ns_imp,
integer, dimension(*) ne_imp,
integer, dimension(*) ind_imp )

Definition at line 399 of file i7ke3.F.

403C-----------------------------------------------
404C M o d u l e s
405C-----------------------------------------------
406 USE intbufdef_mod
407C-----------------------------------------------
408C I m p l i c i t T y p e s
409C-----------------------------------------------
410#include "implicit_f.inc"
411C-----------------------------------------------
412C G l o b a l P a r a m e t e r s
413C-----------------------------------------------
414#include "mvsiz_p.inc"
415C-----------------------------------------------
416C C o m m o n B l o c k s
417C-----------------------------------------------
418#include "com08_c.inc"
419#include "param_c.inc"
420#include "task_c.inc"
421C-----------------------------------------------
422C D u m m y A r g u m e n t s
423C-----------------------------------------------
424 INTEGER IPARI(NPARI,*), NIN,JTASK,LINDMAX
425 INTEGER NUM_IMP,NS_IMP(*),NE_IMP(*),IND_IMP(*)
426C REAL
427 my_real
428 . ms(*), v(3,*),x(*)
429 TYPE(INTBUF_STRUCT_) INTBUF_TAB
430C-----------------------------------------------
431C L o c a l V a r i a b l e s
432C-----------------------------------------------
433 INTEGER I, I_STOK, JLT_NEW, JLT , NFT, IVIS2,
434 . IBC, NOINT, NSEG, ISECIN, IBAG,
435 . IGAP, INACTI, IFQ, MFROT, IGSTI,
436 . NB_LOC,I_STOK_LOC,DEBUT
437 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
438 . NSVG(MVSIZ), CN_LOC(MVSIZ),CE_LOC(MVSIZ),
439 . CAND_N_N(MVSIZ),CAND_E_N(MVSIZ),INDEX2(LINDMAX),
440 . I3N ,LREM
441C REAL
442 my_real
443 . startt, fric, gap, stopt,stiglo,gapmin,
444 . kmin, kmax, gapmax
445C-----------------------------------------------
446C REAL
447 my_real
448 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
449 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
450 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
451 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
452 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
453 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
454 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
455 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
456 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
457 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
458 . n1(mvsiz), n2(mvsiz), n3(mvsiz), off(mvsiz),
459 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),
460 . msi(mvsiz)
461 INTEGER :: NSN,NTY
462C
463 nsn =ipari(5,nin)
464 nty =ipari(7,nin)
465 IF(ipari(33,nin)==1) RETURN
466 startt=intbuf_tab%VARIABLES(3)
467 stopt =intbuf_tab%VARIABLES(11)
468 IF(startt>tt) RETURN
469 IF(tt>stopt) RETURN
470 igap =ipari(21,nin)
471 inacti=ipari(22,nin)
472 stiglo=-intbuf_tab%STFAC(1)
473 fric =intbuf_tab%VARIABLES(1)
474 gap =intbuf_tab%VARIABLES(2)
475 gapmin=intbuf_tab%VARIABLES(13)
476 igsti=ipari(34,nin)
477 gapmax=intbuf_tab%VARIABLES(16)
478 kmin =intbuf_tab%VARIABLES(17)
479 kmax =intbuf_tab%VARIABLES(18)
480C
481 IF(nty==3)THEN
482 ELSEIF(nty==4)THEN
483 ELSEIF(nty==5)THEN
484 ELSEIF(nty==6)THEN
485C
486 ELSEIF(nty==7)THEN
487C
488 i_stok = intbuf_tab%I_STOK(1)
489C decoupage statique
490 IF(inacti/=7)THEN
491 nb_loc = i_stok / nthread
492 IF (jtask==nthread) THEN
493 i_stok_loc = i_stok-nb_loc*(nthread-1)
494 ELSE
495 i_stok_loc = nb_loc
496 ENDIF
497 debut = (jtask-1)*nb_loc
498 ELSE ! INACTI = 7
499 IF(jtask==1)THEN
500 i_stok_loc = i_stok
501 debut = 0
502 ELSE
503 i_stok_loc = 0
504 debut = 0
505 END IF
506 END IF
507 i_stok = 0
508C
509 num_imp = 0
510C
511C recalcul du istok
512C
513 IF (inacti==5.OR.inacti==6.OR.inacti==7)THEN
514 DO i = debut+1, debut+i_stok_loc
515 IF(intbuf_tab%CAND_N(i)<0) THEN
516 i_stok = i_stok + 1
517 index2(i_stok) = i
518C inbuf == cand_n
519 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i)
520 ELSE
521C remise a 0 de cand_p
522 intbuf_tab%CAND_P(i) = zero
523 ENDIF
524 ENDDO
525 ELSE
526 DO i = debut+1, debut+i_stok_loc
527 IF(intbuf_tab%CAND_N(i)<0) THEN
528 i_stok = i_stok + 1
529 index2(i_stok) = i
530C inbuf == cand_n
531 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i)
532 ENDIF
533 ENDDO
534 ENDIF
535C
536c------------------------------------------------
537c I_STOK = NUM_IMP
538C
539 DO nft = 0 , i_stok - 1 , nvsiz
540 jlt = min( nvsiz, i_stok - nft )
541C preparation candidats retenus
542 CALL i7cdcor3(
543 1 jlt,index2(nft+1),intbuf_tab%CAND_E,intbuf_tab%CAND_N,
544 2 cand_e_n,cand_n_n)
545 CALL i7cork3(jlt ,x,intbuf_tab%IRECTM,intbuf_tab%NSV,
546 1 cand_e_n ,cand_n_n ,intbuf_tab%STFM,
547 2 intbuf_tab%STFNS,x1 ,x2 ,
548 2 x3 ,x4 ,y1 ,y2 ,y3 ,
549 3 y4 ,z1 ,z2 ,z3 ,z4 ,
550 4 xi ,yi ,zi ,stif ,ix1 ,
551 5 ix2 ,ix3 ,ix4 ,nsvg ,igap ,
552 6 gapmin ,intbuf_tab%GAP_S,intbuf_tab%GAP_M,gapv,
553 7 ms ,vxi ,vyi ,vzi ,msi ,
554 8 v ,igsti ,kmin ,kmax ,gapmax,
555 9 gapmin ,nin ,nty ,nsn )
556 CALL i7dstk3(
557 1 jlt ,cand_n_n,cand_e_n ,
558 2 x1 ,x2 ,x3 ,x4 ,y1 ,
559 3 y2 ,y3 ,y4 ,z1 ,z2 ,
560 4 z3 ,z4 ,xi ,yi ,zi ,
561 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
562 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
563 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
564 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
565 9 p1 ,p2 ,p3 ,p4 ,ix1 ,
566 a ix2 ,ix3 ,ix4 ,nsvg ,stif ,
567 b i3n ,gapv ,inacti ,intbuf_tab%CAND_P ,
568 c index2(nft+1))
569 CALL i7dstr3(
570 1 jlt ,cand_n_n,cand_e_n,cn_loc ,ce_loc ,
571 2 p1 ,p2 ,p3 ,p4 ,stif ,
572 3 gapv ,inacti ,intbuf_tab%CAND_P,index2(nft+1),
573 4 jlt_new)
574C
575 DO i = 1 ,jlt_new
576 ns_imp(i+num_imp)=cn_loc(i)
577 ne_imp(i+num_imp)=ce_loc(i)
578 ind_imp(i+num_imp)=index2(i+nft)
579 ENDDO
580 num_imp=num_imp+jlt_new
581 ENDDO
582C
583 ENDIF
584C
585 RETURN
subroutine i7cdcor3(jlt, index, cand_e, cand_n, cand_e_n, cand_n_n)
Definition i7cdcor3.F:38
subroutine i7dstr3(jlt, cand_n, cand_e, cn_loc, ce_loc, p1, p2, p3, p4, stif, gapv, inacti, cand_p, index, jlt_new)
Definition i7dstk3.F:355