144
145
146
147
148
149
150
152 USE my_alloc_mod
153 USE shrink_array_mod
155 USE intbufdef_mod
156 USE intbuf_fric_mod
161 USE multi_fvm_mod , ONLY : multi_fvm_struct
162
163
164
165#include "implicit_f.inc"
166
167
168
169#include "mvsiz_p.inc"
170
171
172
173#include "com04_c.inc"
174#include "param_c.inc"
175#include "scr03_c.inc"
176#include "scr12_c.inc"
177#include "units_c.inc"
178#include "vect07_c.inc"
179#include "scr17_c.inc"
180
181
182
183 TYPE(MULTI_FVM_STRUCT),INTENT(IN) :: MULTI_FVM
184 INTEGER,INTENT(IN) :: SITAB
185 INTEGER,INTENT(IN) :: SICODE
186 INTEGER,INTENT(IN) :: ICODE(SICODE)
187 INTEGER,INTENT(IN) :: SINSCR
188 INTEGER NIN, IWRN, NSNT, NMNT, NSN2T, NMN2T, NSNET ,NMNET ,RESORT
189 INTEGER, INTENT(in) :: N2D
190 INTEGER, DIMENSION(NPARI,NINTER), INTENT(inout) :: IPARI
191 INTEGER INSCR(SINSCR), IXS(NIXS,NUMELS), IXC(NIXC,NUMELC),
192 . IXT(NIXT,NUMELT) ,IXP(NIXP,NUMELP) ,IXR(NIXR,NUMELR),
193 . ITAB(SITAB), MWA(*), IXTG(NIXTG,NUMELTG), IKINE(*),
194 . NELEMINT, IDDLEVEL,IFIEND,
195 . IWCONT(*), IWCIN2(*),
196 . KNOD2ELS(*), KNOD2ELC(*), KNOD2ELTG(*),
197 . NOD2ELS(*), NOD2ELC(*), NOD2ELTG(*),
198 . SH4TREE(KSH4TREE,*), SH3TREE(KSH3TREE,*), IPART(*),
199 . IPARTC(*), IPARTTG(*),NOD2EL1D(*),KNOD2EL1D(*),
200 . IXS10(6,*), IXS16(8,*), IXS20(12,*), IPARTS(*),
201 . KXIG3D(NIXIG3D,*),IXIG3D(*),TAGPRT_FRIC(*),
202 . IPARTT(*) ,IPARTP(*) ,IPARTX(*) ,IPARTR(*),
203 . ISKEW(*)
204 INTEGER IKINE1(*), IELEM21(*),I_MEM,ID,IREMNODE,IREMNODE_EDG,
205 . NREMNODE,KXX(*),IXX(*),IGEO(*),IWORKSH(*),NSN_MULTI_CONNEC,T2_ADD_CONNEC(*),
206 . T2_NB_CONNEC(*),T2_CONNEC(*)
207 INTEGER NOM_OPT(LNOPT1,*)
208 INTEGER, INTENT(in) :: NSPMD
209 INTEGER, INTENT(in) :: INTER_TYPE2_NUMBER
211 . pm(*), geo(*), rwa(6,*),
212 . thk(*),thk_part(*), lelx(*), fillsol(*),
213 . pm_stack(*)
216 INTEGER, INTENT(in) :: S_APPEND_ARRAY
217 my_real,
DIMENSION(3*S_APPEND_ARRAY),
TARGET :: x_append
218 my_real,
DIMENSION(S_APPEND_ARRAY),
TARGET :: mass_append
219 CHARACTER(LEN=NCHARTITLE)::TITR
220 TYPE(INTERSURFP) :: INTERCEP(3,NINTER)
221 TYPE(INTBUF_STRUCT_), DIMENSION(NINTER), INTENT(inout) :: INTBUF_TAB
222 TYPE(INTBUF_FRIC_STRUCT_) INTBUF_FRIC_TAB(*)
223
224 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
225 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
226 TYPE(t_ale_connectivity), INTENT(INOUT) :: ALE_CONNECTIVITY
227 LOGICAL, INTENT(in) :: FLAG_REMOVED_NODE
228 TYPE(INTER_CAND_), iNTENT(inout) :: INTER_CAND
229 INTEGER, DIMENSION(NUMELS), INTENT(INOUT):: ELEM_LINKED_TO_SEGMENT
230 INTEGER, INTENT(IN) :: NIN25
231 INTEGER, INTENT(IN) :: FLAG_ELEM_INTER25(NINTER25,NUMELS)
232
233
234
235 INTEGER NRTS, NRTM, NSN, NMN, NMN0, NTY, NST, NMT, IBUC, NOINT,
236 . NSNE, NMNE,NLINS,NLINM,NLN,L16,L17,L20,L21,L22,L23,J31P,J36P,
237 . I, I_STOK,IRS,IRM,ILEV,IDEL2,IPROJ,
238 . NSEG, NGROUS, NG, INACTI,IWPENE,ISTOK,
239 . JLT_NEW,IGAP,MULTIMP,INPENE,ISEARCH,ITIED,
240 . IGN,IGE,NME,NMES,NAD,EAD,ISU1,ISU2,L30,
241 . INTTH, IBIDON,NLINSA,NLINMA,ISS2,IFS2,ISYM,IGNORE,NCONT,ICURV,
242 . DIMFLAG,IPEN0,INTKG,INTPLY,NRTSE,NSN0,ITH, NADMSR, NEDGE, IERROR, IT19,INT_TYP,
243 . NRTM_FE, NRTM_IGE,NMN_IGE,NMN_FE,NRTS_FE, NRTS_IGE,NSN_IGE,NSN_FE,L,IEDG4,IS1,
244 . IVIS2, ISHARP, IEDGE, INACTBID, ITHK25, IGAP0,IGSTI
245 INTEGER :: NUMNOD_P
246 integer
247 . n1(mvsiz),n2(mvsiz),m1(4,mvsiz),m2(4,mvsiz),nrtm0,nrtm_sh,iwpene0,iad,nbric,grbric_id,ii,ibric,iad_ixint,
248 . nodeid, inod, mvoisn(mvsiz,4),ibound(4,mvsiz)
249 INTEGER ITASK, NEDGE_T, ESHIFT, NRTM_T, SSHIFT, MULNSNE, MULNSNS, MULTIMPE, MULTIMPS, NCONTE,
250 . CAND_E_OLD(2), I_MEME(2),
251 . I_START, I_MEM_REM, NEW_SIZE
252 INTEGER :: KIND_INTER
253 my_real marge,vmaxdt, bminma(6), gapm_mx, gaps_mx, gapm_l_mx,gaps_l_mx
254 my_real maxbox,minbox,gap0,bid,tzinf,gapinf,
bidon,fpenmax,drad,penmn,gapscale,bgapemx_l
255 my_real nx(mvsiz),ny(mvsiz),nz(mvsiz),gapv(mvsiz)
256 my_real rdum(1) ,pene_max,penmax,facf
257 my_real :: gap,gapmin,gapmax,dgapload
258 my_real,
DIMENSION(:),
ALLOCATABLE :: penmin,gap_maxneigh
259 INTEGER, DIMENSION(:),ALLOCATABLE :: IPARTNS,INOD2LIN,TAGSECND,NOD2LIN,PERM,PERMINV
260 my_real,
DIMENSION(:),
ALLOCATABLE,
TARGET :: xe
261 my_real,
DIMENSION(:),
POINTER :: ptr_x,ptr_ms
262 INTEGER, POINTER :: pIXINT
263 INTEGER, DIMENSION(:),ALLOCATABLE :: IPARTSM
264
265 INTEGER, DIMENSION(MVSIZ) ::PROV_N,PROV_E
266 INTEGER, DIMENSION(MVSIZ) :: IX1,IX2,IX3,IX4,NSVG
267 my_real,
DIMENSION(MVSIZ) :: x1,x2,x3,x4
268 my_real,
DIMENSION(MVSIZ) :: y1,y2,y3,y4
269 my_real,
DIMENSION(MVSIZ) :: z1,z2,z3,z4
270 my_real,
DIMENSION(MVSIZ) :: xi,yi,zi
271 my_real,
DIMENSION(MVSIZ) :: x0,y0,z0,stif
272 my_real,
DIMENSION(MVSIZ) :: n11,n21,n31
273 my_real,
DIMENSION(MVSIZ) :: xn1,yn1,zn1
274 my_real,
DIMENSION(MVSIZ) :: xn2,yn2,zn2
275 my_real,
DIMENSION(MVSIZ) :: xn3,yn3,zn3
276 my_real,
DIMENSION(MVSIZ) :: xn4,yn4,zn4
277 my_real,
DIMENSION(MVSIZ) :: p1,p2,p3,p4
278 my_real,
DIMENSION(MVSIZ) :: lb1,lb2,lb3,lb4
279 my_real,
DIMENSION(MVSIZ) :: lc1,lc2,lc3,lc4
280 my_real,
DIMENSION(MVSIZ) :: s,t
282 . nnx(mvsiz,5), nny(mvsiz,5), nnz(mvsiz,5), pene(4,mvsiz),
283 . gaps(mvsiz), gapm(mvsiz), gap_nm(4,mvsiz), gapmxl(mvsiz),
284 . xxs1(mvsiz), xxs2(mvsiz), xys1(mvsiz), xys2(mvsiz), xzs1(mvsiz), xzs2(mvsiz),
285 . xxm1(4,mvsiz), xxm2(4,mvsiz), xym1(4,mvsiz), xym2(4,mvsiz), xzm1(4,mvsiz), xzm2(4,mvsiz),
286 . gapve(mvsiz),
287 . ex(4,mvsiz), ey(4,mvsiz), ez(4,mvsiz), fx(mvsiz), fy(mvsiz), fz(mvsiz)
288 LOGICAL PRINT_WARNING,LAW151_TYPE18,TYPE18
289 CHARACTER FILNAM*100
290 INTEGER :: TOTAL_NUMBER_CANDIDATE
291 INTEGER :: SKIP_TYPE25_EDGE_2_EDGE
292 INTEGER :: FLAG_OUTPUT
293 INTEGER, DIMENSION(NINTER) :: NREMN
294 LOGICAL :: LOCAL_FLAG_REMOVED_NODE
295 INTEGER :: NN, NNI
296 LOGICAL :: IS_USED_WITH_LAW151
297
298 inpene = 0
299 iwpene = 0
300 istok = 0
301 nrts = ipari(3,nin)
302 nrtm = ipari(4,nin)
303 nsn = ipari(5,nin)
304 nmn = ipari(6,nin)
305 nmn0 = nmn
306 nty = ipari(7,nin)
307 nst = ipari(8,nin)
308 nmt = ipari(9,nin)
309 ibuc = ipari(12,nin)
310 isearch = ipari(12,nin)
311 noint = ipari(15,nin)
312 igap = ipari(21,nin)
313 inacti = ipari(22,nin)
314 multimp = ipari(23,nin)
315 irm = ipari(24,nin)
316 irs = ipari(25,nin)
317 idel2 = ipari(17,nin)
318 ilev = ipari(20,nin)
319 itied = 0
320 isu1 = ipari(45,nin)
321 isu2 = ipari(46,nin)
322 intth = ipari(47,nin)
323 nrtm_sh = ipari(42,nin)
324 ncont = ipari(18,nin)
325 icurv = ipari(39,nin)
326 intkg = ipari(65,nin)
327 intply = ipari(66,nin)
328 it19 = ipari(71,nin)
329 drad = zero
330 rdum(1) = 0
331 nrtm_ige = ipari(73,nin)
332 nrtm_fe = ipari(74,nin)
333 nrts_ige = ipari(75,nin)
334 nrts_fe = ipari(76,nin)
335 nsn_ige = ipari(77,nin)
336 nsn_fe = ipari(78,nin)
337 nmn_ige = ipari(79,nin)
338 nmn_fe = ipari(80,nin)
339 igap0 = ipari(53,nin)
340 iedge = ipari(58,nin)
341 nconte = ipari(88,nin)
342 is1 = ipari(13,nin) / 10
343
344 law151_type18=.false.
345 type18=.false.
346 IF(nty==7 .AND. inacti==7) type18=.true.
347 IF(type18.AND.ipari(14,nin)==151)law151_type18=.true.
348 IF (it19<=0) THEN
349 int_typ =
max(nty,abs(it19)*19)
350 IF (resort == 0)THEN
351 IF((nty==7.AND.inacti==7).AND.(nty/=22))THEN
352 WRITE(iout,2181)noint
353 ELSE
354 WRITE(iout,2001)noint,int_typ
355 END IF
356 END IF
357 ENDIF
358
359 IF(nty==1) THEN
360
361 l17=1
362 l20=l17+nmn
363 l22=l20+1+nsn
364
365
366
367 intbuf_tab(nin)%NRT(1:nmt) = 0
368
370 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%NSEGM ,intbuf_tab(nin)%NRT ,intbuf_tab(nin)%MSR,
371 2 intbuf_tab(nin)%NSV ,intbuf_tab(nin)%ILOCS ,nsn ,nmn ,nrtm ,intbuf_tab(nin)%S_IRECTM,
372 3 intbuf_tab(nin)%S_NRT )
374 1 x ,intbuf_tab(nin)%IRECTS ,ixs ,nrts ,ixc ,
375 2 nin ,nsn ,intbuf_tab(nin)%NSV ,noint ,ixtg ,
376 3 geo ,pm ,knod2els ,knod2elc ,knod2eltg ,
377 4 nod2els , nod2elc ,nod2eltg ,igrsurf(isu1) ,
378 5 thk ,nty ,ixs10 ,ixs16 ,ixs20 ,
379 6
id ,titr ,igeo ,pm_stack ,iworksh )
381 1 x ,intbuf_tab(nin)%IRECTM ,ixs ,nrtm ,ixc ,
382 2 -nin ,nmn ,intbuf_tab(nin)%MSR ,noint ,ixtg,
383 3 geo ,pm ,knod2els ,knod2elc ,knod2eltg ,
384 4 nod2els , nod2elc ,nod2eltg ,igrsurf(isu2) ,
385 5 thk ,nty ,ixs10 ,ixs16 ,ixs20 ,
386 6
id ,titr , igeo ,pm_stack ,iworksh)
388 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%NRT ,intbuf_tab(nin)%MSR ,intbuf_tab(nin)%NSV,
389 2 intbuf_tab(nin)%ILOCS ,intbuf_tab(nin)%IRTLM ,intbuf_tab(nin)%NSEGM ,nsn ,nmn ,
390 3 itab ,
id ,titr ,nrtm)
391 WRITE(iout,2002)
392
394 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%CSTS ,intbuf_tab(nin)%MSR ,intbuf_tab(nin)%NSV,
395 2 intbuf_tab(nin)%ILOCS ,intbuf_tab(nin)%IRTLM ,nsn ,itab ,ikine ,
396 3 ikine1 ,
id ,titr ,ilev ,nty ,
397 4 intbuf_tab(nin)%CSTS_BIS)
398 CALL i1bcs_check(icode, sicode, nsn, intbuf_tab(nin)%NSV, sitab, itab, noint, titr, nty)
399
400 ELSEIF(nty == 2 .AND. isearch == 1) THEN
401
402 l16 = 1
403 l17 = l16+nsn
404 l20 = l17+nmn
405 l21 = l20+1+nsn
406 l22 = l21+1+nmn
407 l23 = l22+nst
409 1 x ,intbuf_tab(nin)%IRECTM ,inscr(l21) ,inscr(l23) ,intbuf_tab(nin)%MSR,
410 2 intbuf_tab(nin)%NSV ,inscr(l16) ,nsn ,nmn ,nrtm ,intbuf_tab(nin)%S_IRECTM,
411 3 sinscr-l23+1 )
412
413 IF (ipari(13,nin)>0) THEN
415 1 x ,intbuf_tab(nin)%IRECTM ,ixs ,nrtm ,ixc ,
416 2 -nin ,nmn ,intbuf_tab(nin)%MSR ,noint ,ixtg ,
417 3 geo ,pm ,knod2els ,knod2elc ,knod2eltg ,
418 4 nod2els ,nod2elc ,nod2eltg ,igrsurf(isu2) ,
419 5 thk ,nty ,ixs10 ,ixs16 ,ixs20 ,
420 6
id ,titr ,igeo ,pm_stack ,iworksh )
421 END IF
423 1 x ,intbuf_tab(nin)%IRECTM ,inscr(l23) ,intbuf_tab(nin)%MSR ,intbuf_tab(nin)%NSV,
424 2 inscr(l16) ,intbuf_tab(nin)%IRTLM ,inscr(l21) ,nsn ,nmn ,
425 3 itab ,
id ,titr ,nrtm)
426 WRITE(iout,2002)
428 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%CSTS ,intbuf_tab(nin)%MSR ,intbuf_tab(nin)%NSV,
429 2 inscr(l16) ,intbuf_tab(nin)%IRTLM ,nsn ,itab ,ikine ,
430 3 ikine1 ,
id ,titr ,ilev ,nty ,
431 4 intbuf_tab(nin)%CSTS_BIS)
432
433
434 CALL i2main(intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,intbuf_tab(nin)%IRECTM,ipari(1,nin),
435 . mwa,mwa(numnod+1),intbuf_tab(nin))
436
437 nmn = ipari(6,nin)
438 intth = ipari(47,nin)
439 IF ((ilev==20 .OR. ilev==21 .OR. ilev==22) .OR. intth > 0 ) THEN
440 j31p =1+2*(nmn0-nmn)
441 j36p =1+2*(nmn0-nmn)
442 DO i = 1,nsn
443 intbuf_tab(nin)%AREAS2(i) = intbuf_tab(nin)%AREAS2(j31p+i-1)
444 ENDDO
446 . x ,intbuf_tab(nin)%NSV ,intbuf_tab(nin)%AREAS2,nsn ,itab ,
447 . ixc ,ixtg ,ixs ,knod2els ,nod2els ,
448 . knod2elc ,nod2elc ,knod2eltg ,nod2eltg ,ilev ,
450 ENDIF
451 IF ((ilev >=10 .AND. ilev < 23) ) THEN
452 IF (ilev==20 .OR. ilev==21 .OR. ilev==22) THEN
453 j31p =1+2*(nmn0-nmn)
454 j36p =1+2*(nmn0-nmn)
455 intbuf_tab(nin)%RUPT(1) = intbuf_tab(nin)%IRECTM(j36p)
456 intbuf_tab(nin)%RUPT(2) = intbuf_tab
457 intbuf_tab(nin)%RUPT(3) = intbuf_tab(nin)%IRECTM(j36p+2)
458 intbuf_tab(nin)%RUPT(4) = intbuf_tab(nin)%IRECTM(j36p+3)
459 intbuf_tab(nin)%RUPT(5) = intbuf_tab(nin)%IRECTM(j36p+4)
460 intbuf_tab(nin)%RUPT(6) = intbuf_tab(nin)%IRECTM(j36p
461 ENDIF
462
463 ENDIF
464
465
466
467 IF (iddlevel==0)THEN
468 IF ( ((nelemint+nsn
CALL upgrade_ixint(inter_cand,nelemint,nsn
470 1 n2d,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,intbuf_tab(nin)%IRTLM,inter_cand)
471 ENDIF
472
473 IF((iddlevel==0).AND.
474 + (dectyp>=3.AND.dectyp<=6))THEN
475
476 CALL i2wcontdd(intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,nsn,nmn,iwcin2,
477 2 nsn2t ,nmn2t )
478 END IF
479
480
481 ELSEIF(nty==2.AND.isearch==2) THEN
482
483 tzinf=intbuf_tab(nin)%VARIABLES(4)
484
485
486 IF (ipari(13,nin)>0) THEN
488 1 x ,intbuf_tab(nin)%IRECTM ,ixs ,nrtm ,ixc ,
489 2 -nin ,nsn ,intbuf_tab(nin)%MSR ,noint ,
490 3 ixtg ,intbuf_tab(nin)%IRTLM ,intbuf_tab(nin)%CSTS ,intbuf_tab(nin)%DPARA ,geo ,
491 4 pm ,knod2els ,knod2elc ,knod2eltg ,nod2els ,
492 5 nod2elc ,nod2eltg ,igrsurf(isu2) ,thk ,
493 6 nty ,ixs10 ,ixs16 ,ixs20 ,igeo ,
494 7 pm_stack ,iworksh )
495 END IF
496
497
498
499 ignore = ipari(34,nin)
500 iproj = ipari(57,nin)
502 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%NSV ,nseg ,intbuf_tab(nin)%IRTLM,
503 2 nmn ,nrtm ,mwa ,nsn ,rwa ,
504 3 noint ,intbuf_tab(nin)%MSR ,intbuf_tab(nin)%CSTS ,intbuf_tab(nin)%DPARA ,tzinf ,
505 4 ignore ,thk ,knod2els ,knod2elc ,knod2eltg ,
506 5 nod2els ,nod2elc ,nod2eltg ,
507 6 -nin ,ixc ,ixtg ,thk_part ,ipartc ,
508 7 geo ,ixs ,ixs10 ,pm ,ixs16 ,
509 8 ixs20 ,iparttg ,
id,titr ,igeo ,pm_stack ,
510 9 iworksh ,
511 1 ix1 ,ix2 ,ix3,ix4 ,nsvg ,
512 2 prov_n ,prov_e ,n11,n21 ,n31 ,
513 3 x1 ,x2 ,x3 ,x4 ,stif ,
514 4 y1 ,y2 ,y3 ,y4 ,z1 ,
515 5 z2 ,z3 ,z4 ,xi ,yi ,
516 6 zi ,x0 ,y0 ,z0 ,xn1 ,
517 7 yn1 ,zn1 ,xn2,yn2 ,zn2 ,
518 8 xn3 ,yn3 ,zn3,xn4 ,yn4 ,
519 9 zn4 ,p1 ,p2 ,p3 ,p4 ,
520 1 lb1 ,lb2 ,lb3,lb4 ,lc1 ,
521 2 lc2 ,lc3 ,lc4,s ,t ,
522 3 ilev)
523
524
526 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%CSTS ,intbuf_tab(nin)%MSR ,intbuf_tab(nin)%NSV ,
527 2 intbuf_tab(nin)%IRTLM ,itab ,ikine ,ikine1 ,intbuf_tab(nin)%DPARA,
528 3 ipari(1,nin) ,tzinf ,iddlevel ,
529 4
id ,titr ,intbuf_tab(nin) ,intbuf_tab(nin)%VARIABLES(4) , iproj,
530 5 ixs ,ixc ,ixs10 ,ixs16 ,ixs20,intbuf_tab(nin)%CSTS_BIS,
531 6 nsn_multi_connec ,t2_add_connec ,t2_nb_connec ,t2_connec ,ixtg)
532
533 nsn = ipari(5,nin)
534 nmn = ipari(6,nin)
535 intth = ipari(47,nin)
536
537 IF ((ilev >=10 .AND. ilev < 23) .OR. intth > 0) THEN
539 . x ,intbuf_tab(nin)%NSV ,intbuf_tab(nin)%AREAS2 ,nsn ,itab,
540 . ixc ,ixtg ,ixs ,knod2els ,nod2els ,
541 . knod2elc ,nod2elc ,knod2eltg ,nod2eltg ,ilev ,
543 ENDIF
544
545
546
547 IF (iddlevel==0.AND.nspmd>1)THEN
548 IF ( ((nelemint+nsn)) > inter_cand%S_IXINT_2)
CALL upgrade_ixint(inter_cand,nelemint,nsn)
550 1 n2d,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,intbuf_tab(nin)%IRTLM,inter_cand)
551 ENDIF
552
553
554 IF(iddlevel == 0 .AND. (dectyp >= 3 .AND. dectyp <= 6))THEN
555
556 CALL i2wcontdd(intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,nsn,nmn,iwcin2,
557 + nsn2t ,nmn2t )
558 END IF
559
560
561 ELSEIF(nty==3) THEN
562
563
564
565 intbuf_tab(nin)%LNSV(1:nst) = 0
566 intbuf_tab(nin)%LMSR(1:nmt) = 0
567 intbuf_tab(nin)%STFNS(1:nsn) = 0
568 intbuf_tab(nin)%STFNM(1:nmn) = 0
569
571 1 x,intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%NSEGS,intbuf_tab(nin)%LNSV,intbuf_tab(nin)%NSV,
572 2 intbuf_tab(nin)%MSR,intbuf_tab(nin)%ILOCM,nmn ,nsn ,nrts ,intbuf_tab(nin)%S_IRECTS ,intbuf_tab(nin)%S_LNSV)
574 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSEGM,intbuf_tab(nin)%LMSR,intbuf_tab(nin)%MSR,
575 2 intbuf_tab(nin)%NSV,intbuf_tab(nin)%ILOCS,nsn,nmn ,nrtm ,intbuf_tab(nin)%S_IRECTM ,intbuf_tab(nin)%S_LMSR )
577 1 x ,intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%STFS,ixs,pm ,
578 2 geo ,nrts ,ixc ,intbuf_tab(nin)%STFNS,intbuf_tab(nin)%NSEGS,
579 3 intbuf_tab(nin)%LNSV,nin ,nsn ,intbuf_tab(nin)%NSV,intbuf_tab(nin)%STFAC,
580 4 nty ,intbuf_tab(nin)%VARIABLES(2),noint ,ixtg ,irs ,
581 5 knod2els ,knod2elc ,knod2eltg ,nod2els ,nod2elc ,
582 6 nod2eltg ,igrsurf(isu1),thk ,ixs10 ,
584 8
bidon ,
bidon ,igeo ,fillsol ,pm_stack, iworksh )
585
587 1 x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%STFM,ixs ,pm ,
588 2 geo ,nrtm ,ixc ,intbuf_tab(nin)%STFNM,intbuf_tab(nin)%NSEGM,
589 3 intbuf_tab(nin)%LMSR,-nin ,nmn ,intbuf_tab(nin)%MSR,intbuf_tab(nin)%STFAC,
590 4 nty ,intbuf_tab(nin)%VARIABLES(2),noint ,ixtg ,irm ,
591 5 knod2els ,knod2elc ,knod2eltg ,nod2els ,nod2elc ,
592 6 nod2eltg ,igrsurf(isu2),thk ,ixs10 ,
594 8
bidon ,
bidon ,igeo ,fillsol ,pm_stack, iworksh )
595
597 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%LMSR,intbuf_tab(nin)%MSR,intbuf_tab(nin)%NSV,
598 2 intbuf_tab(nin)%ILOCS,intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%NSEGM,nsn ,nmn ,
600
602 1 x,intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%LNSV,intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,
603 2 intbuf_tab(nin)%ILOCM,intbuf_tab(nin)%IRTLS,intbuf_tab(nin)%NSEGS,nmn ,nsn ,
605
606 WRITE(iout,2002)
608 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%MSR,intbuf_tab(nin)%NSV,intbuf_tab(nin)%ILOCS,
609 2 intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%CSTS,intbuf_tab(nin)%IRTLOM,intbuf_tab(nin)%VARIABLES(2),nsn,
610 2 itab ,iwpene ,
id,titr)
611
612 WRITE(iout,2003)
614 1 x,intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,intbuf_tab(nin)%ILOCM,
615 2 intbuf_tab(nin)%IRTLS,intbuf_tab(nin)%CSTM,intbuf_tab(nin)%IRTLOS,intbuf_tab(nin)%VARIABLES(2),nmn,
616 3 itab ,iwpene ,
id,titr)
617
618
619
620
621 ELSEIF(nty==5) THEN
622
623
624
625 intbuf_tab(nin)%LNSV(1:nst) = 0
626 intbuf_tab(nin)%LMSR(1:nmt) = 0
627 intbuf_tab(nin)%STFNS(1:nsn) = 0
628 intbuf_tab(nin)%STFNM(1:nmn) = 0
629
631 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSEGM,intbuf_tab
632 2 intbuf_tab(nin)%NSV,intbuf_tab(nin)%ILOCS,nsn ,nmn ,nrtm ,intbuf_tab(nin)%S_IRECTM ,intbuf_tab(nin)%S_LMSR
634 1 x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%STFM
635 2 geo ,nrtm ,ixc ,intbuf_tab(nin)%STFNM, intbuf_tab(nin)%NSEGM ,
636 3 intbuf_tab(nin)%LMSR,-nin ,nmn ,intbuf_tab(nin)%MSR,intbuf_tab(nin)%STFAC(1),
637 4 nty ,intbuf_tab(nin)%VARIABLES(2),noint ,ixtg ,irm ,
638 5 knod2els ,knod2elc ,knod2eltg ,nod2els ,nod2elc ,
639 6 nod2eltg ,igrsurf(isu2),thk ,ixs10 ,
641 8
bidon ,
bidon ,igeo ,fillsol ,pm_stack, iworksh)
643 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%LMSR,intbuf_tab(nin)%MSR,intbuf_tab(nin)%NSV,
644 2 intbuf_tab(nin)%ILOCS,intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%NSEGM,nsn ,nmn ,
646 WRITE(iout,2002)
648 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%MSR,intbuf_tab(nin)%NSV,intbuf_tab
649 2 intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%CSTS,intbuf_tab(nin
650 3 nsn, itab ,iwpene ,
id,titr
651 IF(inacti==3 .OR. inacti==4)THEN
653 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin
654 2 intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%CSTS,intbuf_tab(nin)%IRTLOM,intbuf_tab(nin)%VARIABLES(2),
655 3 nsn, itab ,inacti )
656 END IF
657
658
659
660 ELSEIF(nty==7) THEN
661
662 drad = intbuf_tab(nin)%VARIABLES(32)
663
664 IF(intbuf_tab(nin)%S_NIGE/=0) THEN
665 ALLOCATE(xe(3*(numnod+intbuf_tab(nin)%S_NIGE)))
666 xe(1:3*numnod) = x(1:3*numnod)
667 xe(3*numnod+1:3*(numnod+intbuf_tab(nin)%S_NIGE)) = intbuf_tab(nin)%XIGE(1:3*intbuf_tab(nin)%S_NIGE)
668 ptr_x(3*numnod+1:3*(numnod+intbuf_tab(nin)%S_NIGE)) => xe(3*numnod
669 ptr_ms(1:numnod) => ms(1:numnod)
670 numnod_p = numnod+intbuf_tab(nin)%S_NIGE
671 ELSEIF(law151_type18) THEN
672 ptr_x(1:numnod+numels) => x_append(1:3*s_append_array
673 ptr_ms(1:numnod+numels) => mass_append(1:s_append_array
674 numnod_p = numnod+numels
675 ELSE
676 ptr_x(1:numnod) => x(1:numnod)
677 ptr_ms(1:numnod) => ms(1:numnod)
678 numnod_p = numnod
679 ENDIF
680
682 1 ptr_x ,nrtm ,intbuf_tab(nin)%IRECTM , noint, itab
683 2 ix1 ,ix2 ,ix3 ,ix4 ,x1 ,
684 3 x2 ,x3 ,x4 ,y1 ,y2 ,
685 4 y3 ,y4 ,z1 ,z2 ,z3 ,
686 5 z4 ,n11 ,n21 ,n31 ,x0 ,
687 6 y0 ,z0 ,xn1 ,yn1 ,zn1 ,
688 7 xn2 ,yn2 ,zn2 ,xn3 ,yn3 ,
689 8 zn3 ,xn4 ,yn4 ,zn4 )
690
691
692
694 1 ptr_x ,intbuf_tab(nin)%IRECTM , intbuf_tab
695 2 geo ,nrtm_fe , ixc ,-nin , intbuf_tab(nin
696 3 nty ,intbuf_tab(nin)%VARIABLES(2) , noint ,intbuf_tab(nin)%STFNS , nsn
697 4 ptr_ms ,intbuf_tab(nin)%NSV , ixtg ,igap , rwa ,
698 5 intbuf_tab(nin)%GAP_S ,intbuf_tab(nin)%GAP_M ,intbuf_tab(nin)%VARIABLES(13),ixt , ixp ,
699 6 intbuf_tab(nin)%VARIABLES(6),intbuf_tab(nin)%VARIABLES(16),inacti ,knod2els
700 7 knod2eltg ,nod2els ,nod2elc
701 8 ipari(47,nin) ,intbuf_tab(nin)%IELES ,intbuf_tab(nin)%IELEC ,intbuf_tab(nin)%AREAS , sh4tree
702 9 sh3tree ,ipart ,ipartc ,iparttg , thk
703 c thk_part ,intbuf_tab(nin)%VARIABLES(28),intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_ML,nod2el1d
704 d knod2el1d ,ixr ,itab ,intbuf_tab(nin)%VARIABLES(7),ixs10 ,
705 e ixs16 ,ixs20 ,
id ,titr , iddlevel ,
706 f drad ,igeo ,fillsol ,pm_stack
707 g it19 ,kxig3d ,ixig3d ,ipari(72,nin) , iparts ,
708 h tagprt_fric ,intbuf_tab(nin)%IPARTFRICS ,intbuf_tab(nin)%IPARTFRICM ,intbuf_fric_tab,nrtm_ige ,
709 i ipari(63,nin) ,gapm_mx ,gaps_mx ,gapm_l_mx
710 j ipartt ,ipartp ,ipartr ,elem_linked_to_segment,
711 k flag_elem_inter25 )
712 ipari(21,nin) = igap
713
714
715
716
717 IF (iremnode == 1) THEN
718
719 CALL i7remnode(iremnode,noint,titr,intbuf_tab
720 1 x,nrtm ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,nsn,
721 2 itab ,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,intbuf_tab(nin)%VARIABLES(13),intbuf_tab(nin)%VARIABLES(16),
722 3 intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_ML,igap,intbuf_tab(nin)%VARIABLES(2),drad ,
723 4 ipari(62,nin) ,nty ,ipari(1,nin) ,i_mem_rem ,gapm_mx ,
724 5 gaps_mx ,gapm_l_mx ,gaps_l_mx ,ilev ,intbuf_tab(nin)%NBINFLG ,
725 6 intbuf_tab(nin)%MBINFLG,intbuf_tab(nin)%VARIABLES(46),npari)
726
727 END IF
728
729
730
731 is_used_with_law151 = .false.
732 IF(multi_fvm%IS_INTER_USED_WITH_LAW151(nin) == 1)is_used_with_law151 = .true.
733
735 1 ptr_x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%NSV,intbuf_tab(nin)%VARIABLES(4),nseg ,
736 2 nmn ,nrtm ,mwa ,nsn ,
737 3 intbuf_tab(nin)%VARIABLES(2),rwa ,noint ,intbuf_tab(nin)%I_STOK(1) ,
738 4 intbuf_tab(nin)%VARIABLES(5),intbuf_tab(nin)%VARIABLES(8), intbuf_tab(nin)%MSR ,
739 5 intbuf_tab(nin)%STFM ,intbuf_tab(nin)%STFNS ,multimp ,1 ,iddlevel ,
740 6 itab ,intbuf_tab(nin)%GAP_S ,intbuf_tab(nin)%GAP_M, igap,intbuf_tab(nin)%VARIABLES(13),
741 7 intbuf_tab(nin)%VARIABLES(16) ,inacti ,intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_ML ,i_mem ,
742 8 ncont ,icurv ,intbuf_tab(nin)%VARIABLES(7),
id , titr ,
743 9 drad ,intercep, nin,
744 1 iremnode ,ipari(63,nin),intbuf_tab(nin)%KREMNODE,intbuf_tab(nin)%REMNODE,
745 2 intbuf_tab(nin)%VARIABLES(46),npari,ipari(1,nin),intbuf_tab(nin), is_used_with_law151)
746
747 i_stok=intbuf_tab(nin)%I_STOK(1)
748
749 IF (i_mem == 2 ) RETURN
750
751
752
753
754
755 IF (iddlevel==0.AND.nspmd>1)THEN
756 IF ( ((nelemint+i_stok)) > inter_cand%S_IXINT_2)
CALL upgrade_ixint(inter_cand,nelemint,i_stok)
757
758 gap = intbuf_tab(nin)%VARIABLES(2)
759 gapmin = intbuf_tab(nin)%VARIABLES(13)
760 gapmax = intbuf_tab(nin)%VARIABLES(16)
761 dgapload = intbuf_tab(nin)%VARIABLES(46)
763 . intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,i_stok,intbuf_tab(nin)%CAND_E,intbuf_tab(nin)%CAND_N,
764 . igap,gap,gapmax,gapmin,dgapload,
765 . drad,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_M,intbuf_tab(nin)%GAP_ML,
766 . numnod_p,ptr_x,inter_cand)
767 ENDIF
768
769
770 IF((iddlevel==0).AND.(dectyp>=3.AND.dectyp<=6))THEN
771
772 IF(law151_type18)THEN
773
774 grbric_id = ipari(83,nin)
775 nbric = igrbric(isu1)%NENTITY
776 CALL iwcontdd_151(igrbric(grbric_id)%ENTITY,nbric,intbuf_tab(nin)%MSR,nmn_fe,iwcont,nsnt,nmnt,
777 . numnod,ixs,numels,ale_connectivity%NALE)
778 ELSE
779 CALL iwcontdd(intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,nsn_fe,nmn_fe,iwcont,nsnt,nmnt)
780 ENDIF
781 END IF
782
783
784
785 IF (iddlevel>0)THEN
786 ngrous=1+(i_stok-1)/nvsiz
787
788 DO ng=1,ngrous
789 IF(ipri>=1) WRITE(iout,2007)
790 nft = (ng-1) * nvsiz
791 lft = 1
792 llt = min0( nvsiz, i_stok - nft )
793
795 1 ptr_x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%CAND_N(1+nft) ,
796 2 intbuf_tab(nin)%STFM,intbuf_tab(nin)%STFNS,gapv ,igap ,intbuf_tab(nin)%VARIABLES(2) ,
797 3 intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,1,intbuf_tab(nin)%VARIABLES(13),intbuf_tab(nin)%VARIABLES(16),
798 4 intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_ML,zero,ix1 ,ix2 ,
799 5 ix3 ,ix4 ,nsvg,x1 ,x2 ,
800 6 x3 ,x4 ,y1 ,y2 ,y3 ,
801 7 y4 ,z1 ,z2 ,z3 ,z4 ,
802 8 xi ,yi ,zi ,stif ,zero ,
803 9 llt)
804 CALL i7dst3(ix3,ix4,x1 ,x2 ,x3 ,
805 1 x4 ,y1 ,y2 ,y3 ,y4 ,
806 2 z1 ,z2 ,z3 ,z4 ,xi ,
807 3 yi ,zi ,x0 ,y0 ,z0 ,
808 4 xn1,yn1,zn1,xn2,yn2,
809 5 zn2,xn3,yn3,zn3,xn4,
810 6 yn4,zn4,p1 ,p2 ,p3 ,
811 7 p4 ,lb1,lb2,lb3,lb4,
812 8 lc1,lc2,lc3,lc4,llt)
813 CALL i7pen3(zero,gapv,n11,n21,n31 ,
814 1 pene ,xn1 ,yn1,zn1,xn2,
815 2 yn2 ,zn2 ,xn3,yn3,zn3,
816 3 xn4 ,yn4 ,zn4,p1 ,p2 ,
817 4 p3 ,p4,llt)
818 IF(inacti==7)THEN
819 CALL i18pwr3(itab ,inacti,intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%CAND_N(1+nft),intbuf_tab(nin)%STFNS,
820 1 intbuf_tab(nin)%STFM,ptr_x ,intbuf_tab(nin)%NSV,iwpene ,intbuf_tab(nin)%CAND_P,
821 2 intbuf_tab(nin)%CAND_E,intbuf_tab(nin)%CAND_N,mwa ,noint ,gapv ,
822 3 ix1,ix2,ix3,ix4,nsvg,
823 4 pene)
824 ELSE
825 fpenmax = intbuf_tab(nin)%VARIABLES(27)
826 CALL i7pwr3(itab ,inacti,intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%CAND_N(1+nft),intbuf_tab(nin)%STFNS,
827 1 intbuf_tab(nin)%STFM,ptr_x ,intbuf_tab(nin)%NSV,iwpene ,intbuf_tab(nin)%CAND_P,
828 2 intbuf_tab(nin)%CAND_E,intbuf_tab(nin)%CAND_N,mwa , noint ,gapv ,
829 3 nty ,itied ,fpenmax ,
id ,titr ,
830 4 iddlevel ,iremnode ,intbuf_tab(nin)%KREMNODE,intbuf_tab(nin)%REMNODE,istok,
831 5 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
832 6 x1 ,x2 ,x3 ,x4 ,y1 ,
833 7 y2 ,y3 ,y4 ,z1 ,z2 ,
834 8 z3 ,z4 ,xi ,yi ,zi ,
835 9 n11 ,n21 ,n31 ,pene )
836 ENDIF
837 IF(iwpene/=0.AND.inacti==3.OR.inacti==4) iwrn = 1
838 ENDDO
839 CALL ancmsg(msgid=1164,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,prmod=msg_print)
840 DO i=1,numnod+numfakenodigeo
841 inpene=inpene+
min(mwa(i),1)
842 ENDDO
843 IF(istok==0.AND.(inacti==5.OR.inacti==6))ipari(22,nin) = -inacti
844 intbuf_tab(nin)%I_STOK(1)=istok
845 ENDIF
846
847 ELSEIF(nty==8) THEN
848 CALL inint0_8(x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSEGM,intbuf_tab(nin)%LMSR,
849 . intbuf_tab(nin)%MSR,
850 1 intbuf_tab(nin)%NSV,intbuf_tab(nin)%ILOCS,nsn ,nmn ,nrtm ,
851 2 numnod)
853 1 x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%STFM,ixs ,pm ,
854 2 geo ,nrtm ,ixc ,intbuf_tab(nin
855 3 intbuf_tab(nin)%LMSR,-nin ,nmn ,intbuf_tab(nin)%MSR,intbuf_tab(nin)%STFAC(1),
856 4 nty ,intbuf_tab(nin)%VARIABLES(2),noint ,ixtg ,irs ,
857 5 knod2els ,knod2elc ,knod2eltg ,nod2els ,nod2elc ,
858 6 nod2eltg ,igrsurf(isu2),thk ,ixs10 ,
859 7 ixs16 ,ixs20 ,
id,titr,intbuf_tab(nin)%GAPN,intbuf_tab(nin)%STF8 ,
860 8 intbuf_tab(nin)%VARIABLES(5),intbuf_tab(nin)%VARIABLES(4), igeo ,fillsol ,
861 9 pm_stack , iworksh)
863 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%LMSR,intbuf_tab(nin)%MSR,intbuf_tab(nin)%NSV,
864 2 intbuf_tab(nin)%ILOCS,intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%NSEGM,nsn ,nmn ,
866 WRITE(iout,2002)
868 1 x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%MSR,intbuf_tab(nin)%NSV,intbuf_tab(nin)%ILOCS,
869 2 intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%CSTS,intbuf_tab(nin)%IRTLOM,intbuf_tab(nin)%VARIABLES(2),nsn ,
870 3 itab ,iwpene ,
id,titr)
871
872 ELSEIF(nty==9) THEN
873
874
875
876
877 intbuf_tab(nin)%LNSV(1:nst) = 0
878 intbuf_tab(nin)%LMSR(1:nmt) = 0
879 intbuf_tab(nin)%STFNS(1:nsn) = 0
880 intbuf_tab(nin)%STFNM(1:nmn) = 0
881
883 1 x,intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%NSEGS,intbuf_tab(nin)%LNSV,intbuf_tab(nin)%NSV,
884 2 intbuf_tab(nin)%MSR,intbuf_tab(nin)%ILOCM,nmn ,nsn ,nrts ,intbuf_tab(nin)%S_IRECTS ,
885 3 intbuf_tab(nin)%S_LNSV)
887 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSEGM,intbuf_tab(nin)%LMSR,intbuf_tab(nin)%MSR,
888 2 intbuf_tab(nin)%NSV,intbuf_tab(nin)%ILOCS,nsn ,nmn ,nrtm ,intbuf_tab(nin)%S_IRECTM ,
889 3 intbuf_tab(nin)%S_LMSR )
890
892 1 x ,intbuf_tab(nin)%IRECTS, intbuf_tab(nin)%STFS ,ixs ,
893 2 nrts ,
894 3 nin ,nsn , intbuf_tab(nin)%NSV ,
895 4 noint , intbuf_tab(nin)%IELES,
896 5 knod2els ,nod2els , igrsurf ,isu1 ,
897 6 ixs10 ,ixs16 ,ixs20 ,
id ,titr)
899 1 x ,intbuf_tab(nin)%IRECTM, intbuf_tab(nin)%STFM ,ixs ,
900 2 nrtm ,
901 3 -nin ,nmn , intbuf_tab(nin)%MSR ,
902 4 noint , intbuf_tab(nin)%IELEM,
903 5 knod2els ,nod2els , igrsurf ,isu2 ,
904 6 ixs10 ,ixs16 , ixs20 ,
id ,titr)
906 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%LMSR,intbuf_tab(nin)%MSR,intbuf_tab
907 2 intbuf_tab(nin)%ILOCS,intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%NSEGM,nsn ,nmn ,
910 1 x,intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%LNSV,intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,
911 2 intbuf_tab(nin)%ILOCM,intbuf_tab(nin)%IRTLS,intbuf_tab(nin)%NSEGS,nmn ,nsn ,
913 IF(nmn>0)THEN
914 WRITE(iout,2002)
916 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%MSR,intbuf_tab(nin)%NSV,intbuf_tab(nin)%ILOCS,
917 2 intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%CSTS,intbuf_tab(nin)%IRTLOM,intbuf_tab(nin)%VARIABLES(2),nsn,
918 3 itab ,iwpene ,
id,titr)
919 WRITE(iout,2003)
921 1 x,intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,intbuf_tab(nin)%ILOCM,
922 2 intbuf_tab(nin)%IRTLS,intbuf_tab(nin)%CSTM,intbuf_tab(nin)%IRTLOS,intbuf_tab(nin)%VARIABLES(2),nmn,
923 3 itab ,iwpene ,
id,titr)
924 ENDIF
925 CALL i9bcs_check(icode, sicode, nsn, intbuf_tab(nin)%NSV, intbuf_tab(nin)%S_ILOCS, intbuf_tab(nin)%ILOCS )
926
927 ELSEIF(nty==10) THEN
928
929
930
931 itied=nint(intbuf_tab(nin)%VARIABLES(1))
932
933
934
935 ibidon = 0
937
939 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%STFM ,ixs ,pm ,
940 2 geo ,nrtm ,ixc ,-nin ,intbuf_tab(nin)%STFAC,
941 3 nty ,intbuf_tab(nin)%VARIABLES(2) ,noint ,intbuf_tab(nin)%STFNS, nsn ,
942 4 ms ,intbuf_tab(nin)%NSV ,ixtg ,igap , rwa ,
943 5 intbuf_tab(nin)%GAP_S ,intbuf_tab(nin)%GAP_M ,intbuf_tab(nin)%VARIABLES(13),ixt ,ixp ,
944 6 intbuf_tab(nin)%VARIABLES(6),intbuf_tab(nin)%VARIABLES(16),inacti ,knod2els ,knod2elc,
945 9 knod2eltg ,nod2els ,nod2elc ,nod2eltg ,igrsurf(isu2),
946 a ibidon ,ibidon ,ibidon ,
bidon ,sh4tree ,
947 b sh3tree ,ipart ,ipartc ,iparttg ,thk ,
948 c thk_part ,intbuf_tab(nin)%VARIABLES(27),rdum ,rdum ,nod2el1d,
949 d knod2el1d ,ixr ,itab ,intbuf_tab(nin)%VARIABLES(7) ,ixs10 ,
950 e ixs16 ,ixs20 ,
id ,titr ,iddlevel,
951 f drad ,igeo ,fillsol ,pm_stack ,iworksh ,
952 g it19 ,bid ,bid ,ibidon ,iparts ,
953 h ibidon ,ibidon ,ibidon ,ibidon ,ibidon ,
954 i ipari(63,nin),gapm_mx ,gaps_mx ,gapm_l_mx ,gaps_l_mx,
955 j ipartt ,ipartp ,ipartr ,elem_linked_to_segment,
956 k flag_elem_inter25 )
957
958
959
960 maxbox = intbuf_tab(nin)%VARIABLES(9)
961 minbox = intbuf_tab(nin)%VARIABLES(12)
963 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%NSV,intbuf_tab(nin)%VARIABLES(4),nseg,
964 2 nmn ,nrtm ,mwa ,nsn ,intbuf_tab(nin)%CAND_E,
965 3 intbuf_tab(nin)%CAND_N ,intbuf_tab(nin)%VARIABLES(2),rwa ,noint ,i_stok ,
966 4 intbuf_tab(nin)%VARIABLES(5),intbuf_tab(nin)%VARIABLES(8),maxbox ,minbox ,intbuf_tab(nin)%MSR ,
967 5 intbuf_tab(nin)%STFM ,intbuf_tab(nin)%STFNS ,multimp ,1 ,iddlevel ,
968 6 itab ,intbuf_tab(nin)%GAP_S ,intbuf_tab(nin)%GAP_M,igap ,intbuf_tab(nin)%VARIABLES(13),
969 7 intbuf_tab(nin)%VARIABLES(16) ,inacti ,rdum,rdum ,i_mem ,
970 8
id,titr,it19,prov_n,prov_e,
971 9 nsvg,ix1 ,ix2 ,ix3 ,ix4 ,
972 1 n11 ,n21 ,n31 ,pene ,x1 ,
973 2 x2 ,x3 ,x4 ,y1 ,y2 ,
974 3 y3 ,y4 ,z1 ,z2 ,z3 ,
975 4 z4 ,xi ,yi ,zi ,x0 ,
976 5 y0 ,z0 ,xn1 ,yn1 ,zn1 ,
977 6 xn2 ,yn2 ,zn2 ,xn3 ,yn3 ,
978 7 zn3 ,xn4 ,yn4 ,zn4 ,p1 ,
979 8 p2 ,p3 ,p4 ,lb1 ,lb2 ,
980 9 lb3 ,lb4 ,lc1 ,lc2 ,lc3 ,
981 1 lc4,stif)
982 IF (i_mem == 2) RETURN
983 intbuf_tab(nin)%VARIABLES(9) = maxbox
984 intbuf_tab(nin)%VARIABLES(12) = minbox
985
986
987
988 ngrous=1+(i_stok-1)/nvsiz
989
990 DO ng=1,ngrous
991 IF(ipri>=1) WRITE(iout,2007)
992 nft = (ng-1) * nvsiz
993 lft = 1
994 llt = min0( nvsiz, i_stok - nft )
996 1 x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%CAND_N(1+nft) ,
997 2 intbuf_tab(nin)%STFM,intbuf_tab(nin)%STFNS,gapv ,igap ,intbuf_tab(nin)%VARIABLES(2) ,
998 3 intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,1,intbuf_tab(nin)%VARIABLES(13),intbuf_tab(nin)%VARIABLES(16),
999 4 rdum,rdum,drad,ix1 ,ix2 ,
1000 5 ix3 ,ix4 ,nsvg,x1 ,x2 ,
1001 6 x3 ,x4 ,y1 ,y2 ,y3 ,
1002 7 y4 ,z1 ,z2 ,z3 ,z4 ,
1003 8 xi ,yi ,zi ,stif ,intbuf_tab(nin)%VARIABLES(46),
1004 9 llt)
1005 CALL i7dst3(ix3,ix4,x1 ,x2 ,x3 ,
1006 1 x4 ,y1 ,y2 ,y3 ,y4 ,
1007 2 z1 ,z2 ,z3 ,z4 ,xi ,
1008 3 yi ,zi ,x0 ,y0 ,z0 ,
1009 4 xn1,yn1,zn1,xn2,yn2,
1010 5 zn2,xn3,yn3,zn3,xn4,
1011 6 yn4,zn4,p1 ,p2 ,p3 ,
1012 7 p4 ,lb1,lb2,lb3,lb4,
1013 8 lc1,lc2,lc3,lc4,llt)
1014 CALL i7pen3(zero,gapv,n11,n21,n31,
1015 1 pene ,xn1 ,yn1,zn1,xn2,
1016 2 yn2 ,zn2 ,xn3,yn3,zn3,
1017 3 xn4 ,yn4 ,zn4,p1 ,p2 ,
1018 4 p3 ,p4,llt)
1019 inacti = 0
1020 fpenmax = intbuf_tab(nin)%VARIABLES(27)
1021 CALL i7pwr3(itab ,inacti,intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%CAND_N(1+nft),intbuf_tab(nin)%STFNS,
1022 1 intbuf_tab(nin)%STFM,x ,intbuf_tab(nin)%NSV,iwpene ,intbuf_tab(nin)%CAND_P,
1023 2 intbuf_tab(nin)%CAND_E,intbuf_tab(nin)%CAND_N,mwa , noint ,gapv ,
1024 3 nty ,itied ,fpenmax ,
id ,titr ,
1025 4 iddlevel ,iremnode ,ibidon ,ibidon ,istok ,
1026 5 ix1,ix2,ix3,ix4,nsvg,
1027 6 x1 ,x2 ,x3 ,x4 ,y1 ,
1028 7 y2 ,y3 ,y4 ,z1 ,z2 ,
1029 8 z3 ,z4 ,xi ,yi ,zi ,
1030 9 n11,n21,n31,pene)
1031 IF(iwpene /= 0 .AND. inacti == 3 .OR. inacti == 4) iwrn = 1
1032 ENDDO
1033 CALL ancmsg(msgid=1164,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,prmod=msg_print)
1034
1035 DO i=1,numnod
1036 inpene=inpene+
min(mwa(i),1)
1037 ENDDO
1038 IF((iddlevel==0).AND.
1039 + (dectyp >= 3 .AND. dectyp <= 6))THEN
1040
1041 CALL iwcontdd(intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,nsn,nmn,iwcont,
1042 . nsnt,nmnt)
1043 END IF
1044
1045 ELSEIF(nty==11) THEN
1046
1047
1048
1049 gap0 =intbuf_tab(nin)%VARIABLES(2)
1050 gapinf = ep30
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1062 1 x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%STFM ,ixs ,pm ,
1063 2 geo ,nrtm ,ixc ,nin ,intbuf_tab(nin)%STFAC,
1064 3 nty ,intbuf_tab(nin)%VARIABLES(2),noint ,intbuf_tab(nin)%GAP_M,
1065 4 ms ,ixtg ,ixt ,ixp ,ixr ,
1066 5 igap ,intbuf_tab(nin)%VARIABLES(13),gap0 ,gapinf ,ipartc ,
1067 6 iparttg ,thk ,thk_part ,intbuf_tab(nin)%VARIABLES(28),intbuf_tab(nin)%GAP_ML,
1068 7 nod2el1d ,knod2el1d ,itab ,ixs10 ,
id,titr ,
1069 8 kxx ,ixx ,igeo ,knod2els ,knod2elc ,
1070 9 knod2eltg ,nod2els ,nod2elc ,nod2eltg ,lelx ,
1071 a fillsol ,intth ,drad ,intbuf_tab(nin)%AREAM ,intbuf_tab(nin)%IELES ,
1072 b pm_stack ,iworksh ,it19 ,intbuf_tab(nin)%VARIABLES(7),ipari(72,nin) ,
1073 c iparts ,tagprt_fric ,intbuf_tab(nin)%IPARTFRICM,intbuf_fric_tab,
1074 d ipartt ,ipartp ,ipartx ,ipartr, ipari(63,nin))
1075
1076 drad = intbuf_tab(nin)%VARIABLES(24)
1078 1 x ,intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%STFS ,ixs ,pm ,
1079 2 geo ,nrts ,ixc ,-nin,intbuf_tab(nin)%STFAC(1),
1080 3 nty ,intbuf_tab(nin)%VARIABLES(2),noint ,intbuf_tab(nin)%GAP_S,
1081 4 ms ,ixtg ,ixt ,ixp ,ixr ,
1082 5 igap ,intbuf_tab(nin)%VARIABLES(13),gap0 ,gapinf ,ipartc ,
1083 6 iparttg ,thk ,thk_part ,intbuf_tab(nin)%VARIABLES(28),intbuf_tab(nin)%GAP_SL,
1084 7 nod2el1d ,knod2el1d ,itab ,ixs10 ,
id,titr ,
1085 8 kxx ,ixx ,igeo ,knod2els ,knod2elc ,
1086 9 knod2eltg ,nod2els ,nod2elc ,nod2eltg ,lelx ,
1087 a fillsol ,intth , drad ,intbuf_tab(nin)%AREAS,intbuf_tab(nin)%IELEC,
1088 b pm_stack ,iworksh ,it19 ,intbuf_tab(nin)%VARIABLES(7),ipari(72,nin) ,
1089 c iparts ,tagprt_fric,intbuf_tab(nin)%IPARTFRICS,intbuf_fric_tab,
1090 d ipartt ,ipartp ,ipartx ,ipartr, ipari(63,nin))
1091
1092 intbuf_tab(nin)%VARIABLES(6)=
max(gapinf,intbuf_tab(nin)%VARIABLES(13))
1093
1094
1095
1096 maxbox = intbuf_tab(nin)%VARIABLES(9)
1097 minbox = intbuf_tab(nin)%VARIABLES(12)
1098
1099 IF (iremnode == 1) THEN
1100
1101 ALLOCATE(inod2lin(numnod+1),tagsecnd(numnod),nod2lin(2*nrtm))
1102 i_start = 1
1103 i_mem_rem = 0
1104 DO WHILE (i_start < nrtm)
1105
1107 1 x,nrtm,intbuf_tab(nin)%IRECTM,nrts,intbuf_tab(nin)%IRECTS,
1108 2 numnod,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,intbuf_tab(nin)%VARIABLES(13),igap,
1109 3 intbuf_tab(nin)%KREMNODE,intbuf_tab(nin)%REMNODE, intbuf_tab(nin)%VARIABLES(2), drad,ipari(62,nin),
1110 4 i_start,i_mem_rem,inod2lin,tagsecnd,nod2lin,
1111 5 intbuf_tab(nin)%VARIABLES(46),intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_ML)
1112
1113
1114
1115 IF (i_mem_rem == 1) THEN
1116 new_size = ipari(62,nin) + 5*nrtm
1118 i_mem_rem = 0
1119 ENDIF
1120
1121 ENDDO
1122
1123 DEALLOCATE(inod2lin,tagsecnd,nod2lin)
1124 iremnode = 0
1125
1126 ENDIF
1127
1129 1 x ,intbuf_tab(nin)%IRECTS ,intbuf_tab(nin)%IRECTM ,nrts ,nmn,
1130 2 nrtm ,nsn ,intbuf_tab(nin)%CAND_E ,intbuf_tab(nin)%CAND_N ,intbuf_tab(nin)%VARIABLES(2),
1131 3 noint ,i_stok ,intbuf_tab(nin)%VARIABLES(8) ,maxbox ,minbox,
1132 4 ncont ,multimp, intbuf_tab(nin)%MSR,
1133 5 intbuf_tab(nin)%ADCCM,intbuf_tab(nin)%CHAIN,itab,intbuf_tab(nin)%NSV,
1134 6 0, i_mem ,
id,titr ,iddlevel,intbuf_tab(nin)%VARIABLES(4),
1135 7 drad, intercep,igap,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,
1136 8 intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_ML ,intbuf_tab(nin)%VARIABLES(13),ipari(63,nin),intbuf_tab(nin)%KREMNODE,
1137 3 intbuf_tab(nin)%REMNODE,intbuf_tab(nin)%VARIABLES(46))
1138
1139 intbuf_tab(nin)%VARIABLES(5) = 0
1140
1141 IF (i_mem == 2 ) RETURN
1142 intbuf_tab(nin)%VARIABLES(9) = maxbox
1143 intbuf_tab(nin)%VARIABLES(12) = minbox
1144
1145
1146
1147
1148 IF (iddlevel==0.AND.nspmd>1)THEN
1149 IF ( ((nelemint+i_stok)) > inter_cand%S_IXINT_2)
CALL upgrade_ixint(inter_cand,nelemint,i_stok)
1151 . intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%IRECTS,i_stok,intbuf_tab(nin)%CAND_E,intbuf_tab(nin)%CAND_N,
1152 . inter_cand)
1153 ENDIF
1154
1155
1156 IF((iddlevel == 0) .AND. (dectyp >= 3 .AND. dectyp <= 6))THEN
1157
1158 CALL iwcontdd(intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,nsn,nmn,iwcont,
1159 . nsnt,nmnt)
1160 END IF
1161
1162
1163
1164 ngrous=1+(i_stok-1)/nvsiz
1165
1166 IF(ipri>=1) WRITE(iout,2011)
1167
1168
1169 print_warning = .true.
1170 DO ng=1,ngrous
1171 nft = (ng-1) * nvsiz
1172 lft = 1
1173 llt = min0( nvsiz, i_stok - nft )
1174 jlt_new = 0
1176 1 llt ,intbuf_tab(nin)%VARIABLES(13),intbuf_tab(nin)%CAND_N(1+nft),intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%IRECTS,
1177 2 intbuf_tab(nin)%IRECTM,nx ,ny ,nz ,
1178 4 n1 ,n2 ,m1 ,m2 ,jlt_new ,
1179 5 x ,igap ,intbuf_tab(nin)%GAP_S ,intbuf_tab(nin)%GAP_M,gapv,
1180 6 intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_ML,drad ,intbuf_tab(nin)%VARIABLES(46))
1181 llt = jlt_new
1182
1183 CALL i11pwr3(itab ,inacti,intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%CAND_N(1+nft),
1184 2 intbuf_tab(nin)%STFS,intbuf_tab(nin)%STFM,x ,intbuf_tab(nin)%NSV,iwpene ,
1185 3 n1 ,n2 ,m1 ,m2 ,nx ,
1186 4 ny ,nz ,gapv ,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,
1187 5 intbuf_tab(nin)%PENIS,intbuf_tab(nin)%PENIM,igap,print_warning)
1188 IF(iwpene/=0 .AND. inacti==3 .OR. inacti==4) iwrn = 1
1189
1190 ENDDO
1191 IF((iddlevel == 0) .AND. (dectyp >= 3 .AND. dectyp <= 6))THEN
1192
1193 CALL iwcontdd(intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,nsn,nmn,iwcont,
1194 . nsnt,nmnt)
1195 END IF
1196
1197 ELSEIF(nty==12) THEN
1198
1199 itied=int(intbuf_tab(nin)%VARIABLES(1))
1200 IF(int(intbuf_tab(nin)%VARIABLES(1))==2)
1201 .
CALL in12r(x,intbuf_tab(nin)%VARIABLES(1),intbuf_tab(nin)%NSV,nsn,1)
1202
1203
1204 intbuf_tab(nin)%LMSR(1:nmt) = 0
1206 1 x,intbuf_tab(nin)%IRECTM, intbuf_tab(nin)%NSEGM,intbuf_tab(nin)%LMSR ,intbuf_tab(nin)%MSR,
1207 2 intbuf_tab(nin)%NSV,intbuf_tab(nin)%ILOCS,nsn ,nmn ,nrtm ,intbuf_tab(nin)%S_IRECTM ,
1208 3 intbuf_tab(nin)%S_LMSR)
1209 ipari(30,nin)=-1
1210 CALL i12chk3(x,intbuf_tab(nin)%IRECTM,ixs ,nrtm ,ixc ,
1211 1 -nin,nmn ,intbuf_tab(nin)%MSR,noint ,mwa ,
1212 2 ixtg,pm,intbuf_tab(nin)%IELEM, ale_connectivity,
1213 3 ipari(30,nin),intbuf_tab(nin)%FCOUNT,itied, itab,knod2els,
1214 4 nod2els,nty,
id,titr)
1215 CALL i12chk3(x,intbuf_tab(nin)%IRECTS,ixs ,nrts ,ixc,
1216 1 nin,nsn ,intbuf_tab(nin)%NSV,noint ,mwa,
1217 2 ixtg,pm,intbuf_tab(nin)%IELES, ale_connectivity,
1218 3 ipari(30,nin),intbuf_tab(nin)%FCOUNT,itied, itab,knod2els,
1219 4 nod2els,nty,
id,titr)
1220 IF(ipari(30,nin)==0)THEN
1221 CALL ancmsg(msgid=1250,msgtype=msgwarning,anmode=aninfo_blind,i1=
id,c1=titr)
1222
1223 ELSEIF(itied==3)THEN
1224 ipari(30,nin)=0
1225 ENDIF
1227 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%LMSR,intbuf_tab(nin)%MSR,intbuf_tab(nin)%NSV,
1228 2 intbuf_tab(nin)%ILOCS,intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%NSEGM,nsn ,nmn ,
1229 3 itab,
id,titr,nrtm)
1230 WRITE(iout,2002)
1232 1 x,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%CSTS,intbuf_tab(nin)%MSR,intbuf_tab(nin)%NSV ,
1233 2 intbuf_tab(nin)%ILOCS,intbuf_tab(nin)%IRTLM,nsn ,itab ,intbuf_tab(nin)%VARIABLES(2),
1235 IF(int(intbuf_tab(nin)%VARIABLES(1))==2)
1236 .
CALL in12r(x,intbuf_tab(nin)%VARIABLES(1),intbuf_tab(nin)%NSV,nsn,2)
1237
1238
1239 ELSEIF(nty == 17 .AND. ipari(33,nin) == 0) THEN
1240
1241 ign = ipari(36,nin)
1242 ige = ipari(34,nin)
1243 nmes = igrbric(ign)%NENTITY
1244 nme = igrbric(ige)%NENTITY
1245
1246
1247
1249 1 ixs ,pm ,nme ,nmes ,igrbric(ige)%ENTITY,igrbric(ign)%ENTITY,
1250 2 intbuf_tab(nin)%KM,intbuf_tab(nin)%KS)
1251
1252 ELSEIF(nty==20) THEN
1253
1255 2 pm ,geo ,ipari(1,nin) ,nin ,itab ,
1256 3 ms ,mwa ,rwa ,ixtg ,iwrn ,
1257 4 ikine ,ixt ,ixp ,ixr ,nelemint,
1258 5 iddlevel,ifiend ,nsnet ,
1259 6 nmnet ,iwcont ,nsnt ,
1260 7 nmnt ,knod2els,knod2elc,knod2eltg,nod2els,
1261 8 nod2elc ,nod2eltg,igrsurf ,ikine1 ,ipart ,
1262 9 ipartc ,iparttg ,thk ,thk_part,inpene ,
1263 a iwpene ,ixs10,i_mem ,
1264 b inter_cand,ixs16 ,ixs20 ,
id ,titr ,
1265 c kxx ,ixx ,igeo ,nod2el1d,knod2el1d,
1266 d lelx ,intbuf_tab(nin) , pm_stack , iworksh,nspmd)
1267 IF (i_mem ==2) RETURN
1268
1269 ELSEIF(nty==21) THEN
1270
1271
1272
1273 intbuf_tab(nin)%AREAS(1:nsn) = 0
1274 IF(intth/=0)THEN
1275 intbuf_tab(nin)%AS(1:nsn) = 0
1276 intbuf_tab(nin)%BS(1:nsn) = 0
1277 ENDIF
1278
1279
1281 1 x ,nrtm ,intbuf_tab(nin)%IRECTM ,noint ,itab,
id,titr,
1282 2 ix1 ,ix2 ,ix3 ,ix4 ,x1 ,
1283 3 x2 ,x3 ,x4 ,y1 ,y2 ,
1284 4 y3 ,y4 ,z1 ,z2 ,z3 ,
1285 5 z4 ,n11 ,n21 ,n31 ,x0 ,
1286 6 y0 ,z0 ,xn1 ,yn1 ,zn1 ,
1287 7 xn2 ,yn2 ,zn2 ,xn3 ,yn3 ,
1288 8 zn3 ,xn4 ,yn4 ,zn4 )
1289
1290
1291
1292
1294 1 x ,intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%IRECTM ,nrts ,nrtm
1295 2 geo ,ixs ,pm ,ixc ,ixtg ,
1296 3 -nin ,nty ,noint ,nsn ,intbuf_tab(nin)%NSV ,
1297 4 intbuf_tab(nin)%IELES,ipari(47,nin) ,intbuf_tab(nin)%AREAS,nmn ,intbuf_tab(nin)%MSR,
1298 5 knod2els ,knod2elc ,knod2eltg ,nod2els ,nod2elc ,
1299 6 nod2eltg ,igrsurf(isu1),igrsurf(isu2),ielem21 ,
1300 7 thk ,intbuf_tab(nin)%AS,intbuf_tab(nin)%BS,ixs10 ,ixs16 ,
1301 8 ixs20 ,
id,titr,igeo,sh4tree ,
1302 9 sh3tree ,ipart ,ipartc ,iparttg , pm_stack
1303 a iworksh ,ipari(72,nin) ,tagprt_fric , intbuf_tab(nin)%IPARTFRICS,
1304 g intbuf_tab(nin)%IPARTFRICM,intbuf_fric_tab,iparts)
1305
1306
1307
1308
1309 ELSEIF(nty==22) THEN
1310
1311
1312 IF(isu1>0)THEN
1314 1 x ,nrtm ,intbuf_tab(nin)%IRECTM
1315 2 pm ,ixs ,igrbric(isu1)%NENTITY ,igrbric
1316 3 titr,
1317 4 ix1 ,ix2 ,ix3 ,ix4 ,x1 ,
1318 5 x2 ,x3 ,x4 ,y1 ,y2 ,
1319 6 y3 ,y4 ,z1 ,z2 ,z3 ,
1320 7 z4 ,n11 ,n21 ,n31 ,x0 ,
1321 8 y0 ,z0 ,xn1 ,yn1 ,zn1 ,
1322 9 xn2 ,yn2 ,zn2 ,xn3 ,yn3 ,
1323 1 zn3 ,xn4 ,yn4 ,zn4 )
1324 ENDIF
1325
1326
1327
1328
1329 CALL i22sti3(intbuf_tab(nin)%STFM, nrtm )
1330
1331 ipari(21,nin) = igap
1332 iad = ipari(39,nin)
1333 isu1 = ipari(45,nin)
1334 IF(isu1>0)THEN
1335 nbric = igrbric(isu1)%NENTITY
1336 ELSE
1337 nbric = 0
1338 ENDIF
1339
1341
1342 CALL i22tzinf( x ,intbuf_tab(nin)%VARIABLES
1343
1344 ELSEIF(nty==23) THEN
1345
1346
1348 1 x ,nrtm ,intbuf_tab(nin)%IRECTM ,noint
1349 2 ix1 ,ix2 ,ix3 ,ix4 ,x1 ,
1350 3 x2 ,x3 ,x4 ,y1 ,y2 ,
1351 4 y3 ,y4 ,z1 ,z2 ,z3 ,
1352 5 z4 ,n11 ,n21 ,n31 ,x0 ,
1353 6 y0 ,z0 ,xn1 ,yn1 ,zn1 ,
1354 7 xn2 ,yn2 ,zn2 ,xn3 ,yn3 ,
1355 8 zn3 ,xn4 ,yn4 ,zn4 )
1356
1357
1358
1360 1 x ,intbuf_tab(nin)%IRECTS,intbuf_tab(nin)%IRECTM ,nrts
1361 2 geo ,ixs ,pm ,ixc ,ixtg ,
1362 3 -nin ,nty ,noint ,nsn ,intbuf_tab(nin
1363 4 ipari(47,nin) ,nmn ,intbuf_tab(nin)%MSR,rwa ,
1364 5 knod2els ,knod2elc ,knod2eltg ,nod2els ,nod2elc ,
1365 6 nod2eltg ,thk ,ixs10 ,ixs16
1366 7 ipartc ,iparttg ,intbuf_tab(nin)%VARIABLES(2),igap
1367 8 intbuf_tab(nin)%VARIABLES(13),intbuf_tab(nin)%VARIABLES(6),intbuf_tab
1368 . intbuf_tab(nin)%VARIABLES(19),intbuf_tab(nin)%VARIABLES(7),
1369 9 intbuf_tab(nin)%STFNS,intbuf_tab(nin)%STFM,
id,titr,intbuf_tab(nin)%GAP_M, igeo ,
1370 a pm_stack , iworksh)
1371
1372
1373
1374 maxbox = intbuf_tab(nin)%VARIABLES(9)
1375 minbox = intbuf_tab(nin)%VARIABLES(12)
1377 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%NSV,intbuf_tab
1378 2 nmn ,nrtm ,mwa ,nsn ,intbuf_tab(nin)%CAND_E ,
1379 3 intbuf_tab(nin)%CAND_N ,intbuf_tab(nin)%VARIABLES(2),rwa ,noint ,i_stok ,
1380 4 intbuf_tab(nin)%VARIABLES(5),intbuf_tab(nin)%VARIABLES(8),maxbox
1381 5 intbuf_tab(nin)%STFM ,multimp ,itab ,intbuf_tab
1382 6 intbuf_tab(nin)%VARIABLES(13),intbuf_tab(nin)%VARIABLES(16) ,inacti
1383 7 i_mem ,iddlevel,
id,titr,intbuf_tab(nin
1384 8 prov_n,prov_e ,ix1,ix2,
1385 9 ix3 ,ix4 ,nsvg ,x1 ,x2 ,
1386 1 x3 ,x4 ,y1 ,y2 ,y3 ,
1387 2 y4 ,z1 ,z2 ,z3 ,z4 ,
1388 3 xi ,yi ,zi ,x0 ,y0 ,
1389 4 z0 ,xn1 ,yn1 ,zn1,xn2,
1390 5 yn2 ,zn2 ,xn3 ,yn3,zn3,
1391 6 xn4 ,yn4 ,zn4 ,p1 ,p2 ,
1392 7 p3 ,p4 ,lb1 ,lb2,lb3
1393 8 lb4 ,lc1 ,lc2 ,lc3,lc4,
1394 9 n11 ,n21 ,n31 ,pene )
1395 IF (i_mem == 2 ) RETURN
1396 intbuf_tab(nin)%VARIABLES(9) = maxbox
1397 intbuf_tab(nin)%VARIABLES(12) = minbox
1398
1399
1400
1401 IF (iddlevel==0.AND.nspmd>1)THEN
1402 IF ( ((nelemint+i_stok)) > inter_cand%S_IXINT_2)
CALL upgrade_ixint(inter_cand,nelemint,i_stok)
1403
1404 gap = intbuf_tab(nin)%VARIABLES(2)
1405 gapmin = intbuf_tab(nin)%VARIABLES(13)
1406 gapmax = intbuf_tab(nin)%VARIABLES(16)
1407 dgapload = intbuf_tab(nin)%VARIABLES(46)
1409 . intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,i_stok,intbuf_tab(nin)%CAND_E,intbuf_tab
1410 . igap,gap,gapmax,gapmin,dgapload,
1411 . drad,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_M,intbuf_tab
1412 . numnod,x,inter_cand)
1413 ENDIF
1414
1415
1416 IF((iddlevel==0).AND. (dectyp>=3.AND.dectyp<=6))THEN
1417
1418 CALL iwcontdd(intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,nsn,nmn,iwcont,
1419 . nsnt,nmnt)
1420 END IF
1421
1422
1423
1424 ngrous=1+(i_stok-1)/nvsiz
1425
1426 DO ng=1,ngrous
1427
1428 IF(ipri>=1) WRITE(iout,2007)
1429 nft = (ng-1) * nvsiz
1430 lft = 1
1431 llt = min0( nvsiz, i_stok - nft )
1433 1 llt ,intbuf_tab(nin)%CAND_N(1+nft),intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%IRECTM,
1434 . intbuf_tab(nin)%NSV ,
1435 2 intbuf_tab(nin)%GAP_S,x ,intbuf_tab(nin)%MSR,pene,intbuf_tab(nin)%IFPEN(1+nft) ,
1436 3 igap ,intbuf_tab(nin)%VARIABLES(2), intbuf_tab(nin)%VARIABLES(16),
1437 . intbuf_tab(nin)%VARIABLES(13), gapv,
1438 4 intbuf_tab(nin)%GAP_M)
1439
1441 . itab ,inacti,intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%CAND_N(1+nft),
1442 . intbuf_tab(nin)%STFNS,
1443 1 x ,llt ,intbuf_tab(nin)%NSV,iwpene ,pene ,
1444 2 noint ,nty ,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%MSR,
1445 3 intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%VARIABLES(13),intbuf_tab(nin)%VARIABLES(16),
1446 . intbuf_tab(nin)%VARIABLES(27),
1447 4 nsn ,mwa ,intbuf_tab(nin)%CAND_E,intbuf_tab(nin)%CAND_N,
1448 5 intbuf_tab(nin)%CAND_P,intbuf_tab(nin)%STFM,intbuf_tab(nin)%IFPEN(1+nft),intbuf_tab(nin)%IFPEN,gapv )
1449
1450 END DO
1451
1452 IF(iwpene/=0) THEN
1453 CALL ancmsg(msgid=499,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,i2=iwpene)
1454 ENDIF
1455
1456 IF(iwpene==0.AND.(inacti==5.OR.inacti==6)) ipari(22,nin) = -inacti
1457 intbuf_tab(nin)%I_STOK(1)=iwpene
1458
1459
1460
1461
1462 ELSEIF(nty==24) THEN
1463
1464 ipen0 = ipari(54,nin)
1465 nrtse = ipari(52,nin)
1466 nsne = ipari(55,nin)
1467 igsti = ipari(34,nin)
1468 nrtm0=nrtm-nrtm_sh
1469 nsn0=nsn-nsne
1470 intbuf_tab(nin)%MVOISIN(1:4*nrtm)=0
1472 1 x ,nrtm ,intbuf_tab(nin)%IRECTM ,noint ,itab,
id,titr,
1473 2 ix1 ,ix2 ,ix3 ,ix4 ,x1 ,
1474 3 x2 ,x3 ,x4 ,y1 ,y2 ,
1475 4 y3 ,y4 ,z1 ,z2 ,z3 ,
1476 5 z4 ,n11 ,n21 ,n31 ,x0 ,
1477 6 y0 ,z0 ,xn1 ,yn1 ,zn1 ,
1478 7 xn2 ,yn2 ,zn2 ,xn3 ,yn3 ,
1479 8 zn3 ,xn4 ,yn4 ,zn4 )
1480
1481
1482
1483 ALLOCATE(ipartns(nsn))
1484 ipartns(1:nsn)=0
1486 1 x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%STFM ,ixs ,pm ,
1487 2 geo ,nrtm0 ,ixc ,-nin ,intbuf_tab(nin)%STFAC(1),
1488 3 nty ,intbuf_tab(nin)%VARIABLES(2),noint ,
1489 4 intbuf_tab(nin)%STFNS,nsn0 ,ms ,intbuf_tab(nin)%NSV,ixtg ,
1490 5 igap ,rwa ,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,intbuf_tab(nin)%VARIABLES(13),
1491 6 ixt ,ixp ,intbuf_tab(nin)%VARIABLES(6),intbuf_tab(nin)%VARIABLES(35),
1492 9 inacti ,knod2els ,knod2elc ,knod2eltg ,nod2els ,
1493 a nod2elc ,nod2eltg ,igrsurf(
max(1,isu2)),ipari(47,nin) ,
1494 b intbuf_tab(nin)%IELES,intbuf_tab(nin)%IELEC, intbuf_tab(nin)%AREAS ,sh4tree ,sh3tree,
1495 c ipart ,ipartc ,iparttg ,thk ,thk_part,
1496 d ixr ,itab ,intbuf_tab(nin)%VARIABLES(7),ixs10 ,intbuf_tab(nin)%MSEGTYP24 ,
1497 e nrtm_sh ,ixs16 ,ixs20 ,intbuf_tab(nin)%GAP_NM,intbuf_tab(nin)%MVOISIN ,
1498 f ilev ,igrsurf(
max(1,isu1)),intbuf_tab(nin)%VARIABLES(36),
id,titr ,ipari(53,nin) ,
1499 g intbuf_tab(nin)%PENE_OLD ,ipartns ,iparts , igeo ,fillsol ,
1500 h pm_stack ,iworksh ,ipari(72,nin) ,tagprt_fric , intbuf_tab(nin)%IPARTFRICS,
1501 g intbuf_tab(nin)%IPARTFRICM,intbuf_fric_tab,ipari(86,nin) , nrts ,intbuf_tab(nin)%IRECTS ,
1502 i intbuf_tab(nin)%IELNRTS,intbuf_tab(nin)%ADRECTS,intbuf_tab(nin)%FACNRTS,nmn,intbuf_tab(nin)%MSR ,
1503 j ipartt ,ipartp ,ipartr ,elem_linked_to_segment,igsti, flag_elem_inter25 )
1504 ipari(21,nin) = igap
1505
1506 IF (nsne >0) THEN
1507 CALL i24fics_ini(intbuf_tab(nin)%IRTSE ,nsne ,intbuf_tab(nin)%IS2SE ,intbuf_tab(nin)%NSV ,
1508 1 intbuf_tab(nin)%IS2PT ,nsn ,intbuf_tab(nin)%GAP_S )
1509 CALL i24fics_ini(intbuf_tab(nin)%IRTSE ,nsne ,intbuf_tab(nin)%IS2SE ,intbuf_tab(nin)%NSV ,
1510 1 intbuf_tab(nin)%IS2PT ,nsn ,intbuf_tab(nin)%STFNS )
1511 CALL i24fici_ini(intbuf_tab(nin)%IRTSE ,nsne ,intbuf_tab(nin)%IS2SE ,intbuf_tab(nin)%NSV ,
1512 1 intbuf_tab(nin)%IS2PT ,nsn ,ipartns )
1513 CALL i24isegpt_ini(intbuf_tab(nin)%IRTSE ,nsne ,intbuf_tab(nin)%IS2SE ,intbuf_tab(nin)%NSV ,
1514 1 intbuf_tab(nin)%IS2PT ,nsn ,intbuf_tab(nin)%ISEGPT,3 ,intbuf_tab(nin)%ISPT2)
1515
1516 CALL i24ficv_ini(intbuf_tab(nin)%IRTSE ,nsne ,intbuf_tab(nin)%IS2SE ,intbuf_tab(nin)%NSV ,
1517 1 intbuf_tab(nin)%IS2PT ,nsn ,intbuf_tab(nin)%PENE_OLD,3 )
1518 CALL i24fici_ini(intbuf_tab(nin)%IRTSE ,nsne ,intbuf_tab(nin)%IS2SE ,intbuf_tab(nin)%NSV ,
1519 1 intbuf_tab(nin)%IS2PT ,nsn ,intbuf_tab(nin)%NBINFLG )
1520 END IF
1521
1522
1523
1524 IF(intkg > 0 ) THEN
1526 1 x ,intbuf_tab(nin)%IRECTM,ixs ,pm ,rwa ,
1527 2 geo ,nrtm0 ,ixc ,-nin ,nty ,
1528 3 noint ,nsn0 ,intbuf_tab(nin)%NSV,ixtg ,ixt ,
1529 4 ixp ,ipart ,ipartc ,iparttg ,thk ,
1530 d thk_part ,ixr ,itab ,ixs10 ,ixs16 ,
1531 e ixs20 ,nmn ,intbuf_tab(nin)%MSR,intbuf_tab(nin)%NOD_2RY_LGTH,
1532 f intbuf_tab(nin)%NOD_MAS_LGTH,ipartt,ipartp,ipartr ,igeo )
1533 CALL i24fics_ini(intbuf_tab(nin)%IRTSE ,nsne ,intbuf_tab(nin)%IS2SE ,intbuf_tab(nin)%NSV ,
1534 1 intbuf_tab(nin)%IS2PT ,nsn ,intbuf_tab(nin)%NOD_2RY_LGTH )
1535 END IF
1536
1537
1538 maxbox = intbuf_tab(nin)%VARIABLES(9)
1539 minbox = intbuf_tab(nin)%VARIABLES(12)
1540 penmax = intbuf_tab(nin)%VARIABLES(37)
1541
1542
1543
1544
1545
1546
1547
1548
1549
1550
1551
1552
1553
1554
1555
1556
1557
1558
1559
1560
1561
1562
1563
1564
1565
1566
1567
1568
1569
1570
1571
1572
1573
1574
1575
1576
1577
1578
1579
1580
1581
1582
1583
1584
1585
1586
1587
1588
1589
1590
1591
1592
1593
1594
1595
1596
1597
1598
1599
1600
1601
1602
1603
1604
1605
1606
1607
1609 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%NSV,intbuf_tab(nin)%VARIABLES(4),nseg ,
1610 2 nmn ,nrtm ,mwa ,nsn ,intbuf_tab(nin)%CAND_E ,
1611 3 intbuf_tab(nin)%CAND_N ,intbuf_tab(nin)%VARIABLES(2),rwa ,noint ,i_stok ,
1612 4 intbuf_tab(nin)%VARIABLES(5),intbuf_tab(nin)%VARIABLES(8),maxbox ,minbox,intbuf_tab(nin)%MSR,
1613 5 intbuf_tab(nin)%STFM ,intbuf_tab(nin)%STFNS ,multimp ,1 ,iddlevel ,
1614 6 itab ,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,igap,intbuf_tab(nin)%VARIABLES(13),
1615 7 intbuf_tab(nin)%VARIABLES(16),inacti ,intbuf_tab(nin)%STIF_OLD,intbuf_tab(nin)%PENE_OLD,i_mem ,
1616 8 intbuf_tab(nin)%VARIABLES(25),
id ,titr ,intbuf_tab(nin)%NBINFLG ,intbuf_tab(nin)%MBINFLG,
1617 9 ilev ,intbuf_tab(nin)%MSEGTYP24,intbuf_tab(nin)%GAP_NM,intbuf_tab(nin)%MVOISIN,ixs ,ixs10 ,
1618 a ixs16 ,ixs20 ,ipartns ,ipen0,penmax,intbuf_tab(nin)%IRTSE,
1619 b intbuf_tab(nin)%IS2SE,intbuf_tab(nin)%IS2PT,intbuf_tab(nin)%XFIC,nrtse ,nsne ,prov_n ,prov_e,nsvg ,
1620 1 ix1 ,ix2 ,ix3 ,ix4 ,x1 ,
1621 2 x2 ,x3 ,x4 ,y1 ,y2 ,
1622 3 y3 ,y4 ,z1 ,z2 ,z3 ,
1623 4 z4 ,xi ,yi ,zi ,x0 ,
1624 5 y0 ,z0 ,stif ,pene ,xn1 ,
1625 6 yn1 ,zn1 ,xn2 ,yn2 ,zn2 ,
1626 7 xn3 ,yn3 ,zn3 ,xn4 ,yn4 ,
1627 8 zn4 ,p1 ,p2 ,p3 ,p4 ,
1628 9 lb1 ,lb2 ,lb3 ,lb4 ,lc1 ,
1629 1 lc2 ,lc3 ,lc4 ,n11 ,n21 ,
1630 2 n31 ,intbuf_tab(nin)%VARIABLES(46),intbuf_tab(nin)%S_KREMNODE,intbuf_tab(nin)%S_REMNODE,
1631 3 intbuf_tab(nin)%KREMNODE,intbuf_tab(nin)%REMNODE,flag_removed_node)
1632 IF (i_mem == 2) RETURN
1633 intbuf_tab(nin)%VARIABLES(9) = maxbox
1634 intbuf_tab(nin)%VARIABLES(12) = minbox
1635
1636
1637
1638 IF (iddlevel==0.AND.nspmd>1)THEN
1639 IF ( ((nelemint+i_stok)) > inter_cand%S_IXINT_2)
CALL upgrade_ixint(inter_cand,nelemint,i_stok)
1640
1641 dgapload = intbuf_tab(nin)%VARIABLES(46)
1642 kind_inter = 24
1644 . ifiend,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,i_stok,intbuf_tab(nin)%CAND_E,
1645 . intbuf_tab(nin)%CAND_N,dgapload,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,x,inter_cand,
1646 . kind_inter,intbuf_tab(nin),iedge,nledge)
1647 ENDIF
1648
1649
1650 IF((iddlevel==0).AND.
1651 . (dectyp>=3.AND.dectyp<=6))THEN
1652
1653 CALL iwcontdd_type24(numnod,nsn,nmn,intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,
1654 . iwcont,nsnt,nmnt,intbuf_tab(nin))
1655 END IF
1656
1657
1658
1659 ngrous=1+(i_stok-1)/nvsiz
1660 IF (ngrous>0) THEN
1661
1662 DO i=1,2*nsn
1663 intbuf_tab(nin)%IRTLM(i)=0
1664 END DO
1665
1666 DO i=1,nsn
1667 intbuf_tab(nin)%PENE_OLD(1+5*(i-1)+4)=zero
1668 END DO
1669 ALLOCATE(penmin(nsn))
1670 penmin=ep10
1671 iwpene0 = 0
1672 DO ng=1,ngrous
1673 IF(ipri>=5) WRITE(iout,2007)
1674 nft = (ng-1) * nvsiz
1675 lft = 1
1676 llt = min0( nvsiz, i_stok - nft )
1678 1 x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%CAND_N(1+nft) ,
1679 2 intbuf_tab(nin)%STFM,intbuf_tab(nin)%STFNS,gapv ,igap ,intbuf_tab(nin)%VARIABLES(2) ,
1680 3 intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M)
1681 CALL i24pen3(x ,intbuf_tab(nin)%IRECTM ,gapv ,intbuf_tab(nin)%CAND_E(1+nft),
1682 2 intbuf_tab(nin)%CAND_N(1+nft),intbuf_tab(nin)%NSV,inacti,itab,mwa,iwpene ,
1683 3 nsn ,intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%MSEGTYP24,iwpene0,penmin,
1684 4 intbuf_tab(nin)%GAP_NM,intbuf_tab(nin)%MVOISIN,ixs ,ixs10 ,ixs16 ,
1685 5 ixs20,penmax,intbuf_tab(nin)%VARIABLES(38),
id,titr ,
1686 6 ilev ,intbuf_tab(nin)%PENE_OLD,knod2els,nod2els,ipartns,ipen0 ,
1687 7 intbuf_tab(nin)%ICONT_I,intbuf_tab(nin)%XFIC,nrtm,intbuf_tab(nin)%IRTSE ,
1688 8 intbuf_tab(nin)%IS2SE)
1689
1690 intbuf_tab(nin)%I_STOK(1)=iwpene
1691 ENDDO
1692 iwpene0 = 0
1693 iwpene = 0
1694 IF (iddlevel == 1 ) THEN
1696 1 itab ,inacti,intbuf_tab(nin)%CAND_E,intbuf_tab(nin)%CAND_N,penmin ,
1697 1 intbuf_tab(nin)%VARIABLES(38),i_stok,intbuf_tab(nin)%NSV,iwpene ,intbuf_tab(nin)%PENE_OLD,
1698 2 noint ,nty ,intbuf_tab(nin)%MSR,intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%IRECTM ,
1699 4 nsn ,
id ,titr ,intbuf_tab(nin)%ICONT_I,iwpene0 )
1700
1701 IF (inacti==-1.AND.iwpene == 0) THEN
1702 ipari(40,nin) = 0
1703 CALL ancmsg(msgid=1566,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr)
1704 END IF
1705 END IF
1706
1707 inpene = 0
1708
1709
1710
1711
1712
1713
1714
1715
1716
1717
1718
1719
1720
1721
1722
1723
1724
1725
1726
1727
1728
1729
1730
1731
1732
1733
1734
1735
1736
1737
1738
1739
1740
1741
1742
1743
1744
1745
1746
1747
1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774 DEALLOCATE(penmin,ipartns)
1775 END IF
1776 IF (inacti==5.OR.inacti==-1) THEN
1777
1778 pene_max = zero
1779 DO i=1,nsn
1780 intbuf_tab(nin)%PENE_OLD(5*(i-1)+1)=zero
1781 intbuf_tab(nin)%PENE_OLD(5*(i-1)+2)=zero
1782 intbuf_tab(nin)%PENE_OLD(5*(i-1)+3)=intbuf_tab(nin)%PENE_OLD(5*(i-1)+5)
1783 pene_max =
max(pene_max,intbuf_tab(nin)%PENE_OLD(5*(i-1)+5))
1784 END DO
1785 intbuf_tab(nin)%VARIABLES(23) = pene_max
1786 END IF
1787 IF (nsne>0 .AND. iddlevel == 1 ) THEN
1788 facf = one*nsne/nsn
1789 WRITE(iout,2500)nsne,facf
1790 END IF
1791
1792
1793
1795 1 nrtm ,nsn ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%MVOISIN,
1796 2 intbuf_tab(nin)%NVOISIN,intbuf_tab(nin)%MSEGLO,intbuf_tab(nin)%MSEGTYP24,itab ,x ,
1798
1800 1 nrtm ,intbuf_tab(nin)%IRECTM,ixs ,geo ,ixc ,ixtg ,
1801 2 ixt ,ixp ,ipart ,ipartc ,iparttg ,
1802 3 thk ,thk_part,intbuf_tab(nin)%NVOISIN,intbuf_tab(nin)%GAP_NM,intbuf_tab(nin)%GAP_M,
1803 4 nmn ,intbuf_tab(nin)%MSR,intbuf_tab(nin)%GAPN_M,intbuf_tab(nin)%GAP_N0,intply,
1804 5 intbuf_tab(nin)%VARIABLES(36),igeo,intbuf_tab(nin)%MSEGTYP24 )
1805
1806
1807 IF (inacti==5.OR.inacti==-1)THEN
1808 CALL i24cand(intbuf_tab(nin)%CAND_E,intbuf_tab(nin)%CAND_N,nsn ,
1809 + intbuf_tab(nin)%IRTLM ,intbuf_tab(nin)%I_STOK(1),
1810 * intbuf_tab(nin)%MSEGTYP24)
1811
1812 iedg4 = ipari(59,nin)
1813 IF(iedg4 > 0)THEN
1814
1815
1816 CALL ispt2_ini(intbuf_tab(nin)%CAND_N, intbuf_tab(nin)%I_STOK(1), nsn, intbuf_tab(nin)%IRTLM,
1817 * intbuf_tab(nin)%ISEGPT, intbuf_tab(nin)%ISPT2 )
1818
1819 ENDIF
1820 ELSE
1821 intbuf_tab(nin)%I_STOK(1)=0
1822 ENDIF
1823
1824 ELSEIF(nty==25) THEN
1825
1826 CALL my_alloc(intbuf_tab(nin)%EDGE_BISECTOR,intbuf_tab(nin)%S_EDGE_BISECTOR)
1827 intbuf_tab(nin)%EDGE_BISECTOR(1:intbuf_tab(nin)%S_EDGE_BISECTOR) = 0
1828
1829 CALL my_alloc(intbuf_tab(nin)%VTX_BISECTOR,intbuf_tab(nin)%S_VTX_BISECTOR)
1830 intbuf_tab(nin)%VTX_BISECTOR(1:intbuf_tab(nin)%S_VTX_BISECTOR) = 0
1831
1832 CALL my_alloc(intbuf_tab(nin)%PENM,intbuf_tab(nin)%S_PENM)
1833 intbuf_tab(nin)%PENM(1:intbuf_tab(nin)%S_PENM) = 0
1834
1835 CALL my_alloc(intbuf_tab(nin)%DISTM,intbuf_tab(nin)%S_DISTM)
1836 intbuf_tab(nin)%DISTM(1:intbuf_tab(nin)%S_DISTM) = 0
1837
1838 CALL my_alloc(intbuf_tab(nin)%LBM,intbuf_tab(nin)%S_LBM)
1839 intbuf_tab(nin)%LBM(1:intbuf_tab(nin)%S_LBM) = 0
1840
1841 CALL my_alloc(intbuf_tab(nin)%LCM,intbuf_tab(nin)%S_LCM)
1842 intbuf_tab(nin)%LCM(1:intbuf_tab(nin)%S_LCM) = 0
1843
1844 CALL my_alloc(intbuf_tab(nin)%E2S_NOD_NORMAL,intbuf_tab(nin)%S_E2S_NOD_NORMAL)
1845 intbuf_tab(nin)%E2S_NOD_NORMAL(1:intbuf_tab(nin)%S_E2S_NOD_NORMAL )= 0
1846
1847 CALL my_alloc(intbuf_tab(nin)%FTSAVX_E,intbuf_tab(nin)%S_FTSAVX_E )
1848 intbuf_tab(nin)%FTSAVX_E(1:intbuf_tab(nin)%S_FTSAVX_E) = 0
1849
1850 CALL my_alloc(intbuf_tab(nin)%FTSAVY_E,intbuf_tab(nin)%S_FTSAVY_E )
1851 intbuf_tab(nin)%FTSAVY_E(1:intbuf_tab(nin)%S_FTSAVY_E) = 0
1852
1853 CALL my_alloc(intbuf_tab(nin)%FTSAVZ_E,intbuf_tab(nin)%S_FTSAVZ _e)
1854 intbuf_tab(nin)%FTSAVZ_E(1:intbuf_tab(nin)%S_FTSAVZ_E) = 0
1855
1856 CALL my_alloc(intbuf_tab(nin)%FTSAVX_E2S,intbuf_tab(nin)%S_FTSAVX_E2S )
1857 intbuf_tab(nin)%FTSAVX_E2S(1:intbuf_tab(nin)%S_FTSAVX_E2S) = 0
1858
1859 CALL my_alloc(intbuf_tab(nin)%FTSAVY_E2S,intbuf_tab(nin)%S_FTSAVY_E2S )
1860 intbuf_tab(nin)%FTSAVY_E2S(1:intbuf_tab(nin)%S_FTSAVY_E2S) = 0
1861
1862 CALL my_alloc(intbuf_tab(nin)%FTSAVZ_E2S,intbuf_tab(nin)%S_FTSAVZ _e2s)
1863 intbuf_tab(nin)%FTSAVZ_E2S(1:intbuf_tab(nin)%S_FTSAVZ_E2S) = 0
1864
1865 CALL my_alloc(intbuf_tab(nin)%FARM,intbuf_tab(nin)%S_FARM)
1866 intbuf_tab(nin)%FARM(1:intbuf_tab(nin)%S_FARM) = 0
1867
1868
1869
1870
1871 CALL i25sors(nsn, nrts, itab, ilev, ipari(1,nin),
1872 . intbuf_tab(nin))
1873
1874
1875 ivis2 = ipari(14,nin)
1876 isharp= ipari(84,nin)
1877 nrtm0=nrtm-nrtm_sh
1878 IF(intth > 0) drad = intbuf_tab(nin)%VARIABLES(32)
1879
1881 1 x ,nrtm ,intbuf_tab(nin)%IRECTM ,noint ,itab,
id,titr,
1882 2 ix1 ,ix2 ,ix3 ,ix4 ,x1 ,
1883 3 x2 ,x3 ,x4 ,y1 ,y2 ,
1884 4 y3 ,y4 ,z1 ,z2 ,z3 ,
1885 5 z4 ,n11 ,n21 ,n31 ,x0 ,
1886 6 y0 ,z0 ,xn1 ,yn1 ,zn1 ,
1887 7 xn2 ,yn2 ,zn2 ,xn3 ,yn3 ,
1888 8 zn3 ,xn4 ,yn4 ,zn4 )
1889
1890
1891
1892 gapscale=intbuf_tab(nin)%VARIABLES(13)
1893
1894
1895 IF(ipari(72,nin) > 0) THEN
1896 ALLOCATE(ipartsm(nrtm0))
1897 ipartsm(1:nrtm0)=0
1898 ELSE
1899 ALLOCATE(ipartsm(0))
1900 ENDIF
1902 1 x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%STFM ,ixs ,pm ,
1903 2 geo ,nrtm0 ,ixc ,-nin ,intbuf_tab(nin)%STFAC(1),
1904 3 nty ,intbuf_tab(nin)%VARIABLES(2),noint ,
1905 4 intbuf_tab(nin)%STFNS,nsn ,ms ,intbuf_tab(nin)%NSV,ixtg ,
1906 5 igap ,rwa ,intbuf_tab
1907 6 gapscale ,ixt ,ixp,intbuf_tab(nin)%VARIABLES
1908 9 inacti ,knod2els ,knod2elc ,knod2eltg ,nod2els ,
1909 a nod2elc ,nod2eltg ,ipari(47,nin) ,
1910 b intbuf_tab(nin)%IELES,intbuf_tab(nin)%IELEM, intbuf_tab(nin)%AREAS,sh4tree ,sh3tree ,
1911 c ipart ,ipartc ,iparttg ,thk ,thk_part ,
1912 d ixr ,itab ,intbuf_tab(nin)%VARIABLES(7),ixs10 ,intbuf_tab(nin)%MSEGTYP24 ,
1913 e nrtm_sh ,ixs16 ,ixs20 ,intbuf_tab(nin)%GAP_NM,
1914 f ilev ,intbuf_tab(nin)%VARIABLES(36),
id ,titr ,igap0 ,
1915 g intbuf_tab(nin)%PENE_OLD ,iparts ,igeo ,fillsol ,
1916 h pm_stack ,iworksh ,intbuf_tab(nin)%VARIABLES(28),intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_ML,
1917 i knod2el1d ,nod2el1d ,ipari(72,nin) ,tagprt_fric ,intbuf_tab(nin)%IPARTFRICS ,
1918 j intbuf_tab(nin)%IPARTFRICM,intbuf_fric_tab,ivis2 ,gapm_mx , gaps_mx ,
1919 k gapm_l_mx ,gaps_l_mx ,ipartsm ,drad ,ipartt ,
1920 j ipartp ,ipartr ,intbuf_tab(nin)%IELEM_M , ipari(100,nin),elem_linked_to_segment,
1921 k nin25 , flag_elem_inter25)
1922 ipari(21,nin) = igap
1923
1924
1925
1926
1927
1928
1929
1930
1931 intbuf_tab(nin)%MVOISIN(1:4*nrtm)=0
1932 intbuf_tab(nin)%EVOISIN(1:4*nrtm)=0
1934 1 nrtm ,nsn ,intbuf_tab(nin)%NSV,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%IRTLM,
1935 2 intbuf_tab(nin)%MVOISIN,intbuf_tab(nin)%EVOISIN,intbuf_tab(nin)%MSEGLO,intbuf_tab(nin)%MSEGTYP24,itab ,
1936 3 x ,
id ,titr ,igeo ,ipari(67,nin) ,
1937 4 intbuf_tab(nin)%ADMSR,intbuf_tab(nin)%ADSKYN,intbuf_tab(nin)%IADNOR ,ipari(42,nin),iedge,
1938 5 ipari(68,nin),intbuf_tab(nin)%LEDGE,intbuf_tab(nin)%LBOUND,intbuf_tab(nin)%VARIABLES(26),ipari(36,nin),
1939 6 intbuf_tab(nin)%LISUB,intbuf_tab(nin)%ADDSUBM,intbuf_tab(nin)%LISUBM,intbuf_tab(nin)%INFLG_SUBM,
1940 . ipari(90,nin),
1941 7 intbuf_tab(nin)%ADDSUBE,intbuf_tab(nin)%LISUBE,intbuf_tab(nin)%INFLG_SUBE,noint,nmn,intbuf_tab(nin)%MSR,
1942 8 nom_opt,ilev,intbuf_tab(nin)%MBINFLG,intbuf_tab(nin)%EBINFLG,intbuf_tab(nin)%IELEM_M,
1943 9 ipari(100,nin))
1944
1945 IF(iedge/=0)THEN
1946 nconte =ipari(68,nin)
1947 ipari(88,nin)=nconte
1948 END IF
1949
1950 ithk25 = ipari(91,nin)
1952 1 nrtm ,intbuf_tab(nin)%IRECTM,ixs ,geo ,ixc ,ixtg ,
1953 2 ixt ,ixp ,ipart ,ipartc ,iparttg ,
1954 3 thk ,thk_part,intbuf_tab(nin)%GAP_NM,intbuf_tab(nin)%GAP_M,nmn ,
1955 4 intbuf_tab(nin)%MSR,intbuf_tab(nin)%GAPN_M,
1956 . intbuf_tab(nin)%VARIABLES(36),gapscale,igeo ,
1957 5 intbuf_tab(nin)%MSEGTYP24 ,intbuf_tab(nin)%GAPMSAV, ithk25)
1958
1959 nadmsr=ipari(67,nin)
1960 nedge =ipari(68,nin)
1961 CALL i25norm(nrtm,intbuf_tab(nin)%IRECTM,numnod,x,intbuf_tab(nin)%EDGE_BISECTOR,
1962 . nsn,intbuf_tab(nin)%MSR,itab,nrtm0,intbuf_tab(nin)%MSEGTYP24,
1963 . intbuf_tab(nin)%MVOISIN,intbuf_tab(nin)%EVOISIN,nedge,intbuf_tab(nin)%LEDGE,
1964 . intbuf_tab(nin)%LBOUND,intbuf_tab(nin)%ADMSR,intbuf_tab(nin)%VTX_BISECTOR,
1965 . intbuf_tab(nin)%E2S_NOD_NORMAL,nadmsr,iedge,intbuf_tab(nin)%IELEM_M)
1966
1967
1968
1969 skip_type25_edge_2_edge = 2
1970 IF (iremnode == 1) THEN
1971
1972 intbuf_tab(nin)%VARIABLES(13)=zero
1973 intbuf_tab(nin)%VARIABLES(16)=ep30
1974
1975 CALL i7remnode(iremnode,noint,titr,intbuf_tab(nin),numnod+numfakenodigeo ,
1976 1 x,nrtm ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,nsn,
1977 2 itab ,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,intbuf_tab(nin)%VARIABLES(13),intbuf_tab(nin)%VARIABLES(16),
1978 3 intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_ML,igap,intbuf_tab(nin)%VARIABLES(2),drad ,
1979 4 ipari(62,nin) ,nty ,ipari(1,nin) ,i_mem_rem ,gapm_mx ,
1980 5 gaps_mx ,gapm_l_mx ,gaps_l_mx ,ilev ,intbuf_tab(nin)%NBINFLG ,
1981 6 intbuf_tab(nin)%MBINFLG,intbuf_tab(nin)%VARIABLES(46),npari)
1982
1983 END IF
1984 IF (nspmd>1.AND.iddlevel==0.AND.flag_removed_node) THEN
1985 flag_output = 0
1986 nremn(1:ninter) = 0
1987 IF (inter_type2_number >0)
CALL remn_i2op(nin,nin,ipari,intbuf_tab,itab,nom_opt,nremn,flag_output,skip_type25_edge_2_edge)
1988 ENDIF
1989
1990
1991
1992
1993 maxbox = intbuf_tab(nin)%VARIABLES(9)
1994 minbox = intbuf_tab(nin)%VARIABLES(12)
1995 penmn = intbuf_tab(nin)%VARIABLES(38)
1996 penmax = intbuf_tab(nin)%VARIABLES(37)
1997 local_flag_removed_node = flag_removed_node
1998 IF(iddlevel==0.AND.flag_removed_node) local_flag_removed_node = .false.
1999 i_mem = 0
2001 1 x ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%NSV,intbuf_tab(nin)%VARIABLES(4),
2002 2 nmn ,nrtm0 ,nsn ,intbuf_tab(nin) ,
2003 3 intbuf_tab(nin)%VARIABLES(2),i_stok ,
2004 4 intbuf_tab(nin)%VARIABLES(5),intbuf_tab(nin)%VARIABLES(8),maxbox ,minbox,intbuf_tab(nin)%MSR,
2005 5 intbuf_tab(nin)%STFM ,intbuf_tab(nin)%STFNS ,iddlevel ,
2006 6 intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,igap,intbuf_tab(nin)%VARIABLES(13),
2007 7 intbuf_tab(nin)%VARIABLES(16),inacti ,intbuf_tab(nin)%GAP_SL,intbuf_tab(nin)%GAP_ML,
2008 8 intbuf_tab(nin)%VARIABLES(25),
id ,titr ,intbuf_tab(nin)%NBINFLG ,intbuf_tab(nin)%MBINFLG,
2009 9 ilev ,intbuf_tab(nin)%MSEGTYP24,intbuf_tab(nin)%GAP_NM,intbuf_tab(nin)%VARIABLES(7),
2010 a iparts ,knod2els ,nod2els
2011 b intbuf_tab(nin)%KREMNODE,intbuf_tab(nin)%REMNODE,
2012 c ixs, ixs10, ixs16, ixs20,icode,iskew,
2013 d drad,intbuf_tab(nin)%VARIABLES(46),nrtm,local_flag_removed_node,
2014 e intbuf_tab(nin)%IELEM_M,nin,npari,ipari(1,nin) )
2015
2016
2017 IF(iedge/=0)THEN
2018
2020 1 nedge ,intbuf_tab(nin)%LEDGE ,intbuf_tab(nin)%STFE ,intbuf_tab
2021 2 intbuf_tab(nin)%GAPE,intbuf_tab(nin)%GAP_E_L,intbuf_tab(nin)%GAP_M ,intbuf_tab(nin)%GAP_ML,intbuf_tab(nin)%GAP_SL,
2022 3 intbuf_tab(nin)%VARIABLES(40),ipari(72,nin),intbuf_tab(nin)%IPARTFRIC_E,intbuf_tab(nin)%IPARTFRICM,ipartsm ,
2023 4 bgapemx_l ,nsn ,intbuf_tab(nin)%NSV )
2024
2025 intbuf_tab(nin)%I_STOK_E(1:2)=0
2026 cand_e_old(1:2) = intbuf_tab(nin)%I_STOK_E(1:2)
2027
2028 2510 continue
2029
2030
2031
2032 IF (iremnode_edg == 1) THEN
2033
2034 ALLOCATE(inod2lin(numnod+1),tagsecnd(numnod),nod2lin(2*nedge),perm(nedge),perminv(nedge),gap_maxneigh(nedge))
2035 i_start = 1
2036 i_mem_rem = 0
2037 DO WHILE (i_start < nedge)
2038
2040 1 x ,nedge ,intbuf_tab(nin)%LEDGE,numnod ,intbuf_tab(nin)%GAPE ,intbuf_tab(nin
2041 2 igap0 ,igap ,drad ,intbuf_tab(nin)%VARIABLES(40),bgapemx_l ,intbuf_tab(nin)%KREMNODE_EDG,
2042 3 intbuf_tab(nin)%REMNODE_EDG,ipari(94,nin),i_start ,i_mem_rem ,inod2lin ,
2043 4 tagsecnd ,nod2lin ,intbuf_tab(nin)%VARIABLES(46) ,perm ,perminv ,
2044 5 gap_maxneigh)
2045
2046
2047
2048 IF (i_mem_rem == 1) THEN
2049 new_size = ipari(94,nin) + 5*nedge
2051 i_mem_rem = 0
2052 ENDIF
2053
2054 ENDDO
2055
2056 DEALLOCATE(inod2lin,tagsecnd,nod2lin,perm,perminv,gap_maxneigh)
2057 iremnode_edg = 0
2058
2059 ENDIF
2060
2061
2062 itask = 0
2063 eshift = 0
2064 nedge_t = nedge
2065 sshift = 0
2066 nrtm_t = nrtm
2067
2068 nconte = ipari(88,nin)
2069 multimpe = ipari(87,nin)
2070 multimps = ipari(89,nin)
2071 mulnsne = multimpe*nconte
2072 mulnsns = multimps*nconte
2073
2074 marge = intbuf_tab(nin)%VARIABLES(25)
2075 gap = intbuf_tab(nin)%VARIABLES(2)
2076 vmaxdt = zero
2077 i_meme(1:2)= 0
2078 inactbid =0
2080 1 x ,intbuf_tab(nin)%IRECTM,inactbid,nsn ,
2081 2 nmn ,intbuf_tab(nin)%CANDM_E2E ,intbuf_tab(nin)%CANDS_E2E ,
2082 3 gap ,noint ,intbuf_tab(nin)%I_STOK_E(1) ,mulnsne ,bminma ,
2083 4 marge ,vmaxdt ,drad ,eshift ,nedge_t ,
2084 5 sshift ,nrtm_t ,intbuf_tab(nin)%STFM ,intbuf_tab(nin)%STFNS,
2085 6 nconte ,intbuf_tab(nin)%GAP_M ,itask ,intbuf_tab(nin)%VARIABLES(40),
2086 7 i_meme ,itab ,intbuf_tab(nin)%MBINFLG,intbuf_tab(nin)%EBINFLG,intbuf_tab(nin)%I_STOK_E(2) ,
2087 8 mulnsns,ilev ,ibidon ,intbuf_tab(nin)%CAND_P ,igap0 ,
2088 9 ipari(63,nin),intbuf_tab(nin)%KREMNODE_EDG(1+2*eshift),intbuf_tab(nin)%REMNODE_EDG, intbuf_tab(nin)%S_REMNODE_EDG,
2089 a igap ,intbuf_tab(nin)%GAP_ML,iedge ,nedge ,intbuf_tab(nin)%MSEGTYP24,
2090 b intbuf_tab(nin)%LEDGE,intbuf_tab(nin)%ADMSR,intbuf_tab(nin)%EDGE_BISECTOR,intbuf_tab(nin)%VTX_BISECTOR,
2091 c intbuf_tab(nin)%CANDM_E2S ,intbuf_tab(nin)%CANDS_E2S,ibidon,intbuf_tab(nin)%CAND_PS,intbuf_tab(nin)%GAPE,
2092 d intbuf_tab(nin)%GAP_E_L,intbuf_tab(nin)%VARIABLES(46),flag_removed_node,
2093 e intbuf_tab(nin)%S_KREMNODE_E2S,intbuf_tab(nin)%S_REMNODE_E2S,intbuf_tab(nin)%KREMNODE_E2S,intbuf_tab(nin)%REMNODE_E2S,
2094 f intbuf_tab(nin)%S_KREMNODE_EDG)
2095
2096 IF(i_meme(1) /=0 .OR. i_meme(2)/=0)THEN
2097 nconte = ipari(88,nin)
2098 IF(i_meme(1)/=0)THEN
2099 multimpe =
max(ipari(87,nin)+8,nint(ipari(87,nin)*1.75))
2100 multimpe =
max(multimpe,intbuf_tab(nin)%S_CANDL_MAX /
max(1,nconte))
2101 intbuf_tab(nin)%S_CANDL_MAX =
2102 .
max(multimpe*nconte,intbuf_tab(nin)%S_CANDL_MAX)
2104 END IF
2105 IF(i_meme(2)/=0)THEN
2106 multimps =
max(ipari(89,nin)+8,nint(ipari(89,nin)*1.75))
2107 multimps =
max(multimps,intbuf_tab(nin)%S_CANDS_MAX /
max(1,nconte))
2108 intbuf_tab(nin)%S_CANDS_MAX =
2109 .
max(multimps*nconte,intbuf_tab(nin)%S_CANDS_MAX)
2111 END IF
2112 i_meme(1:2) = 0
2113 intbuf_tab(nin)%I_STOK_E(1:2)=cand_e_old(1:2)
2114 GOTO 2510
2115 END IF
2116 ENDIF
2117
2118
2119
2120 IF (iddlevel==0.AND.nspmd>1)THEN
2121 total_number_candidate = i_stok
2122 IF(iedge/=0) total_number_candidate = total_number_candidate + intbuf_tab(nin)%I_STOK_E(1) + intbuf_tab(nin)%I_STOK_E(2)
2123 IF ( ((nelemint+total_number_candidate)) > inter_cand%S_IXINT_2) THEN
2124 CALL upgrade_ixint(inter_cand,nelemint,total_number_candidate)
2125 ENDIF
2126
2127 dgapload = intbuf_tab(nin)%VARIABLES(46)
2128 kind_inter = 25
2130 . ifiend,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,i_stok,intbuf_tab(nin)%CAND_E,
2131 . intbuf_tab(nin)%CAND_N,dgapload,intbuf_tab(nin)%GAP_S,intbuf_tab(nin)%GAP_M,x,inter_cand,
2132 . kind_inter,intbuf_tab(nin),iedge,nledge)
2133 ENDIF
2134
2135
2136 IF((iddlevel == 0) .AND. (dectyp>=3.AND.dectyp<=6))THEN
2137
2139 . nrtm,nedge,intbuf_tab(nin)%NSV,intbuf_tab(nin)%MSR,intbuf_tab(nin)%IRECTM,
2140 . iwcont,nsnt,nmnt,intbuf_tab(nin))
2141 END IF
2142
2143 IF(iddlevel==1)THEN
2144
2145
2146
2147 ngrous=1+(i_stok-1)/nvsiz
2148 IF (ngrous>0) THEN
2149
2150 DO i=1,4*nsn
2151 intbuf_tab(nin)%IRTLM(i)=0
2152 END DO
2153
2154 intbuf_tab(nin)%PENE_OLD(1:5*nsn)=zero
2155 intbuf_tab(nin)%TIME_S(1:nsn)=ep20
2156
2157 DO ng=1,ngrous
2158 nft = (ng-1) * nvsiz
2159 lft = 1
2160 llt = min0( nvsiz, i_stok - nft )
2161
2163 1 llt ,igap ,x ,intbuf_tab(nin)%IRECTM,intbuf_tab(nin)%NSV,
2164 2 intbuf_tab(nin)%CAND_E(1+nft),intbuf_tab(nin)%CAND_N(1+nft) ,xi, yi, zi,
2165 4 ix1 ,ix2 ,ix3 ,ix4 ,nsvg ,
2166 5 nsn ,intbuf_tab(nin)%GAP_S ,gaps ,intbuf_tab(nin)%ADMSR ,intbuf_tab(nin)%EDGE_BISECTOR ,
2167 7 x1 ,x2 ,x3 ,x4 ,x0 ,
2168 8 y1 ,y2 ,y3 ,y4 ,y0 ,
2169 9 z1 ,z2 ,z3 ,z4 ,z0 ,
2170 a nnx ,nny ,nnz ,intbuf_tab(nin)%MVOISIN ,mvoisn ,
2171 b intbuf_tab(nin)%GAP_M ,gapm ,intbuf_tab(nin)%GAP_NM, gap_nm,
2172 c intbuf_tab(nin)%GAP_SL ,intbuf_tab(nin)%GAP_ML ,gapmxl,intbuf_tab(nin)%LBOUND ,ibound )
2173
2174 CALL i25pen3(llt ,intbuf_tab(nin)%CAND_N(1+nft),intbuf_tab(nin)%CAND_E(1+nft),penmn ,penmax,
2175 2 x1 ,x2 ,x3 ,x4 ,x0 ,
2176 3 y1 ,y2 ,y3 ,y4 ,y0 ,
2177 4 z1 ,z2 ,z3 ,z4 ,z0 ,
2178 5 xi ,yi ,zi ,nsn ,ix1 ,
2179 6 ix2 ,ix3 ,ix4 ,nsvg ,nrtm ,
2180 7 intbuf_tab(nin)%MSEGLO ,gaps ,intbuf_tab(nin)%IRECTM ,intbuf_tab(nin)%IRTLM ,
2181 8 intbuf_tab(nin)%TIME_S ,intbuf_tab(nin)%PENE_OLD,itab ,intbuf_tab(nin)%MSEGTYP24,isharp,
2182 9 nnx ,nny ,nnz ,gap_nm ,mvoisn,
2183 a gapmxl ,ivis2 ,ibound,intbuf_tab(nin)%VTX_BISECTOR,ilev,
2184 b inacti )
2185
2186 ENDDO
2187
2189 . itab ,inacti,intbuf_tab(nin)%CAND_E,intbuf_tab(nin)%CAND_N,intbuf_tab(nin)%STFNS,
2190 1 x ,i_stok,intbuf_tab(nin)%NSV,iwpene ,intbuf_tab(nin)%PENE_OLD,
2191 2 noint ,nty ,intbuf_tab(nin)%MSR,intbuf_tab(nin)%IRTLM,intbuf_tab(nin)%IRECTM ,
2192 3 nsn ,
id ,titr ,intbuf_tab(nin)%MSEGLO,intbuf_tab(nin)%ICONT_I)
2193
2194 END IF
2195
2196 CALL ancmsg(msgid=1164, msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,prmod=msg_print)
2197
2198 IF(iwpene /= 0.AND. iddlevel == 1)THEN
2199 IF(inacti==0)THEN
2200 CALL ancmsg(msgid=1166,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,i2=iwpene)
2201 ELSEIF(inacti==5.AND. iddlevel == 1)THEN
2202 CALL ancmsg(msgid=1167,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,i2=iwpene)
2203 ELSEIF(inacti==-1.AND. iddlevel == 1)THEN
2204 CALL ancmsg(msgid=1168,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,i2=iwpene)
2205 ELSE
2206 CALL ancmsg(msgid=1165,msgtype=msgerror,anmode=aninfo_blind_1,i1=
id,c1=titr,i2=inacti)
2207 END IF
2208 END IF
2209
2210 inpene = iwpene
2211 IF (inacti==5.OR.inacti==-1) THEN
2212 DO i=1,nsn
2213 intbuf_tab(nin)%PENE_OLD(5*(i-1)+1)=zero
2214 intbuf_tab(nin)%PENE_OLD(5*(i-1)+2)=zero
2215 END DO
2216
2217 intbuf_tab(nin)%VARIABLES(23) = zero
2218
2219
2220 CALL i25cand(intbuf_tab(nin)%CAND_E,intbuf_tab(nin)%CAND_N,nsn ,
2221 + intbuf_tab(nin)%IRTLM ,intbuf_tab(nin)%I_STOK(1),
2222 * nrtm ,intbuf_tab(nin)%MSEGTYP24)
2223 ELSE
2224 intbuf_tab(nin)%I_STOK(1)=0
2225 END IF
2226
2227 IF (iedge /=0)THEN
2228 iwpene=0
2229 IF(intbuf_tab(nin)%I_STOK_E(1) > 0) THEN
2230
2231 istok=0
2232
2233 ngrous=1+(intbuf_tab(nin)%I_STOK_E(1)-1)/nvsiz
2234 DO ng=1,ngrous
2235 nft = (ng-1) * nvsiz
2236 lft = 1
2237 llt = min0( nvsiz, intbuf_tab(nin)%I_STOK_E(1) - nft )
2238
2240 1 llt ,intbuf_tab(nin)%LEDGE,intbuf_tab(nin)%IRECTM,x ,
2241 2 intbuf_tab(nin)%CANDS_E2E(1+nft) ,intbuf_tab(nin)%CANDM_E2E(1+nft) ,
2242 3 xxs1 ,xxs2 ,xys1 ,xys2 ,xzs1 ,
2243 4 xzs2 ,xxm1 ,xxm2 ,xym1 ,xym2 ,
2244 5 xzm1 ,xzm2 ,ex ,ey ,ez ,
2245 7 fx ,fy ,fz ,
2246 8 n1 ,n2 ,m1 ,m2 ,nedge ,
2247 9 intbuf_tab(nin)%GAPE,gapve,
2248 a iedge ,intbuf_tab(nin)%ADMSR,intbuf_tab(nin)%LBOUND,intbuf_tab(nin)%EDGE_BISECTOR,
2249 b intbuf_tab(nin)%VTX_BISECTOR ,itab ,igap0 ,igap ,
2250 c intbuf_tab(nin)%GAP_E_L)
2251
2253 1 llt ,iedge ,intbuf_tab(nin)%CANDS_E2E(1+nft) ,intbuf_tab(nin)%CANDM_E2E(1+nft) ,
2254 2 n1 ,n2 ,m1 ,m2 ,
2255 3 xxs1 ,xxs2 ,xys1 ,xys2 ,
2256 4 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
2257 5 xym2 ,xzm1 ,xzm2 ,gapve ,pene ,
2258 6 ex ,ey ,ez ,fx ,fy ,
2259 7 fz ,intbuf_tab(nin)%LEDGE,intbuf_tab(nin)%IRECTM,x ,itab )
2260
2262 1 itab ,inacti,intbuf_tab(nin)%CANDM_E2E(1+nft),intbuf_tab(nin)%CANDS_E2E(1+nft),istok,
2263 2 llt ,pene ,iwpene ,intbuf_tab(nin)%CAND_P(1+nft) ,
2264 3 n1 ,n2 ,m1 ,m2 ,
2265 4 noint ,nty ,intbuf_tab(nin)%IRECTM ,
id ,titr ,
2266 5 intbuf_tab(nin)%CANDM_E2E,intbuf_tab(nin)%CANDS_E2E,intbuf_tab(nin)%CAND_P,iedge,nledge,
2267 6 nedge ,intbuf_tab(nin)%LEDGE)
2268
2269 ENDDO
2270 intbuf_tab(nin)%I_STOK_E(1)=istok
2271 CALL shrink_array(intbuf_tab(nin)%CANDM_E2E,istok)
2272 CALL shrink_array(intbuf_tab(nin)%CANDS_E2E,istok)
2273 END IF
2274
2275 IF(intbuf_tab(nin)%I_STOK_E(2) > 0) THEN
2276
2277 istok=0
2278
2279 ngrous=1+(intbuf_tab(nin)%I_STOK_E(2)-1)/nvsiz
2280 DO ng=1,ngrous
2281 nft = (ng-1) * nvsiz
2282 lft = 1
2283 llt = min0( nvsiz, intbuf_tab(nin)%I_STOK_E(2) - nft )
2284
2286 1 llt ,intbuf_tab(nin)%LEDGE,intbuf_tab(nin)%IRECTM,x ,
2287 2 intbuf_tab(nin)%CANDS_E2S(1+nft) ,intbuf_tab(nin)%CANDM_E2S(1+nft) ,ex ,ey ,ez ,
2288 3 xxs1 ,xxs2 ,xys1 ,xys2 ,
2289 4 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
2290 5 xym2 ,xzm1 ,xzm2 ,
2291 6 n1 ,n2 ,m1 ,m2 ,nedge ,
2292 7 intbuf_tab(nin)%GAPE,gapve ,fx ,fy ,fz ,
2293 8 iedge ,intbuf_tab(nin)%ADMSR,intbuf_tab(nin)%LBOUND,intbuf_tab(nin)%EDGE_BISECTOR,
2294 9 intbuf_tab(nin)%VTX_BISECTOR,itab )
2295
2297 1 llt ,iedge ,intbuf_tab(nin)%CANDS_E2S(1+nft) ,intbuf_tab(nin)%CANDM_E2S(1+nft) ,
2298 2 n1 ,n2 ,m1 ,m2 ,
2299 3 xxs1 ,xxs2 ,xys1 ,xys2 ,
2300 4 xzs1 ,xzs2 ,xxm1 ,xxm2 ,xym1 ,
2301 5 xym2 ,xzm1 ,xzm2 ,gapve ,pene ,
2302 6 ex ,ey ,ez ,fx ,fy ,
2303 7 fz ,intbuf_tab(nin)%LEDGE,intbuf_tab(nin)%IRECTM,x ,itab ,intbuf_tab(nin)%E2S_NOD_NORMAL,
2304 8 intbuf_tab(nin)%ADMSR)
2305
2307 1 itab ,inacti,intbuf_tab(nin)%CANDM_E2S(1+nft),intbuf_tab(nin)%CANDS_E2S(1+nft),istok,
2308 2 llt ,pene ,iwpene ,intbuf_tab(nin)%CAND_PS(1+4*nft) ,
2309 3 n1 ,n2 ,m1 ,m2 ,
2310 4 noint ,nty ,intbuf_tab(nin)%IRECTM ,
id ,titr ,
2311 5 intbuf_tab(nin)%CANDM_E2S,intbuf_tab(nin)%CANDS_E2S,intbuf_tab(nin)%CAND_PS)
2312
2313 ENDDO
2314 intbuf_tab(nin)%I_STOK_E(2)=istok
2315 CALL shrink_array(intbuf_tab(nin)%CAND_PS,4*istok)
2316 CALL shrink_array(intbuf_tab(nin)%CANDM_E2S,istok)
2317 CALL shrink_array(intbuf_tab(nin)%CANDS_E2S,istok)
2318 CALL shrink_array(intbuf_tab(nin)%IFPEN_E2S,istok)
2319 END IF
2320
2321 CALL ancmsg(msgid=1631,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,prmod=msg_print)
2322
2323 IF(iwpene /= 0 .AND. iddlevel == 1)THEN
2324 IF(inacti==0)THEN
2325 CALL ancmsg(msgid=1632, msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id, c1=titr, i2=iwpene)
2326 ELSEIF(inacti==5)THEN
2327 CALL ancmsg(msgid=1633,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,i2=iwpene
2328 ELSEIF(inacti==-1)THEN
2329 CALL ancmsg(msgid=1634,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr
2330 END IF
2331 END IF
2332 END IF
2333
2334 END IF
2335 DEALLOCATE (ipartsm)
2336
2337 ENDIF
2338
2339 IF(iwpene/=0) THEN
2340 IF(inpene/=0 .AND. iddlevel == 1)THEN
2341 IF(.NOT.type18)
CALL ancmsg(msgid=343,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,i2=iwpene,i3=inpene)
2342 ELSEIF (iddlevel == 1.AND.nty/=24) THEN
2343 IF(.NOT.type18)
CALL ancmsg(msgid=499, msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,i2=iwpene)
2344 ENDIF
2345 IF(nty==24.AND. iddlevel == 1) THEN
2346 SELECT CASE (inacti)
2347 CASE(0,1)
2348 CALL ancmsg(msgid=1184, msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr, i2=iwpene,i3=iwpene0)
2349 CASE(-1)
2350 CALL ancmsg(msgid=1185,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,i2=iwpene,i3=iwpene0)
2351 CASE(5)
2352 CALL ancmsg(msgid=1186,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,i2=iwpene,i3=iwpene0)
2353 END SELECT
2354 IF(ipri>=5.AND. iddlevel == 1) THEN
2355 CALL ancmsg(msgid=1164,msgtype=msgwarning,anmode=aninfo_blind_1,i1=
id,c1=titr,prmod=msg_print)
2356 ENDIF
2357 END IF
2358 ENDIF
2359
2360
2361 IF(ALLOCATED(intbuf_tab(nin)%VTX_BISECTOR)) THEN
2362 DEALLOCATE(intbuf_tab(nin)%VTX_BISECTOR)
2363 ENDIF
2364 IF(ALLOCATED(intbuf_tab(nin)%EDGE_BISECTOR)) THEN
2365 DEALLOCATE(intbuf_tab(nin)%EDGE_BISECTOR)
2366 ENDIF
2367 IF(ALLOCATED(intbuf_tab(nin)%PENM)) THEN
2368 DEALLOCATE(intbuf_tab(nin)%PENM)
2369 ENDIF
2370 IF(ALLOCATED(intbuf_tab(nin)%DISTM)) DEALLOCATE(intbuf_tab(nin)%DISTM)
2371 IF(ALLOCATED(intbuf_tab(nin)%LBM)) DEALLOCATE(intbuf_tab(nin)%LBM)
2372 IF(ALLOCATED(intbuf_tab(nin)%LCM )) DEALLOCATE(intbuf_tab(nin)%LCM)
2373 IF(ALLOCATED(intbuf_tab(nin)%E2S_NOD_NORMAL)) DEALLOCATE(intbuf_tab(nin)%E2S_NOD_NORMAL)
2374 IF(ALLOCATED(intbuf_tab(nin)%E2S_ACTNOR)) DEALLOCATE(intbuf_tab(nin)%E2S_ACTNOR)
2375 IF(ALLOCATED(intbuf_tab(nin)%FTSAVX_E) ) DEALLOCATE(intbuf_tab(nin)%FTSAVX_E)
2376 IF(ALLOCATED(intbuf_tab(nin)%FTSAVY_E) ) DEALLOCATE(intbuf_tab(nin)%FTSAVY_E)
2377 IF(ALLOCATED(intbuf_tab(nin)%FTSAVZ_E) ) DEALLOCATE(intbuf_tab(nin)%FTSAVZ_E)
2378 IF(ALLOCATED(intbuf_tab(nin)%FTSAVX_E2S) ) DEALLOCATE(intbuf_tab(nin)%FTSAVX_E2S)
2379 IF(ALLOCATED(intbuf_tab(nin)%FTSAVY_E2S) ) DEALLOCATE(intbuf_tab(nin)%FTSAVY_E2S)
2380 IF(ALLOCATED(intbuf_tab(nin)%FTSAVZ_E2S) ) DEALLOCATE(intbuf_tab(nin)%FTSAVZ_E2S)
2381 IF(ALLOCATED(intbuf_tab(nin)%FARM) ) DEALLOCATE(intbuf_tab(nin)%FARM)
2382
2383
2384
2385 RETURN
2386
2387 2001 FORMAT(//,1x,'INTERFACE NUMBER. . . . . . . . . . . . . .',i10/
2388 + ,1x,'INTERFACE TYPE. . . . . . . . . . . . . . .',i6/)
2389 2002 FORMAT(//
2390 +' SECONDARY NEAREST NEAREST MAIN NODES SECONDARY '/
2391 +' NODE MAIN SEGMENT S T')
2392 2003 FORMAT(//
2393 +' MAIN NEAREST NEAREST SECONDARY NODES MAIN'/
2394 +' NODE SECONDARY SEGMENT S T')
2395 2007 FORMAT(//' IMPACT CANDIDATES',/,' SECONDARY MAIN SEGMENT NODES '/' NODE ')
2396 2011 FORMAT(//' IMPACT CANDIDATES',/,' MAIN NODES SECONDARY NODES ')
2397 2012 FORMAT(2x,'** WARNING ** THIS INTERFACE CONNECTS',' LAGRANGIAN MATERIALS')
2398 2181 FORMAT(//,1x,'INTERFACE NUMBER. . . . . . . . . . . . . .',i10/
2399 + ,1x,'INTERFACE TYPE. . . . . . . . . . . . . . . 18')
2400 2200 FORMAT(2x,/,i8,' TINY INITIAL PENETRATIONS WILL BE TAKEN INTO
2401 + ACCOUNT')
2402 2300 FORMAT(2x,/,i8,' INITIAL PENETRATIONS WILL BE IGNORED ')
2403 2400 FORMAT(2x,/,'IPEN_MAX = ',1pg20.13,'HAS BEEN USED')
2404 2500 FORMAT(/,
2405 . 'FICTIVE NODES ADDED FOR EDGE . . . . . . . . =',i10/,
2406 . 'RATIO of Fictive SECONDARY nodes/SECONDARY nodes. . =',1pg20.13/)
subroutine iwcontdd(nsv, msr, nsn, nmn, iwcont, nsnt, nmnt)
subroutine iwcontdd_151(bufbric, nbric, msr, nmn, iwcont, nsnt, nmnt, numnod, ixs, numels, nale)
subroutine i2wcontdd(nsv, msr, nsn, nmn, iwcont, nsnt, nmnt)
subroutine i11buc_vox1(x, irects, irectm, nrts, nmn, nrtm, nsn, cand_m, cand_s, maxgap, noint, ii_stok, tzinf, maxbox, minbox, ncontact, multimp, msr, addcm, chaine, itab, nsv, iauto, i_mem, id, titr, iddlevel, bumult, drad, intercep, igap, gap_s, gap_m, gap_s_l, gap_m_l, gapmin, flagremnode, kremnode, remnode, dgapload)
subroutine i11pwr3(itab, inacti, cand_m, cand_s, stfs, stfm, x, nsv, iwpene, n1, n2, m1, m2, nx, ny, nz, gapv, gap_s, gap_m, penis, penim, igap, print_warning)
subroutine i11remline(x, nrtm, irectm, nrts, irects, numnod, gap_s, gap_m, gapmin, igap, kremnode, remnode, gap, drad, nremnode, i_start, i_mem_rem, inod2lin, tagsecnd, nod2lin, dgapload, gap_s_l, gap_m_l)
subroutine i11sti3(x, irect, stf, ixs, pm, geo, nrt, ixc, nintr, slsfac, nty, gapmax, noint, gap_sm, ms, ixtg, ixt, ixp, ixr, igap, gapmin, gap0, gapinf, ipartc, iparttg, thk, thk_part, percent_size, gap_l, nod2el1d, knod2el1d, itab, ixs10, id, titr, kxx, ixx, igeo, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, lelx, fillsol, intth, drad, area, ielec, pm_stack, iworksh, it19, bgapsmx, intfric, iparts, tagprt_fric, ipartfric, intbuf_fric_tab, ipartt, ipartp, ipartx, ipartr, irem_gap)
subroutine i12chk3(x, irect, ixs, nrt, ixc, nint, nsn, nsv, noint, mwa, ixtg, pm, iseg, ale_connectivity, varconvint, fcount, itied, itab, knod2els, nod2els, nty, id, titr)
subroutine i12tid3(x, irect, crst, msr, nsv, iloc, irtl, nsn, itab, alp, id, titr)
subroutine i17sti3(ixs, pm, nme, nmes, nelm, nels, km, ks)
subroutine i18pwr3(itab, inacti, cand_e, cand_n, stfn, stf, x, nsv, iwpene, cand_p, cand_en, cand_nn, tag, noint, gapv, ix1, ix2, ix3, ix4, nsvg, pene)
subroutine i1chk3(x, irect, ixs, nrt, ixc, nint, nsn, nsv, noint, ixtg, geo, pm, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, igrsurf, thk, nty, ixs10, ixs16, ixs20, id, titr, igeo, pm_stack, iworksh)
subroutine i1tid3(x, irect, crst, msr, nsv, iloc, irtl, nsn, itab, ikine, ikine1, id, titr, ilev, nty, csts_bis)
subroutine i20ini3(x, ixs, ixc, pm, geo, ipari, interface_id, itab, ms, mwa, rwa, ixtg, iwrn, ikine, ixt, ixp, ixr, nelemint, iddlevel, ifiend, nsnet, nmnet, iwcont, nsnt, nmnt, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, igrsurf, ikine1, ipart, ipartc, iparttg, thk, thk_part, inpene, iwpentot, ixs10, i_mem, inter_cand, ixs16, ixs20, id, titr, kxx, ixx, igeo, nod2el1d, knod2el1d, lelx, intbuf_tab, pm_stack, iworksh, nspmd)
subroutine i21els3(x, irects, irectm, nrts, nrtm, geo, ixs, pm, ixc, ixtg, nint, nty, noint, nsn, nsv, ieles, intth, areas, nmn, msr, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, igrsurfs, igrsurfm, ielem21, thk, as, bs, ixs10, ixs16, ixs20, id, titr, igeo, sh4tree, sh3tree, ipart, ipartc, iparttg, pm_stack, iworksh, intfric, tagprt_fric, ipartfrics, ipartfricm, intbuf_fric_tab, iparts)
subroutine i22err3(x, nrtm, irect, itab, pm, ixs, nbric, brics, id, titr, ix1, ix2, ix3, ix4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, n1, n2, n3, x0, y0, z0, xn1, yn1, zn1, xn2, yn2, zn2, xn3, yn3, zn3, xn4, yn4, zn4)
subroutine i22sti3(stf, nrt)
subroutine i22tzinf(x, tzinf, bufbric, nbric, ixs)
subroutine i23buc1(x, irect, nsv, bumult, nseg, nmn, nrtm, mwa, nsn, cand_e, cand_n, gap, xyzm, noint, i_stok, dist, tzinf, maxbox, minbox, msr, stf, multimp, itab, gap_s, igap, gapmin, gapmax, inacti, nrts, irects, i_mem, iddlevel, id, titr, gap_m, prov_n, prov_e, ix1, ix2, ix3, ix4, nsvg, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, n11, n21, n31, pene)
subroutine i23gap3(x, irects, irectm, nrts, nrtm, geo, ixs, pm, ixc, ixtg, nint, nty, noint, nsn, nsv, intth, nmn, msr, wa, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, thk, ixs10, ixs16, ixs20, ipartc, iparttg, gap, igap, gap_s, gapmin, gapinf, gapmax, gapscale, bgapsmx, stfn, stf, id, titr, gap_m, igeo, pm_stack, iworksh)
subroutine i23pwr3(itab, inacti, cand_e, cand_n, stfn, x, i_stok, nsv, iwpene, pene, noint, nty, gap_s, msr, irect, gapmin, gapmax, fpenmax, nsn, itag, cand_en, cand_nn, cand_p, stf, ifpen, ifpenn, gapv)
subroutine i24buc1(x, irect, nsv, bumult, nseg, nmn, nrtm, mwa, nsn, cand_e, cand_n, gap, xyzm, noint, i_stok, dist, tzinf, maxbox, minbox, msr, stf, stfn, multimp, istf, iddlevel, itab, gap_s, gap_m, igap, gapmin, gapmax, inacti, gap_s_l, gap_m_l, i_mem, marge, id, titr, nbinflg, mbinflg, ilev, msegtyp, gap_n, mvoisn, ixs, ixs10, ixs16, ixs20, ipartns, ipen0, penmax, irtse, is2se, is2pt, xfic, nrtse, nsne, prov_n, prov_e, nsvg, ix1, ix2, ix3, ix4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, stif, pene, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, n11, n21, n31, dgapload, s_kremnode, s_remnode, kremnode, remnode, flag_removed_node)
subroutine i24ini_gap_n(nrtm, irect, ixs, geo, ixc, ixtg, ixt, ixp, ipart, ipartc, iparttg, thk, thk_part, nvoisin, gap_n, gap_m, nmn, msr, gapn_m, gap_n0, intply, gapmax_m, igeo, msegtyp)
subroutine i24inisur_nei(nrtm, nsn, irect, irtlm, mvoisin, nvoisin, mseglo, msegtyp, itab, x, id, titr, igeo)
subroutine i24pwr3(itab, inacti, cand_e, cand_n, pmin, penmin, i_stok, nsv, iwpene, pene_old, noint, nty, msr, irtlm, irect, nsn, id, titr, icont_i, iwpene0)
subroutine i24ll_kg(x, irect, ixs, pm, wa, geo, nrt, ixc, nint, nty, noint, nsn, nsv, ixtg, ixt, ixp, ipart, ipartc, iparttg, thk, thk_part, ixr, itab, ixs10, ixs16, ixs20, nmn, msr, ll_s, ll_m, ipartt, ipartp, ipartr, igeo)
subroutine i24sti3(x, irect, stf, ixs, pm, geo, nrt, ixc, nint, stfac, nty, gap, noint, stfn, nsn, ms, nsv, ixtg, igap, wa, gap_s, gap_m, gapmin, ixt, ixp, gapinf, gapmax_s, inacti, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, igrsurf, intth, ieles, ielec, areas, sh4tree, sh3tree, ipart, ipartc, iparttg, thk, thk_part, ixr, itab, bgapsmx, ixs10, msegtyp, nrt_sh, ixs16, ixs20, gap_n, mvoisn, ilev, igrsurf2, gapmax_m, id, titr, igap0, pen_old, ipartns, iparts, igeo, fillsol, pm_stack, iworksh, intfric, tagprt_fric, ipartfrics, ipartfricm, intbuf_fric_tab, intnitsche, nrts, irects, ielnrts, adrects, facnrts, nmn, msr, ipartt, ipartp, ipartr, elem_linked_to_segment, igsti, flag_elem_inter25)
subroutine i24fici_ini(irtse, nsne, is2se, nsv, is2pt, nsn, fic_i)
subroutine i24fics_ini(irtse, nsne, is2se, nsv, is2pt, nsn, fic_s)
subroutine i24isegpt_ini(irtse, nsne, is2se, nsv, is2pt, nsn, isegpt, npt, ispt2)
subroutine i24ficv_ini(irtse, nsne, is2se, nsv, is2pt, nsn, fic_v, npt)
subroutine ispt2_ini(cand_n, i_stok, nsn, irtlm, isegpt, ispt2)
subroutine i25buc_vox1(x, irect, nsv, bumult, nmn, nrtm, nsn, intbuf_tab, gap, i_stok, dist, tzinf, maxbox, minbox, msr, stf, stfn, iddlevel, gap_s, gap_m, igap, gapmin, gapmax, inacti, gap_s_l, gap_m_l, marge, id, titr, nbinflg, mbinflg, ilev, msegtyp, gap_n, bgapsmx, iparts, knod2els, nod2els, kremnode, remnode, ixs, ixs10, ixs16, ixs20, icode, iskew, drad, dgapload, nrtmt, flag_removed_node, ielem_m, nin, npari, ipari)
subroutine i25neigh(nrtm, nsn, nsv, irect, irtlm, mvoisin, evoisin, mseglo, msegtyp, itab, x, id, titr, igeo, nadmsr, admsr, adskyn, iadnor, nrtm_sh, iedge, nedge, ledge, lbound, edg_cos, nisub, lisub, addsubm, lisubm, inflg_subm, nisube, addsube, lisube, inflg_sube, noint, nmn, msr, nom_opt, ilev, mbinflg, ebinflg, ielem_m, idel_solid)
subroutine i25ini_gap_n(nrtm, irect, ixs, geo, ixc, ixtg, ixt, ixp, ipart, ipartc, iparttg, thk, thk_part, gap_n, gap_m, nmn, msr, gapn_m, gapmax_m, gapscale, igeo, msegtyp, gapmsav, ithk25)
subroutine i25norm(nrtm, irectm, numnod, x, nod_normal, nmn, msr, itab, nrtm0, msegtyp, mvoisin, evoisin, nedge, ledge, lbound, admsr, vtx_bisector, e2s_nod_normal, nadmsr, iedge, ielem_m)
subroutine i25pen3e(jlt, iedge, cand_s, cand_m, n1, n2, m1, m2, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, gapve, pene, ex, ey, ez, fx, fy, fz, ledge, irect, x, itab)
subroutine i25pwr3(itab, inacti, cand_e, cand_n, stfn, x, i_stok, nsv, iwpene, pene_old, noint, nty, msr, irtlm, irect, nsn, id, titr, mseglo, icont_i)
subroutine i25cand(cand_e, cand_n, nsn, irtlm, ii_stok, nrtm, msegtyp)
subroutine i25pwr3_e2s(itab, inacti, cand_m, cand_s, istok, llt, pene, iwpene, cand_p, n1, n2, m1, m2, noint, nty, irect, id, titr, cand_m_g, cand_s_g, cand_p_g)
subroutine i25pwr3e(itab, inacti, cand_m, cand_s, istok, llt, pene, iwpene, cand_p, n1, n2, m1, m2, noint, nty, irect, id, titr, cand_m_g, cand_s_g, cand_p_g, iedge, nledge, nedge, ledge)
subroutine i25remline(x, nedge, ledge, numnod, gap_e, gap_e_l, igap0, igap, drad, bgapemx, bgapemx_l, kremnode, remnode, nremnode, i_start, i_mem_rem, inod2lin, tagsecnd, nod2lin, dgapload, perm, perm_inv, gap_maxneigh)
subroutine i25sors(nsn, nrts, itab, ilev, ipari, intbuf_tab)
subroutine i25sti3(x, irect, stf, ixs, pm, geo, nrt, ixc, nint, stfac, nty, gap, noint, stfn, nsn, ms, nsv, ixtg, igap, wa, gap_s, gap_m, gapmin, gapscale, ixt, ixp, gapinf, gapmax_s, inacti, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, intth, ieles, ielem, areas, sh4tree, sh3tree, ipart, ipartc, iparttg, thk, thk_part, ixr, itab, bgapsmx, ixs10, msegtyp, nrt_sh, ixs16, ixs20, gap_n, ilev, gapmax_m, id, titr, igap0, pen_old, iparts, igeo, fillsol, pm_stack, iworksh, percent_size, gap_s_l, gap_m_l, knod2el1d, nod2el1d, intfric, tagprt_fric, ipartfrics, ipartfricm, intbuf_fric_tab, ivis2, gapm_mx, gaps_mx, gapm_l_mx, gaps_l_mx, ipartsm, drad, ipartt, ipartp, ipartr, ielem_m, idel_solid, elem_linked_to_segment, nin25, flag_elem_inter25)
subroutine i25sti_edg(nedge, ledge, stfe, stfm, igap, gape, gap_e_l, gap_m, gap_m_l, gap_s_l, bgapemx, intfric, ipartfric_e, ipartfricm, ipartsm, bgapemx_l, nsn, nsv)
subroutine i2buc1(x, irect, nsv, nseg, irtl, nmn, nrtm, mwa, nsn, xyzm, noint, msr, st, dmin, tzinf05, ignore, thk, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, nint, ixc, ixtg, thk_part, ipartc, geo, ixs, ixs10, pm, ixs16, ixs20, iparttg, id, titr, igeo, pm_stack, iworksh, ix1, ix2, ix3, ix4, nsvg, prov_n, prov_e, n11, n12, n13, x1, x2, x3, x4, stif, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, s, t, ilev)
subroutine i2chk3(x, irect, ixs, nrt, ixc, nint, nsn, nsv, noint, ixtg, irtl, st, dmin, geo, pm, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, igrsurf, thk, nty, ixs10, ixs16, ixs20, igeo, pm_stack, iworksh)
subroutine i2main(nsv, msr, irectm, ipari, tag, msru, intbuf_tab)
subroutine i2surfs(x, nsv, area, nsn, itab, ixc, ixtg, ixs, knod2els, nod2els, knod2elc, nod2elc, knod2eltg, nod2eltg, ilev, id, titr)
subroutine i2tid3(x, irect, st, msr, nsv, irtl, itab, ikine, ikine1, dmin, ipari, tzinf, iddlevel, id, titr, intbuf_tab, dsearch, iproj, ixs, ixc, ixs10, ixs16, ixs20, stb, nsn_multi_connec, t2_add_connec, t2_nb_connec, t2_connec, ixtg)
subroutine i5pwr3(x, irect, msr, nsv, iloc, irtl, cst, irtl0, gap, nsn, itab, inacti)
subroutine i3pen3(x, irect, msr, nsv, iloc, irtl, cst, irtl0, gap, nsn, itab, iwpene, id, titr)
subroutine i3sti3(x, irect, stf, ixs, pm, geo, nrt, ixc, stfn, nseg, lnsv, nint, nsn, nsv, slsfac, nty, gap, noint, ixtg, ir, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, igrsurf, thk, ixs10, ixs16, ixs20, id, titr, gapn, stf8, depth, fmax, igeo, fillsol, pm_stack, iworksh)
subroutine i7buc1(x, irect, nsv, bumult, nseg, nmn, nrtm, mwa, nsn, cand_e, cand_n, gap, xyzm, noint, i_stok, dist, tzinf, maxbox, minbox, msr, stf, stfn, multimp, istf, iddlevel, itab, gap_s, gap_m, igap, gapmin, gapmax, inacti, gap_s_l, gap_m_l, i_mem, id, titr, it19, prov_n, prov_e, nsvg, ix1, ix2, ix3, ix4, n11, n12, n13, pene, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, stif)
subroutine i7buc_vox1(x, irect, nsv, bumult, nseg, nmn, nrtm, mwa, nsn, gap, xyzm, noint, i_stok, dist, tzinf, msr, stf, stfn, multimp, istf, iddlevel, itab, gap_s, gap_m, igap, gapmin, gapmax, inacti, gap_s_l, gap_m_l, i_mem, ncont, icurv, bgapsmx, id, titr, drad, intercep, nin, iremnode, flagremnode, kremnode, remnode, dgapload, npari, ipari, intbuf_tab, is_used_with_law151)
subroutine i7err3(x, nrtm, irect, noint, itab, id, titr, ix1, ix2, ix3, ix4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, n1, n2, n3, x0, y0, z0, xn1, yn1, zn1, xn2, yn2, zn2, xn3, yn3, zn3, xn4, yn4, zn4)
subroutine i7pwr3(itab, inacti, cand_e, cand_n, stfn, stf, x, nsv, iwpene, cand_p, cand_en, cand_nn, tag, noint, gapv, nty, itied, fpenmax, id, titr, iddlevel, iremnode, kremnode, remnode, istok, ix1, ix2, ix3, ix4, nsvg, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, n1, n2, n3, pene)
subroutine remn_i2op(lower_bound, upper_bound, ipari, intbuf_tab, itab, nom_opt, nremov, iddlevel, skip_type25_edge_2_edge)
subroutine i7remnode(iremnode, noint, titr, intbuf_tab, numnod, x, nrtm, irect, nsv, nsn, itab, gap_s, gap_m, gapmin, gapmax, gap_s_l, gap_m_l, igap, gap, drad, nremnode, nty, ipari, i_mem_rem, gapm_mx, gaps_mx, gapm_l_mx, gaps_l_mx, ilev, nbinflg, mbinflg, dgapload, npari)
subroutine i7sti3(x, irect, stf, ixs, pm, geo, nrt, ixc, nint, stfac, nty, gap, noint, stfn, nsn, ms, nsv, ixtg, igap, wa, gap_s, gap_m, gapmin, ixt, ixp, gapinf, gapmax, inacti, knod2els, knod2elc, knod2eltg, nod2els, nod2elc, nod2eltg, igrsurf, intth, ieles, ielec, areas, sh4tree, sh3tree, ipart, ipartc, iparttg, thk, thk_part, percent_size, gap_s_l, gap_m_l, nod2el1d, knod2el1d, ixr, itab, bgapsmx, ixs10, ixs16, ixs20, id, titr, iddlevel, drad, igeo, fillsol, pm_stack, iworksh, it19, kxig3d, ixig3d, intfric, iparts, tagprt_fric, ipartfrics, ipartfricm, intbuf_fric_tab, nrt_ige, irem_gap, gapm_mx, gaps_mx, gapm_l_mx, gaps_l_mx, ipartt, ipartp, ipartr, elem_linked_to_segment, flag_elem_inter25)
subroutine i9sti3(x, irect, stf, ixs, nrt, nint, nsn, nsv, noint, iele, knod2els, nod2els, igrsurf, isu, ixs10, ixs16, ixs20, id, titr)
subroutine inint0(x, irect, nseg, nod2seg, nsv, msr, iloc, nmn, nsn, nrt, sirect, s_n2seg)
subroutine inint0_8(x, irect, nseg, lcseg, nsv, msr, iloc, nmn, nsn, nrt, numnod)
subroutine invoi3(x, irect, lmsr, msr, nsv, iloc, irtl, nseg, nsn, nmn, itab, id, titr, nrt)
subroutine iwcontdd_type24(numnod, nsn, nmn, nsv, msr, iwcont, nsnt, nmnt, intbuf_tab)
subroutine iwcontdd_type25(nledge, numnod, nsn, nmn, iedge, nrtm, nedge, nsv, msr, irect, iwcont, nsnt, nmnt, intbuf_tab)
integer, parameter nchartitle
subroutine i11dst3(jlt, gap, cand_s, cand_m, irects, irectm, nx, ny, nz, n1, n2, m1, m2, jlt_new, x, igap, gap_s, gap_m, gapv2, gap_s_l, gap_m_l, drad, dgapload)
subroutine i23dst3(jlt, cand_n, cand_e, irect, nsv, gap_s, x, msr, pene, ifpen, igap, gap, gapmax, gapmin, gapv, gap_m)
subroutine i24cor3(x, irect, nsv, cand_e, cand_n, stf, stfn, gapv, igap, gap, gap_s, gap_m)
subroutine i24pen3(x, irect, gapv, cand_e, cand_n, nsv, inacti, itab, tag, iwpene, nsn, irtlm, msegtyp, iwpene0, pmin, gap_n, mvoisn, ixs, ixs10, ixs16, ixs20, penmax, penmin, id, titr, ilev, pen_old, knod2els, nod2els, ipartns, ipen0, icont_i, xfic, nrtm, irtse, is2se)
subroutine i24cand(cand_e, cand_n, nsn, irtlm, ii_stok, msegtyp)
subroutine i25buce_edg(x, irect, inacti, nsn, nmn, candm_e2e, cands_e2e, gap, noint, ii_stok, mulnsne, bminma, marge, vmaxdt, drad, eshift, nedge_t, sshift, nrtm_t, stfm, stfn, ncont, gap_m, itask, bgapemx, i_mem, itab, mbinflg, ebinflg, ll_stok, mulnsns, ilev, cand_a, cand_p, igap0, flagremnode, kremnod, remnod, s_remnode_edg, igap, gap_m_l, iedge, nedge, msegtyp, ledge, admsr, edg_bisector, vtx_bisector, candm_e2s, cands_e2s, cand_b, cand_ps, gape, gap_e_l, dgapload, flag_removed_node, s_kremnode_e2s, s_remnode_e2s, kremnode_e2s, remnode_e2s, s_kremnode_edg)
subroutine i25cor3(jlt, igap, x, irect, nsv, cand_e, cand_n, xi, yi, zi, ix1, ix2, ix3, ix4, nsvg, nsn, gap_s, gaps, admsr, nod_normal, x1, x2, x3, x4, x0, y1, y2, y3, y4, y0, z1, z2, z3, z4, z0, nnx, nny, nnz, mvoisin, mvoisn, gap_m, gapm, gap_nm, gapnm, gap_s_l, gap_m_l, gapmxl, lbound, ibound)
subroutine i25cor3_e2s(jlt, ledge, irect, x, cand_s, cand_m, ex, ey, ez, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, n1, n2, m1, m2, nrts, gape, gapve, fx, fy, fz, iedge, admsr, lbound, edg_bisector, vtx_bisector, itab)
subroutine i25cor3e(jlt, ledge, irect, x, cand_s, cand_m, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, ex, ey, ez, fx, fy, fz, n1, n2, m1, m2, nedge, gape, gapve, iedge, admsr, lbound, edg_bisector, vtx_bisector, itab, igap0, igap, gap_e_l)
subroutine i25dst3_e2s(jlt, iedge, cand_s, cand_m, n1, n2, m1, m2, xxs1, xxs2, xys1, xys2, xzs1, xzs2, xxm1, xxm2, xym1, xym2, xzm1, xzm2, gapve, pene, ex, ey, ez, fx, fy, fz, ledge, irect, x, itab, e2s_nod_normal, admsr)
subroutine i25pen3(jlt, cand_n, cand_e, penmin, penmax, x1, x2, x3, x4, x0, y1, y2, y3, y4, y0, z1, z2, z3, z4, z0, xi, yi, zi, nsn, ix1, ix2, ix3, ix4, nsvg, nrtm, mseglo, gaps, irect, irtlm, time_s, pene_old, itab, msegtyp, isharp, nnx, nny, nnz, gap_nm, mvoisn, gapmxl, ivis2, ibound, vtx_bisector, ilev, inacti)
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 i7dst3(ix3, ix4, x1, x2, x3, x4, y1, y2, y3, y4, z1, z2, z3, z4, xi, yi, zi, x0, y0, z0, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, lb1, lb2, lb3, lb4, lc1, lc2, lc3, lc4, last)
subroutine i7pen3(marge, gapv, n1, n2, n3, pene, nx1, ny1, nz1, nx2, ny2, nz2, nx3, ny3, nz3, nx4, ny4, nz4, p1, p2, p3, p4, last)
subroutine in12r(x, frigap, nsv, nsn, flag)
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)
subroutine update_weight_inter_type11(nelemint, interface_id, nrts, nrtm, ifiend, irectm, irects, i_stok, cand_e, cand_n, inter_cand)
subroutine update_weight_inter_type2(nelemint, interface_id, nsn, nrtm, ifiend, n2d, irect, nsv, irtl, inter_cand)
subroutine update_weight_inter_type7(nelemint, interface_id, nsn, nrtm, ifiend, irect, nsv, i_stok, cand_e, cand_n, igap, gap, gapmax, gapmin, dgapload, drad, gap_s, gap_s_l, gap_m, gap_m_l, numnod, x, inter_cand)
subroutine update_weight_inter_type_24_25(numnod, nelemint, interface_id, nsn, nrtm, ifiend, irect, nsv, i_stok, cand_e, cand_n, dgapload, gap_s, gap_m, x, inter_cand, inter_kind, intbuf_tab, iedge, nledge)
subroutine upgrade_ixint(inter_cand, nelemint, new_size)
subroutine upgrade_lcand_edg(ni, multimp_parameter, intbuf_tab)
subroutine upgrade_lcand_e2s(ni, multimp_parameter, intbuf_tab)
subroutine upgrade_remnode_edg(ipari, nremnode, intbuf_tab)
subroutine upgrade_remnode(ipari, nremnode, intbuf_tab, nty)