47 2 A ,ISKEW ,SKEW ,LCOD ,WA ,
48 3 MS ,ITAB ,JTASK ,KINET ,STIFN ,
49 4 MTF ,CAND_SAV ,INT18ADD ,IAD_ELEM ,FR_ELEM ,
50 5 TAGPENE ,H3D_DATA ,MULTI_FVM,ALE_NE_CONNECT,XCELL,XCELL_REMOTE)
71#include "implicit_f.inc"
81#include "tabsiz_c.inc"
85 INTEGER IPARI(NPARI,*), ISKEW(*), LCOD(*), ITAB(*),
86 . KINET(*),INT18ADD(*),JTASK,IAD_ELEM(2,*),FR_ELEM(*),TAGPENE(*)
88 . X(*), V(*), A(3,*), SKEW(*), WA(*), MS(*),
89 . mtf(14,*),cand_sav(*),stifn(*),xcell(3,sxcell)
90 TYPE(intbuf_struct_) INTBUF_TAB(*)
92 TYPE(MULTI_FVM_STRUCT),
INTENT(IN) :: MULTI_FVM
93 TYPE(t_connectivity),
INTENT(IN) :: ALE_NE_CONNECT
94 TYPE(
array_type),
DIMENSION(NINTER),
INTENT(in) :: XCELL_REMOTE
98 INTEGER I,NODF,NODL,NRTMDIM
99 INTEGER N, NTY, NMN, INACTI,LINDMAX
100 INTEGER NB_JLT(PARASIZ),NB_JLT_NEW(PARASIZ),NB_STOK_N(PARASIZ),
101 * ,P,NODFI,IERROR1,IERROR2,IERROR3,IERROR4
103 . startt,stopt,bid,vbid
104 SAVE nb_jlt,nb_jlt_new,nb_stok_n
111 nodf = 1 + (jtask-1)*numnod / nthread
112 nodl = jtask*numnod / nthread
137 IF (nty==7.AND.inacti==7.AND.ipari(34,n)==-2)
THEN
140 nodfi = nodfi +
nsnfi(n)%P(p)
145 ALLOCATE(
mtfi_pene(n)%P(nodfi),stat=ierror1)
154 ALLOCATE(
mtfi_v(n)%P(6,nodfi),stat=ierror3)
155 mtfi_v(n)%P(1,1:nodfi)=zero
156 mtfi_v(n)%P(2,1:nodfi)=zero
157 mtfi_v(n)%P(3,1:nodfi)=zero
158 mtfi_v(n)%P(4,1:nodfi)=zero
159 mtfi_v(n)%P(5,1:nodfi)=zero
160 mtfi_v(n)%P(6,1:nodfi)=zero
163 ALLOCATE(
mtfi_a(n)%P(7,nodfi),stat=ierror4)
164 mtfi_a(n)%P(1,1:nodfi)=zero
165 mtfi_a(n)%P(2,1:nodfi)=zero
166 mtfi_a(n)%P(3,1:nodfi)=zero
167 mtfi_a(n)%P(4,1:nodfi)=zero
168 mtfi_a(n)%P(5,1:nodfi)=zero
169 mtfi_a(n)%P(6,1:nodfi)=zero
170 mtfi_a(n)%P(7,1:nodfi)=zero
173 ALLOCATE(
mtfi_n(n)%P(3,nodfi),stat=ierror4)
174 mtfi_n(n)%P(1,1:nodfi)=zero
175 mtfi_n(n)%P(2,1:nodfi)=zero
176 mtfi_n(n)%P(3,1:nodfi)=zero
179 ALLOCATE(
i18kafi(n)%P(3,nodfi),stat=ierror4)
198 IF (debug(3) >= 1.AND.ncycle == 0)
THEN
200 nb_jlt_new(jtask) = 0
213 lindmax = ipari(18,n)*ipari(23,n)
214 IF(nty==7.and.ipari(34,n)==-2.and.inacti==7)
THEN
218 1 n ,ipari(1,n) ,intbuf_tab(n) ,x ,
219 2 stifn ,v ,a ,ms , nmn ,
220 3 itab ,lindmax ,cand_sav(int18add(n)) ,mtf , ale_ne_connect ,
221 4 nrtmdim ,jtask ,nb_jlt(jtask) ,nb_jlt_new(jtask),n b_stok_n(jtask),
222 5 kinet ,multi_fvm ,xcell,xcell_remote(n)%SIZE_MY_REAL_ARRAY_1D,
223 . xcell_remote(n)%MY_REAL_ARRAY_1D)
237 * mtf,a,iad_elem,fr_elem,1,bid,tagpene,itab,
258 IF(nty==7.and.ipari(34,n)==-2.and.inacti==7)
THEN
260 1 ipari(1,n) ,intbuf_tab(n) ,x ,stifn ,
261 2 v ,a ,ms ,itab ,lindmax ,
262 3 cand_sav(int18add(n)),mtf ,jtask ,nb_jlt(jtask) ,nb_jlt_new(jtask),
283 IF(nty==7.and.ipari(34,n)==-2.and.inacti==7)
THEN
285 startt=intbuf_tab(n)%VARIABLES(3)
286 stopt =intbuf_tab(n)%VARIABLES(11)
287 IF(tt >= startt .and. tt <= stopt)
THEN
289 1 jtask-1 ,nmn ,intbuf_tab(n)%MSR,v ,a ,ms ,
290 2 mtf ,iskew ,skew ,lcod ,itab )
314!||
i18main_kine_s ../engine/source/interfaces/int18/i18main_kine.f
326 2 A ,ISKEW ,SKEW ,LCOD ,WA ,
327 3 MS ,ITAB ,FSAV ,JTASK ,KINET ,
328 4 STIFN,MTF ,CAND_SAV,FCONT ,INT18ADD,
329 5 IAD_ELEM,FR_ELEM,H3D_DATA)
339#include "implicit_f.inc"
343#include "com01_c.inc"
344#include "com04_c.inc"
345#include "param_c.inc"
350 INTEGER IPARI(NPARI,*), ISKEW(*), LCOD(*), ITAB(*),
351 . KINET(*),INT18ADD(*),JTASK,IAD_ELEM(2,*),FR_ELEM(*)
353 . X(*), V(*), A(3,*), SKEW(*), (*), MS(*),
354 . FSAV(NTHVKI,*),MTF(14,*),CAND_SAV(*),STIFN(*),
356 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
357 TYPE(H3D_DATABASE) :: H3D_DATA
362 INTEGER N, NTY, INACTI
363 INTEGER NB_JLT(PARASIZ),NB_JLT_NEW(PARASIZ),NB_STOK_N(PARASIZ),
365 SAVE nb_jlt,nb_jlt_new,nb_stok_n
366 INTEGER,
DIMENSION(:),
ALLOCATABLE :: SLVNDTAG
371 ALLOCATE(slvndtag(numnod))
374 ALLOCATE(slvndtag(1))
384 nodf = 1 + (jtask-1)*numnod / nthread
385 nodl = jtask*numnod / nthread
392 mtf(6,i) = zero ! vzp
second. old(v+a*dt)
401 IF (nty==7.AND.inacti==7.AND.ipari(34,n)==-2)
THEN
404 nodfi = nodfi +
nsnfi(n)%P(p)
408 mtfi_v(n)%P(1,1:nodfi)=zero
409 mtfi_v(n)%P(2,1:nodfi)=zero
410 mtfi_v(n)%P(3,1:nodfi)=zero
411 mtfi_v(n)%P(4,1:nodfi)=zero
412 mtfi_v(n)%P(5,1:nodfi)=zero
413 mtfi_v(n)%P(6,1:nodfi)=zero
430 IF(nty==7.and.ipari(34,n)==-2.and.inacti==7)
THEN
432 1 ipari(1,n) ,intbuf_tab(n) ,x ,stifn ,
433 2 v ,a ,ms ,jtask ,itab ,
434 3 cand_sav(int18add(n)),mtf ,iskew ,skew ,lcod ,
435 4 nb_jlt(jtask) ,nb_jlt_new(jtask),nb_stok_n(jtask))
448 * mtf,a,iad_elem,fr_elem,2,slvndtag,ibid,itab,
466 IF(nty==7.and.ipari(34,n)==-2.and.inacti==7)
THEN
468 1 ipari(1,n) ,intbuf_tab(n)
470 3 jtask ,itab ,cand_sav(int18add(n)),mtf ,
471 4 nb_jlt(jtask),nb_jlt_new(jtask),nb_stok_n(jtask) ,iskew ,skew ,
472 5 lcod ,slvndtag ,h3d_data )
482 * mtf,a,iad_elem,fr_elem,3,slvndtag,ibid,itab,
514 2 STIFN ,V ,A ,MS ,NMN ,
515 3 ITAB ,LINDMAX ,CAND_SAV ,MTF ,ALE_NE_CONNECT,
516 4 NRTMDIM ,JTASK ,NB_JLT ,NB_JLT_NEW ,NB_STOK_N,
517 5 KINET ,MULTI_FVM ,XCELL,S_XCELL_REMOTE,XCELL_REMOTE)
540#include "implicit_f.inc"
544#include "mvsiz_p.inc"
545#include "comlock.inc"
549#include "com04_c.inc"
550#include "com08_c.inc"
551#include "param_c.inc"
554#include "tabsiz_c.inc"
558 INTEGER NIN,JTASK ,LINDMAX,NMN ,
559 . NB_JLT,NB_JLT_NEW,NB_STOK_N,NRTMDIM
560 INTEGER IPARI(NPARI), KINET(*),ITAB(*)
562 INTEGER,
INTENT(in) :: S_XCELL_REMOTE
563 my_real,
DIMENSION(S_XCELL_REMOTE),
INTENT(in) :: XCELL_REMOTE
565 . X(3,*), V(3,*), A(3,*), MS(*),
566 . MTF(14,*),CAND_SAV(8,*),XCELL(3,SXCELL)
567 TYPE(INTBUF_STRUCT_) INTBUF_TAB
568 TYPE(MULTI_FVM_STRUCT),
INTENT(IN) :: MULTI_FVM
569 TYPE(t_connectivity),
INTENT(IN) :: ALE_NE_CONNECT
573 INTEGER I,J,I_STOK_GLOB,NSN,
575 . igap,inacti,ibag,i_stok, i_stok_loc, jlt_new,nmnf,nmnl,
576 . jlt, nft,debut,nbid,nb_loc, i3n,igsti,icurv,iadm
577 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
578 . NSVG(MVSIZ), CN_LOC(MVSIZ),CE_LOC(MVSIZ),INDEX2(LINDMAX),
579 . cand_n_n(mvsiz),cand_e_n(mvsiz),kini(mvsiz),ibid
581 . startt, stopt,gap,gapmin,maxbox,minbox,bid,
582 . kmin, kmax, gapmax,surf(3,nrtmdim)
584 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
585 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
586 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
587 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
588 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
589 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
590 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
591 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
592 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
593 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
594 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
599 IF(inacti /= 7 .or. ipari(34) == 0)
RETURN
623 startt=intbuf_tab%VARIABLES(3)
624 stopt =intbuf_tab%VARIABLES(11)
625 IF(startt > tt)
RETURN
626 IF(tt > stopt)
RETURN
627 gap =intbuf_tab%VARIABLES(2)
628 gapmin=intbuf_tab%VARIABLES(13)
630 i_stok = intbuf_tab%I_STOK(1)
631 maxbox = intbuf_tab%VARIABLES(9)
632 minbox = intbuf_tab%VARIABLES(12)
633 gapmax=intbuf_tab%VARIABLES(16)
634 kmin =intbuf_tab%VARIABLES(17)
635 kmax =intbuf_tab%VARIABLES(18)
639 nb_loc = i_stok / nthread
640 IF (jtask == nthread)
THEN
641 i_stok_loc = i_stok-nb_loc*(nthread-1)
645 debut = (jtask-1)*nb_loc
648 DO i = debut+1, debut+i_stok_loc
649 IF(intbuf_tab%CAND_N(i) < 0)
THEN
650 IF(i_stok + 1 > 4*numnod)
THEN
651 CALL ancmsg(msgid=94,anmode=aninfo)
657 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i)
663 IF (debug(3) >= 1)
THEN
664 nb_jlt = nb_jlt + i_stok_loc
665 nb_stok_n = nb_stok_n + i_stok
668 DO nft = 0 , i_stok - 1 , nvsiz
669 jlt =
min( nvsiz, i_stok - nft )
672 1 jlt,index2(nft+1),intbuf_tab%CAND_E,intbuf_tab%CAND_N,
676 1 jlt ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,cand_e_n,
677 2 cand_n_n ,intbuf_tab%STFM ,intbuf_tab%STFNS ,x1 ,x2 ,
678 3 x3 ,x4 ,y1 ,y2 ,y3 ,
679 4 y4 ,z1 ,z2 ,z3 ,z4 ,
680 5 xi ,yi ,zi ,stif ,ix1 ,
681 6 ix2 ,ix3 ,ix4 ,nsvg ,igap ,
682 7 gap ,intbuf_tab%GAP_S ,intbuf_tab%GAP_M ,gapv ,
684 a vzi ,msi ,nsn ,v ,kinet ,
685 b kini ,nty ,nin ,igsti ,kmin ,
686 c kmax ,gapmax ,gapmin ,iadm ,bid ,
687 d bid ,bid ,bid ,ibid ,bid ,
688 e bid ,bid ,bid ,ibid ,bid ,
689 f ibid ,ibid ,ibid ,bid ,bid ,
690 g ibid ,ibid ,ibid ,ibid ,ibid ,
691 h ibid ,ibid ,bid ,ibid ,bid )
695 1 jlt ,cand_n_n ,cand_e_n ,cn_loc ,ce_loc ,
696 2 x1 ,x2 ,x3 ,x4 ,y1 ,
697 3 y2 ,y3 ,y4 ,z1 ,z2 ,
698 4 z3 ,z4 ,xi ,yi ,zi ,
699 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
700 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
701 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
702 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
703 9 p1 ,p2 ,p3 ,p4 ,ix1 ,
704 a ix2 ,ix3 ,ix4 ,nsvg ,stif ,
705 b jlt_new ,gapv ,intbuf_tab%CAND_P ,ale_ne_connect,
706 c index2(nft+1) ,vxi ,vyi ,itab ,xcell ,
708 e igap ,multi_fvm ,s_xcell_remote ,xcell_remote)
710 IF(jlt_new /= 0)
THEN
712 IF (debug(3) >= 1) nb_jlt_new = nb_jlt_new + jlt_new
715 2 gap ,ms ,noint ,intbuf_tab%STFNS ,itab ,
716 3 stifn ,stif ,x ,intbuf_tab%IRECTM ,
717 4 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
718 5 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
723 a gapv ,inacti ,vxi ,vyi ,vzi ,
724 b msi ,mtf ,index2(nft+1),cand_sav)
740 1 IPARI ,INTBUF_TAB ,X ,STIFN ,
741 2 V ,A ,MS ,ITAB ,LINDMAX ,
742 3 CAND_SAV ,MTF ,JTASK ,NB_JLT ,NB_JLT_NEW,
769#include "implicit_f.inc"
773#include "mvsiz_p.inc"
777#include "com08_c.inc"
778#include "param_c.inc"
783 INTEGER NIN,JTASK ,LINDMAX,
784 . NB_JLT,NB_JLT_NEW,NB_STOK_N
785 INTEGER IPARI(NPARI),
788 . X(3,*), V(3,*), A(3,*), MS(*),
789 . MTF(14,*),CAND_SAV(8,*),(*)
790 TYPE(INTBUF_STRUCT_) INTBUF_TAB
794 INTEGER I_STOK_GLOB,NSN,
795 . NME_T,ESH_T,IGN,IGE,MULTIMP,NOINT,I,MX_CAND,NTY,IVIS2,
802 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
803 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
804 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
805 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
806 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
807 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
808 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
809 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
810 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
811 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
812 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
817 IF(inacti/=7.or.ipari(34)==0)
RETURN
833 startt=intbuf_tab%VARIABLES(3)
834 stopt =intbuf_tab%VARIABLES(11)
835 IF(startt > tt)
RETURN
836 IF(tt > stopt)
RETURN
837 gap =intbuf_tab%VARIABLES(2)
838 gapmin=intbuf_tab%VARIABLES(13)
840 i_stok = intbuf_tab%I_STOK(1)
841 maxbox = intbuf_tab%VARIABLES(9)
842 minbox = intbuf_tab%VARIABLES(12)
843 gapmax=intbuf_tab%VARIABLES(16)
844 kmin =intbuf_tab%VARIABLES(17)
845 kmax =intbuf_tab%VARIABLES(18)
848 nb_loc = i_stok / nthread
849 IF (jtask == nthread)
THEN
850 i_stok_loc = i_stok-nb_loc*(nthread-1)
854 debut = nb_loc*(jtask-1)
862 DO nft = 0 , i_stok - 1 , nvsiz
863 jlt =
min( nvsiz, i_stok - nft )
865 1 jlt ,a ,v ,intbuf_tab%CAND_E(1+nft) ,intbuf_tab%CAND_N
866 2 gap ,ms ,noint ,intbuf_tab%STFNS,itab ,
867 3 stifn ,stif ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,
868 4 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
869 5 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
870 6 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
871 7 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
872 8 p1 ,p2 ,p3 ,p4 ,nin ,
873 9 gapv ,inacti ,vxi ,vyi ,vzi ,
874 a msi ,mtf ,cand_sav(1,1+nft) ,nsn)
885 1 ITASK ,NMN ,MSR ,V ,A ,MS ,
886 2 MTF ,ISKEW ,SKEW ,LCOD ,ITAB )
890#include "implicit_f.inc"
895#include "param_c.inc"
899 INTEGER NMN,ITASK,MSR(*), ISKEW(*), LCOD(*) , ITAB(*)
901 . A(3,*), V(3,*), MS(*),MTF(14,*), SKEW(LSKEW,*)
905 INTEGER ,NMNL,I, J,ISK
907 . A11,A12,A13,A22,A23,A33,B11,B12,B13,B22,B23,B33,
912 NMNF = 1 + itask*nmn / nthread
913 nmnl = (itask+1)*nmn / nthread
915#include "vectorize.inc"
928 a11 = mtf(1,j) + ms(j)
931 a22 = mtf(4,j) + ms(j)
933 a33 = mtf(6,j) + ms(j)
934 fx = mtf(7,j) + a(1,j)
935 fy = mtf(8,j) + a(2,j)
936 fz = mtf(9,j) + a(3,j)
938 b11 = (a22*a33 - a23*a23)
939 b22 = (a33*a11 - a13*a13)
940 b33 = (a11*a22 - a12*a12)
942 b12 = (a23*a13 - a33*a12)
943 b23 = (a13*a12 - a11*a23)
944 b13 = (a12*a23 - a22*a13)
946 usdet = ms(j) / ( a11*b11 + a12*b12 + a13*b13)
949 a(1,j) = (b11*fx + b12*fy + b13*fz)*usdet
950 a(2,j) = (b12*fx + b22*fy + b23*fz)*usdet
951 a(3,j) = (b13*fx + b23*fy + b33*fz)*usdet
970 1 IPARI ,INTBUF_TAB ,X ,STIFN ,
971 2 V ,A ,MS ,JTASK ,ITAB ,
972 3 CAND_SAV ,MTF ,ISKEW ,SKEW ,LCOD ,
973 4 NB_JLT ,NB_JLT_NEW,NB_STOK_N)
999#include "implicit_f.inc"
1003#include "mvsiz_p.inc"
1007#include "com08_c.inc"
1008#include "param_c.inc"
1009#include "task_c.inc"
1014 . NB_JLT,NB_JLT_NEW,NB_STOK_N
1015 INTEGER IPARI(NPARI),
1016 . ITAB(*), ISKEW(*), LCOD(*)
1018 . X(3,*), V(3,*), A(3,*), MS(*),
1019 . MTF(14,*),CAND_SAV(8,*), SKEW(*), STIFN(*)
1020 TYPE(INTBUF_STRUCT_) INTBUF_TAB
1024 INTEGER I_STOK_GLOB,NSN,NME,
1025 . NME_T,ESH_T,IGN,IGE,MULTIMP,NOINT,I,MX_CAND,NTY,IVIS2,
1026 . IGAP,INACTI,IBAG,I_STOK, I_STOK_LOC, JLT_NEW,DEBUT,
1027 . JLT, NFT,NBID,NB_LOC, I3N,IADM
1029 . STARTT, STOPT,GAP,GAPMIN,MAXBOX,MINBOX,
1030 . KMIN, KMAX, GAPMAX
1032 . NX1(MVSIZ), NX2(MVSIZ), NX3(MVSIZ), NX4(MVSIZ),
1033 . NY1(MVSIZ), NY2(MVSIZ), NY3(MVSIZ), NY4(MVSIZ),
1034 . NZ1(MVSIZ), (MVSIZ), NZ3(MVSIZ), NZ4(MVSIZ),
1035 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
1036 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
1037 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),stif(mvsiz),
1038 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
1053 startt=intbuf_tab%VARIABLES(3)
1054 stopt =intbuf_tab%VARIABLES(11)
1055 IF(startt > tt)
RETURN
1056 IF(tt > stopt)
RETURN
1057 gap =intbuf_tab%VARIABLES(2)
1058 gapmin=intbuf_tab%VARIABLES(13)
1060 i_stok = intbuf_tab%I_STOK(1)
1061 maxbox = intbuf_tab%VARIABLES(9)
1062 minbox = intbuf_tab%VARIABLES(12)
1063 gapmax=intbuf_tab%VARIABLES(16)
1064 kmin =intbuf_tab%VARIABLES(17)
1065 kmax =intbuf_tab%VARIABLES(18)
1068 nb_loc = i_stok / nthread
1069 IF (jtask == nthread)
THEN
1070 i_stok_loc = i_stok-nb_loc*(nthread-1)
1074 debut = nb_loc*(jtask-1)
1082 DO nft = 0 , i_stok - 1 , nvsiz
1083 jlt =
min( nvsiz, i_stok - nft )
1085 1 jlt ,a ,v ,intbuf_tab%CAND_E(1+nft) ,intbuf_tab%CAND_N(1+nft) ,
1086 2 gap ,ms ,noint ,intbuf_tab%STFNS,itab ,
1087 3 stifn ,stif ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,
1088 4 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
1089 5 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
1090 6 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
1091 7 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
1092 8 p1 ,p2 ,p3 ,p4 ,nin ,
1093 9 gapv ,inacti ,vxi ,vyi ,vzi ,
1094 a msi ,mtf ,cand_sav(1,1+nft) ,nsn)
1111 1 IPARI ,INTBUF_TAB ,X ,STIFN ,
1112 2 V ,A ,MS ,FSAV ,FCONT ,
1113 3 JTASK ,ITAB ,CAND_SAV,MTF ,
1114 4 NB_JLT ,NB_JLT_NEW,NB_STOK_N,ISKEW ,SKEW ,
1115 5 LCOD ,SLVNDTAG, H3D_DATA )
1142#include "implicit_f.inc"
1146#include "mvsiz_p.inc"
1150#include "com08_c.inc"
1151#include "param_c.inc"
1152#include "task_c.inc"
1157 INTEGER (NPARI),NB_JLT_NEW,NB_STOK_N, NB_JLT,
1158 . ITAB(*), ISKEW(*), LCOD(*) ,SLVNDTAG(*)
1160 . X(3,*), V(3,*), A(3,*), MS(*), STIFN(*),
1161 . MTF(14,*),CAND_SAV(8,*), FSAV(*),FCONT(3,*), SKEW(*)
1162 TYPE(INTBUF_STRUCT_) INTBUF_TAB
1163 TYPE(H3D_DATABASE) :: H3D_DATA
1169 . IGAP,INACTI,IBAG,I_STOK, I_STOK_LOC, DEBUT,
1170 . JLT, NFT,NBID,NB_LOC, IADM
1172 . STARTT, STOPT,GAP,GAPMIN,MAXBOX,MINBOX,BID,
1173 . KMIN, KMAX, GAPMAX
1175 . NX1(MVSIZ), NX2(MVSIZ), NX3(MVSIZ), NX4(MVSIZ),
1176 . NY1(MVSIZ), NY2(MVSIZ), NY3(MVSIZ), NY4(MVSIZ),
1177 . NZ1(MVSIZ), NZ2(MVSIZ), NZ3(MVSIZ), NZ4(MVSIZ),
1178 . LB1(MVSIZ), LB2(MVSIZ), LB3(MVSIZ), LB4(MVSIZ),
1179 . LC1(MVSIZ), LC2(MVSIZ), LC3(MVSIZ), LC4(MVSIZ),
1180 . P1(MVSIZ), P2(MVSIZ), P3(MVSIZ), P4(MVSIZ),
1181 . GAPV(MVSIZ),VXI(MVSIZ),VYI(MVSIZ),VZI(MVSIZ),MSI(MVSIZ),
1200 startt=intbuf_tab%VARIABLES(3)
1201 stopt =intbuf_tab%VARIABLES(11)
1202 IF(startt > tt)
RETURN
1203 IF(tt > stopt)
RETURN
1204 gap =intbuf_tab%VARIABLES(2)
1205 gapmin=intbuf_tab%VARIABLES(13)
1207 i_stok = intbuf_tab%I_STOK(1)
1208 maxbox = intbuf_tab%VARIABLES(9)
1209 minbox = intbuf_tab%VARIABLES(12)
1210 gapmax=intbuf_tab%VARIABLES(16)
1211 kmin =intbuf_tab%VARIABLES(17)
1212 kmax =intbuf_tab%VARIABLES(18)
1215 nb_loc = i_stok / nthread
1216 IF (jtask == nthread)
THEN
1217 i_stok_loc = i_stok-nb_loc*(nthread-1)
1221 debut = nb_loc*(jtask-1)
1229 DO nft = 0 , i_stok - 1 , nvsiz
1230 jlt =
min( nvsiz, i_stok - nft )
1232 1 jlt ,a ,v ,intbuf_tab%CAND_E(1+nft) ,intbuf_tab%CAND_N(1+nft) ,
1233 2 gap ,ms ,noint ,intbuf_tab%STFNS,itab ,
1234 3 stifn ,stif ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,
1235 4 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
1236 5 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
1237 6 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
1238 7 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
1239 8 p1 ,p2 ,p3 ,p4 ,nin ,
1240 9 gapv ,inacti ,vxi ,vyi ,vzi ,
1241 a msi ,mtf ,cand_sav(1,1+nft),fcont ,fsav ,
1242 b nsn ,slvndtag ,h3d_data )
1255 2 GAP ,MS ,NOINT ,STFN ,ITAB ,
1256 3 STIFN ,STIF ,X ,IRECT ,
1257 4 NX1 ,NX2 ,NX3 ,NX4 ,NY1 ,
1258 5 NY2 ,NY3 ,NY4 ,NZ1 ,NZ2 ,
1259 6 NZ3 ,NZ4 ,LB1 ,LB2 ,LB3 ,
1260 7 LB4 ,LC1 ,LC2 ,LC3 ,LC4 ,
1261 8 P1 ,P2 ,P3 ,P4 ,NIN ,
1262 9 IX1 ,IX2 ,IX3 ,IX4 ,NSVG ,
1263 A GAPV ,INACTI ,VXI ,VYI ,VZI ,
1264 B MSI ,MTF ,INDEX ,CAND_SAV)
1272#include "implicit_f.inc"
1273#include "comlock.inc"
1277#include "mvsiz_p.inc"
1281#include "com08_c.inc"
1282#include "scr05_c.inc"
1286 INTEGER JLT,INACTI,NIN,
1289 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), (MVSIZ),
1292 . x(3,*),a(3,*), ms(*), v(3,*), mtf(14,*),
1293 . gap, stfn(*),stifn(*),cand_sav(8,*)
1295 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
1296 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
1297 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
1298 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
1299 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
1300 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz), stif(mvsiz),
1302 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
1306 INTEGER I, IG, J, K, NN
1308 . N1(MVSIZ), N2(MVSIZ), N3(MVSIZ), PENE(MVSIZ),
1309 . H1(MVSIZ), H2(MVSIZ), H3(MVSIZ), H4(MVSIZ),
1312 . H0, LA1, LA2, LA3, LA4,
1313 . D1,D2,D3,,A1,A2,A3,A4,
1320 . PP1,PP2,PP3,PP4,BID
1323 IF (iresp == 1)
THEN
1340 IF(ix3(i) /= ix4(i))
THEN
1343 pp1 =
max(zero, gapv(i) - d1)
1346 pp2 =
max(zero, gapv(i) - d2)
1349 pp3 =
max(zero, gapv(i) - d3)
1352 pp4 =
max(zero, gapv(i) - d4)
1354 pene(i) =
max(pp1,pp2,pp3,pp4)
1355 la1 = one - lb1(i) - lc1(i)
1356 la2 = one - lb2(i) - lc2(i)
1357 la3 = one - lb3(i) - lc3(i)
1358 la4 = one - lb4(i) - lc4(i)
1359 IF(pene(i) == pp1)
THEN
1368 ELSEIF(pene(i) == pp2)
THEN
1377 ELSEIF(pene(i) == pp3)
THEN
1386 ELSEIF(pene(i) == pp4)
THEN
1397 h00 = one/
max(em20,h1(i) + h2(i) + h3(i) + h4(i))
1406 pp1 =
max(zero, gapv(i) - d1)
1413 h3(i) = one - lb1(i) - lc1(i)
1421 s2 = one/
max(em30,sqrt(n1(i)**2 + n2(i)**2 + n3(i)**2))
1432#include "lockon.inc"
1433 IF(pene(i) > mtf(11,ig))
THEN
1434 mtf(11,ig) = pene(i)
1435 ELSEIF(pene(i) == mtf(11,ig))
THEN
1436 pene(i) = pene(i)*(one-em6)
1438 mtf(10,ig) = mtf(10,ig) + pene(i)
1439 mtf(12,ig) = mtf(12,ig) + pene(i)*n1(i)
1440 mtf(13,ig) = mtf(13,ig) + pene(i)*n2(i)
1441 mtf(14,ig) = mtf(14,ig) + pene(i)*n3(i)
1442#include "lockoff.inc"
1445#include "lockon.inc"
1449 pene(i) = pene(i)*(one-em6)
1452 mtfi_n(nin)%P(1,nn) =
mtfi_n(nin)%P(1,nn) + pene(i)*n1(i)
1453 mtfi_n(nin)%P(2,nn) =
mtfi_n(nin)%P(2,nn) + pene(i)*n2(i)
1454 mtfi_n(nin)%P(3,nn) =
mtfi_n(nin)%P(3,nn) + pene(i)*n3(i)
1455#include "lockoff.inc"
1457 cand_sav(1,index(i)) = h1(i)
1458 cand_sav(2,index(i)) = h2(i)
1459 cand_sav(3,index(i)) = h3(i)
1460 cand_sav(4,index(i)) = h4(i)
1461 cand_sav(5,index(i)) = n1(i)
1462 cand_sav(6,index(i)) = n2(i)
1463 cand_sav(7,index(i)) = n3(i)
1464 cand_sav(8,index(i)) = pene(i)
1477 2 GAP ,MS ,NOINT ,STFN ,ITAB ,
1478 3 STIFN ,STIF ,X ,IRECT ,NSV ,
1479 4 NX1 ,NX2 ,NX3 ,NX4 ,NY1 ,
1480 5 NY2 ,NY3 ,NY4 ,NZ1 ,NZ2 ,
1481 6 NZ3 ,NZ4 ,LB1 ,LB2 ,LB3 ,
1482 7 LB4 ,LC1 ,LC2 ,LC3 ,LC4 ,
1483 8 P1 ,P2 ,P3 ,P4 ,NIN ,
1484 A GAPV ,INACTI ,VXI ,VYI ,VZI ,
1485 B MSI ,MTF ,CAND_SAV,NSN)
1493#include "implicit_f.inc"
1494#include "comlock.inc"
1498#include "mvsiz_p.inc"
1502 INTEGER JLT,INACTI,NIN,
1503 . itab(*),cand_n(*),cand_e(*), nsv(*),
1507 . x(3,*),a(3,*), ms(*), v(3,*), mtf(14,*),
1508 . gap, stfn(*),stifn(*),cand_sav(8,*)
1510 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
1511 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
1512 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
1513 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
1514 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
1515 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz), stif(mvsiz),
1517 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
1521 INTEGER I, IG, J, K, NN, NI,
1523 INTEGER IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),IX4(MVSIZ),NSVG(MVSIZ)
1525 . FXI(MVSIZ), FYI(MVSIZ), FZI(MVSIZ), FNI(MVSIZ),
1526 . FX1(MVSIZ), FX2(MVSIZ), FX3(MVSIZ), FX4(MVSIZ),
1527 . FY1(MVSIZ), FY2(MVSIZ), FY3(MVSIZ), FY4(MVSIZ),
1528 . FZ1(MVSIZ), FZ2(MVSIZ), FZ3(MVSIZ), FZ4(MVSIZ),
1529 . N1(MVSIZ), N2(MVSIZ), N3(MVSIZ), PENE(MVSIZ),
1530 . H1(MVSIZ), H2(MVSIZ), H3(MVSIZ), H4(MVSIZ),
1531 . VX(MVSIZ), VY(MVSIZ), VZ(MVSIZ), VN(MVSIZ),DIST(MVSIZ),
1532 . MT1XX(MVSIZ), MT1XY(), MT1XZ(MVSIZ),
1533 . MT1YY(MVSIZ), MT1YZ(MVSIZ), MT1ZZ(MVSIZ),
1534 . MT2XX(MVSIZ), MT2XY(MVSIZ), MT2XZ(MVSIZ),
1535 . mt2yy(mvsiz), mt2yz(mvsiz), mt2zz(mvsiz),
1536 . mt3xx(mvsiz), mt3xy(mvsiz), mt3xz(mvsiz),
1537 . mt3yy(mvsiz), mt3yz(mvsiz), mt3zz(mvsiz),
1538 . mt4xx(mvsiz), mt4xy(mvsiz), mt4xz(mvsiz),
1539 . mt4yy(mvsiz), mt4yz(mvsiz), mt4zz(mvsiz),
1546 . PP1,PP2,PP3,PP4,BID,
1547 . MTXX,MTXY,MTXZ,MTYY,MTYZ,MTZZ
1553 h1(i) = cand_sav(1,i)
1554 h2(i) = cand_sav(2,i)
1555 h3(i) = cand_sav(3,i)
1556 h4(i) = cand_sav(4,i)
1557 n1(i) = cand_sav(5,i)
1558 n2(i) = cand_sav(6,i)
1559 n3(i) = cand_sav(7,i)
1560 pene(i) = cand_sav(8,i)
1581 IF(pene(i) > zero)
THEN
1584 IF(pene(i) == mtf(11,ig))
THEN
1587 fni(i) = n1(i) * a(1,ig)
1591 aaa = one/
max(em30,n1(i)**2 + n2(i)**2 + n3(i)**2)
1592 msi(i) = msi(i) * aaa
1594 fxi(i) = n1(i) * aaa
1595 fyi(i) = n2(i) * aaa
1596 fzi(i) = n3(i) * aaa
1604 msi(i)=
msfi(nin)%P(nn)
1605 fni(i) = n1(i) *
i18kafi(nin)%P(1,nn)
1606 . + n2(i) *
i18kafi(nin)%P(2,nn)
1607 . + n3(i) *
i18kafi(nin)%P(3,nn)
1609 aaa = one/
max(em30,n1(i)**2 + n2(i)**2 + n3(i)**2)
1610 msi(i) = msi(i) * aaa
1612 fxi(i) = n1(i) * aaa
1613 fyi(i) = n2(i) * aaa
1614 fzi(i) = n3(i) * aaa
1619 cand_sav(8,i) = pene(i)
1627 IF(pene(i) > zero)
THEN
1653 mtxx = msi(i)*n1(i)*n1(i)
1654 mtxy = msi(i)*n1(i)*n2(i)
1655 mtxz = msi(i)*n1(i)*n3(i)
1656 mtyy = msi(i)*n2(i)*n2(i)
1657 mtyz = msi(i)*n2(i)*n3(i)
1658 mtzz = msi(i)*n3(i)*n3(i)
1660 mt1xx(i) = h1(i)*mtxx
1661 mt1xy(i) = h1(i)*mtxy
1662 mt1xz(i) = h1(i)*mtxz
1663 mt1yy(i) = h1(i)*mtyy
1664 mt1yz(i) = h1(i)*mtyz
1665 mt1zz(i) = h1(i)*mtzz
1667 mt2xx(i) = h2(i)*mtxx
1668 mt2xy(i) = h2(i)*mtxy
1669 mt2xz(i) = h2(i)*mtxz
1670 mt2yy(i) = h2(i)*mtyy
1671 mt2yz(i) = h2(i)*mtyz
1672 mt2zz(i) = h2(i)*mtzz
1674 mt3xx(i) = h3(i)*mtxx
1675 mt3xy(i) = h3(i)*mtxy
1676 mt3xz(i) = h3(i)*mtxz
1677 mt3yy(i) = h3(i)*mtyy
1678 mt3yz(i) = h3(i)*mtyz
1679 mt3zz(i) = h3(i)*mtzz
1681 mt4xx(i) = h4(i)*mtxx
1682 mt4xy(i) = h4(i)*mtxy
1683 mt4xz(i) = h4(i)*mtxz
1684 mt4yy(i) = h4(i)*mtyy
1685 mt4yz(i) = h4(i)*mtyz
1686 mt4zz(i) = h4(i)*mtzz
1694 IF(pene(i) > zero)
THEN
1695#include "lockon.inc"
1696 mtf(1,ix1(i)) = mtf(1,ix1(i)) + mt1xx(i)
1697 mtf(2,ix1(i)) = mtf(2,ix1(i)) + mt1xy(i)
1698 mtf(3,ix1(i)) = mtf(3,ix1(i)) + mt1xz(i)
1699 mtf(4,ix1(i)) = mtf(4,ix1(i)) + mt1yy(i)
1700 mtf(5,ix1(i)) = mtf(5,ix1(i)) + mt1yz(i)
1701 mtf(6,ix1(i)) = mtf(6,ix1(i)) + mt1zz(i)
1702 mtf(7,ix1(i)) = mtf(7,ix1(i)) + fx1(i)
1703 mtf(8,ix1(i)) = mtf(8,ix1(i)) + fy1(i)
1704 mtf(9,ix1(i)) = mtf(9,ix1(i)) + fz1(i)
1706 mtf(1,ix2(i)) = mtf(1,ix2(i)) + mt2xx(i)
1707 mtf(2,ix2(i)) = mtf(2,ix2(i)) + mt2xy(i)
1708 mtf(3,ix2(i)) = mtf(3,ix2(i)) + mt2xz(i)
1709 mtf(4,ix2(i)) = mtf(4,ix2(i)) + mt2yy(i)
1710 mtf(5,ix2(i)) = mtf(5,ix2(i)) + mt2yz(i)
1711 mtf(6,ix2(i)) = mtf(6,ix2(i)) + mt2zz(i)
1712 mtf(7,ix2(i)) = mtf(7,ix2(i)) + fx2(i)
1713 mtf(8,ix2(i)) = mtf(8,ix2(i)) + fy2(i)
1714 mtf(9,ix2(i)) = mtf(9,ix2(i)) + fz2(i)
1716 mtf(1,ix3(i)) = mtf(1,ix3(i)) + mt3xx(i)
1717 mtf(2,ix3(i)) = mtf(2,ix3(i)) + mt3xy(i)
1718 mtf(3,ix3(i)) = mtf(3,ix3(i)) + mt3xz(i)
1719 mtf(4,ix3(i)) = mtf(4,ix3(i)) + mt3yy(i)
1720 mtf(5,ix3(i)) = mtf(5,ix3(i)) + mt3yz(i)
1721 mtf(6,ix3(i)) = mtf(6,ix3(i)) + mt3zz(i)
1722 mtf(7,ix3(i)) = mtf(7,ix3(i)) + fx3(i)
1723 mtf(8,ix3(i)) = mtf(8,ix3(i)) + fy3(i)
1724 mtf(9,ix3(i)) = mtf(9,ix3(i)) + fz3(i)
1726 mtf(1,ix4(i)) = mtf(1,ix4(i)) + mt4xx(i)
1727 mtf(2,ix4(i)) = mtf(2,ix4(i)) + mt4xy(i)
1728 mtf(3,ix4(i)) = mtf(3,ix4(i)) + mt4xz(i)
1729 mtf(4,ix4(i)) = mtf(4,ix4(i)) + mt4yy(i)
1730 mtf(5,ix4(i)) = mtf(5,ix4(i)) + mt4yz(i)
1731 mtf(6,ix4(i)) = mtf(6,ix4(i)) + mt4zz(i)
1732 mtf(7,ix4(i)) = mtf(7,ix4(i)) + fx4(i)
1733 mtf(8,ix4(i)) = mtf(8,ix4(i)) + fy4(i)
1734 mtf(9,ix4(i)) = mtf(9,ix4(i)) + fz4(i)
1735#include "lockoff.inc"
1749 2 GAP ,MS ,NOINT ,STFN ,ITAB ,
1750 3 STIFN ,STIF ,X ,IRECT ,NSV ,
1751 4 NX1 ,NX2 ,NX3 ,NX4 ,NY1 ,
1752 5 NY2 ,NY3 ,NY4 ,NZ1 ,NZ2 ,
1753 6 NZ3 ,NZ4 ,LB1 ,LB2 ,LB3 ,
1754 7 LB4 ,LC1 ,LC2 ,LC3 ,LC4 ,
1755 8 P1 ,P2 ,P3 ,P4 ,NIN ,
1756 9 GAPV ,INACTI ,VXI ,VYI ,VZI ,
1757 A MSI ,MTF ,CAND_SAV,NSN)
1765#include "implicit_f.inc"
1766#include "comlock.inc"
1770#include "mvsiz_p.inc"
1774#include "com08_c.inc"
1779 INTEGER JLT,INACTI,,
1780 . ITAB(*),NOINT,IRECT(4,*),CAND_N(*),CAND_E(*),
1785 . a(3,*), ms(*), v(3,*), gap, stfn(*),stifn(*)
1787 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
1788 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
1789 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
1790 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
1791 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
1792 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz), stif(mvsiz),
1793 . gapv(mvsiz),stifsav(mvsiz), mtf(14,*),cand_sav(8,*),
1794 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
1798 INTEGER I, IG, J, K, NN, NI,
1800 INTEGER IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),(MVSIZ),NSVG(MVSIZ)
1802 . N1(MVSIZ), N2(MVSIZ), N3(MVSIZ), PENE(MVSIZ),
1803 . h1(mvsiz), h2(mvsiz), h3(mvsiz), h4(mvsiz),
1809 INTEGER JSUB,KSUB,JJ,NSUB,IBID
1811 . PP1,PP2,PP3,PP4,BID,
1812 . V1,V2,V3,V4,VSX,VSY,VSZ
1816 h1(i) = cand_sav(1,i)
1817 h2(i) = cand_sav(2,i)
1818 h3(i) = cand_sav(3,i)
1819 h4(i) = cand_sav(4,i)
1820 n1(i) = cand_sav(5,i)
1821 n2(i) = cand_sav(6,i)
1822 n3(i) = cand_sav(7,i)
1823 pene(i) = cand_sav(8,i)
1845 IF(pene(i) > zero)
THEN
1849 v1 = n1(i) * (v(1,ix1(i))+dt12*a(1,ix1(i)))
1850 . + n2(i) * (v(2,ix1(i))+dt12*a(2,ix1(i)))
1851 . + n3(i) * (v(3,ix1(i))+dt12*a(3,ix1(i)))
1852 v2 = n1(i) * (v(1,ix2(i))+dt12*a(1,ix2(i)))
1853 . + n2(i) * (v(2,ix2(i))+dt12*a(2,ix2(i)))
1854 . + n3(i) * (v(3,ix2(i))+dt12*a(3,ix2(i)))
1855 v3 = n1(i) * (v(1,ix3(i))+dt12*a(1,ix3(i)))
1856 . + n2(i) * (v(2,ix3(i))+dt12*a(2,ix3(i)))
1857 . + n3(i) * (v(3,ix3(i))+dt12*a(3,ix3(i)))
1858 v4 = n1(i) * (v(1,ix4(i))+dt12*a(1,ix4(i)))
1859 . + n2(i) * (v(2,ix4(i))+dt12*a(2,ix4(i)))
1860 . + n3(i) * (v(3,ix4(i))+dt12*a(3,ix4(i)))
1861 aaa =
max(em30,n1(i)**2 + n2(i)**2 + n3(i)**2)
1862 aaa = fac*(h1(i)*v1 + h2(i)*v2 + h3(i)*v3 + h4(i)*v4)/aaa
1868#include "lockon.inc"
1869 mtf(1,ig) = mtf(1,ig)+vsx
1870 mtf(2,ig) = mtf(2,ig)+vsy
1871 mtf(3,ig) = mtf(3,ig)+vsz
1872 mtf(4,ig) = v(1,ig) + dt12*a(1,ig)
1874 mtf(6,ig) = v(3,ig) + dt12*a(3,ig)
1875#include "lockoff.inc"
1920 2 GAP ,MS ,NOINT ,STFN ,ITAB ,
1921 3 STIFN ,STIF ,X ,IRECT ,NSV ,
1922 4 NX1 ,NX2 ,NX3 ,NX4 ,NY1 ,
1923 5 NY2 ,NY3 ,NY4 ,NZ1 ,NZ2 ,
1924 6 NZ3 ,NZ4 ,LB1 ,LB2 ,LB3 ,
1925 7 LB4 ,LC1 ,LC2 ,LC3 ,LC4 ,
1926 8 P1 ,P2 ,P3 ,P4 ,NIN ,
1927 9 GAPV ,INACTI ,VXI ,VYI ,VZI ,
1928 A MSI ,MTF ,CAND_SAV,FCONT,FSAV ,
1929 B NSN ,SLVNDTAG,H3D_DATA )
1939#include "implicit_f.inc"
1940#include "comlock.inc"
1944#include "mvsiz_p.inc"
1948#include "com01_c.inc"
1949#include "com06_c.inc"
1950#include "com08_c.inc"
1951#include "scr07_c.inc"
1952#include "scr14_c.inc"
1953#include "scr16_c.inc"
1957 INTEGER JLT,INACTI,NIN,
1958 . ITAB(*), NOINT, IRECT(4,*),CAND_N(*),CAND_E(*),
1960 INTEGER NSV(*) ,SLVNDTAG(*)
1961 my_real X(3,*), A(3,*), MS(*), V(3,*), FSAV(*),FCONT(3,*), GAP, STFN(*),STIFN(*), MTF(
1969TYPE(H3D_DATABASE) :: H3D_DATA
1973 INTEGER I, IG, J, JG , K, NN, NI,
1975 INTEGER IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),IX4(MVSIZ),NSVG(MVSIZ)
1976 my_real FXI(MVSIZ), FYI(MVSIZ), FZI(MVSIZ), FNI(MVSIZ),
1977 . FX1(MVSIZ), FX2(MVSIZ), FX3(MVSIZ), FX4(MVSIZ),
1978 . FY1(MVSIZ), FY2(MVSIZ), FY3(MVSIZ), FY4(MVSIZ),
1979 . FZ1(MVSIZ), FZ2(MVSIZ), FZ3(MVSIZ), FZ4(MVSIZ),
1981 . H1(MVSIZ), H2(MVSIZ), H3(MVSIZ), H4(MVSIZ),
1982 . DT12INV, FAC, FAC2,
1983 . FSAV1, FSAV2, FSAV3, FSAV8,
1984 . fsav9, fsav10, fsav11,
1988 INTEGER JSUB,KSUB,JJ,NSUB
1989 my_real IMPX,IMPY,IMPZ,PP1,PP2,PP3,PP4,BBB,
1990 . V1,V2,V3,V4,VSX,VSY,VSZ,DVSX,DVSY,DVSZ,VSXP,VSYP,VSZP
2000 h1(i) = cand_sav(1,i)
2001 h2(i) = cand_sav(2,i)
2002 h3(i) = cand_sav(3,i)
2003 h4(i) = cand_sav(4,i)
2004 pene(i) = cand_sav(8,i)
2025 IF(pene(i) > zero)
THEN
2044 vsx =
mtfi_v(nin)%P(1,nn)
2045 vsy =
mtfi_v(nin)%P(2,nn)
2046 vsz =
mtfi_v(nin)%P(3,nn)
2047 vsxp =
mtfi_v(nin)%P(4,nn)
2048 vsyp =
mtfi_v(nin)%P(5,nn)
2049 vszp =
mtfi_v(nin)%P(6,nn)
2052 msi(i) =
msfi(nin)%P(nn)
2053 vxi(i) =
vfi(nin)%P(1,nn)
2054 vyi(i) =
vfi(nin)%P(2,nn)
2055 vzi(i) =
vfi(nin)%P(3,nn)
2057 aaa = vsx*vsx + vsy*vsy + vsz*vsz
2059 aaa = (vxi(i)*vsx + vyi(i)*vsy + vzi(i)*vsz)/bbb
2060 aaa = (one-aaa)*fac2
2072 a(1,ig) = dvsx*dt12inv
2073 a(2,ig) = dvsy*dt12inv
2074 a(3,ig) = dvsz*dt12inv
2075 IF(nspmd > 1)slvndtag(ig)=1
2078 mtfi_a(nin)%P(1,nn) = dvsx*dt12inv
2079 mtfi_a(nin)%P(2,nn) = dvsy*dt12inv
2082 mtfi_a(nin)%P(7,nn) = pene(i)
2087 aaa = (vsxp*vsx + vsyp*vsy + vszp*vsz)/bbb
2088 aaa = (one-aaa)*fac2
2089 aaa = aaa*fac*msi(i)*dt12inv
2097 . fxi(i) * fxi(i) + fyi(i) * fyi(i) + fzi(i) * fzi(i))
2129 IF(pene(i) > zero)
THEN
2136 fsav8 =fsav8 +abs(impx)
2137 fsav9 =fsav9 +abs(impy)
2138 fsav10=fsav10+abs(impz)
2139 fsav11=fsav11+fni(i)*dt12
2142#include "lockon.inc"
2143 fsav(1)=fsav(1)+fsav1
2144 fsav(2)=fsav(2)+fsav2
2145 fsav(3)=fsav(3)+fsav3
2146 fsav(8)=fsav(8)+fsav8
2147 fsav(9)=fsav(9)+fsav9
2148 fsav(10)=fsav(10)+fsav10
2149 fsav(11)=fsav(11)+fsav11
2150#include "lockoff.inc"
2152 IF(anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT > 0.AND.
2153 . ((tt>=tanim .AND. tt<=tanim_stop).OR.tt >= toutp.OR.tt >= h3d_data%TH3D.OR.
2154 . (manim >= 4.AND.manim <= 15).OR. h3d_data%MH3D /= 0))
THEN
2155#include "lockon.inc"
2157 IF(pene(i) > zero)
THEN
2158 fcont(1,ix1(i)) =fcont(1,ix1(i)) + fx1(i)
2159 fcont(2,ix1(i)) =fcont(2,ix1(i)) + fy1(i)
2160 fcont(3,ix1(i)) =fcont(3,ix1(i)) + fz1(i)
2161 fcont(1,ix2(i)) =fcont(1,ix2(i)) + fx2(i)
2162 fcont(2,ix2(i)) =fcont(2,ix2(i)) + fy2(i)
2163 fcont(3,ix2(i)) =fcont(3,ix2(i)) + fz2(i)
2164 fcont(1,ix3(i)) =fcont(1,ix3(i)) + fx3(i)
2165 fcont(2,ix3(i)) =fcont(2,ix3(i)) + fy3(i)
2166 fcont(3,ix3(i)) =fcont(3,ix3(i)) + fz3(i)
2167 fcont(1,ix4(i)) =fcont(1,ix4(i)) + fx4(i)
2168 fcont(2,ix4(i)) =fcont(2,ix4(i)) + fy4(i)
2169 fcont(3,ix4(i)) =fcont(3,ix4(i)) + fz4(i)
2172 fcont(1,jg)=fcont(1,jg)- fxi(i)
2173 fcont(2,jg)=fcont(2,jg)- fyi(i)
2174 fcont(3,jg)=fcont(3,jg)- fzi(i)
2183#include "lockoff.inc"
subroutine i18main_kine_1(ipari, intbuf_tab, x, v, a, iskew, skew, lcod, wa, ms, itab, jtask, kinet, stifn, mtf, cand_sav, int18add, iad_elem, fr_elem, tagpene, h3d_data, multi_fvm, ale_ne_connect, xcell, xcell_remote)
subroutine i18main_kine_f(nin, ipari, intbuf_tab, x, stifn, v, a, ms, itab, lindmax, cand_sav, mtf, jtask, nb_jlt, nb_jlt_new, nb_stok_n)
subroutine i18kine_f(jlt, a, v, cand_e, cand_n, gap, ms, noint, stfn, itab, stifn, stif, x, irect, nsv, 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, gapv, inacti, vxi, vyi, vzi, msi, mtf, cand_sav, nsn)
subroutine i18_kine_m(itask, nmn, msr, v, a, ms, mtf, iskew, skew, lcod, itab)
subroutine i18kine_s(jlt, a, v, cand_e, cand_n, gap, ms, noint, stfn, itab, stifn, stif, x, irect, nsv, 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, gapv, inacti, vxi, vyi, vzi, msi, mtf, cand_sav, fcont, fsav, nsn, slvndtag, h3d_data)
subroutine i18kine_i(jlt, a, v, gap, ms, noint, stfn, itab, stifn, stif, x, irect, 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, vxi, vyi, vzi, msi, mtf, index, cand_sav)
subroutine i18main_kine_s(nin, ipari, intbuf_tab, x, stifn, v, a, ms, fsav, fcont, jtask, itab, cand_sav, mtf, nb_jlt, nb_jlt_new, nb_stok_n, iskew, skew, lcod, slvndtag, h3d_data)
subroutine i18main_kine_i(nin, ipari, intbuf_tab, x, stifn, v, a, ms, nmn, itab, lindmax, cand_sav, mtf, ale_ne_connect, nrtmdim, jtask, nb_jlt, nb_jlt_new, nb_stok_n, kinet, multi_fvm, xcell, s_xcell_remote, xcell_remote)
subroutine i18kine_v(jlt, a, v, cand_e, cand_n, gap, ms, noint, stfn, itab, stifn, stif, x, irect, nsv, 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, gapv, inacti, vxi, vyi, vzi, msi, mtf, cand_sav, nsn)
subroutine i18main_kine_v(nin, ipari, intbuf_tab, x, stifn, v, a, ms, jtask, itab, cand_sav, mtf, iskew, skew, lcod, nb_jlt, nb_jlt_new, nb_stok_n)
subroutine i18main_kine_2(ipari, intbuf_tab, x, v, a, iskew, skew, lcod, wa, ms, itab, fsav, jtask, kinet, stifn, mtf, cand_sav, fcont, int18add, iad_elem, fr_elem, h3d_data)
subroutine i7cdcor3(jlt, index, cand_e, cand_n, cand_e_n, cand_n_n)
subroutine i18dst3(jlt, cand_n, cand_e, cn_loc, ce_loc, 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, jlt_new, gapv, cand_p, ale_ne_connect, index, vxi, vyi, itab, xcell, vzi, msi, kini, igap, multi_fvm, s_xcell_remote, xcell_remote)
type(real_pointer2), dimension(:), allocatable i18kafi
type(real_pointer2), dimension(:), allocatable vfi
type(real_pointer2), dimension(:), allocatable mtfi_a
type(real_pointer), dimension(:), allocatable mtfi_pene
type(real_pointer), dimension(:), allocatable msfi
type(real_pointer2), dimension(:), allocatable mtfi_n
type(real_pointer), dimension(:), allocatable mtfi_penemin
type(real_pointer2), dimension(:), allocatable mtfi_v
type(int_pointer), dimension(:), allocatable nsnfi
real function second()
SECOND Using ETIME
subroutine spmd_i18kine_com_a(ipari, intbuf_tab, a, itab)
subroutine spmd_i18kine_com_acc(ipari, intbuf_tab, mtf, a, itab, tagpene)
subroutine spmd_i18kine_com_ms(ipari, intbuf_tab, mtf, ms, itab)
subroutine spmd_i18kine_com_v(ipari, intbuf_tab, mtf, a, itab)
subroutine spmd_i18kine_macc_com_poff(mtf, a, iad_elem, fr_elem, itab)
subroutine spmd_i18kine_msf_com_poff(mtf, iad_elem, fr_elem, itab)
subroutine spmd_i18kine_pene_com_poff(ipari, intbuf_tab, fcont, mtf, a, iad_elem, fr_elem, mode, slvndtag, tagpene, itab, h3d_data)
subroutine i7cor3(x, irect, nsv, cand_e, cand_n, stf, stfn, gapv, igap, gap, gap_s, gap_m, istf, gapmin, gapmax, gap_s_l, gap_m_l, drad, ix1, ix2, ix3, ix4, nsvg, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, stif, dgapload, last)
subroutine ancmsg(msgid, msgtype, anmode, i1, i2, i3, i4, i5, i6, i7, i8, i9, i10, i11, i12, i13, i14, i15, i16, i17, i18, i19, i20, r1, r2, r3, r4, r5, r6, r7, r8, r9, c1, c2, c3, c4, c5, c6, c7, c8, c9, prmode)