OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i10ke3.F File Reference
#include "implicit_f.inc"
#include "mvsiz_p.inc"
#include "com01_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 i10ke3 (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 i10forcf3 (a, v, ms, x, d, ipari, intbuf_tab, nin, num_imp, cand_n, cand_e)
subroutine i10fku3 (a, v, ms, d, ipari, intbuf_tab, x, nin, num_imp, cand_n, cand_e, index2, iupd)
subroutine imp_i10mainf (ipari, intbuf_tab, x, v, ms, nin, lindmax, jtask, num_imp, ns_imp, ne_imp, ind_imp)

Function/Subroutine Documentation

◆ i10fku3()

subroutine i10fku3 ( a,
v,
ms,
d,
integer, dimension(*) 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 290 of file i10ke3.F.

293C-----------------------------------------------
294C M o d u l e s
295C-----------------------------------------------
296 USE intbufdef_mod
297C-----------------------------------------------
298C I m p l i c i t T y p e s
299C-----------------------------------------------
300#include "implicit_f.inc"
301C-----------------------------------------------
302C G l o b a l P a r a m e t e r s
303C-----------------------------------------------
304#include "mvsiz_p.inc"
305C-----------------------------------------------
306C C o m m o n B l o c k s
307C-----------------------------------------------
308#include "com08_c.inc"
309#include "param_c.inc"
310#include "impl2_c.inc"
311C-----------------------------------------------
312C D u m m y A r g u m e n t s
313C-----------------------------------------------
314 INTEGER IPARI(*), INDEX2(*)
315 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN,IUPD
316C REAL
317 my_real
318 . ms(*), v(3,*),x(*),a(3,*),d(3,*)
319
320 TYPE(INTBUF_STRUCT_) INTBUF_TAB
321C-----------------------------------------------
322C L o c a l V a r i a b l e s
323C-----------------------------------------------
324 INTEGER I_STOK, JLT, NFT,
325 .
326 . IGAP, ITIED, IGSTI,IDUM
327 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
328 . NSVG(MVSIZ)
329C REAL
330 my_real
331 . startt, gap, stopt,gapmin,
332 . kmin, kmax, gapmax
333C-----------------------------------------------
334C REAL
335 my_real
336 . nx1(mvsiz), nx2(mvsiz), nx3(mvsiz), nx4(mvsiz),
337 . ny1(mvsiz), ny2(mvsiz), ny3(mvsiz), ny4(mvsiz),
338 . nz1(mvsiz), nz2(mvsiz), nz3(mvsiz), nz4(mvsiz),
339 . lb1(mvsiz), lb2(mvsiz), lb3(mvsiz), lb4(mvsiz),
340 . lc1(mvsiz), lc2(mvsiz), lc3(mvsiz), lc4(mvsiz),
341 . p1(mvsiz), p2(mvsiz), p3(mvsiz), p4(mvsiz),
342 . x1(mvsiz), x2(mvsiz), x3(mvsiz), x4(mvsiz),
343 . y1(mvsiz), y2(mvsiz), y3(mvsiz), y4(mvsiz),
344 . z1(mvsiz), z2(mvsiz), z3(mvsiz), z4(mvsiz),
345 . xi(mvsiz), yi(mvsiz), zi(mvsiz), stif(mvsiz),
346 .
347 . gapv(mvsiz),vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),
348 . dxi(mvsiz),dyi(mvsiz), dzi(mvsiz),
349 . msi(mvsiz)
350C-----------------------------------------------
351 INTEGER :: NTY,NSN
352 IF(num_imp==0) RETURN
353C
354 nsn =ipari(5)
355 nty =ipari(7)
356 startt=intbuf_tab%VARIABLES(3)
357 stopt =intbuf_tab%VARIABLES(11)
358 IF(startt>tt) RETURN
359 IF(tt>stopt) RETURN
360 igap =ipari(21)
361 itied =nint(intbuf_tab%VARIABLES(1))
362 gap =intbuf_tab%VARIABLES(2)
363 gapmin=intbuf_tab%VARIABLES(13)
364 igsti=ipari(34)
365 gapmax=intbuf_tab%VARIABLES(16)
366 kmin =intbuf_tab%VARIABLES(17)
367 kmax =intbuf_tab%VARIABLES(18)
368C
369 i_stok = num_imp
370C
371 DO nft = 0 , i_stok - 1 , nvsiz
372 jlt = min( nvsiz, i_stok - nft )
373 CALL i7cork3(jlt ,x,intbuf_tab%IRECTM,intbuf_tab%NSV,
374 1 cand_e(nft+1) ,cand_n(nft+1) ,intbuf_tab%STFM,
375 2 intbuf_tab%STFNS,x1 ,x2 ,
376 2 x3 ,x4 ,y1 ,y2 ,y3 ,
377 3 y4 ,z1 ,z2 ,z3 ,z4 ,
378 4 xi ,yi ,zi ,stif ,ix1 ,
379 5 ix2 ,ix3 ,ix4 ,nsvg ,igap ,
380 6 gapmin ,intbuf_tab%GAP_S,intbuf_tab%GAP_M,gapv,
381 7 ms ,vxi ,vyi ,vzi ,msi ,
382 8 v ,igsti ,kmin ,kmax ,gapmax,
383 9 gapmin ,nin ,nty ,nsn )
384 CALL i7corkp3(
385 1 jlt ,xi ,yi ,zi ,d ,
386 2 dxi ,dyi ,dzi ,nsvg ,nin ,
387 3 iupd )
388 CALL i7dstk3(
389 1 jlt ,cand_n(nft+1) ,cand_e(nft+1) ,
390 2 x1 ,x2 ,x3 ,x4 ,y1 ,
391 3 y2 ,y3 ,y4 ,z1 ,z2 ,
392 4 z3 ,z4 ,xi ,yi ,zi ,
393 5 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
394 6 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
395 7 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
396 8 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
397 9 p1 ,p2 ,p3 ,p4 ,ix1 ,
398 a ix2 ,ix3 ,ix4 ,nsvg ,stif ,
399 b idum ,gapv ,itied ,intbuf_tab%CAND_F ,
400 c index2(nft+1) )
401 CALL i10kfor3(jlt ,a ,v ,ms ,intbuf_tab%CAND_F,
402 1 stif ,itied ,x1 ,x2 ,x3 ,
403 2 x4 ,y1 ,y2 ,y3 ,y4 ,
404 3 z1 ,z2 ,z3 ,z4 ,nsvg ,
405 4 nx1 ,nx2 ,nx3 ,nx4 ,ny1 ,
406 5 ny2 ,ny3 ,ny4 ,nz1 ,nz2 ,
407 6 nz3 ,nz4 ,lb1 ,lb2 ,lb3 ,
408 7 lb4 ,lc1 ,lc2 ,lc3 ,lc4 ,
409 8 p1 ,p2 ,p3 ,p4 ,nin ,
410 9 ix1 ,ix2 ,ix3 ,ix4 ,gapv ,
411 a index2(nft+1),vxi ,vyi ,vzi ,msi ,
412 b cand_n(nft+1),cand_e(nft+1) ,xi ,yi ,
413 c zi ,dxi ,dyi ,dzi ,d ,
414 d sk_int )
415 ENDDO
416C
417 RETURN
#define my_real
Definition cppsort.cpp:32
subroutine i10kfor3(jlt, a, v, ms, cand_f, stif, itied, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, nsvg, 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, gapv, index, vxi, vyi, vzi, msi, cn_loc, ce_loc, xi, yi, zi, dxi, dyi, dzi, d, scalk)
Definition i10keg3.F:618
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
#define min(a, b)
Definition macros.h:20

