OpenRadioss 2025.1.11
OpenRadioss project
Loading...
Searching...
No Matches
i11ke3.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!|| i11ke3 ../engine/source/interfaces/int11/i11ke3.F
25!||--- called by ------------------------------------------------------
26!|| imp_int_k ../engine/source/implicit/imp_int_k.F
27!||--- calls -----------------------------------------------------
28!|| ass_spmd11 ../engine/source/implicit/assem_int.F
29!|| assem_int11 ../engine/source/implicit/assem_int.F
30!|| i11cor3 ../engine/source/interfaces/int11/i11cor3.F
31!|| i11dstk3 ../engine/source/interfaces/int11/i11dstk3.F
32!|| i11keg3 ../engine/source/interfaces/int11/i11keg3.F
33!||--- uses -----------------------------------------------------
34!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
35!||====================================================================
36 SUBROUTINE i11ke3(
37 1 A ,V ,MS ,IPARI ,INTBUF_TAB,
38 2 X ,NIN ,NUM_IMP ,CAND_N ,
39 3 CAND_E ,IDDL ,K_DIAG ,K_LT ,IADK ,
40 4 JDIK ,GAP_IMP ,LREM ,ITAB )
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(*)
64 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN,IDDL(*),
65 . IADK(*) ,JDIK(*),LREM,ITAB(*)
66C REAL
67 my_real dt2t,
68 . x(*), a(3,*), v(3,*),ms(*),
69 . k_diag(*),k_lt(*),gap_imp
70
71 TYPE(intbuf_struct_) INTBUF_TAB
72C-----------------------------------------------
73C L o c a l V a r i a b l e s
74C-----------------------------------------------
75 INTEGER NOINT,I, I_STOK, NSEG,JLT , NFT, JLT_NEW, IGAP,
76 . I_STOK_LOC,DEBUT,IDESAC, IGSTI, IBID
77 INTEGER N1(MVSIZ), N2(MVSIZ), M1(MVSIZ), M2(MVSIZ)
78C REAL
80 . startt, fric, gap, stopt,stiglo, gapmin, kmin, kmax
81C-----------------------------------------------
82C REAL
84 . nx(mvsiz),ny(mvsiz),nz(mvsiz),
85 . hs1(mvsiz), hs2(mvsiz), hm1(mvsiz), hm2(mvsiz),
86 . stif(mvsiz),gapv(mvsiz),
87 . xxs1(mvsiz), xxs2(mvsiz), xys1(mvsiz), xys2(mvsiz),
88 . xzs1(mvsiz), xzs2(mvsiz), xxm1(mvsiz), xxm2(mvsiz),
89 . xym1(mvsiz), xym2(mvsiz), xzm1(mvsiz), xzm2(mvsiz),
90 . vxs1(mvsiz), vxs2(mvsiz), vys1(mvsiz), vys2(mvsiz),
91 . vzs1(mvsiz), vzs2(mvsiz), vxm1(mvsiz), vxm2(mvsiz),
92 . vym1(mvsiz), vym2(mvsiz), vzm1(mvsiz), vzm2(mvsiz),
93 . ms1(mvsiz), ms2(mvsiz), mm1(mvsiz), mm2(mvsiz) ,
94 . k1i11(9,mvsiz),k1j11(9,mvsiz),k2i11(9,mvsiz),
95 . k2j11(9,mvsiz),k1i12(9,mvsiz),k1j12(9,mvsiz),
96 . k2i12(9,mvsiz),k2j12(9,mvsiz),off(mvsiz),bid(mvsiz)
97 INTEGER :: NRTS
98C-----------------------------------------------
99 IF(NUM_IMP==0) return
100 ibid=0
101C
102 nrts =ipari(3)
103 noint =ipari(15)
104 igap =ipari(21)
105 igsti =ipari(34)
106C
107 stiglo=-intbuf_tab%STFAC(1)
108 startt=intbuf_tab%VARIABLES(3)
109 stopt =intbuf_tab%VARIABLES(11)
110 IF(startt>tt) RETURN
111 IF(tt>stopt) RETURN
112C
113 fric =intbuf_tab%VARIABLES(1)
114 gap =intbuf_tab%VARIABLES(2)
115 gapmin=intbuf_tab%VARIABLES(13)
116 kmin =intbuf_tab%VARIABLES(17)
117 kmax =intbuf_tab%VARIABLES(18)
118C------pour evider la desactivation des noeuds secnds------
119 gap_imp=min(gap_imp,zep9*gapmin)
120 idesac = 0
121C
122 i_stok = num_imp
123C 90c1 LREM=0
124C
125 DO nft = 0 , i_stok - 1 , nvsiz
126 jlt = min( nvsiz, i_stok - nft )
127 CALL i11cor3(
128 1 jlt ,intbuf_tab%IRECTS,intbuf_tab%IRECTM,x ,v ,
129 2 cand_n(nft+1),cand_e(nft+1),intbuf_tab%STFS,intbuf_tab%STFM,gapmin ,
130 3 intbuf_tab%GAP_S,intbuf_tab%GAP_M,igap ,gapv ,ms ,
131 4 stif ,xxs1 ,xxs2 ,xys1 ,xys2 ,
132 5 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
133 6 xym2 ,xzm1 ,xzm2 ,vxs1 ,vxs2 ,
134 7 vys1 ,vys2 ,vzs1 ,vzs2 ,vxm1 ,
135 8 vxm2 ,vym1 ,vym2 ,vzm1 ,vzm2 ,
136 9 ms1 ,ms2 ,mm1 ,mm2 ,n1 ,
137 a n2 ,m1 ,m2 ,nrts ,nin ,
138 b igsti ,kmin ,kmax ,ibid ,ibid ,
139 c intbuf_tab%GAP_SL,intbuf_tab%GAP_ML,ibid ,bid ,bid ,
140 d bid ,bid ,bid ,intbuf_tab%AREAS ,bid ,
141 e bid ,ibid ,ibid ,intbuf_tab%IELEC,intbuf_tab%IELES ,
142 f ibid ,itab ,ibid ,ibid ,ibid ,
143 g ibid ,ibid )
144 CALL i11dstk3(
145 1 jlt ,cand_n(nft+1),cand_e(nft+1),hs1 ,hs2 ,
146 2 hm1 , hm2 ,nx ,ny ,nz ,
147 3 stif ,n1 ,n2 ,m1 ,m2 ,
148 4 xxs1 ,xxs2 ,xys1 ,xys2 ,
149 5 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
150 6 xym2 ,xzm1 ,xzm2 ,vxs1 ,vxs2 ,
151 7 vys1 ,vys2 ,vzs1 ,vzs2 ,vxm1 ,
152 8 vxm2 ,vym1 ,vym2 ,vzm1 ,vzm2 ,
153 9 ms1 ,ms2 ,mm1 ,mm2 ,gapv )
154 CALL i11keg3(
155 1 jlt ,a ,v ,gap ,fric ,
156 2 ms ,cand_n(nft+1),cand_e(nft+1),stiglo ,stif ,
157 3 hs1 ,hs2 ,hm1 ,hm2 ,nx ,
158 4 ny ,nz ,gapv,intbuf_tab%PENIS,intbuf_tab%PENIM,
159 5 ipari(22) ,nrts ,ms1 ,ms2 ,mm1 ,
160 6 mm2 ,vxs1 ,vys1 ,vzs1 ,vxs2 ,
161 7 vys2 ,vzs2 ,vxm1 ,vym1 ,vzm1 ,
162 8 vxm2 ,vym2 ,vzm2 ,k1i11 ,k1i12 ,
163 9 k1j11 ,k1j12 ,k2i11 ,k2i12 ,k2j11 ,
164 a k2j12 ,n1 ,n2 ,nin ,lrem ,
165 b off ,sk_int ,idesac )
166C
167 IF (nspmd>1) THEN
168 lrem = lrem + jlt
169 CALL ass_spmd11(3 ,n1 ,n2 ,m1 ,
170 1 m2 ,jlt ,iddl ,k_diag ,k_lt ,
171 2 iadk ,jdik ,k1i11 ,k1i12 ,k1j11 ,
172 9 k1j12 ,k2i11 ,k2i12 ,k2j11 ,k2j12 ,
173 a off ,nin ,cand_n(nft+1),nrts )
174 lrem = lrem - jlt
175 ENDIF
176 CALL assem_int11(3 ,n1 ,n2 ,m1 ,
177 1 m2 ,jlt ,iddl ,k_diag ,k_lt ,
178 2 iadk ,jdik ,k1i11 ,k1i12 ,k1j11 ,
179 9 k1j12 ,k2i11 ,k2i12 ,k2j11 ,k2j12 ,
180 a off )
181 ENDDO
182C
183 IF(idesac>0) gap_imp=-noint
184C
185 RETURN
186 END
187!||====================================================================
188!|| i11forcf3 ../engine/source/interfaces/int11/i11ke3.F
189!||--- called by ------------------------------------------------------
190!|| i7mainfr ../engine/source/interfaces/int07/i7ke3.F
191!||--- calls -----------------------------------------------------
192!|| i11corp3 ../engine/source/interfaces/int11/i11corp3.F
193!|| i11frf3 ../engine/source/interfaces/int11/i11keg3.F
194!||--- uses -----------------------------------------------------
195!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
196!||====================================================================
197 SUBROUTINE i11forcf3( A ,V ,MS ,X ,D ,
198 1 IPARI ,INTBUF_TAB,NIN ,
199 2 NUM_IMP ,CAND_N ,CAND_E)
200C-----------------------------------------------
201C M o d u l e s
202C-----------------------------------------------
203 USE intbufdef_mod
204C-----------------------------------------------
205C I m p l i c i t T y p e s
206C-----------------------------------------------
207#include "implicit_f.inc"
208C-----------------------------------------------
209C G l o b a l P a r a m e t e r s
210C-----------------------------------------------
211#include "mvsiz_p.inc"
212C-----------------------------------------------
213C C o m m o n B l o c k s
214C-----------------------------------------------
215#include "com08_c.inc"
216#include "param_c.inc"
217#include "impl2_c.inc"
218C-----------------------------------------------
219C D u m m y A r g u m e n t s
220C-----------------------------------------------
221 INTEGER IPARI(*)
222 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN
223C REAL
224 my_real
225 . A(3,*), MS(*), V(3,*),D(3,*),X(*)
226
227 TYPE(intbuf_struct_) INTBUF_TAB
228C-----------------------------------------------
229C L o c a l V a r i a b l e s
230C-----------------------------------------------
231 INTEGER I, I_STOK, JLT_NEW, JLT , NFT,
232 . INACTI, NRTS,NTY,L
233 INTEGER N1(MVSIZ), N2(MVSIZ), M1(MVSIZ), M2(MVSIZ)
234C REAL
235 my_real
236 . STARTT, FRIC, STOPT
237 my_real
238 . hs1(mvsiz), hs2(mvsiz), hm1(mvsiz), hm2(mvsiz),
239 . nx(mvsiz), ny(mvsiz), nz(mvsiz), stif(mvsiz),
240 . ms1(mvsiz),ms2(mvsiz),mm1(mvsiz),mm2(mvsiz),
241 . vxs1(mvsiz),vys1(mvsiz),vzs1(mvsiz),vxs2(mvsiz),vys2(mvsiz),
242 . vzs2(mvsiz),vxm1(mvsiz),vym1(mvsiz),vzm1(mvsiz),vxm2(mvsiz),
243 . vym2(mvsiz),vzm2(mvsiz),dxs1(mvsiz),dys1(mvsiz),dzs1(mvsiz),
244 . dxs2(mvsiz),dys2(mvsiz),dzs2(mvsiz),dxm1(mvsiz),dym1(mvsiz),
245 . dzm1(mvsiz),dxm2(mvsiz),dym2(mvsiz),dzm2(mvsiz)
246C-----------------------------------------------
247C REAL
248C----------------------------------------------
249 IF(num_imp==0) RETURN
250C
251 nrts =ipari(3)
252 nty =ipari(7)
253 startt=intbuf_tab%VARIABLES(3)
254 stopt =intbuf_tab%VARIABLES(11)
255 IF(startt>tt) RETURN
256 IF(tt>stopt) RETURN
257 fric =intbuf_tab%VARIABLES(1)
258C
259 i_stok = num_imp
260 l = 0
261C
262 DO nft = 0 , i_stok - 1 , nvsiz
263 jlt = min( nvsiz, i_stok - nft )
264 jlt_new=0
265 CALL i11corp3(jlt ,x ,intbuf_tab%IRECTS,intbuf_tab%IRECTM,
266 1 cand_e(nft+1),cand_n(nft+1),stif ,hs1 ,
267 2 hs2 ,hm1 ,hm2 ,nx ,ny ,
268 3 nz ,n1 ,n2 ,m1 ,m2 ,
269 4 vxs1 ,vys1 ,vzs1 ,vxs2 ,vys2 ,
270 5 vzs2 ,vxm1 ,vym1 ,vzm1 ,vxm2 ,
271 6 vym2 ,vzm2 ,dxs1 ,dys1 ,dzs1 ,
272 7 dxs2 ,dys2 ,dzs2 ,dxm1 ,dym1 ,
273 8 dzm1 ,dxm2 ,dym2 ,dzm2 ,ms1 ,
274 9 ms2 ,mm1 ,mm2 ,ms ,d ,
275 a v ,nrts ,nin ,jlt_new ,l )
276 l = l +jlt_new
277 jlt=jlt_new
278 CALL i11frf3(jlt ,a ,v ,fric ,hs1 ,
279 1 hs2 ,hm1 ,hm2 ,nx ,ny ,
280 2 nz ,ms1 ,ms2 ,mm1 ,mm2 ,
281 3 vxs1 ,vys1 ,vzs1 ,vxs2 ,vys2 ,
282 4 vzs2 ,vxm1 ,vym1 ,vzm1 ,vxm2 ,
283 5 vym2 ,vzm2 ,n1 ,n2 ,m1 ,
284 6 m2 ,dxs1 ,dys1 ,dzs1 ,dxs2 ,
285 7 dys2 ,dzs2 ,dxm1 ,dym1 ,dzm1 ,
286 8 dxm2 ,dym2 ,dzm2 ,stif , nin ,
287 9 sk_int )
288 ENDDO
289C
290 RETURN
291 END
292!||====================================================================
293!|| imp_i11mainf ../engine/source/interfaces/int11/i11ke3.f
294!||--- called by ------------------------------------------------------
295!|| imp_tripi ../engine/source/implicit/imp_int_k.f
296!||--- calls -----------------------------------------------------
297!|| i11cdcor3 ../engine/source/interfaces/int11/i11cdcor3.F
298!|| i11cor3 ../engine/source/interfaces/int11/i11cor3.F
299!|| i11dstk3 ../engine/source/interfaces/int11/i11dstk3.F
300!|| i11dstr3 ../engine/source/interfaces/int11/i11dstk3.F
301!||--- uses -----------------------------------------------------
302!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
303!||====================================================================
304 SUBROUTINE imp_i11mainf(
305 1 IPARI ,INTBUF_TAB,X ,
306 2 V ,MS ,NIN ,LINDMAX ,
307 5 JTASK ,NUM_IMP ,NS_IMP ,NE_IMP ,
308 6 ITAB )
309C-----------------------------------------------
310C M o d u l e s
311C-----------------------------------------------
312 USE intbufdef_mod
313C-----------------------------------------------
314C I m p l i c i t T y p e s
315C-----------------------------------------------
316#include "implicit_f.inc"
317C-----------------------------------------------
318C G l o b a l P a r a m e t e r s
319C-----------------------------------------------
320#include "mvsiz_p.inc"
321C-----------------------------------------------
322C C o m m o n B l o c k s
323C-----------------------------------------------
324#include "com08_c.inc"
325#include "param_c.inc"
326#include "task_c.inc"
327C-----------------------------------------------
328C D u m m y A r g u m e n t s
329C-----------------------------------------------
330 INTEGER IPARI(*), NIN,JTASK,LINDMAX
331 INTEGER NUM_IMP,NS_IMP(*),NE_IMP(*),ITAB(*)
332C REAL
333 my_real
334 . MS(*), V(3,*),X(*)
335
336 TYPE(INTBUF_STRUCT_) INTBUF_TAB
337C-----------------------------------------------
338C L o c a l V a r i a b l e s
339C-----------------------------------------------
340 INTEGER NOINT,I, I_STOK, NSEG,JLT , NFT, JLT_NEW, IGAP,
341 . i_stok_loc,debut,lrem,idesac,nb_loc, igsti, ibid
342 INTEGER N1(MVSIZ), N2(MVSIZ), M1(MVSIZ), M2(MVSIZ),
343 . cs_loc(mvsiz),cm_loc(mvsiz),index2(lindmax)
344C REAL
345 my_real
346 . startt, fric, gap, stopt,stiglo, gapmin, kmin, kmax
347C-----------------------------------------------
348C REAL
349 my_real
350 . nx(mvsiz),ny(mvsiz),nz(mvsiz),
351 . hs1(mvsiz), hs2(mvsiz), hm1(mvsiz), hm2(mvsiz),
352 . stif(mvsiz),gapv(mvsiz),
353 . xxs1(mvsiz), xxs2(mvsiz), xys1(mvsiz), xys2(mvsiz),
354 . xzs1(mvsiz), xzs2(mvsiz), xxm1(mvsiz), xxm2(mvsiz),
355 . xym1(mvsiz), xym2(mvsiz), xzm1(mvsiz), xzm2(mvsiz),
356 . vxs1(mvsiz), vxs2(mvsiz), vys1(mvsiz), vys2(mvsiz),
357 . vzs1(mvsiz), vzs2(mvsiz), vxm1(mvsiz), vxm2(mvsiz),
358 . vym1(mvsiz), vym2(mvsiz), vzm1(mvsiz), vzm2(mvsiz),
359 . ms1(mvsiz), ms2(mvsiz), mm1(mvsiz), mm2(mvsiz),
360 . bid(mvsiz)
361 INTEGER :: NRTS
362C-----------------------------------------------
363 IF(NUM_IMP==0) return
364C
365 ibid=0
366C
367 nrts =ipari(3)
368 noint =ipari(15)
369 igap =ipari(21)
370 igsti =ipari(34)
371C
372 stiglo=-intbuf_tab%STFAC(1)
373 startt=intbuf_tab%VARIABLES(3)
374 stopt =intbuf_tab%VARIABLES(11)
375 IF(startt>tt) RETURN
376 IF(tt>stopt) RETURN
377C
378 fric =intbuf_tab%VARIABLES(1)
379 gap =intbuf_tab%VARIABLES(2)
380 gapmin=intbuf_tab%VARIABLES(13)
381 kmin =intbuf_tab%VARIABLES(17)
382 kmax =intbuf_tab%VARIABLES(18)
383C
384 i_stok = intbuf_tab%I_STOK(1)
385C decoupage statique
386 nb_loc = i_stok / nthread
387 IF (jtask==nthread) THEN
388 i_stok_loc = i_stok-nb_loc*(nthread-1)
389 ELSE
390 i_stok_loc = nb_loc
391 ENDIF
392 debut = (jtask-1)*nb_loc
393 i_stok = 0
394C
395 num_imp = 0
396C recalcul du istok
397 DO i = debut+1, debut+i_stok_loc
398 IF(intbuf_tab%CAND_N(i)<0) THEN
399 i_stok = i_stok + 1
400 index2(i_stok) = i
401C inbuf == cand_S
402 intbuf_tab%CAND_N(i) = -intbuf_tab%CAND_N(i)
403 ENDIF
404 ENDDO
405C
406 DO nft = 0 , i_stok - 1 , nvsiz
407 jlt = min( nvsiz, i_stok - nft )
408C preparation candidats retenus
409 CALL i11cdcor3(
410 1 jlt,index2(nft+1),intbuf_tab%CAND_E,intbuf_tab%CAND_N,cm_loc,
411 2 cs_loc)
412 CALL i11cor3(
413 1 jlt ,intbuf_tab%IRECTS,intbuf_tab%IRECTM,x ,v ,
414 2 cs_loc ,cm_loc ,intbuf_tab%STFS,intbuf_tab%STFM,gapmin ,
415 3 intbuf_tab%GAP_S,intbuf_tab%GAP_M,igap ,gapv ,ms ,
416 4 stif ,xxs1 ,xxs2 ,xys1 ,xys2 ,
417 5 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
418 6 xym2 ,xzm1 ,xzm2 ,vxs1 ,vxs2 ,
419 7 vys1 ,vys2 ,vzs1 ,vzs2 ,vxm1 ,
420 8 vxm2 ,vym1 ,vym2 ,vzm1 ,vzm2 ,
421 9 ms1 ,ms2 ,mm1 ,mm2 ,n1 ,
422 a n2 ,m1 ,m2 ,nrts ,nin ,
423 b igsti ,kmin ,kmax ,ibid ,ibid ,
424 c intbuf_tab%GAP_SL,intbuf_tab%GAP_ML ,ibid,bid ,bid ,
425 d bid ,bid ,bid ,intbuf_tab%AREAS ,bid ,
426 e bid ,ibid ,ibid ,intbuf_tab%IELEC,intbuf_tab%IELES ,
427 f ibid ,itab ,ibid ,ibid ,ibid ,
428 g ibid ,ibid )
429 CALL i11dstk3(
430 1 jlt ,cs_loc,cm_loc,hs1 ,hs2 ,
431 2 hm1 , hm2 ,nx ,ny ,nz ,
432 3 stif ,n1 ,n2 ,m1 ,m2 ,
433 4 xxs1 ,xxs2 ,xys1 ,xys2 ,
434 5 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
435 6 xym2 ,xzm1 ,xzm2 ,vxs1 ,vxs2 ,
436 7 vys1 ,vys2 ,vzs1 ,vzs2 ,vxm1 ,
437 8 vxm2 ,vym1 ,vym2 ,vzm1 ,vzm2 ,
438 9 ms1 ,ms2 ,mm1 ,mm2 ,gapv )
439 CALL i11dstr3(
440 1 jlt ,cs_loc,cm_loc,stif ,gapv ,
441 2 nx ,ny ,nz ,jlt_new)
442C
443 DO i = 1 ,jlt_new
444 ns_imp(i+num_imp)=cs_loc(i)
445 ne_imp(i+num_imp)=cm_loc(i)
446 ENDDO
447 num_imp=num_imp+jlt_new
448 ENDDO
449C
450 RETURN
451 END
452!||====================================================================
453!|| i11fku3 ../engine/source/interfaces/int11/i11ke3.F
454!||--- called by ------------------------------------------------------
455!|| int_fku3 ../engine/source/implicit/imp_int_k.F
456!||--- calls -----------------------------------------------------
457!|| i11cor3 ../engine/source/interfaces/int11/i11cor3.F
458!|| i11corkp3 ../engine/source/interfaces/int11/i11corp3.F
459!|| i11dstk3 ../engine/source/interfaces/int11/i11dstk3.F
460!|| i11kfor3 ../engine/source/interfaces/int11/i11keg3.F
461!||--- uses -----------------------------------------------------
462!|| intbufdef_mod ../common_source/modules/interfaces/intbufdef_mod.F90
463!||====================================================================
464 SUBROUTINE i11fku3(
465 1 A ,V ,MS ,D ,
466 2 IPARI ,INTBUF_TAB,X ,NIN ,
467 3 NUM_IMP ,CAND_N ,CAND_E ,IUPD )
468C-----------------------------------------------
469C M o d u l e s
470C-----------------------------------------------
471 USE intbufdef_mod
472C-----------------------------------------------
473C I m p l i c i t T y p e s
474C-----------------------------------------------
475#include "implicit_f.inc"
476C-----------------------------------------------
477C G l o b a l P a r a m e t e r s
478C-----------------------------------------------
479#include "mvsiz_p.inc"
480C-----------------------------------------------
481C C o m m o n B l o c k s
482C-----------------------------------------------
483#include "com08_c.inc"
484#include "param_c.inc"
485#include "impl2_c.inc"
486C-----------------------------------------------
487C D u m m y A r g u m e n t s
488C-----------------------------------------------
489 INTEGER IPARI(*)
490 INTEGER NUM_IMP,CAND_N(*),CAND_E(*),NIN,IUPD
491C REAL
492 my_real DT2T,
493 . X(*), A(3,*),V(3,*),D(3,*),MS(*)
494
495 TYPE(INTBUF_STRUCT_) INTBUF_TAB
496C-----------------------------------------------
497C L o c a l V a r i a b l e s
498C-----------------------------------------------
499 INTEGER I, I_STOK, NSEG,JLT , NFT, JLT_NEW, IGAP,
500 . I_STOK_LOC,DEBUT,LREM,IDESAC, IGSTI, IBID
501 INTEGER N1(MVSIZ), N2(MVSIZ), M1(MVSIZ), M2(MVSIZ)
502C REAL
503 my_real
504 . startt, fric, gap, stopt,stiglo, gapmin, kmin, kmax
505C-----------------------------------------------
506C REAL
507 my_real
508 . nx(mvsiz),ny(mvsiz),nz(mvsiz),
509 . hs1(mvsiz), hs2(mvsiz), hm1(mvsiz), hm2(mvsiz),
510 . stif(mvsiz),gapv(mvsiz),
511 . xxs1(mvsiz), xxs2(mvsiz), xys1(mvsiz), xys2(mvsiz),
512 . xzs1(mvsiz), xzs2(mvsiz), xxm1(mvsiz), xxm2(mvsiz),
513 . xym1(mvsiz), xym2(mvsiz), xzm1(mvsiz), xzm2(mvsiz),
514 . vxs1(mvsiz), vxs2(mvsiz), vys1(mvsiz), vys2(mvsiz),
515 . vzs1(mvsiz), vzs2(mvsiz), vxm1(mvsiz), vxm2(mvsiz),
516 . vym1(mvsiz), vym2(mvsiz), vzm1(mvsiz), vzm2(mvsiz),
517 . ms1(mvsiz), ms2(mvsiz), mm1(mvsiz), mm2(mvsiz) ,
518 . dxs1(mvsiz),dys1(mvsiz),dzs1(mvsiz),
519 . dxs2(mvsiz),dys2(mvsiz),dzs2(mvsiz),bid(mvsiz)
520 INTEGER :: NRTS
521C-----------------------------------------------
522 IF(NUM_IMP==0) return
523C
524 ibid=0
525C
526 nrts =ipari(3)
527 igap =ipari(21)
528 igsti =ipari(34)
529C
530 stiglo=-intbuf_tab%STFAC(1)
531 startt=intbuf_tab%VARIABLES(3)
532 stopt =intbuf_tab%VARIABLES(11)
533 IF(startt>tt) RETURN
534 IF(tt>stopt) RETURN
535C
536 fric =intbuf_tab%VARIABLES(1)
537 gap =intbuf_tab%VARIABLES(2)
538 gapmin=intbuf_tab%VARIABLES(13)
539 kmin =intbuf_tab%VARIABLES(17)
540 kmax =intbuf_tab%VARIABLES(18)
541 idesac = 0
542C
543 i_stok = num_imp
544C
545 DO nft = 0 , i_stok - 1 , nvsiz
546 jlt = min( nvsiz, i_stok - nft )
547 CALL i11cor3(
548 1 jlt ,intbuf_tab%IRECTS,intbuf_tab%IRECTM,x ,v ,
549 2 cand_n(nft+1),cand_e(nft+1),intbuf_tab%STFS,intbuf_tab%STFM,gapmin ,
550 3 intbuf_tab%GAP_S,intbuf_tab%GAP_M,igap ,gapv ,ms ,
551 4 stif ,xxs1 ,xxs2 ,xys1 ,xys2 ,
552 5 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
553 6 xym2 ,xzm1 ,xzm2 ,vxs1 ,vxs2 ,
554 7 vys1 ,vys2 ,vzs1 ,vzs2 ,vxm1 ,
555 8 vxm2 ,vym1 ,vym2 ,vzm1 ,vzm2 ,
556 9 ms1 ,ms2 ,mm1 ,mm2 ,n1 ,
557 a n2 ,m1 ,m2 ,nrts ,nin ,
558 b igsti ,kmin ,kmax ,ibid ,ibid ,
559 c intbuf_tab%GAP_SL,intbuf_tab%GAP_ML ,ibid,bid ,bid ,
560 d bid ,bid ,bid ,intbuf_tab%AREAS ,bid ,
561 e bid ,ibid ,ibid ,intbuf_tab%IELEC,intbuf_tab%IELES ,
562 f ibid ,ibid ,ibid ,ibid ,ibid ,
563 g ibid ,ibid )
564 CALL i11corkp3(jlt ,
565 1 xxs1 ,xxs2 ,xys1 ,xys2 ,xzs1 ,
566 2 xzs2 ,dxs1 ,dys1 ,dzs1 ,dxs2 ,
567 3 dys2 ,dzs2 ,d ,cand_n(nft+1),nrts ,
568 4 n1 ,n2 ,nin ,iupd )
569 CALL i11dstk3(
570 1 jlt ,cand_n(nft+1),cand_e(nft+1),hs1 ,hs2 ,
571 2 hm1 , hm2 ,nx ,ny ,nz ,
572 3 stif ,n1 ,n2 ,m1 ,m2 ,
573 4 xxs1 ,xxs2 ,xys1 ,xys2 ,
574 5 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
575 6 xym2 ,xzm1 ,xzm2 ,vxs1 ,vxs2 ,
576 7 vys1 ,vys2 ,vzs1 ,vzs2 ,vxm1 ,
577 8 vxm2 ,vym1 ,vym2 ,vzm1 ,vzm2 ,
578 9 ms1 ,ms2 ,mm1 ,mm2 ,gapv )
579 CALL i11kfor3(
580 1 jlt ,a ,v ,gap ,ms ,
581 2 cand_n(nft+1),cand_e(nft+1),stif ,fric ,
582 3 hs1 ,hs2 ,hm1 ,hm2 ,nx ,
583 4 ny ,nz ,gapv ,intbuf_tab%PENIS,intbuf_tab%PENIM,
584 5 ipari(22) ,nrts ,ms1 ,ms2 ,mm1 ,
585 6 mm2 ,vxs1 ,vys1 ,vzs1 ,vxs2 ,
586 7 vys2 ,vzs2 ,vxm1 ,vym1 ,vzm1 ,
587 8 vxm2 ,vym2 ,vzm2 ,n1 ,n2 ,
588 9 m1 ,m2 ,nin ,dxs1 ,dys1 ,
589 a dzs1 ,dxs2 ,dys2 ,dzs2 ,d ,
590 b sk_int)
591 END DO
592C
593 RETURN
594 END
subroutine ass_spmd11(nd, n1, n2, m1, m2, nel, iddl, k_diag, k_lt, iadk, jdik, k1i11, k1i12, k1j11, k1j12, k2i11, k2i12, k2j11, k2j12, off, nin, ns, nrts)
Definition assem_int.F:267
subroutine assem_int11(nd, n1, n2, m1, m2, nel, iddl, k_diag, k_lt, iadk, jdik, k1i11, k1i12, k1j11, k1j12, k2i11, k2i12, k2j11, k2j12, off)
Definition assem_int.F:210
#define my_real
Definition cppsort.cpp:32
subroutine i11cdcor3(jlt, index, cand_m, cand_s, cand_m_n, cand_s_n)
Definition i11cdcor3.F:32
subroutine i11cor3(jlt, irects, irectm, x, v, cand_s, cand_m, stfs, stfm, gap, gap_s, gap_m, igap, gapv, ms, stif, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, vxs1, vxs2, vys1, vys2, vzs1, vzs2, vxm1, vxm2, vym1, vym2, vzm1, vzm2, ms1, ms2, mm1, mm2, n1, n2, m1, m2, nrts, nin, igsti, kmin, kmax, nodnx_sms, nsms, gap_s_l, gap_m_l, intth, temp, tempi1, tempi2, tempm1, tempm2, areas, aream, areac, ieleci, ielesi, ielec, ieles, iform, itab, intfric, ipartfrics, ipartfricsi, ipartfricm, ipartfricmi)
Definition i11cor3.F:50
subroutine i11corp3(jlt, x, irects, irectm, cand_e, cand_n, stif, hs1, hs2, hm1, hm2, nx, ny, nz, n1, n2, m1, m2, vxs1, vys1, vzs1, vxs2, vys2, vzs2, vxm1, vym1, vzm1, vxm2, vym2, vzm2, dxs1, dys1, dzs1, dxs2, dys2, dzs2, dxm1, dym1, dzm1, dxm2, dym2, dzm2, ms1, ms2, mm1, mm2, ms, d, v, nrts, nin, jlt_new, lrem)
Definition i11corp3.F:42
subroutine i11corkp3(jlt, xxs1, xxs2, xys1, xys2, xzs1, xzs2, dxs1, dys1, dzs1, dxs2, dys2, dzs2, d, cand_n, nrts, n1, n2, nin, iupd)
Definition i11corp3.F:150
subroutine i11dstr3(jlt, cand_s, cand_m, stif, gapv, nx, ny, nz, jlt_new)
Definition i11dstk3.F:187
subroutine i11dstk3(jlt, cand_s, cand_m, h1s, h2s, h1m, h2m, nx, ny, nz, stif, n1, n2, m1, m2, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, vxs1, vxs2, vys1, vys2, vzs1, vzs2, vxm1, vxm2, vym1, vym2, vzm1, vzm2, ms1, ms2, mm1, mm2, gapv)
Definition i11dstk3.F:40
subroutine i11forcf3(a, v, ms, x, d, ipari, intbuf_tab, nin, num_imp, cand_n, cand_e)
Definition i11ke3.F:200
subroutine imp_i11mainf(ipari, intbuf_tab, x, v, ms, nin, lindmax, jtask, num_imp, ns_imp, ne_imp, itab)
Definition i11ke3.F:309
subroutine i11ke3(a, v, ms, ipari, intbuf_tab, x, nin, num_imp, cand_n, cand_e, iddl, k_diag, k_lt, iadk, jdik, gap_imp, lrem, itab)
Definition i11ke3.F:41
subroutine i11fku3(a, v, ms, d, ipari, intbuf_tab, x, nin, num_imp, cand_n, cand_e, iupd)
Definition i11ke3.F:468
subroutine i11keg3(jlt, a, v, gap, fric, ms, cs_loc, cm_loc, stiglo, stif, hs1, hs2, hm1, hm2, nx, ny, nz, gapv, penis, penim, inacti, nrts, ms1, ms2, mm1, mm2, vxs1, vys1, vzs1, vxs2, vys2, vzs2, vxm1, vym1, vzm1, vxm2, vym2, vzm2, k1i11, k1i12, k1j11, k1j12, k2i11, k2i12, k2j11, k2j12, n1, n2, nin, lrem, off, scalk, idesac)
Definition i11keg3.F:43
subroutine i11frf3(jlt, a, v, fric, hs1, hs2, hm1, hm2, nx, ny, nz, ms1, ms2, mm1, mm2, vxs1, vys1, vzs1, vxs2, vys2, vzs2, vxm1, vym1, vzm1, vxm2, vym2, vzm2, n1, n2, m1, m2, dxs1, dys1, dzs1, dxs2, dys2, dzs2, dxm1, dym1, dzm1, dxm2, dym2, dzm2, stif, nin, scalk)
Definition i11keg3.F:427
subroutine i11kfor3(jlt, a, v, gap, ms, cs_loc, cm_loc, stif, fric, hs1, hs2, hm1, hm2, nx, ny, nz, gapv, penis, penim, inacti, nrts, ms1, ms2, mm1, mm2, vxs1, vys1, vzs1, vxs2, vys2, vzs2, vxm1, vym1, vzm1, vxm2, vym2, vzm2, n1, n2, m1, m2, nin, dxs1, dys1, dzs1, dxs2, dys2, dzs2, d, scalk)
Definition i11keg3.F:599
subroutine imp_tripi(timers, ipari, intbuf_tab, x, d, v, ms, itab, vr, in, imsch, i2msch, isizxv, ilenxv, igrbric, islen7, irlen7, islen11, irlen11, islen17, irlen17, irlen7t, islen7t, iad_elem, fr_elem, nbintc, intlist, itask, kinet, newfront, num_imp, ns_imp, ne_imp, ind_imp, iad, isendto, irecvfrom, retri, weight, ixs, temp, dt2prev, wag, n, nty, irlen20, islen20, irlen20t, islen20t, irlen20e, islen20e, ikine, diag_sms, count_remslv, count_remslve, sensor_tab, xdp, h3d_data, multi_fvm, forneqs, interfaces, nsensor, glob_therm)
Definition imp_int_k.F:1109
subroutine imp_int_k(a, v, icodt, icodr, iskew, ibfv, npc, tf, vel, nsensor, sensor_tab, xframe, rby, x, skew, lpby, npby, itab, weight, ms, in, nrbyac, irbyac, nss, iss, ipari, intbuf_tab, nint2, iint2, iaint2, nss2, iss2, nddli, nnzi, iadi, jdii, diag_i, lt_i, iddli, nddl, iadk, jdik, ikc, diag_k, lt_k, iddl, num_imp, ns_imp, ne_imp, index2, ndofi, itok, ud, lb, gapmin, dirul, nt_rw, num_imp1, irbe3, lrbe3, frbe3, nss3, iss3, irbe2, lrbe2, nsb2, isb2)
Definition imp_int_k.F:56
#define min(a, b)
Definition macros.h:20