41
42
43
44 USE intbufdef_mod
45
46
47
48#include "implicit_f.inc"
49
50
51
52#include "mvsiz_p.inc"
53
54
55
56#include "com01_c.inc"
57#include "com08_c.inc"
58#include "param_c.inc"
59#include "impl2_c.inc"
60
61
62
63 INTEGER IPARI(*), INDEX2(*)
64 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN,IDDL(*),
65 . IADK(*) ,JDIK(*),LREM
67 . a(3,*), ms(*), v(3,*),x(*),k_diag(*),k_lt(*),
68 . gap_imp
69
70 TYPE(INTBUF_STRUCT_) INTBUF_TAB
71
72
73
74 INTEGER , I_STOK, JLT_NEW, JLT , NFT, IVIS2,
75 . IBC, NOINT, NSEG, ISECIN, IBAG,
76 . IGAP, ITIED, IFQ, MFROT, IGSTI,IDUM
77 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
78 . (MVSIZ), I3N
79
81 . startt, fric, gap, stopt,gapmin,
82 . kmin, kmax, gapmax
83
84
86 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
87 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
88 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
89 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
90 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
91 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
92 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
93 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
94 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
95 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
96 . n1(mvsiz), n2(mvsiz), n3(mvsiz), off(mvsiz),
97 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),
98 . msi(mvsiz),ki11(9,mvsiz),kj11(9,mvsiz),
99 . kk11(9,mvsiz),kl11(9,mvsiz),ki12(9,mvsiz),
100 . kj12(9,mvsiz),kk12(9,mvsiz),kl12(9,mvsiz)
101
102 INTEGER :: NSN, NTY
103
104 nsn =ipari(5)
105 nty =ipari(7)
106 startt=intbuf_tab%VARIABLES(3)
107 stopt =intbuf_tab%VARIABLES(11)
108 IF(startt>tt) RETURN
109 IF(tt>stopt) RETURN
110 igap =ipari(21)
111 itied =nint(intbuf_tab%VARIABLES(1))
112 gap =intbuf_tab%VARIABLES(2)
113 gapmin=intbuf_tab%VARIABLES(13)
114 gap_imp=
min(gap_imp,gapmin)
115 igsti=ipari(34)
116 gapmax=intbuf_tab%VARIABLES(16)
117 kmin =intbuf_tab%VARIABLES(17)
118 kmax =intbuf_tab%VARIABLES(18)
119
120 i_stok = num_imp
121
122
123 DO nft = 0 , i_stok - 1 , nvsiz
124 jlt =
min( nvsiz, i_stok - nft )
125 CALL i7cork3(jlt ,x,intbuf_tab%IRECTM,intbuf_tab%NSV,
126 1 cand_e(nft+1) ,cand_n(nft+1) ,intbuf_tab%STFM,
127 2 intbuf_tab%STFNS,x1 ,x2 ,
128 2 x3 ,x4 ,y1 ,y2 ,y3 ,
129 3 y4 ,z1 ,z2 ,z3 ,z4 ,
130 4 xi ,yi ,zi ,stif ,ix1 ,
131 5 ix2 ,ix3 ,ix4 ,nsvg ,igap ,
132 6 gapmin ,intbuf_tab%GAP_S,intbuf_tab%GAP_M,gapv,
133 7 ms ,vxi ,vyi ,vzi ,msi ,
134 8 v ,igsti ,kmin ,kmax ,gapmax,
135 9 gapmin ,nin ,nty ,nsn )
137 1 jlt ,cand_n(nft+1) ,cand_e(nft+1) ,
138 2 x1 ,x2 ,x3 ,x4 ,y1 ,
139 3 y2 ,y3 ,y4 ,z1 ,z2 ,
140 4 z3 ,z4 ,xi ,yi ,zi ,
141 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
142 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
143 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
144 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
145 9 p1 ,p2 ,p3 ,p4 ,ix1 ,
146 a ix2 ,ix3 ,ix4 ,nsvg ,stif ,
147 b idum ,gapv ,itied ,intbuf_tab%CAND_P,
148 c index2(nft+1) )
149 CALL i10keg3(jlt ,a ,v ,ms ,fric ,
150 1 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
151 2 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
152 3 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
153 4 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
154 5 p1 ,p2 ,p3 ,p4 ,nin ,
155 6 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
156 7 gapv,itied ,intbuf_tab%CAND_P,index2(nft+1),
157 8 stif ,vxi ,vyi ,vzi ,msi ,
158 9 x1 ,x2 ,x3 ,x4 ,y1
159 a y2 ,y3 ,y4 ,z1
160 b z3 ,z4 ,ki11 ,ki12 ,kj11 ,
161 c kj12 ,kk11 ,kk12 ,kl11 ,kl12 ,
162 d off ,sk_int ,lrem )
163 IF (nspmd>1) THEN
164 lrem = lrem + jlt
165 CALL ass_spmd(3 ,nsvg ,ix1 ,ix2 ,ix3 ,
166 1 ix4 ,jlt ,iddl ,k_diag ,k_lt ,
167 2 iadk ,jdik ,ki11 ,ki12 ,kj11 ,
168 3 kj12 ,kk11 ,kk12 ,kl11 ,kl12 ,
169 4 off ,nin )
170 lrem = lrem - jlt
171 ENDIF
173 1 ix4 ,jlt ,iddl ,k_diag ,k_lt ,
174 2 iadk ,jdik ,ki11 ,ki12 ,kj11 ,
175 3 kj12 ,kk11 ,kk12 ,kl11 ,kl12 ,
176 4 off )
177 ENDDO
178
179 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)
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)
subroutine i10keg3(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, itied, cand_f, index, stif, vxi, vyi, vzi, msi, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, ki11, ki12, kj11, kj12, kk11, kk12, kl11, kl12, off, scalk, lrem)