◆ i10forcf3()

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

Definition at line 191 of file i10ke3.F.

194C-----------------------------------------------
195C M o d u l e s
196C-----------------------------------------------
197 USE intbufdef_mod
198C-----------------------------------------------
199C I m p l i c i t T y p e s
200C-----------------------------------------------
201#include "implicit_f.inc"
202C-----------------------------------------------
203C G l o b a l P a r a m e t e r s
204C-----------------------------------------------
205#include "mvsiz_p.inc"
206C-----------------------------------------------
207C C o m m o n B l o c k s
208C-----------------------------------------------
209#include "com08_c.inc"
210#include "param_c.inc"
211#include "impl2_c.inc"
212C-----------------------------------------------
213C D u m m y A r g u m e n t s
214C-----------------------------------------------
215 INTEGER IPARI(*)
216 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN
217C REAL
218 my_real
219 . a(3,*), ms(*), v(3,*),d(3,*),x(*)
220
221 TYPE(INTBUF_STRUCT_) INTBUF_TAB
222C-----------------------------------------------
223C L o c a l V a r i a b l e s
224C-----------------------------------------------
225 INTEGER I_STOK, JLT_NEW, JLT, NFT,
226 . NSN,NTY,L
227 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ),
228 . IX4(MVSIZ),NSVG(MVSIZ)
229C REAL
230 my_real
231 . startt, fric, stopt
232C-----------------------------------------------
233C REAL
234 my_real
235 . vxi(mvsiz),vyi(mvsiz),vzi(mvsiz),
236 . dxi(mvsiz),dyi(mvsiz),dzi(mvsiz),
237 . h1(mvsiz),h2(mvsiz),h3(mvsiz),h4(mvsiz),
238 . msi(mvsiz),stif(mvsiz),
239 . n1(mvsiz),n2(mvsiz),n3(mvsiz),
240 . nt1(mvsiz),nt2(mvsiz),nt3(mvsiz)
241C----------------------------------------------
242C
243 nsn =ipari(5)
244 nty =ipari(7)
245 startt=intbuf_tab%VARIABLES(3)
246 stopt =intbuf_tab%VARIABLES(11)
247 IF(startt>tt) RETURN
248 IF(tt>stopt) RETURN
249 fric = one
250C
251C
252 i_stok = num_imp
253 l = 0
254C
255 DO nft = 0 , i_stok - 1 , nvsiz
256 jlt = min( nvsiz, i_stok - nft )
257 jlt_new=0
258 CALL i10corp3(jlt ,x ,intbuf_tab%IRECTM,cand_e(nft+1) ,
259 1 cand_n(nft+1),stif ,h1 ,h2 ,
260 2 h3 ,h4 ,n1 ,n2 ,n3 ,
261 3 nt1 ,nt2 ,nt3 ,ix1 ,ix2 ,
262 4 ix3 ,ix4 ,nsvg ,vxi ,vyi ,
263 5 vzi ,msi ,dxi ,dyi ,dzi ,
264 6 nsn ,nin ,jlt_new ,l )
265 l = l +jlt_new
266 jlt=jlt_new
267 CALL i10frf3(jlt ,a ,v ,ms ,fric ,
268 1 n1 ,n2 ,n3 ,nt1 ,nt2 ,
269 2 nt3 ,h1 ,h2 ,h3 ,h4 ,
270 3 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
271 4 vxi ,vyi ,vzi ,msi ,dxi ,
272 5 dyi ,dzi ,stif ,nin ,d ,
273 6 sk_int )
274 ENDDO
275C
276 RETURN
subroutine i10corp3(jlt, x, irect, cand_e, cand_n, stif, h1, h2, h3, h4, n1, n2, n3, nt1, nt2, nt3, ix1, ix2, ix3, ix4, nsvg, vxi, vyi, vzi, msi, dxi, dyi, dzi, nsn, nin, jlt_new, lrem)
Definition i10corp3.F:38
subroutine i10frf3(jlt, a, v, ms, fric, n1, n2, n3, t1x, t1y, t1z, h1, h2, h3, h4, ix1, ix2, ix3, ix4, index, vxi, vyi, vzi, msi, dxi, dyi, dzi, stif, nin, d, scalk)
Definition i10keg3.F:464

