OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i10ke3.F
Go to the documentation of this file.
1Copyright> OpenRadioss
2Copyright> Copyright (C) 1986-2025 Altair Engineering Inc.
3Copyright>
4Copyright> This program is free software: you can redistribute it and/or modify
5Copyright> it under the terms of the GNU Affero General Public License as published by
6Copyright> the Free Software Foundation, either version 3 of the License, or
7Copyright> (at your option) any later version.
8Copyright>
9Copyright> This program is distributed in the hope that it will be useful,
10Copyright> but WITHOUT ANY WARRANTY; without even the implied warranty of
11Copyright> MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
12Copyright> GNU Affero General Public License for more details.
13Copyright>
14Copyright> You should have received a copy of the GNU Affero General Public License
15Copyright> along with this program. If not, see <https://www.gnu.org/licenses/>.
16Copyright>
17Copyright>
18Copyright> Commercial Alternative: Altair Radioss Software
19Copyright>
20Copyright> As an alternative to this open-source version, Altair also offers Altair Radioss
21Copyright> software under a commercial license. Contact Altair to discuss further if the
22Copyright> commercial version may interest you: https://www.altair.com/radioss/.
23!||====================================================================
24!|| i10ke3 ../engine/source/interfaces/int10/i10ke3.F
25!||--- called by ------------------------------------------------------
26!|| imp_int_k ../engine/source/implicit/imp_int_k.F
27!||--- calls -----------------------------------------------------
28!|| ass_spmd ../engine/source/implicit/assem_int.f
29!|| assem_int ../engine/source/implicit/assem_int.F
30!|| i10keg3 ../engine/source/interfaces/int10/i10keg3.F
31!|| i7cork3 ../engine/source/interfaces/int07/i7cork3.F
32!|| i7dstk3 ../engine/source/interfaces/int07/i7dstk3.F
33!||--- uses -----------------------------------------------------
34!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
35!||====================================================================
36 SUBROUTINE i10ke3( A ,V ,MS ,
37 1 IPARI ,INTBUF_TAB ,X ,NIN ,
38 2 NUM_IMP,CAND_N,CAND_E ,INDEX2,
39 3 IDDL ,K_DIAG ,K_LT ,IADK ,JDIK ,
40 4 GAP_IMP,LREM )
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
80 my_real
81 . startt, fric, gap, stopt,gapmin,
82 . kmin, kmax, gapmax
83C-----------------------------------------------
84C REAL
85 my_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
180 END
181!||====================================================================
182!|| i10forcf3 ../engine/source/interfaces/int10/i10ke3.F
183!||--- called by ------------------------------------------------------
184!|| i7mainfr ../engine/source/interfaces/int07/i7ke3.F
185!||--- calls -----------------------------------------------------
186!|| i10corp3 ../engine/source/interfaces/int10/i10corp3.F
187!|| i10frf3 ../engine/source/interfaces/int10/i10keg3.F
188!||--- uses -----------------------------------------------------
189!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
190!||====================================================================
191 SUBROUTINE i10forcf3( A ,V ,MS ,X ,D ,
192 1 IPARI ,INTBUF_TAB ,NIN ,
193 2 NUM_IMP ,CAND_N ,CAND_E)
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
277 END
278!||====================================================================
279!|| i10fku3 ../engine/source/interfaces/int10/i10ke3.F
280!||--- called by ------------------------------------------------------
281!|| int_fku3 ../engine/source/implicit/imp_int_k.F
282!||--- calls -----------------------------------------------------
283!|| i10kfor3 ../engine/source/interfaces/int10/i10keg3.F
284!|| i7cork3 ../engine/source/interfaces/int07/i7cork3.F
285!|| i7corkp3 ../engine/source/interfaces/int07/i7cork3.F
286!|| i7dstk3 ../engine/source/interfaces/int07/i7dstk3.F
287!||--- uses -----------------------------------------------------
288!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
289!||====================================================================
290 SUBROUTINE i10fku3(A ,V ,MS ,D ,
291 1 IPARI ,INTBUF_TAB ,X ,NIN ,
292 2 NUM_IMP,CAND_N,CAND_E ,INDEX2,IUPD )
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
418 END
419!||====================================================================
420!|| imp_i10mainf ../engine/source/interfaces/int10/i10ke3.F
421!||--- called by ------------------------------------------------------
422!|| imp_tripi ../engine/source/implicit/imp_int_k.F
423!||--- calls -----------------------------------------------------
424!|| i7cdcor3 ../engine/source/interfaces/int07/i7cdcor3.F
425!|| i7cork3 ../engine/source/interfaces/int07/i7cork3.F
426!|| i7dstk3 ../engine/source/interfaces/int07/i7dstk3.f
427!|| i7dstr3 ../engine/source/interfaces/int07/i7dstk3.F
428!||--- uses -----------------------------------------------------
429!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
430!||====================================================================
431 SUBROUTINE imp_i10mainf(
432 1 IPARI ,INTBUF_TAB,X ,
433 2 V ,MS ,NIN ,LINDMAX ,
434 5 JTASK ,NUM_IMP ,NS_IMP ,NE_IMP ,IND_IMP)
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
587 END
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 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 i10forcf3(a, v, ms, x, d, ipari, intbuf_tab, nin, num_imp, cand_n, cand_e)
Definition i10ke3.F:194
subroutine imp_i10mainf(ipari, intbuf_tab, x, v, ms, nin, lindmax, jtask, num_imp, ns_imp, ne_imp, ind_imp)
Definition i10ke3.F:435
subroutine i10fku3(a, v, ms, d, ipari, intbuf_tab, x, nin, num_imp, cand_n, cand_e, index2, iupd)
Definition i10ke3.F:293
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)
Definition i10ke3.F:41
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 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
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
subroutine i7cdcor3(jlt, index, cand_e, cand_n, cand_e_n, cand_n_n)
Definition i7cdcor3.F:38
subroutine i7corkp3(jlt, xi, yi, zi, d, dxi, dyi, dzi, nsvg, nin, iupd)
Definition i7cork3.F:376
subroutine i7cork3(jlt, x, irect, nsv, cand_e, cand_n, stf, stfn, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, stif, ix1, ix2, ix3, ix4, nsvg, igap, gap, gap_s, gap_m, gapv, ms, vxi, vyi, vzi, msi, v, igsti, kmin, kmax, gapmax, gapmin, nin, ity, nsn)
Definition i7cork3.F:45
subroutine i7dstk3(jlt, cand_n, cand_e, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, nx1, nx2, nx3, nx4, ny1, ny2, ny3, ny4, nz1, nz2, nz3, nz4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, p1, p2, p3, p4, ix1, ix2, ix3, ix4, nsvg, stif, i3n, gapv, inacti, cand_p, index)
Definition i7dstk3.F:45
subroutine 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
#define min(a, b)
Definition macros.h:20