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 type(output_),
intent(inout) :: output
86 INTEGER IPARI(NPARI,*), ISKEW(*), LCOD(*), ITAB(*),
87 . KINET(*),INT18ADD(*),JTASK,IAD_ELEM(2,*),FR_ELEM(*),TAGPENE(*)
89 . x(*), v(*), a(3,*), skew(*), wa(*), ms(*),
90 . mtf(14,*),cand_sav(*),stifn(*),xcell(3,sxcell)
91 TYPE(intbuf_struct_) INTBUF_TAB(*)
93 TYPE(MULTI_FVM_STRUCT),
INTENT(IN) :: MULTI_FVM
94 TYPE(t_connectivity),
INTENT(IN) :: ALE_NE_CONNECT
95 TYPE(
array_type),
DIMENSION(NINTER),
INTENT(in) :: XCELL_REMOTE
99 INTEGER I,NODF,NODL,NRTMDIM
100 INTEGER N, NTY, NMN, INACTI,LINDMAX
101 INTEGER NB_JLT(PARASIZ),NB_JLT_NEW(PARASIZ),NB_STOK_N(PARASIZ),
102 * P,NODFI,IERROR1,IERROR2,IERROR3,IERROR4
104 . startt,stopt,bid,vbid
105 SAVE nb_jlt,nb_jlt_new,nb_stok_n
112 nodf = 1 + (jtask-1)*numnod / nthread
113 nodl = jtask*numnod / nthread
138 IF (nty==7.AND.inacti==7.AND.ipari(34,n)==-2)
THEN
141 nodfi = nodfi +
nsnfi(n)%P(p)
146 ALLOCATE(
mtfi_pene(n)%P(nodfi),stat=ierror1)
155 ALLOCATE(
mtfi_v(n)%P(6,nodfi),stat=ierror3)
156 mtfi_v(n)%P(1,1:nodfi)=zero
157 mtfi_v(n)%P(2,1:nodfi)=zero
158 mtfi_v(n)%P(3,1:nodfi)=zero
159 mtfi_v(n)%P(4,1:nodfi)=zero
160 mtfi_v(n)%P(5,1:nodfi)=zero
161 mtfi_v(n)%P(6,1:nodfi)=zero
164 ALLOCATE(
mtfi_a(n)%P(7,nodfi),stat=ierror4)
165 mtfi_a(n)%P(1,1:nodfi)=zero
166 mtfi_a(n)%P(2,1:nodfi)=zero
167 mtfi_a(n)%P(3,1:nodfi)=zero
168 mtfi_a(n)%P(4,1:nodfi)=zero
169 mtfi_a(n)%P(5,1:nodfi)=zero
170 mtfi_a(n)%P(6,1:nodfi)=zero
171 mtfi_a(n)%P(7,1:nodfi)=zero
174 ALLOCATE(
mtfi_n(n)%P(3,nodfi),stat=ierror4)
175 mtfi_n(n)%P(1,1:nodfi)=zero
176 mtfi_n(n)%P(2,1:nodfi)=zero
177 mtfi_n(n)%P(3,1:nodfi)=zero
180 ALLOCATE(
i18kafi(n)%P(3,nodfi),stat=ierror4)
199 IF (debug(3) >= 1.AND.ncycle == 0)
THEN
201 nb_jlt_new(jtask) = 0
214 lindmax = ipari(18,n)*ipari(23,n)
215 IF(nty==7.and.ipari(34,n)==-2.and.inacti==7)
THEN
219 1 n ,ipari(1,n) ,intbuf_tab(n) ,x ,
220 2 stifn ,v ,a ,ms , nmn ,
221 3 itab ,lindmax ,cand_sav(int18add(n)) ,mtf , ale_ne_connect ,
222 4 nrtmdim ,jtask ,nb_jlt(jtask) ,nb_jlt_new(jtask),n b_stok_n(jtask),
223 5 kinet ,multi_fvm ,xcell,xcell_remote(n)%SIZE_MY_REAL_ARRAY_1D,
224 . xcell_remote(n)%MY_REAL_ARRAY_1D)
238 * mtf,a,iad_elem,fr_elem
259 IF(nty==7.and.ipari(34,n)==-2.and.inacti==7)
THEN
261 1 ipari(1,n) ,intbuf_tab(n) ,x ,stifn ,
262 2 v ,a ,ms ,itab ,lindmax
263 3 cand_sav(int18add(n)),mtf ,jtask ,nb_jlt(jtask) ,nb_jlt_new(jtask),
284 IF(nty==7.and.ipari(34,n)==-2.and.inacti==7)
THEN
286 startt=intbuf_tab(n)%VARIABLES(3)
287 stopt =intbuf_tab(n)%VARIABLES(11)
288 IF(tt >= startt .and. tt
THEN
290 1 jtask-1 ,nmn ,intbuf_tab(n)%MSR,v ,a ,ms ,
291 2 mtf ,iskew ,skew ,lcod ,itab )
321!||--- uses -----------------------------------------------------
328 2 A ,ISKEW ,SKEW ,LCOD ,WA ,
329 3 MS ,ITAB ,FSAV ,JTASK ,KINET ,
330 4 STIFN,MTF ,CAND_SAV,FCONT ,INT18ADD,
331 5 IAD_ELEM,FR_ELEM,H3D_DATA)
342#include "implicit_f.inc"
346#include "com01_c.inc"
347#include "com04_c.inc"
348#include "param_c.inc"
353 type(output_),
intent(inout) :: output
354 INTEGER IPARI(NPARI,*), ISKEW(*), LCOD(*), ITAB(*),
355 . KINET(*),INT18ADD(*),JTASK,IAD_ELEM(2,*),FR_ELEM(*)
357 . X(*), V(*), A(3,*), SKEW(*), WA(*), MS(*),
358 . FSAV(NTHVKI,*),MTF(14,*),CAND_SAV(*),STIFN(*),
360 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
366 INTEGER N, NTY, INACTI
367 INTEGER NB_JLT(PARASIZ),NB_JLT_NEW(PARASIZ),NB_STOK_N(PARASIZ),
369 SAVE nb_jlt,nb_jlt_new,nb_stok_n
370 INTEGER,
DIMENSION(:),
ALLOCATABLE :: SLVNDTAG
375 ALLOCATE(slvndtag(numnod))
378 ALLOCATE(slvndtag(1))
388 nodf = 1 + (jtask-1)*numnod / nthread
389 nodl = jtask*numnod / nthread
405 IF (nty==7.AND.inacti==7.AND.ipari(34,n)==-2)
THEN
408 nodfi = nodfi +
nsnfi(n)%P(p)
412 mtfi_v(n)%P(1,1:nodfi)=zero
413 mtfi_v(n)%P(2,1:nodfi)=zero
414 mtfi_v(n)%P(3,1:nodfi)=zero
415 mtfi_v(n)%P(4,1:nodfi)=zero
416 mtfi_v(n)%P(5,1:nodfi)=zero
417 mtfi_v(n)%P(6,1:nodfi)=zero
434 IF(nty==7.and.ipari(34,n)==-2.and.inacti==7)
THEN
436 1 ipari(1,n) ,intbuf_tab(n) ,x ,stifn ,
437 2 v ,a ,ms ,jtask ,itab ,
438 3 cand_sav(int18add(n)),mtf ,iskew ,skew ,lcod ,
439 4 nb_jlt(jtask) ,nb_jlt_new(jtask),nb_stok_n(jtask))
452 * mtf,a,iad_elem,fr_elem,2,slvndtag,ibid,itab,
470 IF(nty==7.and.ipari(34,n)==-2.and.inacti==7)
THEN
472 1 ipari(1,n) ,intbuf_tab(n) ,x ,stifn ,
473 2 v ,a ,ms ,fsav(1,n) ,fcont ,
474 3 jtask ,itab ,cand_sav(int18add(n)),mtf ,
475 4 nb_jlt(jtask),nb_jlt_new(jtask),nb_stok_n(jtask) ,iskew ,skew ,
476 5 lcod ,slvndtag ,h3d_data )
486 * mtf,a,iad_elem,fr_elem,3,slvndtag,ibid,itab,
518 2 STIFN ,V ,A ,MS ,NMN ,
519 3 ITAB ,LINDMAX ,CAND_SAV ,MTF ,ALE_NE_CONNECT,
520 4 NRTMDIM ,JTASK ,NB_JLT ,NB_JLT_NEW ,NB_STOK_N,
521 5 KINET ,MULTI_FVM ,XCELL,S_XCELL_REMOTE,XCELL_REMOTE)
544#include "implicit_f.inc"
548#include "mvsiz_p.inc"
549#include "comlock.inc"
553#include "com04_c.inc"
554#include "com08_c.inc"
555#include "param_c.inc"
558#include "tabsiz_c.inc"
562 INTEGER NIN,JTASK ,LINDMAX,NMN ,
563 . NB_JLT,NB_JLT_NEW,NB_STOK_N,NRTMDIM
564 INTEGER IPARI(NPARI), KINET(*),ITAB(*)
566 INTEGER,
INTENT(in) :: S_XCELL_REMOTE
567 my_real,
DIMENSION(S_XCELL_REMOTE),
INTENT(in) :: XCELL_REMOTE
569 . X(3,*), V(3,*), A(3,*), MS(*),
570 . MTF(14,*),CAND_SAV(8,*),XCELL(3,SXCELL)
571 TYPE(INTBUF_STRUCT_) INTBUF_TAB
572 TYPE(MULTI_FVM_STRUCT),
INTENT(IN) :: MULTI_FVM
573 TYPE(t_connectivity),
INTENT(IN) :: ALE_NE_CONNECT
579 . igap,inacti,ibag,i_stok, i_stok_loc, jlt_new,
580 . jlt, nft,debut,nbid,nb_loc,igsti,icurv,iadm
581 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
582 . NSVG(MVSIZ), CN_LOC(MVSIZ),CE_LOC(MVSIZ),INDEX2(LINDMAX),
583 . cand_n_n(mvsiz),cand_e_n(mvsiz),kini(mvsiz),ibid
585 . startt, stopt,gap,gapmin,maxbox,minbox,bid,
588 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
589 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
590 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
591 . lb1(mvsiz), lb2(mvsiz
592 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
593 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
594 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
595 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
596 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz
597 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
598 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
603 IF(inacti /= 7 .or. ipari(34) == 0)
RETURN
627 startt=intbuf_tab%VARIABLES(3)
628 stopt =intbuf_tab%VARIABLES(11)
629 IF(startt > tt)
RETURN
630 IF(tt > stopt)
RETURN
631 gap =intbuf_tab%VARIABLES(2)
632 gapmin=intbuf_tab%VARIABLES(13)
634 i_stok = intbuf_tab%I_STOK(1)
635 maxbox = intbuf_tab%VARIABLES(9)
637 gapmax=intbuf_tab%VARIABLES(16)
638 kmin =intbuf_tab%VARIABLES(17)
639 kmax =intbuf_tab%VARIABLES(18)
643 nb_loc = i_stok / nthread
644 IF (jtask == nthread)
THEN
645 i_stok_loc = i_stok-nb_loc*(nthread-1)
649 debut = (jtask-1)*nb_loc
652 DO i = debut+1, debut+i_stok_loc
653 IF(intbuf_tab%CAND_N(i) < 0)
THEN
654 IF(i_stok + 1 > 4*numnod)
THEN
655 CALL ancmsg(msgid=94,anmode=aninfo)
661 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i)
667 IF (debug(3) >= 1)
THEN
668 nb_jlt = nb_jlt + i_stok_loc
669 nb_stok_n = nb_stok_n + i_stok
672 DO nft = 0 , i_stok - 1 , nvsiz
673 jlt =
min( nvsiz, i_stok - nft )
676 1 jlt,index2(nft+1),intbuf_tab%CAND_E,intbuf_tab%CAND_N,
680 1 jlt ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,cand_e_n,
681 2 cand_n_n ,intbuf_tab%STFM ,intbuf_tab%STFNS ,x1 ,x2 ,
682 3 x3 ,x4 ,y1 ,y2 ,y3 ,
683 4 y4 ,z1 ,z2 ,z3 ,z4 ,
684 5 xi ,yi ,zi ,stif ,ix1 ,
685 6 ix2 ,ix3 ,ix4 ,nsvg ,igap ,
686 7 gap ,intbuf_tab%GAP_S ,intbuf_tab%GAP_M ,gapv ,
688 a vzi ,msi ,nsn ,v ,kinet ,
689 b kini ,nty ,nin ,igsti ,kmin ,
690 c kmax ,gapmax ,gapmin ,iadm ,bid ,
691 d bid ,bid ,bid ,ibid ,bid ,
692 e bid ,bid ,bid ,ibid ,bid ,
693 f ibid ,ibid ,ibid ,bid ,bid ,
694 g ibid ,ibid ,ibid ,ibid ,ibid ,
695 h ibid ,ibid ,bid ,ibid ,bid )
699 1 jlt ,cand_n_n ,cand_e_n ,cn_loc ,ce_loc ,
700 2 x1 ,x2 ,x3 ,x4 ,y1 ,
701 3 y2 ,y3 ,y4 ,z1 ,z2 ,
702 4 z3 ,z4 ,xi ,yi ,zi ,
703 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
704 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
705 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
706 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
707 9 p1 ,p2 ,p3 ,p4 ,ix1 ,
708 a ix2 ,ix3 ,ix4 ,nsvg ,stif ,
709 b jlt_new ,gapv ,intbuf_tab%CAND_P ,ale_ne_connect,
710 c index2(nft+1) ,vxi ,vyi ,itab ,xcell ,
712 e igap ,multi_fvm ,s_xcell_remote ,xcell_remote)
714 IF(jlt_new /= 0)
THEN
716 IF (debug(3) >= 1) nb_jlt_new = nb_jlt_new + jlt_new
719 2 gap ,ms ,noint ,intbuf_tab%STFNS ,itab ,
720 3 stifn ,stif ,x ,intbuf_tab%IRECTM ,
721 4 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
722 5 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
723 6 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
724 7 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
725 8 p1 ,p2 ,p3 ,p4 ,nin ,
726 9 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
727 a gapv ,inacti ,vxi ,vyi ,vzi ,
728 b msi ,mtf ,index2(nft+1),cand_sav)
735!||
i18main_kine_f ../engine/source/interfaces/int18/i18main_kine.f
744 1 IPARI ,INTBUF_TAB ,X ,STIFN ,
745 2 V ,A ,MS ,ITAB ,LINDMAX ,
746 3 CAND_SAV ,MTF ,JTASK ,NB_JLT ,NB_JLT_NEW,
773#include "implicit_f.inc"
777#include "mvsiz_p.inc"
781#include "com08_c.inc"
782#include "param_c.inc"
787 INTEGER NIN,JTASK ,LINDMAX,
788 . NB_JLT,NB_JLT_NEW,NB_STOK_N
789 INTEGER IPARI(NPARI),
792 . X(3,*), V(3,*), A(3,*), MS(*),
793 . MTF(14,*),CAND_SAV(8,*),STIFN(*)
794 TYPE(INTBUF_STRUCT_) INTBUF_TAB
799 . NME_TGNGE,NOINT,NTY,,
800 . IGAP,INACTI,IBAG,I_STOK, I_STOK_LOC,
801 . JLT, NFT,DEBUT,NB_LOC,IGSTI,ICURV,IADM
803 . startt, stopt,gap,gapmin,maxbox,minbox,
806 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
807 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
808 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
809 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
810 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
811 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
813 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
818 IF(inacti/=7.or.ipari(34)==0)
RETURN
834 startt=intbuf_tab%VARIABLES(3)
835 stopt =intbuf_tab%VARIABLES(11)
836 IF(startt > tt)
RETURN
837 IF(tt > stopt)
RETURN
838 gap =intbuf_tab%VARIABLES(2)
839 gapmin=intbuf_tab%VARIABLES(13)
841 i_stok = intbuf_tab%I_STOK(1)
842 maxbox = intbuf_tab%VARIABLES(9)
843 minbox = intbuf_tab%VARIABLES(12)
844 gapmax=intbuf_tab%VARIABLES(16)
845 kmin =intbuf_tab%VARIABLES(17)
846 kmax =intbuf_tab%VARIABLES(18)
849 nb_loc = i_stok / nthread
850 IF (jtask == nthread)
THEN
851 i_stok_loc = i_stok-nb_loc*(nthread-1)
855 debut = nb_loc*(jtask-1)
863 DO nft = 0 , i_stok - 1 , nvsiz
864 jlt =
min( nvsiz, i_stok - nft )
866 1 jlt ,a ,v ,intbuf_tab%CAND_E(1+nft) ,intbuf_tab%CAND_N(1+nft) ,
867 2 gap ,ms ,noint ,intbuf_tab%STFNS,itab ,
868 3 stifn ,stif ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,
869 4 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
870 5 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
871 6 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
872 7 lb4 ,lc1 ,lc2 ,lc3 ,lc4
873 8 p1 ,p2 ,p3 ,p4 ,nin ,
874 9 gapv ,inacti ,vxi ,vyi ,vzi ,
875 a msi ,mtf ,cand_sav(1,1+nft) ,nsn)
886 1 ITASK ,NMN ,MSR ,V ,A ,MS ,
887 2 MTF ,ISKEW ,SKEW ,LCOD ,ITAB )
891#include "implicit_f.inc"
896#include "param_c.inc"
900 INTEGER ,ITASK,MSR(*), ISKEW(*), LCOD(*) , ITAB(*)
902 . A(3,*), V(3,*), MS(*),MTF(14,*), SKEW(LSKEW,*)
906 INTEGER NMNF, NMNL, I,
908 . A11,A12,A13,A22,A23,A33,B11,B12,B13,B22,B23,B33,
913 NMNF = 1 + itask*nmn / nthread
914 nmnl = (itask+1)*nmn / nthread
916#include "vectorize.inc"
929 a11 = mtf(1,j) + ms(j)
932 a22 = mtf(4,j) + ms(j)
934 a33 = mtf(6,j) + ms(j)
935 fx = mtf(7,j) + a(1,j)
936 fy = mtf(8,j) + a(2,j)
937 fz = mtf(9,j) + a(3,j)
939 b11 = (a22*a33 - a23*a23)
940 b22 = (a33*a11 - a13*a13)
941 b33 = (a11*a22 - a12*a12)
943 b12 = (a23*a13 - a33*a12)
944 b23 = (a13*a12 - a11*a23)
945 b13 = (a12*a23 - a22*a13)
947 usdet = ms(j) / ( a11*b11 + a12*b12 + a13*b13)
950 a(1,j) = (b11*fx + b12*fy + b13*fz)*usdet
951 a(2,j) = (b12*fx + b22*fy + b23*fz)*usdet
952 a(3,j) = (b13*fx + b23*fy + b33*fz)*usdet
971 1 IPARI ,INTBUF_TAB ,X ,STIFN ,
972 2 V ,A ,MS ,JTASK ,ITAB ,
973 3 CAND_SAV ,MTF ,ISKEW ,SKEW ,LCOD ,
974 4 NB_JLT ,NB_JLT_NEW,NB_STOK_N)
1000#include "implicit_f.inc"
1004#include "mvsiz_p.inc"
1008#include "com08_c.inc"
1009#include "param_c.inc"
1010#include "task_c.inc"
1015 . NB_JLT,NB_JLT_NEW,NB_STOK_N
1016 INTEGER IPARI(NPARI),
1017 . ITAB(*), ISKEW(*), LCOD(*)
1019 . X(3,*), V(3,*), A(3,*), MS(*),
1020 . (14,*),CAND_SAV(8,*), SKEW(*), STIFN(*)
1021 TYPE(INTBUF_STRUCT_) INTBUF_TAB
1026 . NME_TGNGE,NOINT,NTY,IVIS2,
1027 . IGAP,INACTI,IBAG,I_STOK, I_STOK_LOC,DEBUT,
1028 . JLT, NFT,NB_LOC,IADM
1030 . STARTT, STOPT,GAP,GAPMIN,MAXBOX,MINBOX,
1033 . NX1(MVSIZ), NX2(MVSIZ), NX3(MVSIZ), (MVSIZ),
1034 . NY1(MVSIZ), NY2(MVSIZ), NY3(MVSIZ), NY4(MVSIZ),
1035 . NZ1(MVSIZ), NZ2(MVSIZ), NZ3(MVSIZ), NZ4(MVSIZ),
1036 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
1037 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
1038 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),stif(mvsiz),
1039 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
1054 startt=intbuf_tab%VARIABLES(3)
1055 stopt =intbuf_tab%VARIABLES(11)
1056 IF(startt > tt)
RETURN
1057 IF(tt > stopt)
RETURN
1058 gap =intbuf_tab%VARIABLES(2)
1059 gapmin=intbuf_tab%VARIABLES(13)
1061 i_stok = intbuf_tab%I_STOK(1)
1062 maxbox = intbuf_tab%VARIABLES(9)
1063 minbox = intbuf_tab%VARIABLES(12)
1064 gapmax=intbuf_tab%VARIABLES(16)
1065 kmin =intbuf_tab%VARIABLES(17)
1066 kmax =intbuf_tab%VARIABLES(18)
1069 nb_loc = i_stok / nthread
1070 IF (jtask == nthread)
THEN
1071 i_stok_loc = i_stok-nb_loc*(nthread-1)
1075 debut = nb_loc*(jtask-1)
1083 DO nft = 0 , i_stok - 1 , nvsiz
1084 jlt =
min( nvsiz, i_stok - nft )
1086 1 jlt ,a ,v ,intbuf_tab%CAND_E(1+nft) ,intbuf_tab%CAND_N(1+nft) ,
1087 2 gap ,ms ,noint ,intbuf_tab%STFNS,itab ,
1088 3 stifn ,stif ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,
1089 4 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
1090 5 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
1091 6 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
1092 7 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
1093 8 p1 ,p2 ,p3 ,p4 ,nin ,
1094 9 gapv ,inacti ,vxi ,vyi ,vzi ,
1095 a msi ,mtf ,cand_sav(1,1+nft) ,nsn)
1113 1 IPARI ,INTBUF_TAB ,X ,STIFN ,
1114 2 V ,A ,MS ,FSAV ,FCONT ,
1115 3 JTASK ,ITAB ,CAND_SAV,MTF ,
1116 4 NB_JLT ,NB_JLT_NEW,NB_STOK_N,ISKEW ,SKEW ,
1117 5 LCOD ,SLVNDTAG, H3D_DATA )
1145#include "implicit_f.inc"
1149#include "mvsiz_p.inc"
1153#include "com08_c.inc"
1154#include "param_c.inc"
1155#include "task_c.inc"
1159 type(output_),
intent(inout) :: output
1161 INTEGER IPARI(NPARI),NB_JLT_NEW,NB_STOK_N, NB_JLT,
1162 . ITAB(*), ISKEW(*), LCOD(*) ,SLVNDTAG(*)
1164 . X(3,*), V(3,*), A(3,*), MS(*), STIFN(*),
1165 . MTF(14,*),CAND_SAV(8,*), FSAV(*),FCONT(3,*), SKEW(*)
1166 TYPE(INTBUF_STRUCT_) INTBUF_TAB
1167 TYPE(H3D_DATABASE) :: H3D_DATA
1173 . IGAP,INACTI,IBAG,I_STOK, I_STOK_LOC, DEBUT,
1174 . JLT, NFT,NBID,NB_LOC, IADM
1176 . STARTT, STOPT,GAP,GAPMIN,MAXBOX,MINBOX,BID,
1177 . KMIN, KMAX, GAPMAX
1179 . NX1(MVSIZ), NX2(MVSIZ), NX3(MVSIZ), NX4(MVSIZ),
1180 . NY1(MVSIZ), NY2(MVSIZ), NY3(MVSIZ), NY4(MVSIZ),
1181 . NZ1(MVSIZ), (MVSIZ), NZ3(MVSIZ), NZ4(MVSIZ),
1182 . LB1(MVSIZ), LB2(MVSIZ), LB3(MVSIZ), LB4(MVSIZ),
1183 . LC1(MVSIZ), LC2(MVSIZ), LC3(), LC4(MVSIZ),
1184 . P1(MVSIZ), P2(MVSIZ), P3(), P4(MVSIZ),
1185 . GAPV(MVSIZ),VXI(MVSIZ),VYI(MVSIZ),VZI(MVSIZ),MSI(MVSIZ),
1204 startt=intbuf_tab%VARIABLES(3)
1205 stopt =intbuf_tab%VARIABLES(11)
1206 IF(startt > tt)
RETURN
1207 IF(tt > stopt)
RETURN
1208 gap =intbuf_tab%VARIABLES(2)
1209 gapmin=intbuf_tab%VARIABLES(13)
1211 i_stok = intbuf_tab%I_STOK(1)
1212 maxbox = intbuf_tab%VARIABLES(9)
1213 minbox = intbuf_tab%VARIABLES(12)
1214 gapmax=intbuf_tab%VARIABLES(16)
1215 kmin =intbuf_tab%VARIABLES(17)
1216 kmax =intbuf_tab%VARIABLES(18)
1219 nb_loc = i_stok / nthread
1220 IF (jtask == nthread)
THEN
1221 i_stok_loc = i_stok-nb_loc*(nthread-1)
1225 debut = nb_loc*(jtask-1)
1233 DO nft = 0 , i_stok - 1 , nvsiz
1234 jlt =
min( nvsiz, i_stok - nft )
1236 1 jlt ,a ,v ,intbuf_tab%CAND_E(1+nft) ,intbuf_tab%CAND_N(1+nft) ,
1237 2 gap ,ms ,noint ,intbuf_tab%STFNS,itab ,
1238 3 stifn ,stif ,x ,intbuf_tab%IRECTM,intbuf_tab%NSV,
1239 4 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
1240 5 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
1241 6 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
1242 7 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
1243 8 p1 ,p2 ,p3 ,p4 ,nin ,
1244 9 gapv ,inacti ,vxi ,vyi ,vzi ,
1245 a msi ,mtf ,cand_sav(1,1+nft),fcont ,fsav ,
1246 b nsn ,slvndtag ,h3d_data )
1252!||
i18kine_i ../engine/source/interfaces/int18/i18main_kine.f
1259 2 GAP ,MS ,NOINT ,STFN ,ITAB ,
1260 3 STIFN ,STIF ,X ,IRECT ,
1261 4 NX1 ,NX2 ,NX3 ,NX4 ,NY1 ,
1262 5 NY2 ,NY3 ,NY4 ,NZ1 ,NZ2 ,
1263 6 NZ3 ,NZ4 ,LB1 ,LB2 ,LB3 ,
1264 7 LB4 ,LC1 ,LC2 ,LC3 ,LC4 ,
1265 8 P1 ,P2 ,P3 ,P4 ,NIN ,
1266 9 IX1 ,IX2 ,IX3 ,IX4 ,NSVG ,
1267 A GAPV ,INACTI ,VXI ,VYI ,VZI ,
1268 B MSI ,MTF ,INDEX ,CAND_SAV)
1276#include "implicit_f.inc"
1277#include "comlock.inc"
1281#include "mvsiz_p.inc"
1285#include "com08_c.inc"
1286#include "scr05_c.inc"
1290 INTEGER JLT,INACTI,NIN,
1293 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
1296 . x(3,*),a(3,*), ms(*), v(3,*), mtf(14,*),
1297 . gap, stfn(*),stifn(*),cand_sav(8,*)
1299 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
1300 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
1301 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
1302 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
1303 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
1304 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz), stif(mvsiz),
1306 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
1312 . N1(MVSIZ), N2(MVSIZ), N3(MVSIZ), PENE(MVSIZ),
1313 . H1(MVSIZ), H2(MVSIZ), H3(MVSIZ), (MVSIZ),
1316 . H0, LA1, LA2, LA3, LA4,
1323 . PP1,PP2,PP3,PP4,BID
1326 IF (IRESP == 1) then
1343 IF(ix3(i) /= ix4(i))
THEN
1346 pp1 =
max(zero, gapv(i) - d1)
1349 pp2 =
max(zero, gapv(i) - d2)
1352 pp3 =
max(zero, gapv(i) - d3)
1355 pp4 =
max(zero, gapv(i) - d4)
1357 pene(i) =
max(pp1,pp2,pp3,pp4)
1358 la1 = one - lb1(i) - lc1(i)
1359 la2 = one - lb2(i) - lc2(i)
1360 la3 = one - lb3(i) - lc3(i)
1361 la4 = one - lb4(i) - lc4(i)
1362 IF(pene(i) == pp1)
THEN
1371 ELSEIF(pene(i) == pp2)
THEN
1380 ELSEIF(pene(i) == pp3)
THEN
1389 ELSEIF(pene(i) == pp4)
THEN
1400 h00 = one/
max(em20,h1(i) + h2(i) + h3(i) + h4(i))
1409 pp1 =
max(zero, gapv(i) - d1)
1416 h3(i) = one - lb1(i) - lc1(i)
1424 s2 = one/
max(em30,sqrt(n1(i)**2 + n2(i)**2 + n3(i)**2))
1435#include "lockon.inc"
1436 IF(pene(i) > mtf(11,ig))
THEN
1438 ELSEIF(pene(i) == mtf(11,ig))
THEN
1439 pene(i) = pene(i)*(one-em6)
1441 mtf(10,ig) = mtf(10,ig) + pene(i)
1442 mtf(12,ig) = mtf(12,ig) + pene(i)*n1(i)
1443 mtf(13,ig) = mtf(13,ig) + pene(i)*n2(i)
1444 mtf(14,ig) = mtf(14,ig) + pene(i)*n3(i)
1445#include "lockoff.inc"
1448#include "lockon.inc"
1452 pene(i) = pene(i)*(one-em6)
1455 mtfi_n(nin)%P(1,nn) =
mtfi_n(nin)%P(1,nn) + pene(i)*n1(i)
1456 mtfi_n(nin)%P(2,nn) =
mtfi_n(nin)%P(2,nn) + pene(i)*n2(i)
1457 mtfi_n(nin)%P(3,nn) =
mtfi_n(nin)%P(3,nn) + pene(i)*n3(i)
1458#include "lockoff.inc"
1460 cand_sav(1,index(i)) = h1(i)
1461 cand_sav(2,index(i)) = h2(i)
1462 cand_sav(3,index(i)) = h3(i)
1463 cand_sav(4,index(i)) = h4(i)
1464 cand_sav(5,index(i)) = n1(i)
1465 cand_sav(6,index(i)) = n2(i)
1466 cand_sav(7,index(i)) = n3(i)
1467 cand_sav(8,index(i)) = pene(i)
1480 2 GAP ,MS ,NOINT ,STFN ,ITAB ,
1481 3 STIFN ,STIF ,X ,IRECT ,NSV ,
1482 4 NX1 ,NX2 ,NX3 ,NX4 ,NY1 ,
1483 5 NY2 ,NY3 ,NY4 ,NZ1 ,NZ2 ,
1484 6 NZ3 ,NZ4 ,LB1 ,LB2 ,LB3 ,
1485 7 LB4 ,LC1 ,LC2 ,LC3 ,LC4 ,
1486 8 P1 ,P2 ,P3 ,P4 ,NIN ,
1487 A GAPV ,INACTI ,VXI ,VYI ,VZI ,
1488 B MSI ,MTF ,CAND_SAV,NSN)
1496#include "implicit_f.inc"
1497#include "comlock.inc"
1501#include "mvsiz_p.inc"
1505 INTEGER JLT,INACTI,NIN,
1506 . itab(*),cand_n(*),cand_e(*), nsv(*),
1510 . x(3,*),a(3,*), ms(*), v(3,*), mtf(14,*),
1511 . gap, stfn(*),stifn(*),cand_sav(8,*)
1513 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
1514 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
1515 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
1516 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
1517 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
1518 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz), stif(mvsiz),
1520 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
1524 INTEGER I, IG, NN, NI,
1526 INTEGER IX1(MVSIZ),(MVSIZ),IX3(MVSIZ),(MVSIZ),NSVG(MVSIZ)
1528 . FXI(MVSIZ), FYI(MVSIZ), FZI(MVSIZ), FNI(MVSIZ),
1529 . FX1(MVSIZ), FX2(MVSIZ), FX3(MVSIZ), FX4(MVSIZ),
1530 . FY1(MVSIZ), FY2(MVSIZ), FY3(MVSIZ), FY4(MVSIZ),
1531 . FZ1(MVSIZ), FZ2(MVSIZ), FZ3(MVSIZ), FZ4(MVSIZ),
1532 . N1(MVSIZ), N2(MVSIZ), N3(MVSIZ), PENE(MVSIZ),
1533 . H1(MVSIZ), H2(MVSIZ), H3(MVSIZ), H4(MVSIZ),
1534 . MT1XX(MVSIZ), MT1XY(MVSIZ), MT1XZ(MVSIZ),
1535 . MT1YY(MVSIZ), MT1YZ(MVSIZ), MT1ZZ(MVSIZ),
1536 . MT2XX(MVSIZ), MT2XY(MVSIZ), MT2XZ(MVSIZ),
1537 . MT2YY(MVSIZ), MT2YZ(MVSIZ), MT2ZZ(MVSIZ),
1538 . mt3xx(mvsiz), mt3xy(mvsiz), mt3xz(mvsiz),
1539 . mt3yy(mvsiz), mt3yz(mvsiz), mt3zz(mvsiz),
1540 . mt4xx(mvsiz), mt4xy(mvsiz), mt4xz(mvsiz),
1541 . mt4yy(mvsiz), mt4yz(mvsiz), mt4zz(mvsiz),
1545 . mtxx,mtxy,mtxz,mtyy,mtyz,mtzz
1551 h1(i) = cand_sav(1,i
1552 h2(i) = cand_sav(2,i)
1553 h3(i) = cand_sav(3,i)
1554 h4(i) = cand_sav(4,i)
1555 n1(i) = cand_sav(5,i)
1556 n2(i) = cand_sav(6,i)
1557 n3(i) = cand_sav(7,i)
1558 pene(i) = cand_sav(8,i)
1579 IF(pene(i) > zero)
THEN
1582 IF(pene(i) == mtf(11,ig))
THEN
1585 fni(i) = n1(i) * a(1,ig)
1589 aaa = one/
max(em30,n1(i)**2 + n2(i)**2 + n3(i)**2)
1590 msi(i) = msi(i) * aaa
1592 fxi(i) = n1(i) * aaa
1593 fyi(i) = n2(i) * aaa
1594 fzi(i) = n3(i) * aaa
1602 msi(i)=
msfi(nin)%P(nn)
1603 fni(i) = n1(i) *
i18kafi(nin)%P(1,nn)
1604 . + n2(i) *
i18kafi(nin)%P(2,nn)
1605 . + n3(i) *
i18kafi(nin)%P(3,nn)
1607 aaa = one/
max(em30,n1(i)**2 + n2(i)**2 + n3(i)**2)
1608 msi(i) = msi(i) * aaa
1610 fxi(i) = n1(i) * aaa
1611 fyi(i) = n2(i) * aaa
1612 fzi(i) = n3(i) * aaa
1617 cand_sav(8,i) = pene(i)
1625 IF(pene(i) > zero)
THEN
1651 mtxx = msi(i)*n1(i)*n1(i)
1652 mtxy = msi(i)*n1(i)*n2(i)
1653 mtxz = msi(i)*n1(i)*n3(i)
1654 mtyy = msi(i)*n2(i)*n2(i)
1655 mtyz = msi(i)*n2(i)*n3(i)
1656 mtzz = msi(i)*n3(i)*n3(i)
1658 mt1xx(i) = h1(i)*mtxx
1659 mt1xy(i) = h1(i)*mtxy
1660 mt1xz(i) = h1(i)*mtxz
1661 mt1yy(i) = h1(i)*mtyy
1662 mt1yz(i) = h1(i)*mtyz
1663 mt1zz(i) = h1(i)*mtzz
1665 mt2xx(i) = h2(i)*mtxx
1666 mt2xy(i) = h2(i)*mtxy
1667 mt2xz(i) = h2(i)*mtxz
1668 mt2yy(i) = h2(i)*mtyy
1669 mt2yz(i) = h2(i)*mtyz
1670 mt2zz(i) = h2(i)*mtzz
1672 mt3xx(i) = h3(i)*mtxx
1673 mt3xy(i) = h3(i)*mtxy
1674 mt3xz(i) = h3(i)*mtxz
1675 mt3yy(i) = h3(i)*mtyy
1676 mt3yz(i) = h3(i)*mtyz
1677 mt3zz(i) = h3(i)*mtzz
1679 mt4xx(i) = h4(i)*mtxx
1680 mt4xy(i) = h4(i)*mtxy
1681 mt4xz(i) = h4(i)*mtxz
1682 mt4yy(i) = h4(i)*mtyy
1683 mt4yz(i) = h4(i)*mtyz
1684 mt4zz(i) = h4(i)*mtzz
1692 IF(pene(i) > zero)
THEN
1693#include "lockon.inc"
1694 mtf(1,ix1(i)) = mtf(1,ix1(i)) + mt1xx(i)
1695 mtf(2,ix1(i)) = mtf(2,ix1(i)) + mt1xy(i)
1696 mtf(3,ix1(i)) = mtf(3,ix1(i)) + mt1xz(i)
1697 mtf(4,ix1(i)) = mtf(4,ix1(i)) + mt1yy(i)
1698 mtf(5,ix1(i)) = mtf(5,ix1(i)) + mt1yz(i)
1699 mtf(6,ix1(i)) = mtf(6,ix1(i)) + mt1zz(i)
1700 mtf(7,ix1(i)) = mtf(7,ix1(i)) + fx1(i)
1701 mtf(8,ix1(i)) = mtf(8,ix1(i)) + fy1(i)
1702 mtf(9,ix1(i)) = mtf(9,ix1(i)) + fz1(i)
1704 mtf(1,ix2(i)) = mtf(1,ix2(i)) + mt2xx(i)
1705 mtf(2,ix2(i)) = mtf(2,ix2(i)) + mt2xy(i)
1706 mtf(3,ix2(i)) = mtf(3,ix2(i)) + mt2xz(i)
1707 mtf(4,ix2(i)) = mtf(4,ix2(i)) + mt2yy(i)
1708 mtf(5,ix2(i)) = mtf(5,ix2(i)) + mt2yz(i)
1709 mtf(6,ix2(i)) = mtf(6,ix2(i)) + mt2zz(i)
1710 mtf(7,ix2(i)) = mtf(7,ix2(i)) + fx2(i)
1711 mtf(8,ix2(i)) = mtf(8,ix2(i)) + fy2(i)
1712 mtf(9,ix2(i)) = mtf(9,ix2(i)) + fz2(i)
1714 mtf(1,ix3(i)) = mtf(1,ix3(i)) + mt3xx(i)
1715 mtf(2,ix3(i)) = mtf(2,ix3(i)) + mt3xy(i)
1716 mtf(3,ix3(i)) = mtf(3,ix3(i)) + mt3xz(i)
1717 mtf(4,ix3(i)) = mtf(4,ix3(i)) + mt3yy(i)
1718 mtf(5,ix3(i)) = mtf(5,ix3(i)) + mt3yz(i)
1719 mtf(6,ix3(i)) = mtf(6,ix3(i)) + mt3zz(i)
1720 mtf(7,ix3(i)) = mtf(7,ix3(i)) + fx3(i)
1721 mtf(8,ix3(i)) = mtf(8,ix3(i)) + fy3(i)
1722 mtf(9,ix3(i)) = mtf(9,ix3(i)) + fz3(i)
1724 mtf(1,ix4(i)) = mtf(1,ix4(i)) + mt4xx(i)
1725 mtf(2,ix4(i)) = mtf(2,ix4(i)) + mt4xy(i)
1726 mtf(3,ix4(i)) = mtf(3,ix4(i)) + mt4xz(i)
1727 mtf(4,ix4(i)) = mtf(4,ix4(i)) + mt4yy(i)
1728 mtf(5,ix4(i)) = mtf(5,ix4(i)) + mt4yz(i)
1729 mtf(6,ix4(i)) = mtf(6,ix4(i)) + mt4zz(i)
1730 mtf(7,ix4(i)) = mtf(7,ix4(i)) + fx4(i)
1731 mtf(8,ix4(i)) = mtf(8,ix4(i)) + fy4(i)
1732 mtf(9,ix4(i)) = mtf(9,ix4(i)) + fz4(i)
1733#include "lockoff.inc"
1747 2 GAP ,MS ,NOINT ,STFN ,ITAB ,
1748 3 STIFN ,STIF ,X ,IRECT ,NSV ,
1749 4 NX1 ,NX2 ,NX3 ,NX4 ,NY1 ,
1750 5 NY2 ,NY3 ,NY4 ,NZ1 ,NZ2 ,
1751 6 NZ3 ,NZ4 ,LB1 ,LB2 ,LB3 ,
1752 7 LB4 ,LC1 ,LC2 ,LC3 ,LC4 ,
1753 8 P1 ,P2 ,P3 ,P4 ,NIN ,
1754 9 GAPV ,INACTI ,VXI ,VYI ,VZI ,
1755 A MSI ,MTF ,CAND_SAV,NSN)
1763#include "implicit_f.inc"
1764#include "comlock.inc"
1768#include "mvsiz_p.inc"
1772#include "com08_c.inc"
1777 INTEGER JLT,INACTI,NIN,
1778 . ITAB(*),NOINT,IRECT(4,*),CAND_N(*),CAND_E(*),
1783 . a(3,*), ms(*), v(3,*), gap, stfn(*),stifn(*)
1785 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
1786 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
1787 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
1788 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
1789 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
1790 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz), stif(mvsiz),
1791 . gapv(mvsiz), mtf(14,*),cand_sav(8,*),
1792 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),msi(mvsiz)
1796 INTEGER I, IG, NN, NI,
1798 INTEGER IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),IX4(MVSIZ),NSVG(MVSIZ)
1800 . N1(MVSIZ), N2(MVSIZ), N3(MVSIZ), PENE(MVSIZ),
1801 . h1(mvsiz), h2(mvsiz), h3(mvsiz), h4(mvsiz),
1805 . v1,v2,v3,v4,vsx,vsy,vsz
1809 h1(i) = cand_sav(1,i)
1810 h2(i) = cand_sav(2,i)
1811 h3(i) = cand_sav(3,i)
1812 h4(i) = cand_sav(4,i)
1813 n1(i) = cand_sav(5,i)
1814 n2(i) = cand_sav(6,i)
1815 n3(i) = cand_sav(7,i)
1816 pene(i) = cand_sav(8,i)
1838 IF(pene(i) > zero)
THEN
1842 v1 = n1(i) * (v(1,ix1(i))+dt12*a(1,ix1(i)))
1843 . + n2(i) * (v(2,ix1(i))+dt12*a(2,ix1(i)))
1844 . + n3(i) * (v(3,ix1(i))+dt12*a(3,ix1(i)))
1845 v2 = n1(i) * (v(1,ix2(i))+dt12*a(1,ix2(i)))
1846 . + n2(i) * (v(2,ix2(i))+dt12*a(2,ix2(i)))
1847 . + n3(i) * (v(3,ix2(i))+dt12*a(3,ix2(i)))
1848 v3 = n1(i) * (v(1,ix3(i))+dt12*a(1,ix3(i)))
1849 . + n2(i) * (v(2,ix3(i))+dt12*a(2,ix3(i)))
1850 . + n3(i) * (v(3,ix3(i))+dt12*a(3,ix3(i)))
1851 v4 = n1(i) * (v(1,ix4(i))+dt12*a(1,ix4(i)))
1852 . + n2(i) * (v(2,ix4(i))+dt12*a(2,ix4(i)))
1853 . + n3(i) * (v(3,ix4(i))+dt12*a(3,ix4(i)))
1854 aaa =
max(em30,n1(i)**2 + n2(i)**2 + n3(i)**2)
1855 aaa = fac*(h1(i)*v1 + h2(i)*v2 + h3(i)*v3 + h4(i)*v4)/aaa
1861#include "lockon.inc"
1862 mtf(1,ig) = mtf(1,ig)+vsx
1863 mtf(2,ig) = mtf(2,ig)+vsy
1864 mtf(3,ig) = mtf(3,ig)+vsz
1865 mtf(4,ig) = v(1,ig) + dt12*a(1,ig)
1866 mtf(5,ig) = v(2,ig) + dt12*a(2,ig)
1867 mtf(6,ig) = v(3,ig) + dt12*a(3,ig)
1868#include "lockoff.inc"
1913 2 GAP ,MS ,NOINT ,STFN ,ITAB ,
1914 3 STIFN ,STIF ,X ,IRECT ,NSV ,
1915 4 NX1 ,NX2 ,NX3 ,NX4 ,NY1 ,
1916 5 NY2 ,NY3 ,NY4 ,NZ1 ,NZ2 ,
1917 6 NZ3 ,NZ4 ,LB1 ,LB2 ,LB3 ,
1918 7 LB4 ,LC1 ,LC2 ,LC3 ,LC4 ,
1919 8 P1 ,P2 ,P3 ,P4 ,NIN ,
1920 9 GAPV ,INACTI ,VXI ,VYI ,VZI ,
1921 A MSI ,MTF ,CAND_SAV,FCONT,FSAV ,
1922 B NSN ,SLVNDTAG,H3D_DATA )
1932#include "implicit_f.inc"
1933#include "comlock.inc"
1937#include "mvsiz_p.inc"
1941#include "com01_c.inc"
1942#include "com06_c.inc"
1943#include "com08_c.inc"
1944#include "scr07_c.inc"
1945#include "scr14_c.inc"
1946#include "scr16_c.inc"
1950 TYPE(output_),
INTENT(IN) :: OUTPUT
1951 INTEGER JLT,INACTI,NIN,
1952 . ITAB(*), NOINT, IRECT(4,*),CAND_N(*),CAND_E(*),
1954 INTEGER NSV(*) ,SLVNDTAG(*)
1955 my_real X(3,*), A(3,*), MS(*), V(3,*), FSAV(*),FCONT(3,*), GAP, STFN(*),STIFN(*), MTF(14,*),CAND_SAV(8,*)
1956 my_real NX1(MVSIZ), NX2(MVSIZ), NX3(MVSIZ), NX4(MVSIZ),
1957 . NY1(MVSIZ), NY2(MVSIZ), NY3(MVSIZ), NY4(MVSIZ),
1958 . NZ1(MVSIZ), NZ2(MVSIZ), NZ3(MVSIZ), NZ4(MVSIZ),
1959 . LB1(MVSIZ), LB2(MVSIZ), LB3(MVSIZ), LB4(MVSIZ),
1960 . LC1(MVSIZ), LC2(MVSIZ), LC3(MVSIZ), LC4(MVSIZ),
1961 . P1(MVSIZ), P2(MVSIZ), P3(MVSIZ), P4(), STIF(MVSIZ),
1962 . GAPV(MVSIZ),VXI(MVSIZ),VYI(MVSIZ),VZI(MVSIZ),MSI(MVSIZ)
1963 TYPE(H3D_DATABASE) :: H3D_DATA
1967 INTEGER I, IG, JG, NN, NI,
1969 INTEGER IX1(MVSIZ),IX2(MVSIZ),IX3(MVSIZ),IX4(MVSIZ),NSVG(MVSIZ)
1970 my_real FXI(MVSIZ), FYI(MVSIZ), FZI(MVSIZ), FNI(MVSIZ),
1971 . FX1(MVSIZ), FX2(MVSIZ), FX3(MVSIZ), FX4(MVSIZ),
1972 . FY1(MVSIZ), FY2(MVSIZ), FY3(MVSIZ), FY4(MVSIZ),
1973 . FZ1(MVSIZ), FZ2(MVSIZ), FZ3(MVSIZ), FZ4(MVSIZ),
1975 . H1(MVSIZ), H2(MVSIZ), H3(MVSIZ), H4(MVSIZ),
1976 . DT12INV, FAC, FAC2,
1977 . fsav1, fsav2, fsav3, fsav8,
1978 . fsav9, fsav10, fsav11,
1980 my_real impx,impy,impz,bbb,
1981 . vsx,vsy,vsz,dvsx,dvsy,dvsz,vsxp,vsyp,vszp
1991 h1(i) = cand_sav(1,i)
1992 h2(i) = cand_sav(2,i)
1993 h3(i) = cand_sav(3,i)
1994 h4(i) = cand_sav(4,i)
1995 pene(i) = cand_sav(8,i)
2016 IF(pene(i) > zero)
THEN
2036 vsy =
mtfi_v(nin)%P(2,nn)
2037 vsz =
mtfi_v(nin)%P(3,nn)
2038 vsxp =
mtfi_v(nin)%P(4,nn)
2039 vsyp =
mtfi_v(nin)%P(5,nn)
2040 vszp =
mtfi_v(nin)%P(6,nn)
2043 msi(i) =
msfi(nin)%P(nn)
2044 vxi(i) =
vfi(nin)%P(1,nn)
2045 vyi(i) =
vfi(nin)%P(2,nn)
2046 vzi(i) =
vfi(nin)%P(3,nn)
2048 aaa = vsx*vsx + vsy*vsy + vsz*vsz
2050 aaa = (vxi(i)*vsx + vyi(i)*vsy + vzi(i)*vsz)/bbb
2051 aaa = (one-aaa)*fac2
2063 a(1,ig) = dvsx*dt12inv
2064 a(2,ig) = dvsy*dt12inv
2065 a(3,ig) = dvsz*dt12inv
2066 IF(nspmd > 1)slvndtag(ig)=1
2069 mtfi_a(nin)%P(1,nn) = dvsx*dt12inv
2070 mtfi_a(nin)%P(2,nn) = dvsy*dt12inv
2071 mtfi_a(nin)%P(3,nn) = dvsz*dt12inv
2073 mtfi_a(nin)%P(7,nn) = pene(i)
2078 aaa = (vsxp*vsx + vsyp*vsy + vszp*vsz)/bbb
2079 aaa = (one-aaa)*fac2
2080 aaa = aaa*fac*msi(i)*dt12inv
2088 . fxi(i) * fxi(i) + fyi(i) * fyi(i) + fzi(i) * fzi(i))
2120 IF(pene(i) > zero)
THEN
2127 fsav8 =fsav8 +abs(impx)
2128 fsav9 =fsav9 +abs(impy)
2129 fsav10=fsav10+abs(impz)
2130 fsav11=fsav11+fni(i)*dt12
2133#include "lockon.inc"
2134 fsav(1)=fsav(1)+fsav1
2135 fsav(2)=fsav(2)+fsav2
2136 fsav(3)=fsav(3)+fsav3
2137 fsav(8)=fsav(8)+fsav8
2138 fsav(9)=fsav(9)+fsav9
2139 fsav(10)=fsav(10)+fsav10
2140 fsav(11)=fsav(11)+fsav11
2141#include "lockoff.inc"
2143 IF(anim_v(4)+outp_v(4)+h3d_data%N_VECT_CONT > 0.AND.
2144 . ((tt>=output%TANIM .AND. tt<=output%TANIM_STOP).OR.tt >= toutp.OR.tt >= h3d_data%TH3D.OR.
2145 . (manim >= 4.AND.manim <= 15).OR. h3d_data%MH3D /= 0))
THEN
2146#include "lockon.inc"
2148 IF(pene(i) > zero)
THEN
2149 fcont(1,ix1(i)) =fcont(1,ix1(i)) + fx1(i)
2150 fcont(2,ix1(i)) =fcont(2,ix1(i)) + fy1(i)
2151 fcont(3,ix1(i)) =fcont(3,ix1(i)) + fz1(i)
2152 fcont(1,ix2(i)) =fcont(1,ix2(i)) + fx2(i)
2153 fcont(2,ix2(i)) =fcont(2,ix2(i)) + fy2(i)
2154 fcont(3,ix2(i)) =fcont(3,ix2(i)) + fz2(i)
2155 fcont(1,ix3(i)) =fcont(1,ix3(i)) + fx3(i)
2156 fcont(2,ix3(i)) =fcont(2,ix3(i)) + fy3(i)
2157 fcont(3,ix3(i)) =fcont(3,ix3(i)) + fz3(i)
2158 fcont(1,ix4(i)) =fcont(1,ix4(i)) + fx4(i)
2159 fcont(2,ix4(i)) =fcont(2,ix4(i)) + fy4(i)
2160 fcont(3,ix4(i)) =fcont(3,ix4(i)) + fz4(i)
2163 fcont(1,jg)=fcont(1,jg)- fxi(i)
2164 fcont(2,jg)=fcont(2,jg)- fyi(i)
2165 fcont(3,jg)=fcont(3,jg)- fzi(i)
2174#include "lockoff.inc"
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_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 i18kine_s(output, 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 i18main_kine_s(output, 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_2(output, 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 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 i18main_kine_1(output, 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 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 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
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(output, 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)