103
104
105
108 USE intbufdef_mod
109 USE int8_mod
110 USE multi_fvm_mod
112 USE intbuf_fric_mod
113
114
115
116#include "implicit_f.inc"
117
118
119
120#include "assert.inc"
121#include "com01_c.inc"
122#include "com04_c.inc"
123#include "param_c.inc"
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140 INTEGER, INTENT(in) :: LEN_CEP
141 INTEGER
142 . PROC,IPARI(NPARI,*),IPARI_L(NPARI,NINTER),
143 . NODLOCAL(*),ITAB(*),ITABI2M(*),
144 . NBDDI2M,NUMNOD_L,CEP(LEN_CEP), CEL(*),I24MAXNSNE
145 LOGICAL, INTENT(IN) :: FLAG_24_25
146 INTEGER, INTENT(INOUT) :: NINDX_NM,NINDX_SCRT
147 INTEGER, DIMENSION(*), INTENT(INOUT) :: INDX_NM,INDX_SCRT
148 INTEGER, DIMENSION(*) :: TAG_NM,TAG_SCRATCH
149
150
151 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*),INTBUF_TAB_L(*)
152 TYPE(INTERSURFP) :: INTERCEP(3,NINTER)
153 TYPE(INT8_STRUCT_) :: T8(NSPMD,*)
154 TYPE(MULTI_FVM_STRUCT), INTENT(IN) :: MULTI_FVM
155
156 TYPE (GROUP_) , DIMENSION(NGRBRIC) :: IGRBRIC
157
158 TYPE(INTBUF_FRIC_STRUCT_) :: INTBUF_FRIC_TAB(*)
159
160
161
162
163
164
165
166
167 LOGICAL :: FLAG_INIT_24_25
168 INTEGER, DIMENSION(:),ALLOCATABLE ::
169 . TAG_NODE_2RY,TAG_SEGM,TAG_SEGS,
170 . TAG_NODE_MSR,TAG_SEGM2,TAG_II,TAGE_II,
171 . TAG_NODE_MSR2,TAG,TAG_IRTL,
172 . , TAG_NLINM,TAG_NLINS2, TAG_NLINM2,
173 . TAG_NLG,TAG_NLG2,IBUF8_L,TAG_NSNE,,
174 . TAG_NSVE,TAG_MSRE, TAG_IELES, TAG_IELEM,TAG_NODE_2RY2,
175 . TAG_LMSR,TAG_LMSR2,TAG_NSEG,TAG_NSEG2,
176 . NODLOCAL24,TAG_SEG2S,TAG_NSNE_L,TAG_SM,TAG_2RY_INV,
177 . KNOR2MSR,NOR2MSR,MSR_L_I21,MNDD_I21,TAG_SEGSS
178
179 INTEGER
180 . I,NI,ITYP,NRTS,NSN,NMN,IGAP,II_STOK,II_STOK_E,
181 . NRTM,INACTI,NOINT,IFQ,INTTH,
182 . NISUB,IFORM,NLINS,NLINM,NLINSA,NLINMA,
183 . NSNE,NMNE,NREMNODE_L,FLAGREMNODE,ILEV,IEDGE,L24ADD,
184 . NUVAR,NLN,NIR,K,N,NL,NMT,NST,ILAGM,NME,NMNG,
185 . MX_VM, MX_VN,INTKG,,NRTSE,NRTSE_L,NMT_L,
186 . ,NSN_L,NRTM_L,NMN_L,II_STOK_L,II_STOK_E_L,II_STOK_S,II_STOK_S_L,
187 . MULTIMP,NCONT,NCONTE,SIZ,MFROT,NISUBS_L,NISUBM_L,
188 . NLN_L,NLINS_L,NLINM_L,NSNE_L,NMNE_L,NME_L,NMNG_l,
189 . NSN0,NSN0_L,KE,NBT8,P2,NBS_INTERF,NBM_INTERF,NADMSR,
190 . ,IBID,IEDGE4,
191 . ,NRTM_IGE_L,NRTS_IGE,NRTS_IGE_L,
192 . NRTM_FE, , NRTS_FE, NRTS_FE_L,NMN_FE_L,
193 . NMN_IGE_L,NSN_FE_L,NSN_IGE_L,NMN_FE,
194 . NMN_IGE,NSN_FE,,L,INTFRIC,NREMNOR,IVIS2,
195 . NEDGE,NEDGE_L,INTNITSCHE,II,NISUBE_L,ITHK,FLAGLOADP,
196 . ISTIF_MSDT, IDEL25_SOLID
197 INTEGER :: NINDX_NDLOCAL24
198 INTEGER :: MULTIMPE
199
200
201
202 INTEGER, DIMENSION(:), ALLOCATABLE :: TABI_ZERO
203 my_real,
DIMENSION(:),
ALLOCATABLE :: tabr_zero
204 INTEGER, DIMENSION(:), ALLOCATABLE :: I710XSAV
205 INTEGER, DIMENSION(:), ALLOCATABLE :: INDX_NDLOCAL24
206 INTEGER, DIMENSION(:), ALLOCATABLE :: TAG_EDGE,
207 INTEGER, DIMENSION(:), ALLOCATABLE :: TAG_II_E2E
208 INTEGER, DIMENSION(:), ALLOCATABLE :: TAG_II_E2S
209 INTEGER, DIMENSION(:), ALLOCATABLE :: TAG_JJ_E2E,TAG_JJ_E2S
210 LOGICAL :: TYPE18_LAW151
211
212
213
214! NUMNOD+1-->end NODLOCAL24 = interface dependent
215
216
217
218
219 flag_init_24_25 = .true.
220 IF(flag_24_25) THEN
221 ALLOCATE( nodlocal24(numnod+i24maxnsne) )
222 ALLOCATE( indx_ndlocal24(numnod+i24maxnsne) )
223 ENDIF
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245 IF(nbddi2m>0) THEN
246 DO i = 1, numnod_l
247 itabi2m(i) = 0
248 ENDDO
249 ENDIF
250 nbt8 = 0
251 DO ni= 1, ninter
252 nindx_nm = 0
253 nindx_scrt = 0
254 nindx_ndlocal24 = 0
255 type18_law151 = .false.
256
257
258
259
260
261
263 !=========================================
264
265
266 nrts = ipari(3,ni)
267 nrts_ige = ipari(75,ni)
268 nrts_fe = ipari(76,ni)
269 nrtm = ipari(4,ni)
270 nrtm_ige = ipari(73,ni)
271 nrtm_fe = ipari(74,ni)
272 nme = ipari(4,ni)
273 nsn = ipari(5,ni)
274 nmn = ipari(6,ni)
275 nmn_fe = ipari(80,ni)
276 nmn_ige = ipari(79,ni)
277 nsn_fe = ipari(78,ni)
278 nsn_ige = ipari(77,ni)
279 ityp = ipari(7,ni)
280 nst = ipari(8,ni)
281 nmng = ipari(8,ni)
282 nmt = ipari(9,ni)
283 ivis2 = ipari(14,ni)
284 noint = ipari(15,ni)
285 ilev = ipari(20,ni)
286 igap = ipari(21,ni)
287 inacti = abs(ipari(22,ni))
288 mfrot = ipari(30,ni)
289 ifq = ipari(31,ni)
290 ilagm = ipari(33,ni)
291 IF(ityp == 2) THEN
292 nuvar = ipari(35,ni)
293 ELSEIF(ityp == 20) THEN
294 nln = ipari(35,ni)
295 ENDIF
296 nisub = ipari(36,ni)
297 intth = ipari(47,ni)
298 iform = ipari(48,ni)
299 nlins = ipari(51,ni)
300 nlinm = ipari(52,ni)
301 nlinsa = ipari(53,ni)
302 nlinma = ipari(54,ni)
303 nsne = ipari(55,ni)
304 nmne = ipari(56,ni)
305 iedge = ipari(58,ni)
306 l24add = ipari(59,ni)
307 flagremnode = ipari(63,ni)
308 intkg = ipari(65,ni)
309 intply = ipari(66,ni)
310 nadmsr = ipari(67,ni)
311 nedge = ipari(68,ni)
312 intfric = ipari(72,ni)
313 intnitsche = ipari(86,ni)
314 ithk = ipari(91,ni)
315 flagloadp = ipari(95,ni)
316 istif_msdt = ipari(97,ni)
317 idel25_solid = ipari(100,ni)
318
319 IF (ityp == 24) nrtse = ipari(52,ni)
320 IF (ityp == 24) iedge4 = ipari(59,ni)
321
322 IF(ityp==7.OR.ityp==8.OR.ityp==10.OR.ityp==11.OR.ityp==20.
323 . or.ityp==21.OR.ityp==22.OR.ityp==23.OR.ityp==24.
324 . or.ityp==25)THEN
325 ii_stok = intbuf_tab(ni)%I_STOK(1)
326 ii_stok_l = 0
327 IF(ityp==20)THEN
328 ii_stok_e = intbuf_tab(ni)%I_STOK_E(1)
329 ii_stok_e_l = 0
330 ENDIF
331 IF(ityp==25)THEN
332 ii_stok_e = 0
333 ii_stok_e_l = 0
334 ii_stok_s = 0
335 ii_stok_s_l = 0
336 IF(intbuf_tab(ni)%S_I_STOK_E > 1) THEN
337 ii_stok_e = intbuf_tab(ni)%I_STOK_E(1)
338 ii_stok_s = intbuf_tab(ni)%I_STOK_E(2)
339 ENDIF
340 ENDIF
341 ENDIF
342
343
344 nrts_l = ipari_l(3,ni)
345 nrts_ige_l = ipari_l(75,ni)
346 nrts_fe_l = ipari_l(76,ni)
347 nrtm_l = ipari_l(4,ni)
348 nrtm_ige_l = ipari_l(73,ni)
349 nrtm_fe_l = ipari_l(74,ni)
350 nme_l = ipari_l(4,ni)
351 nsn_l = ipari_l(5,ni)
352 nmn_l = ipari_l(6,ni)
353 nmn_fe_l = ipari_l(80,ni)
354 nmn_ige_l = ipari_l(79,ni)
355 nsn_fe_l = ipari_l(78,ni)
356 nsn_ige_l = ipari_l(77,ni)
357 nmt_l = ipari_l(9,ni)
358 nmng_l = ipari_l(8,ni)
359 ncont = ipari_l(18,ni)
360 multimp = ipari_l(23,ni)
361 nisubs_l = ipari_l(37,ni)
362 nisubm_l = ipari_l(38,ni)
363 nln_l = ipari_l(35,ni)
364 nlins_l = ipari_l(51,ni)
365 nlinm _l = ipari_l(52,ni)
366 nsne_l = ipari_l(55,ni)
367 nconte = ncont
368 nmne_l = ipari_l(56,ni)
369 nremnode_l = ipari_l(62,ni)
370 nremnor = ipari_l(81,ni)
371 IF (ityp == 24) nrtse_l = ipari_l(52,ni)
372 nadmsr_l = ipari_l(67,ni)
373 nedge_l = ipari_l(68,ni)
374 nisube_l = ipari_l(90,ni)
375
376
377
378 IF(ityp ==1 )THEN
379
380 IF(proc==0) THEN
381
382 CALL copy_ival(intbuf_tab(ni)%IRECTS,nrts,4)
383 CALL copy_ival(intbuf_tab(ni)%IRECTM,nrtm,4)
386 CALL copy_ival(intbuf_tab(ni)%IRTLM,nsn,1)
387 CALL copy_ival(intbuf_tab(ni)%ILOCS,nsn,1)
388 CALL copy_ival(intbuf_tab(ni)%NSEGM,1+nmn,1)
390
391
393 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
394 CALL copy_rval(intbuf_tab(ni)%CSTS,nsn,2)
396 ENDIF
397
398 ELSEIF(ityp == 2)THEN
399
400 ALLOCATE(tag_node_2ry(nsn_l),tag_segm(nrtm_l),
401 . tag_segm2(nrtm),tag(nrtm),tag_irtl(nmn_l))
402
403 tag_node_2ry(1:nsn_l) = 0
404 tag_segm(1:nrtm_l) = 0
405 tag_segm2(1:nrtm) = 0
406 tag(1:nrtm) = 0
407 tag_irtl(1:nmn_l) = 0
408
409 IF (n2d==0) THEN
410 nir = 4
411 ELSE
412 nir = 2
413 ENDIF
414
415
417 . nrtm, tag_node_2ry , tag_segm , tag_segm2,
418 . tag_irtl, tag , itabi2m , nodlocal ,
419 . nbddi2m , nir ,numnod_l)
420
421
422 CALL copy_ival(intbuf_tab(ni)%IRECTS,nrts,4)
423
425 . tag_segm,nodlocal)
427 . tag_node_2ry,nodlocal)
429 . tag_irtl,nodlocal)
430
432 . tag_segm2,tag_node_2ry)
433
434 IF (ilev==10 .OR. ilev==11 .OR. ilev==12 .OR.
435 * ilev==20 .OR. ilev==21 .OR. ilev==22) THEN
436
438 . tag_node_2ry)
440 . tag_node_2ry)
441 ELSEIF ((ilev == 27).OR.(ilev == 28)) THEN
443 CALL split_seg_ival2(intbuf_tab(ni)%MSEGTYP2,nrtm_l,tag_segm,tag_segm2)
444 ENDIF
445
446
447
449 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
450
452 . tag_node_2ry)
454 . tag_node_2ry)
456 . tag_irtl)
458 . tag_irtl)
459
460
461 IF (ilev==10 .OR. ilev==11 .OR. ilev==12 .OR.ilev==20 .OR.
462 . ilev==21 .OR. ilev==22.OR.intth >0 ) THEN
463
464
466 . tag_node_2ry)
467 ENDIF
468 IF (ilev==10 .OR. ilev==11 .OR. ilev==12) THEN
469
471 . tag_node_2ry)
473 . tag_node_2ry)
474
475
476
478 . tag_node_2ry)
479
481 . tag_node_2ry)
483 . tag_node_2ry)
485 . tag_node_2ry)
486
487 ELSEIF (ilev==20 .OR. ilev==21 .OR. ilev==22) THEN
488
490 . tag_node_2ry)
492 . tag_node_2ry)
493
494
495
497 . tag_node_2ry)
499 . tag_node_2ry)
501 . tag_node_2ry)
503 . tag_node_2ry)
504
506
507 ELSEIF (ilev == 25) THEN
509 . tag_node_2ry)
511 . tag_node_2ry)
513 . tag_node_2ry)
515 . tag_node_2ry)
517 . tag_node_2ry)
519 . tag_node_2ry)
521 . tag_node_2ry)
523 . tag_node_2ry)
524 ELSEIF (ilev == 26) THEN
526 . tag_node_2ry)
528 . tag_node_2ry)
530 . tag_node_2ry)
532 . tag_node_2ry)
534 . tag_node_2ry)
536 . tag_node_2ry)
538 . tag_node_2ry)
540 . tag_node_2ry)
541 ELSEIF (ilev == 27) THEN
543 . tag_node_2ry)
545 . tag_node_2ry)
547 . tag_node_2ry)
549 . tag_node_2ry)
551 . tag_node_2ry) !jd(33)
553 . tag_node_2ry)
555 . tag_node_2ry)
557 . tag_node_2ry)
558
559 ELSEIF (ilev == 28) THEN
561 . tag_node_2ry)
563 . tag_node_2ry)
565 . tag_node_2ry)
567 . tag_node_2ry)
569 . tag_node_2ry) !jd(33)
571 . tag_node_2ry)
573 . tag_node_2ry)
575 . tag_node_2ry)
576
577 ELSEIF(ipari(17,ni)/=0)THEN
578
579
580
582 . tag_node_2ry)
584 . tag_node_2ry)
585
586 ENDIF
587
589
590 DEALLOCATE(tag_node_2ry,tag_segm,tag_segm2,tag,tag_irtl)
591
592
593 ELSEIF(ityp == 3)THEN
594
595
596 IF(proc==0) THEN
597
599 CALL copy_ival(intbuf_tab(ni)%IRECTM,nrtm,4)
602 CALL copy_ival(intbuf_tab(ni)%IRTLM,nsn,1)
603 CALL copy_ival(intbuf_tab(ni)%ILOCS,nsn,1)
604 CALL copy_ival(intbuf_tab(ni)%NSEGM,1+nmn,1)
605 CALL copy_ival(intbuf_tab(ni)%IRTLS,nmn,1)
606 CALL copy_ival(intbuf_tab(ni)%ILOCM,nmn,1)
607 CALL copy_ival(intbuf_tab(ni)%IRTLOM,nsn,1)
608 CALL copy_ival(intbuf_tab(ni)%IRTLOS,nmn,1)
609 CALL copy_ival(intbuf_tab(ni)%NSEGS,1+nsn,1)
610 CALL copy_ival(intbuf_tab(ni)%LNSV,nst,1)
611 CALL copy_ival(intbuf_tab(ni)%LMSR,nmt,1)
612
613
615 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
616 CALL copy_rval(intbuf_tab(ni)%CSTS,nsn,2)
617 CALL copy_rval(intbuf_tab(ni)%STFNS,nsn,1)
618 IF (mfrot/=0)THEN
619 CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
620 ENDIF
621 IF (ifq/=0) THEN
622 CALL copy_rval(intbuf_tab(ni)%S_XFILTR,1,1)
623 CALL copy_rval(intbuf_tab(ni)%S_FTSAV,nsn,3)
624 ENDIF
625 CALL copy_rval(intbuf_tab(ni)%STFM,nrtm,1)
626 CALL copy_rval(intbuf_tab(ni)%STFS,nrts,1)
627 CALL copy_rval(intbuf_tab(ni)%AREAS,nsn,1)
628 CALL copy_rval(intbuf_tab(ni)%AREAM,nmn,1)
629 CALL copy_rval(intbuf_tab(ni)%CSTM,nmn,2)
630 CALL copy_rval(intbuf_tab(ni)%STFNM,nmn,1)
631 CALL copy_rval(intbuf_tab(ni)%FRICOS,nsn,3)
632 CALL copy_rval(intbuf_tab(ni)%FRICOM,nmn,3)
633 ENDIF
634
635
636 ELSEIF(ityp == 4)THEN
637
638 IF(proc==0) THEN
639
640 CALL copy_ival(intbuf_tab(ni)%IRECTS,nrts,4)
641 CALL copy_ival(intbuf_tab(ni)%IRECTM,nrtm,4)
644 CALL copy_ival(intbuf_tab(ni)%IRTLM,nsn,1)
645 CALL copy_ival(intbuf_tab(ni)%IELES,nrts,1)
646 CALL copy_ival(intbuf_tab(ni)%IRTLS,nmn,1)
647 CALL copy_ival(intbuf_tab(ni)%ILOCS,nsn,1)
648 CALL copy_ival(intbuf_tab(ni)%ILOCM,nmn,1)
649 CALL copy_ival(intbuf_tab(ni)%IRTLOM,nsn,1)
650 CALL copy_ival(intbuf_tab(ni)%IRTLOS,nmn,1)
651 CALL copy_ival(intbuf_tab(ni)%NSEGS,1+nsn,1) !kd(20)
652 CALL copy_ival(intbuf_tab(ni)%NSEGM,1+nmn,1)
653 CALL copy_ival(intbuf_tab(ni)%LNSV,nst,1)
654 CALL copy_ival(intbuf_tab(ni)%LMSR,nmt,1)
655 CALL copy_ival(intbuf_tab(ni)%IELEM,nrtm,1)
656
657
658 CALL copy_rval(intbuf_tab(ni)%CSTS,nsn,2)
659 CALL copy_rval(intbuf_tab(ni)%STFNS,nsn,1)
660 CALL copy_rval(intbuf_tab(ni)%CSTM,nmn,2)
661 CALL copy_rval(intbuf_tab(ni)%STFNM,nmn,1)
662 CALL copy_rval(intbuf_tab(ni)%STFS,nrts,1)
663 CALL copy_rval(intbuf_tab(ni)%STFM,nrtm,1)
664 CALL copy_rval(intbuf_tab(ni)%FRICOS,nsn,3)
665 CALL copy_rval(intbuf_tab(ni)%FRICOM,nmn,3)
666 IF (mfrot/=0)THEN
667 CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
668 ENDIF
669 IF (ifq/=0) THEN
670 CALL copy_rval(intbuf_tab(ni)%S_XFILTR,1,1)
671 CALL copy_rval(intbuf_tab(ni)%S_FTSAV,nsn,3)
672 ENDIF
673 ENDIF
674
675
676 ELSEIF(ityp == 5)THEN
677
678
679 IF(proc==0) THEN
680
681 CALL copy_ival(intbuf_tab(ni)%IRECTS,nrts,4)
682 CALL copy_ival(intbuf_tab(ni)%IRECTM,nrtm,4)
685 CALL copy_ival(intbuf_tab(ni)%IRTLM,nsn,1)
686 CALL copy_ival(intbuf_tab(ni)%ILOCS,nsn,1)
687 CALL copy_ival(intbuf_tab(ni)%NSEGM,1+nmn,1)
688 CALL copy_ival(intbuf_tab(ni)%IRTLS,nmn,1)
689 CALL copy_ival(intbuf_tab(ni)%ILOCM,nmn,1)
690 CALL copy_ival(intbuf_tab(ni)%IRTLOM,nsn,1)
691 CALL copy_ival(intbuf_tab(ni)%IRTLOS,nmn,1)
692 CALL copy_ival(intbuf_tab(ni)%NSEGS,1+nsn,1)
693 CALL copy_ival(intbuf_tab(ni)%LNSV,nst,1)
694 CALL copy_ival(intbuf_tab(ni)%LMSR,nmt,1)
695
696
698 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
699 CALL copy_rval(intbuf_tab(ni)%CSTS,nsn,2)
700 CALL copy_rval(intbuf_tab(ni)%STFNS,nsn,1)
701 IF (mfrot/=0)THEN
702 CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
703 ENDIF
704 IF (ifq/=0) THEN
705 CALL copy_rval(intbuf_tab(ni)%S_XFILTR,1,1)
706 CALL copy_rval(intbuf_tab(ni)%S_FTSAV,nsn,3)
707 ENDIF
708 CALL copy_rval(intbuf_tab(ni)%STFM,nrtm,1)
709 CALL copy_rval(intbuf_tab(ni)%STFS,nrts,1)
710 CALL copy_rval(intbuf_tab(ni)%AREAS,nsn,1)
711 CALL copy_rval(intbuf_tab(ni)%CSTM,nmn,2)
712 CALL copy_rval(intbuf_tab(ni)%STFNM,nmn,1)
713 CALL copy_rval(intbuf_tab(ni)%FRICOS,nsn,3)
714 CALL copy_rval(intbuf_tab(ni)%FRICOM,nmn,3)
715 ENDIF
716
717
718 ELSEIF(ityp == 6)THEN
719
720
721 IF(proc==0) THEN
722
723 CALL copy_ival(intbuf_tab(ni)%IRECTS,nrts,4)
724 CALL copy_ival(intbuf_tab(ni)%IRECTM,nrtm,4)
727 CALL copy_ival(intbuf_tab(ni)%IRTLM,nsn,1)
728 CALL copy_ival(intbuf_tab(ni)%ILOCS,nsn,1)
729 CALL copy_ival(intbuf_tab(ni)%NSEGM,1+nmn,1)
730 CALL copy_ival(intbuf_tab(ni)%IRTLS,nmn,1)
731 CALL copy_ival(intbuf_tab(ni)%ILOCM,nmn,1)
732 CALL copy_ival(intbuf_tab(ni)%IRTLOM,nsn,1)
733 CALL copy_ival(intbuf_tab(ni)%IRTLOS,nmn,1)
734 CALL copy_ival(intbuf_tab(ni)%NSEGS,1+nsn,1)
735 CALL copy_ival(intbuf_tab(ni)%LNSV,nst,1)
736 CALL copy_ival(intbuf_tab(ni)%LMSR,nmt,1)
737
738
740 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
741 CALL copy_rval(intbuf_tab(ni)%CSTS,nsn,2)
742 CALL copy_rval(intbuf_tab(ni)%STFNS,nsn,1)
743 CALL copy_rval(intbuf_tab(ni)%STFM,nrtm,1)
744 CALL copy_rval(intbuf_tab(ni)%STFS,nrts,1)
745 CALL copy_rval(intbuf_tab(ni)%CSTM,nmn,2)
746 CALL copy_rval(intbuf_tab(ni)%STFNM,nmn,1)
747 CALL copy_rval(intbuf_tab(ni)%FRICOS,nsn,3)
748 CALL copy_rval(intbuf_tab(ni)%FRICOM,nmn,3)
753 CALL copy_rval(intbuf_tab(ni)%S_ANSMX0,2,1)
754 ENDIF
755
756
757 ELSEIF(ityp == 7)THEN
758
759 ALLOCATE(tag_node_2ry(nsn_fe_l),tag_segm(nrtm_fe_l),
760 . tag_node_msr(nmn_fe_l),tag_segm2(nrtm_fe),tag_ii(ii_stok))
761
762 ALLOCATE(i710xsav(nmn))
763 i710xsav(1:nmn)=zero
764
765 tag_node_2ry(1:nsn_fe_l) = 0
766 tag_segm(1:nrtm_fe_l) = 0
767 tag_segm2(1:nrtm_fe) = 0
768 tag_node_msr(1:nmn_fe_l) = 0
769 tag_ii(1:ii_stok) = 0
770 IF (multi_fvm%IS_USED .AND. inacti==7) THEN
771 type18_law151 = .true.
772
773
775 . intercep(1,ni),tag_node_2ry,tag_segm ,
776 . tag_segm2 ,tag_nm ,tag_node_msr,
777 . tag_scratch ,ni, cep, multi_fvm,i710xsav,
778 . nindx_nm ,indx_nm,nindx_scrt,indx_scrt,nodlocal,
779 . numnod_l)
780 IF(ii_stok>0)THEN
782 . tag_ii )
783 ENDIF
784
786 . tag_segm,nodlocal)
787 CALL copy_ival(intbuf_tab(ni)%IRECTM,nrtm_ige,4)
788
789
791 . tag_node_2ry,cel)
792
794
796 . tag_node_msr,nodlocal)
797
799
800 IF(intth>0)THEN
802 . tag_node_2ry)
804 . tag_segm)
805 ENDIF
806
807 IF(nisub>0)THEN
808 CALL copy_ival(intbuf_tab(ni)%LISUB,nisub,1)
809 CALL copy_ival(intbuf_tab(ni)%TYPSUB,nisub,1)
810 CALL split_nisub_i7(intbuf_tab(ni), nsn_fe_l, tag_node_2ry, nrtm_fe_l,
811 . tag_segm , nisubs_l, nisubm_l)
812 ENDIF
813
814
815
816 CALL split_cand_i7(proc , intbuf_tab(ni), nsn_fe , nsn_fe_l ,
817 . tag_segm2, ii_stok , multimp , ncont ,
818 . noint , inacti , tag_scratch ,
819 . ii_stok_l, ityp ,nindx_scrt,indx_scrt,nodlocal,
820 . numnod_l,numnod,numels,len_cep,cep,type18_law151)
821
823
824 IF (ifq>0)THEN
826 . ii_stok_l,tag_ii,multimp,ncont)
827 ENDIF
828
829 IF(flagremnode == 2) THEN
831 . tag_segm2,nremnode_l , nodlocal, itab,numnod_l)
832 ENDIF
833
834 siz = intbuf_tab_l(ni)%S_NIGE
835 CALL copy_ival(intbuf_tab(ni)%NIGE,siz,1)
836
837
839 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
840
843
844 IF(igap/=0)THEN
847 ENDIF
848
849 siz = intbuf_tab_l(ni)%S_XSAV
850 intbuf_tab(ni)%XSAV(1:siz) = 0
851 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
852
853 siz = intbuf_tab_l(ni)%S_CRIT
854 CALL copy_rval(intbuf_tab(ni)%CRIT,siz,1)
855
856 IF (mfrot/=0) THEN
857 CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
858 ENDIF
859
860 IF (ifq/=0) THEN
861 CALL copy_rval(intbuf_tab(ni)%XFILTR,1,1)
862 ENDIF
863
864 IF(intth>0) THEN
866 ENDIF
867
868 IF(igap==3)THEN
871 ENDIF
872
873
874 IF(inacti==5.OR.inacti==6.OR.inacti==7)THEN
876 . ii_stok_l,tag_ii,multimp,ncont)
877 ENDIF
878
879 IF(ifq/=0)THEN
881 . ii_stok_l,tag_ii,multimp,ncont)
883 . ii_stok_l,tag_ii,multimp,ncont)
885 . ii_stok_l,tag_ii,multimp,ncont)
886 ENDIF
887
888 siz = intbuf_tab_l(ni)%S_RIGE
889 CALL copy_rval(intbuf_tab(ni)%RIGE,siz,1)
890 siz = intbuf_tab_l(ni)%S_XIGE
891 CALL copy_rval(intbuf_tab(ni)%XIGE,siz,1)
892 siz = intbuf_tab_l(ni)%S_VIGE
893 CALL copy_rval(intbuf_tab(ni)%VIGE,siz,1)
894 siz = intbuf_tab_l(ni)%S_MASSIGE
895 CALL copy_rval(intbuf_tab(ni)%MASSIGE,siz,1)
896
897 siz = intbuf_tab_l(ni)%S_CAND_F
898 CALL copy_rval(intbuf_tab(ni)%CAND_F,siz,1)
899 ELSE
900
902 . intercep(1,ni),tag_node_2ry,tag_segm ,
903 . tag_segm2 ,tag_nm ,tag_node_msr,
904 . tag_scratch ,ni, cep, multi_fvm,i710xsav,
905 . nindx_nm ,indx_nm,nindx_scrt,indx_scrt,nodlocal,
906 . numnod_l)
907
908 IF(ii_stok>0)THEN
910 . tag_ii )
911 ENDIF
912
913
914
916 . tag_segm,nodlocal)
917 CALL copy_ival(intbuf_tab(ni)%IRECTM,nrtm_ige,4)
918
920 . tag_node_2ry,nodlocal)
921
923
925 . tag_node_msr,nodlocal)
926
928
929 IF(intth>0)THEN
931 . tag_node_2ry)
933 . tag_segm)
934 ENDIF
935
936 IF(nisub>0)THEN
937 CALL copy_ival(intbuf_tab(ni)%LISUB,nisub,1)
938 CALL copy_ival(intbuf_tab(ni)%TYPSUB,nisub,1)
939 CALL split_nisub_i7(intbuf_tab(ni), nsn_fe_l, tag_node_2ry, nrtm_fe_l,
940 . tag_segm , nisubs_l, nisubm_l)
941 ENDIF
942
943
944
945 CALL split_cand_i7(proc , intbuf_tab(ni), nsn_fe , nsn_fe_l ,
946 . tag_segm2, ii_stok , multimp , ncont ,
947 . noint , inacti , tag_scratch ,
948 . ii_stok_l, ityp ,nindx_scrt,indx_scrt,nodlocal,
949 . numnod_l,numnod,numels,len_cep,cep,type18_law151)
950
952
953 IF (ifq>0)THEN
955 . ii_stok_l,tag_ii,multimp,ncont)
956 ENDIF
957
958 IF(intfric>0)THEN
960 . tag_node_2ry)
962 . tag_segm)
963 IF(intbuf_fric_tab(intfric)%IORTHFRIC > 0) THEN
965 . tag_segm)
966
967 ENDIF
968 ENDIF
969
970 IF(flagremnode == 2) THEN
972 . tag_segm2,nremnode_l , nodlocal, itab,numnod_l)
973 ENDIF
974
975 siz = intbuf_tab_l(ni)%S_NIGE
976 CALL copy_ival(intbuf_tab(ni)%NIGE,siz,1)
977
978
980 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
981
984
985 IF(igap/=0)THEN
988 ENDIF
989
990 siz = intbuf_tab_l(ni)%S_XSAV
991 intbuf_tab(ni)%XSAV(1:siz) = 0
992 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
993
994 siz = intbuf_tab_l(ni)%S_CRIT
995 CALL copy_rval(intbuf_tab(ni)%CRIT,siz,1)
996
997 IF (mfrot/=0) THEN
998 CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
999 ENDIF
1000
1001 IF (ifq/=0) THEN
1002 CALL copy_rval(intbuf_tab(ni)%XFILTR,1,1)
1003 ENDIF
1004
1005 IF(intth>0) THEN
1007 ENDIF
1008
1009 IF(igap==3)THEN
1012 ENDIF
1013
1014
1015 IF(inacti==5.OR.inacti==6.OR.inacti==7)THEN
1017 . ii_stok_l,tag_ii,multimp,ncont)
1018 ENDIF
1019
1020 IF(ifq/=0)THEN
1022 . ii_stok_l,tag_ii,multimp,ncont)
1024 . ii_stok_l,tag_ii,multimp,ncont)
1026 . ii_stok_l,tag_ii,multimp,ncont)
1027 ENDIF
1028
1029 siz = intbuf_tab_l(ni)%S_RIGE
1030 CALL copy_rval(intbuf_tab(ni)%RIGE,siz,1)
1031 siz = intbuf_tab_l(ni)%S_XIGE
1032 CALL copy_rval(intbuf_tab(ni)%XIGE,siz,1)
1033 siz = intbuf_tab_l(ni)%S_VIGE
1034 CALL copy_rval(intbuf_tab(ni)%VIGE,siz,1)
1035 siz = intbuf_tab_l(ni)%S_MASSIGE
1036 CALL copy_rval(intbuf_tab(ni)%MASSIGE,siz,1)
1037
1038 siz = intbuf_tab_l(ni)%S_CAND_F
1039 CALL copy_rval(intbuf_tab(ni)%CAND_F,siz,1)
1040
1041 IF(intfric>0)THEN
1042 IF(intbuf_fric_tab(intfric)%IORTHFRIC > 0) THEN
1044 . tag_segm)
1045 ENDIF
1046 ENDIF
1047
1048 ENDIF
1049 DEALLOCATE(tag_node_2ry,tag_segm,tag_segm2,
1050 . tag_node_msr,tag_ii)
1051 DEALLOCATE(i710xsav)
1052
1053 ELSEIF(ityp == 8)THEN
1054
1055 nbt8 = nbt8 + 1
1056 ALLOCATE(tag_node_2ry(nsn),tag_segm(nrtm_l),tag_node_msr2(nmn),
1057 . tag_node_msr(nmn_l),tag_segm2(nrtm),tag_ii(ii_stok),
1058 . tag_lmsr(nmt_l), tag_nseg(nmn_l+1),
1059 . tag_lmsr2(nmt), tag_nseg2(nmn+1))
1060
1061 tag_node_2ry(1:nsn) = 0
1062 tag_segm(1:nrtm_l) = 0
1063 tag_segm2(1:nrtm) = 0
1064 tag_node_msr(1:nmn_l) = 0
1065 tag_node_msr2(1:nmn) = 0
1066 tag_lmsr(1:nmt_l) = 0
1067 tag_lmsr2(1:nmt) = 0
1068 tag_ii(1:ii_stok) = 0
1069 tag_nseg2(1:nmn+1) = 0
1070 tag_nseg(1:nmn_l+1) = 0
1071
1072
1074 . intercep(1,ni),tag_node_2ry,tag_segm ,
1075 . tag_segm2 ,tag_nm ,tag_node_msr,
1076 . tag_node_msr2 ,tag_lmsr ,tag_lmsr2,
1077 . tag_nseg ,tag_nseg2,
1078 . ni, t8(proc+1,nbt8),itab,nindx_nm,indx_nm)
1079
1080
1081
1082
1083
1084
1085
1086
1088 . tag_segm,tag_node_msr2)
1089
1091
1093 . tag_node_msr,nodlocal)
1094
1095
1096
1098 . tag_segm2)
1099
1101
1102
1103!
CALL copy_ival(intbuf_tab(ni)%ILOCS,nsn,1)
1104
1106 . tag_node_msr2)
1107
1108
1109
1110
1111
1112
1113
1115
1116 CALL copy_ival(intbuf_tab(ni)%IRTLOM,nsn,1)
1117
1118
1119
1120
1121
1123 . tag_lmsr,tag_segm2)
1124
1125
1126 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1127
1128 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1129 CALL copy_rval(intbuf_tab(ni)%CSTS,nsn,2)
1130
1132
1133
1134 IF(iform==2)THEN
1135 CALL copy_rval(intbuf_tab(ni)%FTSAVX,nsn,1)
1136 CALL copy_rval(intbuf_tab(ni)%FTSAVX,nsn,1)
1137 CALL copy_rval(intbuf_tab(ni)%FTSAVX,nsn,1)
1138 ENDIF
1142
1143
1144
1145
1146 IF(nspmd > 1)
CALL w_type8(proc,t8(proc+1,nbt8))
1147
1148
1149 DEALLOCATE(tag_node_2ry,tag_segm,tag_node_msr2,
1150 . tag_node_msr,tag_segm2,tag_ii,
1151 . tag_nseg2,tag_nseg, tag_lmsr2,tag_lmsr)
1152
1153
1154 ELSEIF(ityp == 9)THEN
1155
1156 ALLOCATE(tag_node_2ry(nsn_l), tag_node_msr(nmn_l),
1157 . tag_ieles(nrts_l) , tag_ielem(nrtm_l) )
1158
1159 tag_node_2ry(1:nsn_l) = 0
1160 tag_node_msr(1:nmn_l) = 0
1161 tag_ieles(1:nrts_l) = 0
1162 tag_ielem(1:nrtm_l) = 0
1163
1164
1166 . tag_node_2ry ,tag_node_msr ,tag_scratch ,
1167 . tag_ieles ,tag_ielem ,
1168 . cep ,cel ,nindx_scrt ,indx_scrt)
1169
1170 CALL copy_ival(intbuf_tab(ni)%IRECTS,nrts,4)
1171 CALL copy_ival(intbuf_tab(ni)%IRECTM,nrtm,4)
1172
1174
1176
1177 CALL copy_ival(intbuf_tab(ni)%IRTLM,nsn,1)
1178
1179
1180
1182
1183 CALL copy_ival(intbuf_tab(ni)%ILOCS,nsn,1)
1184 CALL copy_ival(intbuf_tab(ni)%NSEGM,1+nmn,1)
1185 CALL copy_ival(intbuf_tab(ni)%IRTLS,nmn,1)
1186 CALL copy_ival(intbuf_tab(ni)%ILOCM,nmn,1)
1187 CALL copy_ival(intbuf_tab(ni)%IRTLOM,nsn,1)
1188 CALL copy_ival(intbuf_tab(ni)%IRTLOS,nmn,1)
1189 CALL copy_ival(intbuf_tab(ni)%NSEGS,1+nsn,1)
1190 CALL copy_ival(intbuf_tab(ni)%LNSV,nst,1)
1191 CALL copy_ival(intbuf_tab(ni)%LMSR,nmt,1)
1193
1194
1195 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1196 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1197 CALL copy_rval(intbuf_tab(ni)%CSTS,nsn,2)
1198
1199 CALL copy_rval(intbuf_tab(ni)%STFNS,nsn,1)
1200 CALL copy_rval(intbuf_tab(ni)%STFM,nrtm,2)
1201 CALL copy_rval(intbuf_tab(ni)%STFS,nrts,1)
1203 CALL copy_rval(intbuf_tab(ni)%CSTM,nmn,2)
1204 CALL copy_rval(intbuf_tab(ni)%STFNM,nmn,1)
1205 CALL copy_rval(intbuf_tab(ni)%FRICOS,nsn,3)
1206 CALL copy_rval(intbuf_tab(ni)%FRICOM,nmn,3)
1207 IF (mfrot/=0)THEN
1208 CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
1209 ENDIF
1210 IF (ifq/=0) THEN
1211 CALL copy_rval(intbuf_tab(ni)%S_XFILTR,1,1)
1212 CALL copy_rval(intbuf_tab(ni)%S_FTSAV,nsn,3)
1213 ENDIF
1214
1215 DEALLOCATE(tag_node_2ry, tag_node_msr, tag_ieles, tag_ielem)
1216
1217
1218 ELSEIF(ityp == 10)THEN
1219
1220
1221 ALLOCATE(tag_node_2ry(nsn_l),tag_segm(nrtm_l),
1222 . tag_node_msr(nmn_l),tag_segm2(nrtm),tag_ii(ii_stok))
1223
1224 ALLOCATE(i710xsav(nmn))
1225
1226 tag_node_2ry(1:nsn_l) = 0
1227 tag_segm(1:nrtm_l) = 0
1228 tag_segm2(1:nrtm) = 0
1229 tag_node_msr(1:nmn_l) = 0
1230 tag_ii(1:ii_stok) = 0
1231
1232
1234 . intercep(1,ni),tag_node_2ry,tag_segm ,
1235 . tag_segm2 ,tag_nm ,tag_node_msr,
1236 . tag_scratch ,ni, cep, multi_fvm,i710xsav,
1237 . nindx_nm ,indx_nm,nindx_scrt,indx_scrt,nodlocal,
1238 . numnod_l)
1239
1240 IF(ii_stok>0)THEN
1242 . tag_ii)
1243 ENDIF
1244
1245
1246
1248 . tag_segm,nodlocal)
1250 . tag_node_2ry,nodlocal)
1252 . tag_node_msr,nodlocal)
1253
1254
1255 IF(nisub>0)THEN
1256 CALL copy_ival(intbuf_tab(ni)%LISUB,nisub,1)
1257 CALL split_nisub_i7(intbuf_tab(ni), nsn_l , tag_node_2ry, nrtm_l,
1258 . tag_segm , nisubs_l, nisubm_l)
1259 ENDIF
1260
1261
1262
1264 . tag_segm2, ii_stok , multimp , ncont ,
1265 . noint , inacti , tag_scratch ,
1266 . ii_stok_l, ityp ,nindx_scrt,indx_scrt,nodlocal,
1267 . numnod_l,numnod,numels,len_cep,cep,type18_law151)
1268
1270
1271
1272
1273 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1274 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1275
1278
1279 IF(igap/=0)THEN
1282 ELSE
1283 siz = intbuf_tab_l(ni)%S_GAP_M
1284 CALL copy_rval(intbuf_tab(ni)%GAP_M,siz,1)
1285
1286 siz = intbuf_tab_l(ni)%S_GAP_S
1287 CALL copy_rval(intbuf_tab(ni)%GAP_S,siz,1)
1288 ENDIF
1289
1290 siz = intbuf_tab_l(ni)%S_XSAV
1291 intbuf_tab(ni)%XSAV(1:siz) = 0
1292 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
1293
1294 siz = intbuf_tab_l(ni)%S_CRIT
1295 CALL copy_rval(intbuf_tab(ni)%CRIT,siz,1)
1296
1297 IF(inacti==5.OR.inacti==6.OR.inacti==7)THEN
1299 . ii_stok_l,tag_ii,multimp,ncont)
1300 ELSE
1301 siz = intbuf_tab_l(ni)%S_CAND_F
1302 CALL copy_rval(intbuf_tab(ni)%CAND_F,siz,1)
1303 ENDIF
1304
1305 DEALLOCATE(tag_node_2ry,tag_segm,tag_segm2,
1306 . tag_node_msr,tag_ii)
1307 DEALLOCATE(i710xsav)
1308
1309
1310 ELSEIF(ityp == 11)THEN
1311
1312 ALLOCATE(tag_node_2ry(nsn_l),tag_segm(nrtm_l),
1313 . tag_segm2(nrtm),tag_segs(nrts_l),
1314 . tag_ii(ii_stok),tag_node_msr(nmn_l),tag_seg2s(nrts))
1315
1316 tag_node_2ry(1:nsn_l) = 0
1317 tag_segm(1:nrtm_l) = 0
1318 tag_segm2(1:nrtm) = 0
1319 tag_segs(1:nrts_l) = 0
1320 tag_seg2s(1:nrts) = 0
1321 tag_ii(1:ii_stok) = 0
1322 tag_node_msr(1:nmn_l) = 0
1323
1324
1326 . tag_node_2ry, tag_segm , tag_segm2 ,
1327 . tag_nm , tag_segs , tag_node_msr,
1328 .
1329 . nindx_scrt ,indx_scrt ,tag_seg2s)
1330
1331 IF(ii_stok>0)THEN
1333 . tag_ii)
1334 ENDIF
1335
1336
1338 . tag_segs,nodlocal)
1340 . tag_segm,nodlocal)
1342 . tag_node_2ry,nodlocal)
1344 . tag_node_msr,nodlocal)
1345
1346 IF(intth>0) THEN
1348 . tag_segs)
1350 . tag_segm)
1351 ENDIF
1352
1353
1354 IF(nisub>0)THEN
1355 CALL copy_ival(intbuf_tab(ni)%LISUB,nisub,1)
1356 CALL copy_ival(intbuf_tab(ni)%TYPSUB,nisub,1)
1357
1359 . tag_segm , nisubs_l, nisubm_l)
1360 ENDIF
1361
1362
1363
1365 . tag_segm2 , tag_segs , ii_stok, multimp,
1366 . ncont , noint , inacti ,
1367 . tag_scratch, intercep , ni , ipari_l,
1368 . ii_stok_l ,nindx_scrt ,indx_scrt)
1369
1371
1372 IF (mfrot == 2)THEN
1374 . multimp, ncont)
1375 ENDIF
1376
1377 IF(intfric>0)THEN
1379 . tag_segs)
1381 . tag_segm)
1382 ENDIF
1383
1384 IF(flagremnode == 2) THEN
1386 . tag_segm2, nodlocal, itab,numnod_l,tag_seg2s,
1387 . nremnode_l)
1388 ENDIF
1389
1390
1391 siz = intbuf_tab_l(ni)%S_ADCCM
1392 CALL copy_ival(intbuf_tab(ni)%ADCCM,siz,1)
1393
1394
1395 siz = intbuf_tab_l(ni)%S_CHAIN
1396 CALL copy_ival(intbuf_tab(ni)%CHAIN,siz,1)
1397
1398
1399 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1400 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1401
1404
1407
1410
1411 siz = intbuf_tab_l(ni)%S_XSAV
1412 intbuf_tab(ni)%XSAV(1:siz) = 0
1413 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
1414
1415 siz = intbuf_tab_l(ni)%S_CRIT
1416 CALL copy_rval(intbuf_tab(ni)%CRIT,siz,1)
1417
1418 IF(intth>0) THEN
1420 . tag_segs)
1422 . tag_segm)
1423 ENDIF
1424
1425 IF(igap == 3)THEN
1428 ENDIF
1429
1430 IF(mfrot == 2)THEN
1431 intbuf_tab(ni)%FTSAVX(1:multimp*ncont) = 0
1432 intbuf_tab(ni)%FTSAVY(1:multimp*ncont) = 0
1433 intbuf_tab(ni)%FTSAVZ(1:multimp*ncont) = 0
1434
1436 . ii_stok_l,tag_ii,multimp,ncont)
1438 . ii_stok_l,tag_ii,multimp,ncont)
1440 . ii_stok_l,tag_ii,multimp,ncont)
1441 ENDIF
1442
1443 DEALLOCATE(tag_node_2ry,tag_segm,tag_segm2,tag_segs,
1444 . tag_node_msr,tag_ii,tag_seg2s)
1445
1446
1447 ELSEIF(ityp == 12)THEN
1448
1449
1450 IF(proc==0) THEN
1451
1452 CALL copy_ival(intbuf_tab(ni)%IRECTS,nrts,4)
1453 CALL copy_ival(intbuf_tab(ni)%IRECTM,nrtm,4)
1456 CALL copy_ival(intbuf_tab(ni)%IRTLM,nsn,1)
1457 CALL copy_ival(intbuf_tab(ni)%IELES,nrts,1)
1458 CALL copy_ival(intbuf_tab(ni)%ILOCS,nsn,1)
1459 CALL copy_ival(intbuf_tab(ni)%NSEGM,1+nmn,1)
1460 CALL copy_ival(intbuf_tab(ni)%IRTLS,nmn,1)
1461 CALL copy_ival(intbuf_tab(ni)%ILOCM,nmn,1)
1462 CALL copy_ival(intbuf_tab(ni)%NSEGS,1+nsn,1)
1463 CALL copy_ival(intbuf_tab(ni)%LNSV,nst,1)
1464 CALL copy_ival(intbuf_tab(ni)%LMSR,nmt,1)
1465 CALL copy_ival(intbuf_tab(ni)%IELEM,nrtm,1)
1466 CALL copy_ival(intbuf_tab(ni)%FCOUNT,nsn,1)
1467
1468
1469 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1470 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1471 CALL copy_rval(intbuf_tab(ni)%CSTS,nsn,2)
1472 CALL copy_rval(intbuf_tab(ni)%NMAS,nmn,1)
1473 IF(ilev>0)
CALL copy_rval(intbuf_tab(ni)%STFNS,nsn,1)
1474 CALL copy_rval(intbuf_tab(ni)%CSTM,nmn,2)
1475 IF(ilev>0)
CALL copy_rval(intbuf_tab(ni)%STFNM,nmn,1)
1476 ENDIF
1477
1478
1479 ELSEIF(ityp == 14)THEN
1480
1481
1482 IF(proc==0) THEN
1483
1485 CALL copy_ival(intbuf_tab(ni)%KSURF,1,1)
1486 CALL copy_ival(intbuf_tab(ni)%IMPACT,nsn,1)
1487
1488
1489 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1490 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1491 CALL copy_rval(intbuf_tab(ni)%CIMP,nsn,3)
1492 CALL copy_rval(intbuf_tab(ni)%NIMP,nsn,3)
1493 ENDIF
1494
1495
1496 ELSEIF(ityp == 15)THEN
1497
1498
1499 IF(proc==0) THEN
1500
1503 CALL copy_ival(intbuf_tab(ni)%KSURF,1,1)
1504 CALL copy_ival(intbuf_tab(ni)%IMPACT,nrts,4)
1505
1506
1507 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1508 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1509
1510 CALL copy_rval(intbuf_tab(ni)%IOLD,nrts,3*4)
1511 CALL copy_rval(intbuf_tab(ni)%HOLD,nrts,3*4)
1512 CALL copy_rval(intbuf_tab(ni)%NOLD,nrts,3*4)
1513 CALL copy_rval(intbuf_tab(ni)%DOLD,nrts,3*4)
1514 ENDIF
1515
1516
1517 ELSEIF(ityp == 16)THEN
1518
1519
1520 IF(proc==0) THEN
1521 ncont = nsn_l
1522
1523
1524 CALL copy_ival(intbuf_tab(ni)%IRECTS,nrts,4)
1525 CALL copy_ival(intbuf_tab(ni)%CAND_E,multimp*ncont,1)
1526 CALL copy_ival(intbuf_tab(ni)%CAND_N,multimp*ncont,1)
1527
1528
1529 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1530 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1531
1532 siz = intbuf_tab_l(ni)%S_XSAV
1533 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
1534 ENDIF
1535
1536
1537 ELSEIF(ityp == 17)THEN
1538
1539 ALLOCATE(tag_node_2ry(nsn_l), tag_node_msr(nme_l))
1540
1541 ncont = nsn_l
1542 tag_node_2ry(1:nsn_l) = 0
1543 tag_node_msr(1:nme_l) = 0
1544
1545
1547 . tag_node_2ry ,tag_node_msr ,
1548 . cep ,cel ,igrbric,
1549 . nsn_l, nme_l )
1550
1551
1552
1553 CALL copy_ival(intbuf_tab(ni)%IRECTS,nrts,4)
1554 CALL copy_ival(intbuf_tab(ni)%CAND_E,multimp*ncont,1)
1555 CALL copy_ival(intbuf_tab(ni)%CAND_N,multimp*ncont,1)
1556
1557
1558 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1559 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1560
1561 siz = intbuf_tab_l(ni)%S_XSAV
1562 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
1563
1568
1569 DEALLOCATE(tag_node_2ry, tag_node_msr)
1570
1571
1572 ELSEIF(ityp == 18)THEN
1573
1574
1575
1576
1577
1578 ELSEIF(ityp == 20)THEN
1579
1580
1581 ALLOCATE(tag_node_2ry(nsn_l),tag_segm(nrtm_l),tag_node_msr(nmn_l),
1582 . tag_segm2(nrtm),tag_ii(ii_stok), tage_ii(ii_stok_e),
1583 . tag_nlins(nlins_l),tag_nlinm(nlinm_l),
1584 . tag_nlins2(nlins),tag_nlinm2(nlinm),
1585 . tag_nlg(nln_l),tag_nlg2(numnod), tag_nsne(nsne_l),
1586 . tag_nmne(nmne_l),tag_nsve(nsne_l),tag_msre(nmne_l) )
1587
1588 tag_node_2ry(1:nsn_l) = 0
1589 tag_segm(1:nrtm_l) = 0
1590 tag_segm2(1:nrtm) = 0
1591 tag_ii(1:ii_stok) = 0
1592 tage_ii(1:ii_stok_e) = 0
1593 tag_node_msr(1:nmn_l) = 0
1594 tag_nlins(1:nlins_l) = 0
1595 tag_nlinm(1:nlinm_l) = 0
1596 tag_nlins2(1:nlins) = 0
1597 tag_nlinm2(1:nlinm) = 0
1598 tag_nlg(1:nln_l) = 0
1599 tag_nlg2(1:numnod) = 0
1600 tag_nsne(1:nsne_l) = 0
1601 tag_nmne(1:nmne_l) = 0
1602 tag_nsve(1:nsne_l) = 0
1603 tag_msre(1:nmne_l) = 0
1604
1605
1607 . proc , intbuf_tab(ni),ipari(1,ni) ,
1608 . tag_node_2ry, tag_segm , tag_node_msr ,
1609 . tag_segm2 , tag_nm , tag_nlins, tag_nlinm,
1610 . tag_nlins2 , tag_nlinm2, tag_nlg ,tag_nlg2,
1611 . tag_scratch , intercep , ipari_l , ni, tag_nsne,
1612 . tag_nmne , tag_nsve , tag_msre ,nindx_nm,indx_nm,
1613 . nindx_scrt ,indx_scrt)
1614
1615
1616
1618 . nrtm_l,4,tag_segm,tag_nlg2)
1619
1621 . nsn_l,1,tag_node_2ry,tag_nlg2)
1622
1624 . nmn_l,1,tag_node_msr,tag_nlg2)
1625
1626 IF(intth>0)THEN
1628 . tag_node_2ry)
1630 . tag_segm)
1631 ENDIF
1632
1633 IF(nisub>0)THEN
1634 CALL copy_ival(intbuf_tab(ni)%LISUB,nisub,1)
1635 CALL split_nisub_i7(intbuf_tab(ni), nsn_l , tag_node_2ry, nrtm_l,
1636 . tag_segm , nisubs_l, nisubm_l)
1637 ENDIF
1638
1639
1640 IF(ii_stok>0)THEN
1642 . tag_ii)
1643 ENDIF
1644
1645
1647 . tag_segm2, ii_stok , multimp , ncont ,
1648 . noint , inacti , tag_scratch ,
1649 . ii_stok_l,ipari_l,ni ,nindx_scrt,indx_scrt)
1651
1652 IF(ii_stok_e>0)THEN
1654 ENDIF
1656 . tag_nlins2, ii_stok_e , multimp , nconte ,
1657 . noint , inacti , tag_scratch ,
1658 . ii_stok_e_l,ipari_l,ni ,nindx_scrt,indx_scrt)
1660
1661 IF (ifq>0)THEN
1662 siz = intbuf_tab(ni)%S_IFPEN
1663 intbuf_tab(ni)%IFPEN(1:siz) = 0
1664 CALL copy_ival(intbuf_tab(ni)%IFPEN,multimp*ncont,1)
1665 ENDIF
1666
1670
1671 siz = intbuf_tab_l(ni)%S_DAANC6
1672 ALLOCATE(ibuf8_l(siz))
1673 ibuf8_l(1:siz)=0
1674 DO k=1,nln
1675 n = intbuf_tab(ni)%NLG(k)
1678
1680 . intbuf_tab(ni)%DAANC6(36*(k-1)+1) ,18 )
1681 ENDIF
1682 ENDDO
1684 DEALLOCATE(ibuf8_l)
1685
1688
1690 . nlins_l,2,tag_nlins,tag_nlg2)
1691
1693 . nlinm_l,2,tag_nlins,tag_nlg2)
1694
1695
1696
1698
1700
1701
1702 siz = intbuf_tab_l(ni)%S_ADCCM20
1703 CALL copy_ival(intbuf_tab(ni)%ADCCM20,siz,1)
1704
1705
1706 siz = intbuf_tab_l(ni)%S_CHAIN20
1707 CALL copy_ival(intbuf_tab(ni)%CHAIN20,siz,1)
1708
1709
1710
1711
1712 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1713 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1714
1719
1720 IF(igap/=0)THEN
1723 ENDIF
1724
1725 siz = intbuf_tab_l(ni)%S_XSAV
1726 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
1727
1728 siz = intbuf_tab(ni)%S_CRIT
1729 CALL copy_rval(intbuf_tab(ni)%CRIT,siz,1)
1730
1731 IF (mfrot/=0) THEN
1732 CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
1733 ENDIF
1734
1735 IF (ifq/=0) THEN
1736 CALL copy_rval(intbuf_tab(ni)%XFILTR,1,1)
1737 ENDIF
1738
1739 IF(intth>0) THEN
1741 ENDIF
1742
1743 IF(inacti==5.OR.inacti==6.OR.inacti==7)THEN
1745 . ii_stok_l,tag_ii,multimp,ncont)
1746 ENDIF
1747
1748 IF(ifq/=0)THEN
1750 . ii_stok_l,tag_ii,multimp,ncont)
1752 . ii_stok_l,tag_ii,multimp,ncont)
1754 . ii_stok_l,tag_ii,multimp,ncont)
1755 ENDIF
1756
1763
1764 siz = intbuf_tab_l(ni)%S_AVX_ANCR
1765 CALL copy_rval(intbuf_tab(ni)%AVX_ANCR,siz,1)
1766
1767
1768 IF(intbuf_tab(ni)%S_CRITX > 0) THEN
1769
1770 siz = 3*(nsne_l+nmne_l)
1771 CALL write_db(intbuf_tab(ni)%CRITX,siz)
1772 ENDIF
1773
1777
1780
1781 DEALLOCATE(tag_node_2ry,tag_segm,tag_segm2,
1782 . tag_node_msr,tag_ii,tage_ii,tag_nlins,tag_nlinm,
1783 . tag_nlins2,tag_nlinm2,tag_nlg,tag_nlg2,tag_nsne,tag_nmne,
1784 . tag_nsve,tag_msre )
1785
1786
1787 ELSEIF(ityp == 21)THEN
1788
1789 nmng = ipari(8,ni)
1790 ALLOCATE(tag_node_2ry(nsn_l),tag_segm(nrtm_l),
1791 . tag_node_2ry2(nsn),tag_segs(nrts_l),
1792 . tag_node_msr(nmn_l),tag_ii(ii_stok) ,
1793 . msr_l_i21(nmng),mndd_i21(nmng))
1794
1795 tag_node_2ry(1:nsn_l) = 0
1796 tag_segm(1:nrtm_l) = 0
1797 tag_segs(1:nrts_l) = 0
1798 tag_node_2ry2(1:nsn) = 0
1799 tag_node_msr(1:nmn_l) = 0
1800
1801
1802
1804 . tag_node_2ry, tag_segm , tag_node_2ry2,
1805 . tag_segs , tag_node_msr,
1806 . tag_scratch , intercep , ni, intth ,
1807 . nodlocal , msr_l_i21,mndd_i21,nindx_scrt ,indx_scrt)
1808
1809
1810 IF(ii_stok>0)THEN
1812 . ii_stok_l,proc)
1813 ENDIF
1814
1815
1816
1818 . tag_segs,nodlocal)
1819
1821 . tag_segm)
1822
1823
1825 . tag_node_2ry,nodlocal)
1826
1828 . tag_node_msr,nodlocal)
1829
1830 IF(inacti==5.OR.inacti==6)THEN
1832 . ii_stok_l,tag_ii,nsn_l,2)
1833 ELSE
1834 ALLOCATE(tabi_zero(2*nsn_l))
1835 tabi_zero(1:2*nsn_l)=0
1837 DEALLOCATE(tabi_zero)
1838 ENDIF
1839
1840 CALL copy_ival(intbuf_tab(ni)%IELES,nrts_l,1)
1841
1842
1843 IF(inacti==5.OR.inacti==6)THEN
1845 . ii_stok_l,tag_ii,multimp*ncont,1)
1846
1848 . ii_stok_l,tag_ii,tag_node_2ry2,multimp*ncont)
1849 ELSE
1850 ALLOCATE(tabi_zero(multimp*ncont))
1851 tabi_zero(1:multimp*ncont)=0
1852 CALL copy_ival(tabi_zero,multimp*ncont,1)
1853 CALL copy_ival(tabi_zero,multimp*ncont,1)
1854 DEALLOCATE(tabi_zero)
1855 ENDIF
1856
1858
1859 IF(inacti==5.OR.inacti==6)THEN
1861 . tag_node_2ry2)
1862 ELSE
1863 ALLOCATE(tabi_zero(nsn_l))
1864 tabi_zero(1:nsn_l)=0
1866 DEALLOCATE(tabi_zero)
1867 ENDIF
1868
1869 IF(intfric>0)THEN
1871 . tag_node_2ry)
1873 . tag_segm)
1874 ENDIF
1875
1876
1877
1878
1879
1880 CALL copy_ival(intbuf_tab(ni)%MSR,nmng_l,1)
1881
1882
1883
1884 IF (intth == 2.OR.flagloadp > 0) THEN
1885
1887 ENDIF
1888
1889
1890 IF (intth == 2.OR.flagloadp > 0) THEN
1891
1893 ENDIF
1894
1895
1896 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
1897 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
1898 CALL copy_rval(intbuf_tab(ni)%CSTS,nsn_l,2)
1899 CALL copy_rval(intbuf_tab(ni)%XM0,nmng_l,3)
1901
1902
1903 IF(inacti==5.OR.inacti==6)THEN
1905 . tag_node_2ry)
1906 ELSE
1907 ALLOCATE(tabr_zero(nsn_l))
1908 tabr_zero(1:nsn_l)=0
1910 DEALLOCATE(tabr_zero)
1911 ENDIF
1912
1914 IF(igap == 2)THEN
1915 CALL split_node_rval(intbuf_tab(ni)%GAP_S(1+nsn),nsn_l,1,tag_node_2ry)
1916 ENDIF
1917
1918 siz = intbuf_tab_l(ni)%S_XSAV
1919 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
1920
1922
1924
1925 IF(inacti==5.OR.inacti==6)THEN
1927 . tag_node_2ry)
1929 . tag_node_2ry)
1931 . tag_node_2ry)
1932 ELSE
1933 ALLOCATE(tabr_zero(nsn_l))
1934 tabr_zero(1:nsn_l)=0
1938 DEALLOCATE(tabr_zero)
1939 ENDIF
1940
1941 CALL copy_rval(intbuf_tab(ni)%STF,nrtm_l,1)
1942
1943 CALL copy_rval(intbuf_tab(ni)%RCURV,nrtm_l,1)
1944
1945 CALL copy_rval(intbuf_tab(ni)%ANGLM,nrtm_l,1)
1946
1947 IF (mfrot/=0) THEN
1948 CALL copy_rval(intbuf_tab(ni)%FROT_P,10,1)
1949 ENDIF
1950
1951 CALL copy_rval(intbuf_tab(ni)%ALPHA0,1,1)
1952
1953 IF(intth > 0) THEN
1956 ENDIF
1957
1958 IF(igap>=1) THEN
1960 ENDIF
1961
1962 siz = intbuf_tab_l(ni)%S_NOD_NORMAL
1963 CALL copy_rval(intbuf_tab(ni)%NOD_NORMAL,siz,1)
1964
1965 DEALLOCATE(tag_node_2ry,tag_segm,tag_node_2ry2,tag_segs,
1966 . tag_node_msr,tag_ii,msr_l_i21,mndd_i21)
1967
1968
1969 ELSEIF(ityp == 22)THEN
1970
1971 ALLOCATE(tag_node_2ry(nsn_l),tag_segm(nrtm_l),
1972 . tag_node_msr(nmn_l),tag_segm2(nrtm),tag_ii(ii_stok))
1973
1974 ALLOCATE(i710xsav(nmn))
1975
1976 tag_node_2ry(1:nsn_l) = 0
1977 tag_segm(1:nrtm_l) = 0
1978 tag_segm2(1:nrtm) = 0
1979 tag_node_msr(1:nmn_l) = 0
1980 tag_ii(1:ii_stok) = 0
1981
1982
1984 . intercep(1,ni),tag_node_2ry,tag_segm ,
1985 . tag_segm2 ,tag_nm ,tag_node_msr,
1986 . tag_scratch ,ni, cep, multi_fvm,i710xsav,
1987 . nindx_nm ,indx_nm,nindx_scrt,indx_scrt,nodlocal,
1988 . numnod_l)
1989
1990 IF(ii_stok>0)THEN
1992 . tag_ii)
1993 ENDIF
1994
1995
1996
1998 . tag_segm,nodlocal)
2000 . tag_node_2ry,nodlocal)
2002 . tag_node_msr,nodlocal)
2003
2004 IF(intth>0)THEN
2006 . tag_node_2ry)
2008 . tag_segm)
2009 ENDIF
2010
2011 IF(nisub>0)THEN
2012 CALL copy_ival(intbuf_tab(ni)%LISUB,nisub,1)
2013 CALL split_nisub_i7(intbuf_tab(ni), nsn_l , tag_node_2ry, nrtm_l,
2014 . tag_segm , nisubs_l, nisubm_l)
2015 ENDIF
2016
2017
2018
2020 . tag_segm2, ii_stok , multimp , ncont ,
2021 . noint , inacti , tag_scratch ,
2022 . ii_stok_l, ityp ,nindx_scrt,indx_scrt,nodlocal,
2023 . numnod_l,numnod,numels,len_cep,cep,type18_law151)
2024
2026
2027 IF (ifq>0)THEN
2029 . ii_stok_l,tag_ii,multimp,ncont)
2030 ENDIF
2031
2032 IF(flagremnode == 2) THEN
2034 . tag_segm2,nremnode_l , nodlocal, itab,numnod_l)
2035 ENDIF
2036
2037
2038 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
2039 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
2040
2043
2044 IF(igap/=0)THEN
2047 ENDIF
2048
2049 siz = intbuf_tab_l(ni)%S_XSAV
2050 intbuf_tab(ni)%XSAV(1:siz) = 0
2051 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
2052
2053 siz = intbuf_tab_l(ni)%S_CRIT
2054 CALL copy_rval(intbuf_tab(ni)%CRIT,siz,1)
2055
2056 IF (mfrot/=0) THEN
2057 CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
2058 ENDIF
2059
2060 IF (ifq/=0) THEN
2061 CALL copy_rval(intbuf_tab(ni)%XFILTR,1,1)
2062 ENDIF
2063
2064 IF(intth>0) THEN
2066 ENDIF
2067
2068 IF(igap==3)THEN
2071 ENDIF
2072
2073
2074 IF(inacti==5.OR.inacti==6.OR.inacti==7)THEN
2076 . ii_stok_l,tag_ii,multimp,ncont)
2077 ENDIF
2078
2079 IF(ifq/=0)THEN
2081 . ii_stok_l,tag_ii,multimp,ncont)
2083 . ii_stok_l,tag_ii,multimp,ncont)
2085 . ii_stok_l,tag_ii,multimp,ncont)
2086 ENDIF
2087
2088 DEALLOCATE(tag_node_2ry,tag_segm,tag_segm2,
2089 . tag_node_msr,tag_ii)
2090 DEALLOCATE(i710xsav)
2091
2092 ELSEIF(ityp == 23)THEN
2093
2094 ALLOCATE(tag_node_2ry(nsn_l),tag_segm(nrtm_l),
2095 . tag_node_msr(nmn_l),tag_segm2(nrtm),tag_ii(ii_stok))
2096 ALLOCATE(i710xsav(nmn))
2097
2098 tag_node_2ry(1:nsn_l) = 0
2099 tag_segm(1:nrtm_l) = 0
2100 tag_segm2(1:nrtm) = 0
2101 tag_node_msr(1:nmn_l) = 0
2102 tag_ii(1:ii_stok) = 0
2103
2104
2106 . intercep(1,ni),tag_node_2ry,tag_segm ,
2107 . tag_segm2 ,tag_nm ,tag_node_msr,
2108 . tag_scratch ,ni, cep, multi_fvm,i710xsav,
2109 . nindx_nm ,indx_nm,nindx_scrt,indx_scrt,nodlocal,
2110 . numnod_l)
2111
2112 IF(ii_stok>0)THEN
2114 . tag_ii)
2115 ENDIF
2116
2117
2118
2119 CALL copy_ival(intbuf_tab(ni)%IRECTS,nrts_l,4)
2121 . tag_segm,nodlocal)
2122
2123
2125 . tag_node_2ry,nodlocal)
2127 . tag_node_msr,nodlocal)
2128
2129
2130
2132 . tag_segm2, ii_stok , multimp , ncont ,
2133 . noint , inacti , tag_scratch ,
2134 . ii_stok_l, ityp ,nindx_scrt,indx_scrt ,nodlocal,
2135 . numnod_l,numnod,numels,len_cep,cep,type18_law151)
2136
2138
2140 . ii_stok_l,tag_ii,multimp,ncont)
2141
2142
2143 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
2144 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
2145
2148
2149 IF(igap/=0)THEN
2152 ENDIF
2153
2154 siz = intbuf_tab_l(ni)%S_XSAV
2155 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
2156
2157 siz = intbuf_tab_l(ni)%S_CRIT
2158 CALL copy_rval(intbuf_tab(ni)%CRIT,siz,1)
2159
2160 IF(mfrot/=0)
CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
2161
2162 CALL copy_rval(intbuf_tab(ni)%XFILTR,1,1)
2163
2165 . ii_stok_l,tag_ii,multimp,ncont)
2166
2168 . ii_stok_l,tag_ii,multimp,ncont)
2170 . ii_stok_l,tag_ii,multimp,ncont)
2172 . ii_stok_l,tag_ii,multimp,ncont)
2173
2174 DEALLOCATE(tag_node_2ry,tag_segm,tag_segm2,
2175 . tag_node_msr,tag_ii )
2176 DEALLOCATE(i710xsav)
2177
2178
2179 ELSEIF(ityp == 24) THEN
2180
2181 ALLOCATE(tag_node_2ry(nsn_l),tag_segm(nrtm_l),
2182 . tag_node_msr(nmn_l),tag_segm2(nrtm),tag_ii(ii_stok))
2183 ALLOCATE(tag_segs(nrtse_l),tag_seg2s(nrtse),tag_nsne_l(nsne_l))
2184 ALLOCATE(tag_node_2ry2(nsn),tag_ielem(nrts_l),tag_segss(nrts_l))
2185
2186
2187 IF(iedge4 > 0) THEN
2188 ALLOCATE(tag_2ry_inv(nsn))
2189 ELSE
2190 ALLOCATE(tag_2ry_inv(1))
2191 ENDIF
2192
2193 tag_node_2ry(1:nsn_l) = 0
2194 tag_segm(1:nrtm_l) = 0
2195 tag_segm2(1:nrtm) = 0
2196 tag_node_msr(1:nmn_l) = 0
2197 tag_ii(1:ii_stok) = 0
2198 tag_segs(1:nrtse_l) = 0
2199 tag_seg2s(1:nrtse) = 0
2200 tag_nsne_l(1:nsne_l)=0
2201 tag_node_2ry2(1:nsn) = 0
2202 tag_ielem(1:nrts_l) = 0
2203 tag_segss(1:nrts_l) = 0
2204 IF(iedge4 > 0) tag_2ry_inv(1:nsn)=0
2205 IF(flag_init_24_25) THEN
2206 nodlocal24(1:numnod) = nodlocal(1:numnod)
2207 nodlocal24(numnod+1:numnod+i24maxnsne) = 0
2208 flag_init_24_25 = .false.
2209 ENDIF
2210
2212 . intercep(1,ni),tag_node_2ry,tag_segm ,
2213 . tag_segm2 ,tag_nm ,tag_node_msr,
2214 . tag_scratch ,nodlocal24,nodlocal ,
2215 . intercep(2,ni),numnod_l,tag_nsne_l,
2216 . tag_segs,tag_seg2s,ni,tag_2ry_inv,iedge4,
2217 . tag_node_2ry2,tag_ielem,cep,cel,tag_segss,
2218 . nindx_nm,indx_nm,nindx_scrt ,indx_scrt,
2219 . nindx_ndlocal24,indx_ndlocal24,intercep(3,ni))
2220
2221 IF(ii_stok>0)THEN
2223 . tag_ii )
2224 ENDIF
2225
2226
2227 IF(intnitsche > 0) THEN
2229 . tag_segss,tag_node_2ry2)
2230 ENDIF
2231
2233 . tag_segm,nodlocal)
2235 . tag_node_2ry,nodlocal24)
2237 . tag_node_msr,nodlocal)
2238
2240 . tag_node_2ry)
2241
2242 IF(intth>0)THEN
2244 . tag_node_2ry)
2246 . tag_segm)
2247 ENDIF
2248
2249 IF(nisub>0)THEN
2250 CALL copy_ival(intbuf_tab(ni)%LISUB,nisub,1)
2251 CALL copy_ival(intbuf_tab(ni)%TYPSUB,nisub,1)
2252 CALL split_nisub_i7(intbuf_tab(ni), nsn_l , tag_node_2ry, nrtm_l,
2253 . tag_segm , nisubs_l, nisubm_l)
2254 ENDIF
2255
2256
2257
2258 nsn0 = nsn - nsne
2259 nsn0_l = nsn_l - nsne_l
2261 . tag_segm2, ii_stok , multimp , ncont ,
2262 . noint , inacti ,tag_scratch ,ii_stok_l ,
2263 . intercep(2,ni),nindx_scrt,indx_scrt ,nodlocal ,
2264 . numnod_l )
2266
2267 IF(intfric>0)THEN
2269 . tag_node_2ry)
2271 . tag_segm)
2272 IF(intbuf_fric_tab(intfric)%IORTHFRIC > 0) THEN
2274 . tag_segm)
2275 ENDIF
2276 ENDIF
2277
2278 IF(flagremnode == 2) THEN
2280 . tag_segm2,nremnode_l , nodlocal, itab ,
2281 . intbuf_tab(ni)%IS2ID,intercep(2,ni),nsne_l ,
2282 . nodlocal24)
2283 ENDIF
2284
2285
2286 IF(ilev==2)THEN
2288 . tag_node_2ry)
2290 . tag_segm)
2291 ELSEIF(iedge>0)THEN
2293 . tag_segm)
2294 ENDIF
2295
2296 IF (iedge>0)THEN
2298 . ii_stok_l,tag_ii,multimp,ncont)
2299 ENDIF
2300 mx_vm=4
2302 . tag_segm)
2303 mx_vn=8
2305 . mx_vn,tag_segm,nodlocal)
2306
2308 . tag_segm)
2309
2311 . tag_segm, tag_segm2 )
2312 IF(iedge>0)THEN
2314 . tag_node_2ry)
2315 CALL copy_ival(intbuf_tab(ni)%ISEDGE,l24add,1)
2316 ENDIF
2317
2318 IF(intply > 0)THEN
2320 . tag_segm)
2322 . tag_segm)
2323 ENDIF
2325 . tag_node_2ry)
2326
2327
2328
2329 IF (iedge4 >0) THEN
2330
2332 . tag_segs,nodlocal,ni)
2333
2334 CALL split_seg_edge(nsne_l,intbuf_tab(ni)%IS2SE,tag_nsne_l,tag_seg2s,ni)
2335
2337 . tag_nsne_l)
2339 . tag_node_2ry)
2340
2342 . tag_node_2ry,ni,tag_2ry_inv ,proc)
2343
2345 . tag_nsne_l)
2346 END IF
2347
2348
2349 IF(intnitsche > 0)THEN
2353 ENDIF
2354
2355
2356
2357 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
2358 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
2361
2362 IF(istif_msdt > 0) THEN
2365 ENDIF
2366
2367 IF(igap/=0)THEN
2370 ENDIF
2371
2372 siz = intbuf_tab_l(ni)%S_XSAV
2373 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
2374
2375 siz = intbuf_tab_l(ni)%S_CRIT
2376 CALL copy_rval(intbuf_tab(ni)%CRIT,siz,1)
2377
2378 IF (mfrot/=0) THEN
2379 CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
2380 ENDIF
2381
2382 IF (ifq/=0) THEN
2383 CALL copy_rval(intbuf_tab(ni)%XFILTR,1,1)
2384 ENDIF
2385
2386 IF(intth>0) THEN
2388 ENDIF
2389
2390
2392 . tag_node_msr)
2393 CALL copy_rval(intbuf_tab(ni)%SECND_FR,nsn_l,6)
2394
2395
2397 . tag_node_2ry)
2398
2400 . tag_node_2ry)
2401
2402 CALL copy_rval(intbuf_tab(ni)%TIME_S,nsn_l,1)
2404 IF (iedge>0) THEN
2406 . tag_node_2ry)
2407 ENDIF
2408
2409
2410
2411 IF (intkg>0) THEN
2413 . tag_node_2ry)
2415 . tag_node_msr)
2416 ENDIF
2417
2418 IF(intply > 0)THEN
2420 CALL copy_rval(intbuf_tab(ni)%DGAP_NM,nrtm_l,4)
2421 CALL copy_rval(intbuf_tab(ni)%DGAP_M,nrtm_l,1)
2422 CALL copy_rval(intbuf_tab(ni)%DELTA_PMAX_DGAP,1,1)
2423 ENDIF
2424
2425
2426 IF (nsne>0) THEN
2428 . tag_nsne_l)
2430 . tag_nsne_l)
2431
2433 . tag_nsne_l)
2434 ENDIF
2435
2436 IF(intfric>0)THEN
2437 IF(intbuf_fric_tab(intfric)%IORTHFRIC > 0) THEN
2439 . tag_segm)
2440 ENDIF
2441 ENDIF
2442
2443
2444 IF(nindx_ndlocal24>0) THEN
2445 DO ii=1,nindx_ndlocal24
2446 i = indx_ndlocal24(ii)
2447 IF(i>numnod) THEN
2448 nodlocal24(i) = 0
2449 ELSE
2450 nodlocal24(i) = nodlocal(i)
2451 ENDIF
2452 ENDDO
2453 ENDIF
2454 nindx_ndlocal24 = 0
2455
2456 DEALLOCATE(tag_node_2ry,tag_segm,tag_segm2,
2457 . tag_node_msr,tag_ii,tag_segs)
2458 DEALLOCATE(tag_seg2s)
2459 DEALLOCATE(tag_nsne_l)
2460 DEALLOCATE(tag_2ry_inv)
2461 DEALLOCATE(tag_node_2ry2,tag_ielem,tag_segss)
2462
2463
2464 ELSEIF(ityp == 25) THEN
2465
2466 ALLOCATE(tag_node_2ry(nsn_l),tag_segm(nrtm_l),
2467 . tag_node_msr(nmn_l),tag_segm2(nrtm),tag_ii(ii_stok),
2468 . tag_sm(nadmsr),knor2msr(nadmsr_l+1),nor2msr(4*nrtm_l),
2469 . tag_node_2ry2(nsn))
2470
2471
2472 tag_node_2ry(1:nsn_l) = 0
2473 tag_segm(1:nrtm_l) = 0
2474 tag_segm2(1:nrtm) = 0
2475 tag_node_msr(1:nmn_l) = 0
2476 tag_ii(1:ii_stok) = 0
2477 tag_node_2ry2(1:nsn) = 0
2478
2479 tag_sm(1:nadmsr) = 0
2480
2481 IF(flag_init_24_25) THEN
2482 nodlocal24(1:numnod) = nodlocal(1:numnod)
2483 flag_init_24_25 = .false.
2484 ENDIF
2485
2486! nodlocal24(1:numnod) = nodlocal(1:numnod)
2487
2488 knor2msr(1:nadmsr_l+1)=0
2489 nor2msr(1:4*nrtm_l) =0
2491 . intercep(1,ni),tag_node_2ry,tag_segm ,
2492 . tag_segm2 ,tag_nm ,tag_node_msr,
2493 . tag_scratch ,tag_sm ,knor2msr ,
2494 . nor2msr ,tag_node_2ry2,nindx_nm,indx_nm,
2495 . nindx_scrt ,indx_scrt ,nrtm_l)
2496
2497 IF(ii_stok>0)THEN
2499 . tag_ii )
2500 ENDIF
2501
2502 ALLOCATE(tag_edge(nedge_l))
2503 ALLOCATE(tag_edge2(nedge))
2504 ii_stok_s_l = 0
2505 ii_stok_e_l = 0
2506 IF(iedge/=0)THEN
2507 ALLOCATE(tag_ii_e2e(ii_stok_e))
2508 ALLOCATE(tag_ii_e2s(ii_stok_s))
2509 ALLOCATE(tag_jj_e2e(ii_stok_e))
2510 ALLOCATE(tag_jj_e2s(ii_stok_s))
2512 . tag_edge, nedge_l, tag_edge2, nedge,
2513 . ii_stok_e, ii_stok_e_l, tag_ii_e2e,
2514 . ii_stok_s, ii_stok_s_l, tag_ii_e2s,
2515 . proc , ipari(63,ni),ipari(83,ni),
2516 . nrtm , tag_jj_e2e ,tag_jj_e2s )
2517 END IF
2518
2519
2520
2522 . tag_segm,nodlocal)
2524 . tag_node_2ry,nodlocal24)
2526 . tag_node_msr,nodlocal)
2527
2529 . tag_node_2ry)
2530
2531 IF(intth>0)THEN
2533 . tag_node_2ry)
2534 ENDIF
2535
2536 IF(nisub>0)THEN
2537 CALL copy_ival(intbuf_tab(ni)%LISUB,nisub,1)
2538 CALL copy_ival(intbuf_tab(ni)%TYPSUB,nisub,1)
2540 1 tag_segm , nisubs_l, nisubm_l,
2541 2 iedge,
2542 3 nedge,
2543 4 nedge_l,
2544 5 tag_edge,
2545 6 tag_edge2,
2546 7 nisube_l,
2547 8 proc)
2548
2549
2550
2551
2552
2553 ENDIF
2554
2555
2556
2558 . tag_segm2, ii_stok , multimp , ncont ,
2559 . noint , inacti ,tag_scratch ,ii_stok_l ,
2560 . nindx_scrt,indx_scrt)
2562
2563 ibid = 0
2565 ibid = 0
2567
2568
2569
2570 IF(iedge/=0)THEN
2573 END IF
2574
2575 DO i = 1,nedge_l
2576 assert(tag_edge(i) > 0)
2577 ENDDO
2578
2579 IF(intfric>0)THEN
2581 . tag_node_2ry)
2583 . tag_segm)
2584 IF(iedge/=0)THEN
2586 . tag_edge)
2587 ENDIF
2588 IF(intbuf_fric_tab(intfric)%IORTHFRIC > 0) THEN
2590 . tag_segm)
2591
2592 ENDIF
2593 ENDIF
2594
2595 IF(flagremnode == 2) THEN
2597 . tag_segm2,nremnode_l , nodlocal ,nremnor,
2598 . nsn , nsn_l , tag_node_2ry2,itab,
2599 . numnod_l )
2600 IF(iedge>0) THEN
2602 . tag_edge ,tag_edge2 , tag_segm2 , itab ,numnod_l ,
2603 . ipari_l(94,ni))
2605 . tag_edge ,tag_edge2 , tag_segm2 , itab ,numnod_l ,
2606 . ipari_l(96,ni))
2607 ENDIF
2608 ENDIF
2609
2610
2611 IF(ilev==2)THEN
2613 . tag_node_2ry)
2615 . tag_segm)
2616 IF(iedge>0)THEN
2618 . tag_edge)
2619
2620 END IF
2621 ENDIF
2622
2623 IF(intth>0)THEN
2625 . tag_segm)
2626 ENDIF
2627
2628
2630 . tag_segm,tag_segm2)
2631
2633 . tag_segm)
2634
2636 . tag_segm, tag_segm2 )
2637
2638
2639
2640
2641
2642
2643
2644
2646 . tag_node_2ry)
2647
2649 . tag_segm)
2650
2652 . tag_segm,tag_sm)
2653
2654
2656 . nedge_l,
2657 . intbuf_tab(ni)%IRECTM,
2658 . nrtm_l,
2659 . intbuf_tab(ni)%LEDGE,
2660 . intbuf_tab(ni)%MSEGLO,
2661 . intbuf_tab(ni)%ADMSR,
2662 . tag_segm2,
2663 . tag_sm,
2664 . nodlocal,
2665 . tag_edge,
2666 . itab,
2667 . proc)
2668
2669
2671
2672
2673 CALL copy_ival(intbuf_tab(ni)%ACTNOR,nrtm_l,1)
2674
2675
2676
2678 . intbuf_tab(ni)%ADSKYN,intbuf_tab(ni)%IADNOR,nadmsr,
2679 . intbuf_tab(ni)%ADMSR,nadmsr_l,
2680 . nrtm_l,tag_segm,tag_sm,intercep(1,ni))
2681
2683 . tag_node_2ry)
2684
2687
2690
2691
2692 IF(ivis2==-1) THEN
2694 . tag_node_2ry)
2695 ENDIF
2696
2697 IF(iedge/=0)THEN
2698
2700 . tag_edge, nedge_l, tag_edge2, nedge,
2701 . ii_stok_e, ii_stok_e_l, tag_ii_e2e
2702 . ii_stok_s, ii_stok_s_l, tag_ii_e2s,
2703 . tag_jj_e2e,tag_jj_e2s )
2704
2705
2706 END IF
2707
2708 IF(iedge/=0)THEN
2709 nconte = ipari_l(88,ni)
2710 multimpe = ipari_l(87,ni)
2711
2713 . ii_stok_e_l,tag_ii_e2e,multimpe,nconte)
2714
2715
2716
2717
2719 . tag_ii_e2s)
2720 ENDIF
2721
2722 CALL split_seg_ielem(intbuf_tab(ni)%IELEM_M,intbuf_tab(ni)%PROC_MVOISIN, intbuf_tab(ni)%MVOISIN,nrtm,
2723 . nrtm_l ,tag_segm ,cep,cel ,
2724 . idel25_solid,intercep(1,ni),proc,numels,
2725 . numelq ,numelc ,numelt ,numelp ,
2726 . numelr ,numeltg)
2727
2728
2729
2730 CALL copy_rval(intbuf_tab(ni)%STFAC,1,1)
2731 CALL copy_rval(intbuf_tab(ni)%VARIABLES,nparir,1)
2734
2735 IF(istif_msdt > 0) THEN
2738 ENDIF
2739
2740 IF(igap/=0)THEN
2742 CALL split_node_rval(intbuf_tab(ni)%GAP_S,nsn_l,1,tag_node_2ry)!jd(16)
2743 ENDIF
2744
2745 siz = intbuf_tab_l(ni)%S_XSAV
2746 CALL copy_rval(intbuf_tab(ni)%XSAV,siz,1)
2747
2748 siz = intbuf_tab_l(ni)%S_CRIT
2749 CALL copy_rval(intbuf_tab(ni)%CRIT,siz,1)
2750
2751 IF (mfrot/=0) THEN
2752 CALL copy_rval(intbuf_tab(ni)%FRIC_P,10,1)
2753 ENDIF
2754
2755 IF (ifq/=0) THEN
2756 CALL copy_rval(intbuf_tab(ni)%XFILTR,1,1)
2757 ENDIF
2758
2759 IF(intth>0.OR.ivis2==-1) THEN
2761 ENDIF
2762
2763 IF(igap==3)THEN
2766 ENDIF
2767
2768
2769 IF(iedge/=0)THEN
2770 nconte = ipari_l(88,ni)
2771 multimpe = ipari_l(87,ni)
2773 . ii_stok_e_l,tag_ii_e2e,multimpe,nconte)
2775 . tag_ii_e2s)
2776
2777 END IF
2778
2779 IF(iedge/=0)THEN
2781 IF(igap==3)THEN
2783 ENDIF
2785 IF(istif_msdt > 0)
CALL split_node_rval(intbuf_tab(ni)%STIFMSDT_EDG,nedge_l,1,tag_edge)
2786 END IF
2787
2789 . tag_node_msr)
2790
2791
2792 CALL copy_rval(intbuf_tab(ni)%SECND_FR,nsn_l,6)
2793
2794
2796 . tag_node_2ry)
2797
2799 . tag_node_2ry)
2800
2801 CALL copy_rval(intbuf_tab(ni)%TIME_S,nsn_l,2)
2803
2804 IF(intfric>0)THEN
2805 IF(intbuf_fric_tab(intfric)%IORTHFRIC > 0) THEN
2807 . tag_segm)
2808 ENDIF
2809 ENDIF
2810
2811 IF(ithk == 1)THEN
2813 ENDIF
2814
2815 IF(iedge/=0)THEN
2816 nconte = ipari_l(88,ni)
2817 multimpe = ipari_l(87,ni)
2819
2820
2821
2822
2823
2824
2825
2826
2827
2828
2830
2831
2832
2839
2840
2841 END IF
2842
2843
2844
2845
2846
2847
2848
2849 DEALLOCATE(tag_node_2ry,tag_segm,tag_segm2,
2850 . tag_node_msr,tag_ii,tag_sm,
2851 . knor2msr,nor2msr,tag_node_2ry2)
2852 DEALLOCATE(tag_edge)
2853 DEALLOCATE(tag_edge2)
2854 IF(iedge /=0) DEALLOCATE(tag_ii_e2s,tag_jj_e2s)
2855 IF(iedge /=0) DEALLOCATE(tag_ii_e2e,tag_jj_e2e)
2856 ENDIF
2857
2858
2859
2860 IF(nindx_nm>0) tag_nm(indx_nm(1:nindx_nm)) = 0
2861 nindx_nm = 0
2862 IF(nindx_scrt>0) tag_scratch(indx_scrt(1:nindx_scrt)) = 0
2863 nindx_scrt = 0
2864 IF(flag_24_25.AND.(nindx_ndlocal24>0)) nodlocal24( indx_ndlocal24(1:nindx_ndlocal24) ) = 0
2865 nindx_ndlocal24 = 0
2866
2867
2868 ENDDO
2869
2870 IF(flag_24_25) THEN
2871 DEALLOCATE( nodlocal24 )
2872 DEALLOCATE( indx_ndlocal24 )
2873 ENDIF
2874
2875
2876 RETURN
subroutine copyr8(r8_l, r8, n)
subroutine w_type8(proc, t8)
subroutine split_seg_ielem(ielem_m, proc_mvoisin, mvoisin, nrtm, nrtm_l, tag_seg, cep, cel, idel_solid, intercep, proc, numels, numelq, numelc, numelt, numelp, numelr, numeltg)
character *2 function nl()
subroutine write_db(a, n)
void write_i_c(int *w, int *len)