◆ i10ke3()

subroutine i10ke3 ( a,
v,
ms,
integer, dimension(*) 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 36 of file i10ke3.F.

41C-----------------------------------------------
42C M o d u l e s
43C-----------------------------------------------
44 USE intbufdef_mod
45C-----------------------------------------------
46C I m p l i c i t T y p e s
47C-----------------------------------------------
48#include "implicit_f.inc"
49C-----------------------------------------------
50C G l o b a l P a r a m e t e r s
51C-----------------------------------------------
52#include "mvsiz_p.inc"
53C-----------------------------------------------
54C C o m m o n B l o c k s
55C-----------------------------------------------
56#include "com01_c.inc"
57#include "com08_c.inc"
58#include "param_c.inc"
59#include "impl2_c.inc"
60C-----------------------------------------------
61C D u m m y A r g u m e n t s
62C-----------------------------------------------
63 INTEGER IPARI(*), INDEX2(*)
64 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN,IDDL(*),
65 . IADK(*) ,JDIK(*),LREM
66 my_real
67 . a(3,*), ms(*), v(3,*),x(*),k_diag(*),k_lt(*),
68 . gap_imp
69
70 TYPE(INTBUF_STRUCT_) INTBUF_TAB
71C-----------------------------------------------
72C L o c a l V a r i a b l e s
73C-----------------------------------------------
74 INTEGER I_STOK, JLT, NFT,
75 .
76 . IGAP, ITIED, IGSTI,IDUM
77 INTEGER IX1(MVSIZ), IX2(MVSIZ), IX3(MVSIZ), IX4(MVSIZ),
78 . NSVG(MVSIZ)
79C REAL
81 . startt, fric, gap, stopt,gapmin,
82 . kmin, kmax, gapmax
83C-----------------------------------------------
84C REAL
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 . 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)
101C-----------------------------------------------
102 INTEGER :: NSN, NTY
103C
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)
119C
120 i_stok = num_imp
121C 90c1 LREM=0
122C
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 )
136 CALL i7dstk3(
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 ,z2 ,
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
172 CALL assem_int(3 ,nsvg ,ix1 ,ix2 ,ix3 ,
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
178C
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)
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 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)
Definition i10keg3.F:44

◆ imp_i10mainf()

subroutine imp_i10mainf ( integer, dimension(*) 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 431 of file i10ke3.F.

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