61
62
63
64
67 USE intbufdef_mod
69 USE skew_mod
71 USE sensor_mod
73 USE ebcs_mod
74 USE loads_mod
76
77
78
79#include "implicit_f.inc"
80
81
82
83#include "com01_c.inc"
84#include "com04_c.inc"
85#include "param_c.inc"
86#include "sphcom.inc"
87
88
89
90 INTEGER ,INTENT(IN) :: NICONV
91 INTEGER ,INTENT(IN) :: NIRADIA
92 INTEGER ,INTENT(IN) :: NITFLUX
93 INTEGER ,INTENT(IN) :: NUMCONV
94 INTEGER ,INTENT(IN) ::
95 INTEGER ,INTENT(IN) :: NFXFLUX
96 INTEGER IPARI(NPARI,NINTER),
97 . DD_IAD(NSPMD+1,NSPGROUP), NPRW(*), LPRW(*),
98 . NPBY(NNPBY,*), LPBY(*), IXRI(4,*),
99 . IBVEL(,*), LBVEL(*), IPARG(NPARG,*), CEL(*),
100 . IXS(NIXS,*),IXQ(NIXQ,*),IXC(NIXC,*),IXTG(NIXTG,*),
101 . IXT(NIXT,*),IXP(NIXP,*),IXR(NIXR,*),
102 . IXS10(6,*),IXS20(12,*),IXS16(8,*),IXTG6(4,*),IB(NIBCLD,*),
103 . I2NSNT,ISKN(LISKN,*),ISKWP(*),NSKWP(*),
104 . ADSKY(0:*), LCNE, LCNI2, ADSKYI2(0:*),CEPI2(*),CELI2(*),
105 . ISENSP(2,*), NSENSP(*), IACCP(*), NACCP(*),
106 . LACCELM(3,*),IBCV(NICONV, *),IRBE3(NRBE3L,*), LRBE3(*),
107 . FRONT_RM(NRBYM,NSPMD), IRBYM(NIRBYM,*) ,LCRBYM(*), CEP(LEN_CEP),
108 . IBCR(NIRADIA,*),IRBE2(NRBE2L,*), LRBE2(*),
109 . CEPSP(NUMSPH), CELSPH(NUMSPH),ILOADP(SIZLOADP,*),LLOADP(*),
110 . LGAUGE(3,*), IGAUP(*), NGAUP(*), IBFFLUX(NITFLUX,*),
111 . ICNDS10(3,*),ITAGND(*),IBFV(NIFV,*),IBCSCYC(4,*),LBCSCYC(2,*),
112 . R_SKEW(*),IPM(NPROPMI,*),LEN_CEP
113 INTEGER, DIMENSION(NPROPGI,*), INTENT(IN) :: IGEO
114 INTEGER, DIMENSION(NUMSKW+NSUBMOD+1), INTENT(INOUT) :: TAG_SKN
115 TYPE(PLIST_SKEW_), DIMENSION(NUMSKW+1), INTENT(INOUT) :: MULTIPLE_SKEW
116
117
118
119
120
121
122! MULTIPLE_SKEW : SKEW_TYPE ; dimension=numskw+1
123
124
125
127
128 TYPE(INTBUF_STRUCT_) INTBUF_TAB(*)
129 TYPE (SURF_) , DIMENSION(NSURF) :: IGRSURF
130 TYPE(MONVOL_STRUCT_), DIMENSION(NVOLU), INTENT(IN) :: T_MONVOL
131 TYPE(SENSORS_) ,INTENT(IN) :: SENSORS
132 TYPE(T_EBCS_TAB), INTENT(INOUT) :: EBCS_TAB
133 TYPE (LOADS_), INTENT(INOUT) :: LOADS
134 INTEGER ,DIMENSION(LISKN,NUMFRAM+1) ,INTENT(IN) :: IFRAME
135 LOGICAL
136 TYPE(SENSOR_USER_STRUCT_) ,INTENT(INOUT) :: SENSOR_USER_STRUCT
137
138
139
140 INTEGER NLOCAL
142
143
144
145 INTEGER IP,IPROC,, IF2, TYP,
146 . INSNMAX, IPMAX, SUM, INSNP, ,
147 . K, I, IS, NN_S, , J, , K3, NN, NL,NL_L,
148 . NSN,NMN,P,N,N1,N2,N3,N4,NTY,NGROU,NEL,NG,L,M,NIR,
149 . IMAIN,KK,NRTS,NRTM,,
150 . OFF, PROC, NIN, ITY_OLD, ITY, , NSL_L, NSL,
151 . IELS(NSPMD), P_SPH, INT2FLAG,INT2FRPLUS,
152 . ILEV,CNT,OFFSET,FINGEO,IAD1,IAD2,NUMLOADP,ITE2FRPLUS
153 INTEGER :: ISENS
155 . ect_ak,fr_ak
156 INTEGER :: IJK
157 INTEGER :: SURF_ID,,NODE_ID
158 INTEGER :: NUMBER_PROC,NUMBER_SEGMENT
159
160
161
162 int2flag=0
163 cnt = 0
164 5000 CONTINUE
165
166
167
168 int2frplus=0
169
170
172
173 DO isens=1,sensors%NSENSOR
174
175
176
177
178 IF (sensors%SENSOR_TAB(isens)%TYPE==15) THEN
179
180
181 n1 = sensors%SENSOR_TAB(isens)%IPARAM(1)
182 DO p=1,nspmd
184 ENDDO
185
186 IF(sensors%SENSOR_TAB(isens)%IPARAM(2)==0) THEN
187
188 DO i=1,3
189 n1 = sensors%SENSOR_TAB(isens)%IPARAM(3+i-1)
190 DO p=1,nspmd
192 ENDDO
193 ENDDO
194
195 ENDIF
196 ENDIF
197
198 ENDDO
199
200
201 IF(sensor_user_struct%IS_USED) THEN
202
203
204 IF(sensor_user_struct%POINTER_NODE>0) THEN
205 DO i=1,sensor_user_struct%NUMBER_NODE
206 n1 = sensor_user_struct%NODE_LIST(i)
207 DO p=1,nspmd
209 ENDDO
210 ENDDO
211 ENDIF
212
213 ENDIF
214
215 IF(numskw>0)THEN
216
217 iskwp(1)=1
218 DO p = 1, nspmd
219 nskwp(p) = 0
220 END DO
221 IF(n2d==0 .AND. len_cep > 0)THEN
222 offset = numels + numelq + numelc + numelt + numelp
223
224 CALL check_skew(ixr,igeo,iskn,cep,iskwp,nskwp,tag_skn,multiple_skew,
225 . r_skew,ipm,offset)
226
227
228 DO i=1,numskw
229 IF(tag_skn(i+1) > 0) cycle
230 n1=iskn(1,i+1)
231 n2=iskn(2,i+1)
232 n3=iskn(3,i+1)
233 insnmax = 0
234 imain = 1
235 IF(n1+n2+n3/=0) THEN
236 DO p = 1, nspmd
240 IF(nn>insnmax)THEN
241 insnmax=nn
242 imain=p
243 END IF
244 END DO
245 IF(insnmax/=3)THEN
249 END IF
250 END IF
251 iskwp(i+1) = imain
252 nskwp(imain) = nskwp(imain)+1
253 END DO
254 ELSE
255 DO i=1,numskw
256 n1=iskn(1,i+1)
257 n2=iskn(2,i+1)
258 insnmax = 0
259 imain = 1
260 IF(n1+n2/=0) THEN
261 DO p = 1, nspmd
264 IF(nn>insnmax)THEN
265 insnmax=nn
266 imain=p
267 END IF
268 END DO
269 IF(insnmax/=2)THEN
272 END IF
273 END IF
274 iskwp(i+1) = imain
275 nskwp(imain) = nskwp(imain)+1
276 END DO
277 END IF
278 END IF
279
280
281
282 k = 0
283 DO n = 1, nrwall
284 n3 = 2*nrwall+n
285 nsl=nprw(n)
286 msr = nprw(n3)
287 IF(msr/=0) THEN
288 DO p = 1, nspmd
289 nsl_l = 0
290 DO kk = 1, nsl
291 nn = lprw(k+kk)
293 nsl_l = nsl_l + 1
294 ENDIF
295 ENDDO
297 ENDDO
298 ENDIF
299 k = k + nsl
300 ENDDO
301
302
303
304
305 DO n = 1, nconld
306 n1 = ib(1,n)
307 n2 = ib(2,n)
308 n3 = ib(3,n)
309 n4 = ib(4,n)
310 IF(n4/=-1.AND.n2d==0.AND.n4/=0)THEN
311 DO p = 1, nspmd
316 GOTO 9999
317 ENDIF
318 ENDDO
319 ENDIF
320 IF(n4/=-1.AND.n2d==0)THEN
321 DO p = 1, nspmd
325 IF(n4/=0) THEN
327 ENDIF
328 GOTO 9999
329 ENDIF
330 ENDDO
331 ENDIF
332 IF(n4/=-1)THEN
333 DO p = 1, nspmd
336 IF(n2d==0.AND.n4/=0) THEN
338 ENDIF
339 IF(n2d==0) THEN
341 ENDIF
342 GOTO 9999
343 ENDIF
344 ENDDO
345 ENDIF
346 DO p = 1, nspmd
348 IF(n2d==0.AND.n4/=0.AND.n4/=-1) THEN
350 ENDIF
351 IF(n2d==0.AND.n4/=-1) THEN
353 ENDIF
354 IF(n4/=-1) THEN
356 ENDIF
357 GOTO 9999
358 ENDIF
359 ENDDO
360 IF(n4/=0.AND.n4/=0.AND.n4/=-1) THEN
362 ENDIF
363 IF(n2d==0.AND.n4/=-1) THEN
365 ENDIF
366 IF(n4/=-1) THEN
368 ENDIF
370 9999 CONTINUE
371 ENDDO
372
373
374
375 DO n = 1, numconv
376 n1 = ibcv(1,n)
377 n2 = ibcv(2,n)
378 n3 = ibcv(3,n)
379 n4 = ibcv(4,n)
380 IF(n2d==0.AND.n4/=0)THEN
381 DO p = 1, nspmd
386 GOTO 9191
387 ENDIF
388 ENDDO
389 ENDIF
390 IF(n2d==0)THEN
391 DO p = 1, nspmd
395 IF(n4/=0) THEN
397 ENDIF
398 GOTO 9191
399 ENDIF
400 ENDDO
401 ENDIF
402 DO p = 1, nspmd
405 IF(n2d==0.AND.n4/=0) THEN
407 ENDIF
408 IF(n2d==0) THEN
410 ENDIF
411 GOTO 9191
412 ENDIF
413 ENDDO
414 DO p = 1, nspmd
416 IF(n2d==0.AND.n4/=0) THEN
418 ENDIF
419 IF(n2d==0) THEN
421 ENDIF
423 GOTO 9191
424 ENDIF
425 ENDDO
426 IF(n4/=0) THEN
428 ENDIF
429 IF(n2d==0) THEN
431 ENDIF
434 9191 CONTINUE
435 ENDDO
436
437
438
439
440 DO n = 1, numradia
441 n1 = ibcr(1,n)
442 n2 = ibcr(2,n)
443 n3 = ibcr(3,n)
444 n4 = ibcr(4,n)
445 IF(n2d==0.AND.n4/=0)THEN
446 DO p = 1, nspmd
451 GOTO 9192
452 ENDIF
453 ENDDO
454 ENDIF
455 IF(n2d==0)THEN
456 DO p = 1, nspmd
460 IF(n4/=0) THEN
462 ENDIF
463 GOTO 9192
464 ENDIF
465 ENDDO
466 ENDIF
467 DO p = 1, nspmd
470 IF(n2d==0.AND.n4/=0) THEN
472 ENDIF
473 IF(n2d==0) THEN
475 ENDIF
476 GOTO 9192
477 ENDIF
478 ENDDO
479 DO p = 1, nspmd
481 IF(n2d==0.AND.n4/=0) THEN
483 ENDIF
484 IF(n2d==0) THEN
486 ENDIF
488 GOTO 9192
489 ENDIF
490 ENDDO
491 IF(n4/=0) THEN
493 ENDIF
494 IF(n2d==0) THEN
496 ENDIF
499 9192 CONTINUE
500 ENDDO
501
502
503
504 DO n = 1, nfxflux
505 IF(ibfflux(10,n) == 1) cycle
506 n1 = ibfflux(1,n)
507 n2 = ibfflux(2,n)
508 n3 = ibfflux(3,n)
509 n4 = ibfflux(4,n)
510 IF(n2d==0.AND.n4/=0)THEN
511 DO p = 1, nspmd
515 +
nlocal(n4,p)==1)
GOTO 9193
516 ENDDO
517 ENDIF
518 IF(n2d==0)THEN
519 DO p = 1, nspmd
524 GOTO 9193
525 ENDIF
526 ENDDO
527 ENDIF
528 DO p = 1, nspmd
532 GOTO 9193
533 ENDIF
534 ENDDO
535 DO p = 1, nspmd
540 GOTO 9193
541 ENDIF
542 ENDDO
547 9193 CONTINUE
548 ENDDO
549
550
551
552 DO n = 1, nloadp
553 DO i = 1,iloadp(1,n)/4
554 n1=lloadp(iloadp(4,n)+4*(i-1))
555 n2=lloadp(iloadp(4,n)+4*(i-1)+1)
556 n3=lloadp(iloadp(4,n)+4*(i-1)+2)
557 n4=lloadp(iloadp(4,n)+4*(i-1)+3)
558 IF(n4/=-1.AND.n2d==0.AND.n4/=0)THEN
559 DO p = 1, nspmd
564 GOTO 8888
565 ENDIF
566 ENDDO
567 ENDIF
568 IF(n4/=-1.AND.n2d==0)THEN
569 DO p = 1, nspmd
573 IF(n4/=0) THEN
575 ENDIF
576 GOTO 8888
577 ENDIF
578 ENDDO
579 ENDIF
580 IF(n4/=-1)THEN
581 DO p = 1, nspmd
584 IF(n2d==0.AND.n4/=0) THEN
586 ENDIF
587 IF(n2d==0) THEN
589 ENDIF
590 GOTO 8888
591 ENDIF
592 ENDDO
593 ENDIF
594 DO p = 1, nspmd
596 IF(n2d==0.AND.n4/=0.AND.n4/=-1) THEN
598 ENDIF
599 IF(n2d==0.AND.n4/=-1) THEN
601 ENDIF
602 IF(n4/=-1) THEN
604 ENDIF
605 GOTO 8888
606 ENDIF
607 ENDDO
608 IF(n4/=0.AND.n4/=0.AND.n4/=-1) THEN
610 ENDIF
611 IF(n2d==0.AND.n4/=-1) THEN
613 ENDIF
614 IF(n4/=-1) THEN
616 ENDIF
618 8888 CONTINUE
619 ENDDO
620 ENDDO
621
622
623
624
625 DO p = 1, nspmd
626 DO j=1,nrivet
629 IF (if1==1.OR.if2==1) THEN
632 ENDIF
633 ENDDO
634 ENDDO
635
636
637
638
639
640 IF (nrbe2>0.AND.nspmd>1) THEN
641 DO n = 1, nrbe2
642 nsn = irbe2(5,n)
643 m = irbe2(3,n)
644 iad = irbe2(1,n)
645 DO p = 1, nspmd
647 imain = 0
648 DO j = 1, nsn
649 l = lrbe2(iad+j)
651 imain = 1
652 GO TO 186
653 ENDIF
654 ENDDO
655 186 CONTINUE
656 IF(imain==1)THEN
658 ENDIF
659 ENDIF
660 ENDDO
661 ENDDO
662
663 DO n = 1, nrbe2
664 nsn = irbe2(5,n)
665 m = irbe2(3,n)
666 iad = irbe2(1,n)
667 sum = 0
668 insnmax = 0
669 ipmax = 1
670 lastm = 0
671 DO p=1,nspmd
673 sum = sum + 1
674 lastm = p
675 ENDIF
676 insnp = 0
677 DO j = 1, nsn
678 l = lrbe2(iad+j)
680 insnp = insnp + 1
681 ENDIF
682 ENDDO
683 IF (insnp>insnmax) THEN
684 ipmax = p
685 insnmax = insnp
686 ENDIF
687 END DO
688 IF(sum==0) THEN
689 IF(insnmax==0) THEN
691 ELSE
693 ENDIF
694 ELSEIF(insnmax==0) THEN
695 ipmax = lastm
696 ENDIF
697
698 DO j = 1, nsn
699 l = lrbe2(iad+j)
700 sum = 0
701 DO p=1,nspmd
703 sum = sum + 1
704 ENDIF
705 ENDDO
706 IF(sum==0) THEN
708 ENDIF
709 ENDDO
710 ENDDO
711 ENDIF
712
713
714
715
716 IF (nrbe3>0.AND.nspmd>1) THEN
717 DO n = 1, nrbe3
718 nir = irbe3(5,n)
719 k = irbe3(3,n)
720 iad = irbe3(1,n)
721 imain = 0
722 DO p = 1, nspmd
724 imain = 1
725 ENDIF
726 ENDDO
727 IF (imain==0) THEN
728 imain = 1
729 DO j=1,nir
730 kk = lrbe3(iad+j)
731 DO p = 1, nspmd
733 imain = p
734 GOTO 51
735 ENDIF
736 ENDDO
737 ENDDO
738 51 CONTINUE
740 ENDIF
741 DO p = 1, nspmd
743 GO TO 201
744 ENDIF
745
746 DO j=1,nir
747 kk = lrbe3(iad+j)
750 ENDIF
751 ENDDO
752
753 201 CONTINUE
754 ENDDO
755 ENDDO
756 ENDIF
757
758
759
760
761
762
763 IF (nrbykin>0.AND.nspmd>1) THEN
764
765
766
767
768 k=0
769 DO n = 1, nrbykin
770 nsn = npby(2,n)
771 m = npby(1,n)
772
773 DO p=1,nspmd
774 IF (
nlocal(m,p)/=0)
GOTO 86
775 ENDDO
776 86 CONTINUE
777 pm = p
778
779 DO j = 1, nsn
780 l = lpby(k+j)
781 DO p=1,nspmd
782 IF(
nlocal(l,p)/=0)
GOTO 87
783 ENDDO
785 87 CONTINUE
786 ENDDO
787 k = k + nsn
788 ENDDO
789
790 k=0
791 DO n = 1, nrbykin
792 nsn = npby(2,n)
793 m = npby(1,n)
794 DO p = 1, nspmd
796 imain = 0
797 DO j = 1, nsn
798 l = lpby(k+j)
800 imain = 1
801 GO TO 85
802 ENDIF
803 ENDDO
804 85 CONTINUE
805 IF(imain==1)THEN
807 ENDIF
808 ENDIF
809 ENDDO
810 k = k + nsn
811 ENDDO
812
813 k=0
814 DO n = 1, nrbykin
815 nsn = npby(2,n)
816 m = npby(1,n)
817 sum = 0
818 insnmax = 0
819 ipmax = 1
820 lastm = 0
821 DO p=1,nspmd
823 sum = sum + 1
824 lastm = p
825 ENDIF
826 insnp = 0
827 DO j = 1, nsn
828 l = lpby(k+j)
830 insnp = insnp + 1
831 ENDIF
832 ENDDO
833 IF (insnp>insnmax) THEN
834 ipmax = p
835 insnmax = insnp
836 ENDIF
837 END DO
838
839 IF(sum==0) THEN
840 IF(insnmax==0) THEN
842 ELSE
844 ENDIF
845
846 ELSEIF(insnmax==0) THEN
847 ipmax = lastm
848 ENDIF
849
850 DO j = 1, nsn
851 l = lpby(k+j)
852 sum = 0
853 DO p=1,nspmd
855 sum = sum + 1
856 ENDIF
857 ENDDO
858 IF(sum==0) THEN
860 ENDIF
861 ENDDO
862 k = k + nsn
863 ENDDO
864
865 ENDIF
866
867
868
869
870
871 IF(nfxvel > 0 .AND. nspmd > 1)THEN
872
873 DO n=1,nfxvel
874 fingeo = ibfv(13,n)
875 IF (fingeo == 2)THEN
876 n1 = ibfv(1,n)
877 n2 = ibfv(14,n)
878
881
882 IF (iad1 == -1 .AND. iad2 == -1)THEN
885 ELSE
886 IF(iad1 /= -1 ) THEN
887 DO WHILE (iad1 /= 0)
891 ENDDO
892 ENDIF
893
894 IF(iad2 /= -1 ) THEN
895 DO WHILE (iad2 /= 0)
899 ENDDO
900 ENDIF
901
902 ENDIF
903 ENDIF
904 ENDDO
905 ENDIF
906
907 IF (nibvel>0.AND.nspmd>1) THEN
908 k=0
909 DO n = 1, nibvel
910 nsn = ibvel(3,n)
911 m = ibvel(4,n)
912 DO p = 1, nspmd
914 imain = 0
915 DO j = 1, nsn
916 l = lbvel(k+j)
918 imain = 1
919 GO TO 185
920 ENDIF
921 ENDDO
922 185 CONTINUE
923 IF(imain==1)THEN
925 ENDIF
926 ENDIF
927 ENDDO
928 k = k + nsn
929 ENDDO
930
931 k=0
932 DO n = 1, nibvel
933 nsn = ibvel(3,n)
934 m = ibvel(4,n)
935 sum = 0
936 insnmax = 0
937 ipmax = 1
938 lastm = 0
939 DO p=1,nspmd
941 sum = sum + 1
942 lastm = p
943 ENDIF
944 insnp = 0
945 DO j = 1, nsn
946 l = lbvel(k+j)
948 insnp = insnp + 1
949 ENDIF
950 ENDDO
951 IF (insnp>insnmax) THEN
952 ipmax = p
953 insnmax = insnp
954 ENDIF
955 END DO
956 IF(sum==0) THEN
957 IF(insnmax==0) THEN
959 ELSE
961 ENDIF
962 ELSEIF(insnmax==0) THEN
963 ipmax = lastm
964 ENDIF
965
966 DO j = 1, nsn
967 l = lbvel(k+j)
968 sum = 0
969 DO p=1,nspmd
971 sum = sum + 1
972 ENDIF
973 ENDDO
974 IF(sum==0) THEN
976 ENDIF
977 ENDDO
978 k = k + nsn
979 ENDDO
980 ENDIF
981
982
983
984
985 IF (irigid_mat>0.AND.nspmd>1) THEN
986 k=0
987 DO n = 1, nrbym
988 nsn = irbym(2,n)
989 DO p = 1, nspmd
990 imain = 0
991 DO j = 1, nsn
992 l = lcrbym(k+j)
994 imain = 1
995 GO TO 195
996 ENDIF
997 ENDDO
998 195 CONTINUE
999 IF(imain==1)THEN
1001 ENDIF
1002 ENDDO
1003 k = k + nsn
1004 ENDDO
1005
1006 k=0
1007 DO n = 1, nrbym
1008 nsn = irbym(2,n)
1009 m = irbym(1,n)
1010 sum = 0
1011 insnmax = 0
1012 ipmax = 1
1013 lastm = 0
1014 DO p=1,nspmd
1015 IF(front_rm(m,p)/=0.AND.front_rm(m,p)/=100) THEN
1016 sum = sum + 1
1017 lastm = p
1018 ENDIF
1019 insnp = 0
1020 DO j = 1, nsn
1021 l = lcrbym(k+j)
1023 insnp = insnp + 1
1024 ENDIF
1025 ENDDO
1026 IF (insnp>insnmax) THEN
1027 ipmax = p
1028 insnmax = insnp
1029 ENDIF
1030 END DO
1031
1032 IF(sum==0) THEN
1033 IF(insnmax==0) THEN
1035 ELSE
1037 ENDIF
1038
1039 ELSEIF(insnmax==0) THEN
1040 ipmax = lastm
1041 ENDIF
1042
1043 DO j = 1, nsn
1044 l = lcrbym(k+j)
1045 sum = 0
1046 DO p=1,nspmd
1048 sum = sum + 1
1049 ENDIF
1050 ENDDO
1051 IF(sum==0) THEN
1053 ENDIF
1054 ENDDO
1055 k = k + nsn
1056 ENDDO
1057 ELSEIF(irigid_mat > 0) THEN
1058 DO n = 1, nrbym
1060 ENDDO
1061 ENDIF
1062
1063
1064
1065 DO n = 1, nbcscyc
1066 k = ibcscyc(1,n)
1067 nsn=ibcscyc(3,n)
1068 DO j = 1, nsn
1069 n1 = lbcscyc(1,k+j)
1070 n2 = lbcscyc(2,k+j)
1071 DO p = 1, nspmd
1074 ENDDO
1075 ENDDO
1076 ENDDO
1077
1078
1079
1080 IF (ns10e>0.AND.nspmd>1) THEN
1081 CALL c_doms10(icnds10,itagnd,ite2frplus)
1082 IF (ite2frplus > 0 ) GOTO 5000
1083 ENDIF
1084
1085
1086
1087 IF (ninter>0.AND.nspmd>1) THEN
1088 IF (n2d==0) THEN
1089 nir = 4
1090 ELSE
1091 nir = 2
1092 ENDIF
1093 DO n = 1, ninter
1094 nty = ipari(7,n)
1095 IF (nty==2) THEN
1096 nrts = ipari(3,n)
1097 nrtm = ipari(4,n)
1098 nsn = ipari(5,n)
1099 nmn = ipari(6,n)
1100 ilev = ipari(20,n)
1101 IF (ilev == 25 .or. ilev == 26 .or. ilev == 27 .or. ilev == 28) int2flag=1
1102 DO i=1,nsn
1103 l = intbuf_tab(n)%IRTLM(i)
1104 k = intbuf_tab(n)%NSV(i)
1105
1106 imain = 0
1107 DO p = 1, nspmd
1109 imain = 1
1110 ENDIF
1111 ENDDO
1112 IF (imain==0) THEN
1113 imain = 1
1114 DO j=1,nir
1115 kk = intbuf_tab(n)%IRECTM((l-1)*4+j)
1116 DO p = 1, nspmd
1117 IF (
nlocal(kk,p)/=0)
THEN
1118 imain = p
1119 GOTO 50
1120 ENDIF
1121 ENDDO
1122 ENDDO
1123 50 CONTINUE
1125 int2frplus=1
1126
1127 ENDIF
1128 DO p = 1, nspmd
1130 GO TO 200
1131 ENDIF
1132
1133 DO j=1,nir
1134 kk = intbuf_tab(n)%IRECTM((l-1)*4+j)
1135 IF (
nlocal(kk,p)==0)
THEN
1137 int2frplus=1
1138 ENDIF
1139 ENDDO
1140
1141 200 CONTINUE
1142 ENDDO
1143 ENDDO
1144 ENDIF
1145 ENDDO
1146 ENDIF
1147 IF (int2frplus /= 0 .AND. int2flag/=0)GOTO 5000
1148
1149
1150
1151
1152 iproc = 1
1153 DO i = 1,numnod
1154 sum = 0
1155 IF(
ifront%IENTRY(i)==-1)
THEN
1159 iproc = mod(iproc,nspmd)+1
1160 ENDIF
1161 END DO
1162
1163
1164
1165 IF(sensors%NSENSOR>0) THEN
1166 DO p = 1, nspmd
1167 nsensp(p) = 0
1168 END DO
1169 DO i=1,sensors%NSENSOR
1170 typ = sensors%SENSOR_TAB(i)%TYPE
1171 isensp(1,i) = 0
1172 isensp(2,i) = 0
1173
1174 IF(typ==0)THEN
1175 ELSEIF(typ==1)THEN
1176 ELSEIF(typ==2)THEN
1177
1178
1179
1180 n1 = sensors%SENSOR_TAB(i)%IPARAM(1)
1181 DO p = 1, nspmd
1183 isensp(1,i) = p
1184 nsensp(p) = nsensp(p)+1
1185 GOTO 500
1186 END IF
1187 END DO
1188 500 CONTINUE
1189 n2 = sensors%SENSOR_TAB(i)%IPARAM(2)
1190 DO p = 1, nspmd
1192 isensp(2,i) = p
1193 nsensp(p) = nsensp(p)+1
1194 GOTO 600
1195 END IF
1196 END DO
1197 600 CONTINUE
1198 ELSEIF(typ==3)THEN
1199 ELSEIF(typ==4)THEN
1200 ELSEIF(typ==5)THEN
1201 ELSEIF(typ==6)THEN
1202 ELSEIF(typ==7)THEN
1203 ELSEIF(typ==8)THEN
1204
1205 ELSEIF(typ==13)THEN
1206 n1 = sensors%SENSOR_TAB(i)%IPARAM(1)
1207 DO p = 1, nspmd
1208 IF (
nlocal(n1,p)==1)
THEN
1209 isensp(1,i) = p
1210 nsensp(p) = nsensp(p)+1
1211 EXIT
1212 END IF
1213 END DO
1214 n2 = sensors%SENSOR_TAB(i)%IPARAM(2)
1215 IF (n2 > 0) THEN
1216 DO p = 1, nspmd
1217 IF (
nlocal(n2,p)==1)
THEN
1218 isensp(2,i) = p
1219 nsensp(p) = nsensp(p)+1
1220 EXIT
1221 END IF
1222 END DO
1223 ENDIF
1224
1225 ELSEIF(typ==14)THEN
1226 ELSEIF(typ>=29.AND.typ<=31) THEN
1227 ELSE
1228 ENDIF
1229 ENDDO
1230 END IF
1231
1232
1233
1234
1235 IF(naccelm>0) THEN
1236 DO p = 1, nspmd
1237 naccp(p) = 0
1238 END DO
1239
1240 DO i=1,naccelm
1241 n1 = laccelm(1,i)
1242 DO p = 1, nspmd
1244 iaccp(i) = p
1245 naccp(p) = naccp(p)+1
1246 EXIT
1247 END IF
1248 END DO
1249 END DO
1250 END IF
1251
1252
1253
1254
1255 IF(nbgauge>0) THEN
1256 DO p = 1, nspmd
1257 ngaup(p) = 0
1258 END DO
1259
1260 DO i=1,nbgauge
1261 n1=lgauge(3,i)
1262 IF(n1>0)THEN
1263 DO p = 1, nspmd
1265 igaup(i) = p
1266 ngaup(p) = ngaup(p)+1
1267 EXIT
1268 END IF
1269 END DO
1270
1271 ELSEIF(n1<0)THEN
1272 n1 = -n1 + numels
1273 p = cep(n1 ) + 1
1274 igaup(i) = p
1275 ngaup(p) = ngaup(p) + 1
1276 ENDIF
1277 END DO
1278 END IF
1279
1281
1282
1283
1284 ngrou = 0
1285 DO i = 1, nspgroup
1286 DO p = 1, nspmd
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300 ngrou = ngrou + dd_iad(p,i)
1301 ENDDO
1302 ENDDO
1303 IF (ngrou/=ngroup) THEN
1304
1305
1306
1308 . msgtype=msgerror,
1309 . anmode=aninfo_blind_1,
1310 . i1=ngrou,
1311 . i2=ngroup)
1312 ENDIF
1313
1314
1315
1316
1317 DO n=0,numnod+1
1318 adsky(n) = 0
1319 ENDDO
1320
1321 DO k=2,9
1322 DO i=1,numels
1323 n = ixs(k,i) + 1
1324 adsky(n) = adsky(n) + 1
1325 ENDDO
1326 ENDDO
1327
1328 IF(numels10>0) THEN
1329 DO k=1,6
1330 DO i=1,numels10
1331 n = ixs10(k,i) + 1
1332 adsky(n) = adsky(n) + 1
1333 ENDDO
1334 ENDDO
1335 ENDIF
1336 IF(numels20>0)THEN
1337 DO k=1,12
1338 DO i=1,numels20
1339 n = ixs20(k,i) + 1
1340 adsky(n) = adsky(n) + 1
1341 ENDDO
1342 ENDDO
1343 ENDIF
1344
1345 IF(numels16>0)THEN
1346 DO k=1,8
1347 DO i=1,numels16
1348 n = ixs16(k,i) + 1
1349 adsky(n) = adsky(n) + 1
1350 ENDDO
1351 ENDDO
1352 ENDIF
1353
1354 DO k=2,5
1355 DO i=1,numelq
1356 n = ixq(k,i) + 1
1357 adsky(n) = adsky(n) + 1
1358 ENDDO
1359 ENDDO
1360
1361
1362 DO k=2,5
1363 DO i=1,numelc
1364 n = ixc(k,i) + 1
1365 adsky(n) = adsky(n) + 1
1366 ENDDO
1367 ENDDO
1368
1369 DO k=2,3
1370 DO i=1,numelt
1371 n = ixt(k,i) + 1
1372 adsky(n) = adsky(n) + 1
1373 ENDDO
1374 ENDDO
1375
1376 DO k=2,3
1377 DO i=1,numelp
1378 n = ixp(k,i) + 1
1379 adsky(n) = adsky(n) + 1
1380 ENDDO
1381 ENDDO
1382
1383
1384 DO k=2,3
1385 DO i=1,numelr
1386 n = ixr(k,i) + 1
1387 adsky(n) = adsky(n) + 1
1388 ENDDO
1389 ENDDO
1390 DO i=1,numelr
1391 n = ixr(4,i) + 1
1392 IF(igeo(11,ixr(1,i))/=12) n = 0
1393 adsky(n) = adsky(n) + 1
1394 ENDDO
1395
1396 DO k=2,4
1397 DO i=1,numeltg
1398 n = ixtg(k,i) + 1
1399 adsky(n) = adsky(n) + 1
1400 ENDDO
1401 ENDDO
1402
1403 IF(numeltg6>0)THEN
1404 DO k=1,3
1405 DO i=1,numeltg6
1406 n = ixtg6(k,i)+1
1407 adsky(n) = adsky(n) + 1
1408 END DO
1409 END DO
1410 END IF
1411
1412
1413
1414
1415 IF (nvolu>0) THEN
1416 k3 = 1 + nimv * nvolu + nicbag * nvolu * nvolu
1417 k1 = 1
1418 DO n = 1, nvolu
1419 is = t_monvol(n)%EXT_SURFID
1420 nn_s = igrsurf(is)%NSEG
1421 DO j = 1, nn_s
1422 ity=igrsurf(is)%ELTYP(j)
1423 i = igrsurf(is)%ELEM(j)
1424 IF (ity==3) THEN
1425 DO k = 2,5
1426 nn = ixc(k,i) + 1
1427 adsky(nn) = adsky(nn) + 1
1428 ENDDO
1429 ELSE
1430 DO k=2,4
1431 nn = ixtg(k,i) + 1
1432 adsky(nn) = adsky(nn) + 1
1433 END DO
1434 ENDIF
1435 ENDDO
1436 k1 = k1 + nimv
1437 ENDDO
1438 ENDIF
1439
1440
1441
1442 IF(nconld>0) THEN
1448 nn = n1 + 1
1449 adsky(nn) = adsky(nn) + 1
1450 IF(n4/=-1)THEN
1451 nn = n2 + 1
1452 adsky(nn) = adsky(nn) + 1
1453 IF(n2d==0)THEN
1454 nn = n3 + 1
1455 adsky(nn) = adsky(nn) + 1
1456 IF(n4/=0) THEN
1457 nn = n4 + 1
1458 adsky(nn) = adsky(nn) + 1
1459 ENDIF
1460 ENDIF
1461 ENDIF
1462 ENDDO
1463 ENDIF
1464
1465
1466
1467 IF(numconv>0) THEN
1473 nn = n1 + 1
1474 adsky(nn) = adsky(nn) + 1
1475 IF(n4/=-1)THEN
1476 nn = n2 + 1
1477 adsky(nn) = adsky(nn) + 1
1478 IF(n2d==0)THEN
1479 nn = n3 + 1
1480 adsky(nn) = adsky(nn) + 1
1481 IF(n4/=0) THEN
1482 nn = n4 + 1
1483 adsky(nn) = adsky(nn) + 1
1484 ENDIF
1485 ENDIF
1486 ENDIF
1487 ENDDO
1488 ENDIF
1489
1490
1491
1492 IF(numradia>0) THEN
1498 nn = n1 + 1
1499 adsky(nn) = adsky(nn) + 1
1500 nn = n2 + 1
1501 adsky(nn) = adsky(nn) + 1
1502 IF(n2d==0)THEN
1503 nn = n3 + 1
1504 adsky(nn) = adsky(nn) + 1
1505 IF(n4/=0) THEN
1506 nn = n4 + 1
1507 adsky(nn) = adsky(nn) + 1
1508 ENDIF
1509 ENDIF
1510 ENDDO
1511 ENDIF
1512
1513
1514
1515 IF(nfxflux>0) THEN
1517 IF(ibfflux(10,
nl) == 1) cycle
1522 nn = n1 + 1
1523 adsky(nn) = adsky(nn) + 1
1524 IF(n4/=-1)THEN
1525 nn = n2 + 1
1526 adsky(nn) = adsky(nn) + 1
1527 IF(n2d==0)THEN
1528 nn = n3 + 1
1529 adsky(nn) = adsky(nn) + 1
1530 IF(n4/=0) THEN
1531 nn = n4 + 1
1532 adsky(nn) = adsky(nn) + 1
1533 ENDIF
1534 ENDIF
1535 ENDIF
1536 ENDDO
1537 ENDIF
1538
1539
1540
1541 IF(nloadp>0) THEN
1543 DO i = 1,iloadp(1,
nl)/4
1544 n1=lloadp(iloadp(4,
nl)+4*(i-1))
1545 n2=lloadp(iloadp(4,
nl)+4*(i-1)+1)
1546 n3=lloadp(iloadp(4,
nl)+4*(i-1)+2)
1547 n4=lloadp(iloadp(4,
nl)+4*(i-1)+3)
1548 nn = n1 + 1
1549 adsky(nn) = adsky(nn) + 1
1550 IF(n4/=-1)THEN
1551 nn = n2 + 1
1552 adsky(nn) = adsky(nn) + 1
1553 IF(n2d==0)THEN
1554 nn = n3 + 1
1555 adsky(nn) = adsky(nn) + 1
1556 IF(n4/=0) THEN
1557 nn = n4 + 1
1558 adsky(nn) = adsky(nn) + 1
1559 ENDIF
1560 ENDIF
1561 ENDIF
1562 ENDDO
1563 ENDDO
1564 ENDIF
1565
1566
1567
1568
1569
1572 is_ebcs_parallel = .false.
1573 IF(ebcs_tab%tab(i)%poly%type == 10 .or. ebcs_tab%tab(i)%poly%type == 11)is_ebcs_parallel=.true.
1574 IF(is_ebcs_parallel) THEN
1575 surf_id = ebcs_tab%tab(i)%poly%surf_id
1576 number_node = 4
1577 IF(n2d/=0) number_node = 2
1578
1579
1580 DO j=1,ebcs_tab%tab(i)%poly%nb_elem
1581
1582 DO ijk=1,number_node
1583 node_id = igrsurf(surf_id)%NODES(j,ijk) + 1
1584 adsky(node_id) = adsky(node_id) + 1
1585 ENDDO
1586 ENDDO
1587
1588 ENDIF
1589 ENDDO
1590 ENDIF
1591
1592
1593
1594
1595 DO i=1,loads%NLOAD_CYL
1596 number_segment = loads%LOAD_CYL(i)%NSEG
1597
1598 DO j=1,number_segment
1599 DO k=1,4
1600 node_id = loads%LOAD_CYL(i)%SEGNOD(j,k) + 1
1601 number_proc = 0
1602 IF(node_id/=0) adsky(node_id) = adsky(node_id) + 1
1603 ENDDO
1604 ENDDO
1605
1606 ENDDO
1607
1608
1609
1610
1611
1612 adsky(1) = 1
1613 DO i=2,numnod+1
1614 adsky(i)=adsky(i)+adsky(i-1)
1615 ENDDO
1616
1617 lcne = adsky(numnod+1)-1
1618
1619
1620
1621
1622 off = 0
1623 nin = 0
1624 ity_old = 0
1625 DO proc = 1, nspmd
1626 off = 0
1627 nin = 0
1628 ity_old = 0
1629 DO ng = 1, ngroup
1630 nel = iparg(2,ng)
1631 p = iparg(32,ng)+1
1632 ity = iparg(5,ng)
1633 IF (ity/=ity_old) THEN
1634 nin = 0
1635 ity_old = ity
1636 ENDIF
1637
1638 IF(ity/=51) THEN
1639 IF (p==proc) THEN
1640 DO i = 1, nel
1641 cel(i+off) = nin+i
1642 ENDDO
1643 nin = nin + nel
1644 ENDIF
1645 off = off + nel
1646 ENDIF
1647 ENDDO
1648 ENDDO
1649
1650
1651 DO proc = 1,nspmd
1652 iels(proc) = 0
1653 ENDDO
1654
1655
1656 DO j = 1, numsph
1657 p_sph = cepsp(j) + 1
1658 iels(p_sph) = iels(p_sph) + 1
1659 celsph(j) = iels(p_sph)
1660 ENDDO
1661
1662
1663
1664 IF(nconld>0) THEN
1667 ENDDO
1668
1669 DO proc = 1, nspmd
1670 nl_l = 0
1672 IF(cel(off+
nl)==0)
THEN
1677 IF(n4/=-1)THEN
1678 IF(n2d==0)THEN
1679 IF(n4/=0) THEN
1680 IF(
nlocal(n1,proc)==1.AND.
1681 +
nlocal(n2,proc)==1.AND.
1682 +
nlocal(n3,proc)==1.AND.
1683 +
nlocal(n4,proc)==1)
THEN
1684 nl_l = nl_l + 1
1686 ENDIF
1687 ELSE
1688 IF(
nlocal(n1,proc)==1.AND.
1689 +
nlocal(n2,proc)==1.AND.
1690 +
nlocal(n3,proc)==1)
THEN
1691 nl_l = nl_l + 1
1693 ENDIF
1694 ENDIF
1695 ELSE
1696 IF(
nlocal(n1,proc)==1.AND.
1697 +
nlocal(n2,proc)==1)
THEN
1698 nl_l = nl_l + 1
1700 ENDIF
1701 ENDIF
1702 ELSE
1703 IF(
nlocal(n1,proc)==1)
THEN
1704 nl_l = nl_l + 1
1706 ENDIF
1707 ENDIF
1708 ENDIF
1709 ENDDO
1710
1711 ENDDO
1712 off = off + nconld
1713 ENDIF
1714
1715
1716
1717 IF(numconv>0) THEN
1720 ENDDO
1721
1722 DO proc = 1, nspmd
1723 nl_l = 0
1725 IF(cel(off+
nl)==0)
THEN
1730 IF(ibcv(7,
nl) == 1)
THEN
1731 IF(proc-1 == cep(ibcv(8,
nl)))
THEN
1732 nl_l = nl_l + 1
1734 ENDIF
1735 ELSE
1736 IF(n2d==0)THEN
1737 IF(n4/=0) THEN
1738 IF(
nlocal(n1,proc)==1.AND.
1739 +
nlocal(n2,proc)==1.AND.
1740 +
nlocal(n3,proc)==1.AND.
1741 +
nlocal(n4,proc)==1)
THEN
1742 nl_l = nl_l + 1
1744 ENDIF
1745 ELSE
1746 IF(
nlocal(n1,proc)==1.AND.
1747 +
nlocal(n2,proc)==1.AND.
1748 +
nlocal(n3,proc)==1)
THEN
1749 nl_l = nl_l + 1
1751 ENDIF
1752 ENDIF
1753 ELSE
1754 IF(
nlocal(n1,proc)==1.AND.
1755 +
nlocal(n2,proc)==1)
THEN
1756 nl_l = nl_l + 1
1758 ENDIF
1759 ENDIF
1760 ENDIF
1761 ENDIF
1762 ENDDO
1763 ENDDO
1764 off = off + numconv
1765 ENDIF
1766
1767
1768
1769 IF(numradia>0) THEN
1772 ENDDO
1773
1774 DO proc = 1, nspmd
1775 nl_l = 0
1777 IF(cel(off+
nl)==0)
THEN
1782 IF(ibcr(7,
nl) == 1)
THEN
1783 IF(proc-1== cep(ibcr(8,
nl)))
THEN
1784 nl_l = nl_l + 1
1786 ENDIF
1787 ELSE
1788 IF(n2d==0)THEN
1789 IF(n4/=0) THEN
1790 IF(
nlocal(n1,proc)==1.AND.
1791 +
nlocal(n2,proc)==1.AND.
1792 +
nlocal(n3,proc)==1.AND.
1793 +
nlocal(n4,proc)==1)
THEN
1794 nl_l = nl_l + 1
1796 ENDIF
1797 ELSE
1798 IF(
nlocal(n1,proc)==1.AND.
1799 +
nlocal(n2,proc)==1.AND.
1800 +
nlocal(n3,proc)==1)
THEN
1801 nl_l = nl_l + 1
1803 ENDIF
1804 ENDIF
1805 ELSE
1806 IF(
nlocal(n1,proc)==1.AND.
1807 +
nlocal(n2,proc)==1)
THEN
1808 nl_l = nl_l + 1
1810 ENDIF
1811 ENDIF
1812 ENDIF
1813 ENDIF
1814 ENDDO
1815 ENDDO
1816 off = off + numradia
1817 ENDIF
1818
1819
1820
1821 IF(nfxflux>0) THEN
1824 ENDDO
1825
1826 DO proc = 1, nspmd
1827 nl_l = 0
1829 IF(ibfflux(10,
nl) == 1) cycle
1830 IF(cel(off+
nl)==0)
THEN
1835 IF(n2d==0)THEN
1836 IF(n4/=0) THEN
1837 IF(
nlocal(n1,proc)==1.AND.
1838 +
nlocal(n2,proc)==1.AND.
1839 +
nlocal(n3,proc)==1.AND.
1840 +
nlocal(n4,proc)==1)
THEN
1841 nl_l = nl_l + 1
1843 ENDIF
1844 ELSE
1845 IF(
nlocal(n1,proc)==1.AND.
1846 +
nlocal(n2,proc)==1.AND.
1847 +
nlocal(n3,proc)==1)
THEN
1848 nl_l = nl_l + 1
1850 ENDIF
1851 ENDIF
1852 ELSE
1854 nl_l = nl_l + 1
1856 ENDIF
1857 ENDIF
1858 ENDIF
1859 ENDDO
1860 ENDDO
1861 off = off + nfxflux
1862 ENDIF
1863
1864
1865
1866 IF(nloadp>0) THEN
1867 numloadp=0
1869 DO i = 1,iloadp(1,
nl)/4
1870 cel(off+numloadp+i) = 0
1871 ENDDO
1872 numloadp=numloadp+iloadp(1,
nl)/4
1873 ENDDO
1874
1875 DO proc = 1, nspmd
1876 nl_l = 0
1877 numloadp=0
1879 DO i = 1,iloadp(1,
nl)/4
1880 IF(cel(off+numloadp+i)==0) THEN
1881 n1=lloadp(iloadp(4,
nl)+4*(i-1))
1882 n2=lloadp(iloadp(4,
nl)+4*(i-1)+1)
1883 n3=lloadp(iloadp(4,
nl)+4*(i-1)+2)
1884 n4=lloadp(iloadp(4,
nl)+4*(i-1)+3)
1885 IF(n4/=-1)THEN
1886 IF(n2d==0)THEN
1887 IF(n4/=0) THEN
1888 IF(
nlocal(n1,proc)==1.AND.
1889 +
nlocal(n2,proc)==1.AND.
1890 +
nlocal(n3,proc)==1.AND.
1891 +
nlocal(n4,proc)==1)
THEN
1892 nl_l = nl_l + 1
1893 cel(off+numloadp+i) = nl_l
1894 ENDIF
1895 ELSE
1896 IF(
nlocal(n1,proc)==1.AND.
1897 +
nlocal(n2,proc)==1.AND.
1898 +
nlocal(n3,proc)==1)
THEN
1899 nl_l = nl_l + 1
1900 cel(off+numloadp+i) = nl_l
1901 ENDIF
1902 ENDIF
1903 ELSE
1904 IF(
nlocal(n1,proc)==1.AND.
1905 +
nlocal(n2,proc)==1)
THEN
1906 nl_l = nl_l + 1
1907 cel(off+numloadp+i) = nl_l
1908 ENDIF
1909 ENDIF
1910 ELSE
1911 IF(
nlocal(n1,proc)==1)
THEN
1912 nl_l = nl_l + 1
1913 cel(off+numloadp+i) = nl_l
1914 ENDIF
1915 ENDIF
1916 ENDIF
1917 ENDDO
1918 numloadp=numloadp+iloadp(1,
nl)/4
1919 ENDDO
1920 ENDDO
1921 off = off + numloadp
1922 ENDIF
1923
1924
1925
1926 IF(i2nsnt>0) THEN
1927
1928
1929
1930
1931 DO n=0,numnod+1
1932 adskyi2(n) = 0
1933 ENDDO
1934
1935 IF (n2d==0) THEN
1936 nir = 4
1937 ELSE
1938 nir = 2
1939 ENDIF
1940 DO n = 1, ninter
1941 nty = ipari(7,n)
1942 IF (nty==2) THEN
1943 nrts = ipari(3,n)
1944 nrtm = ipari(4,n)
1945 nsn = ipari(5,n)
1946 nmn = ipari(6,n)
1947 DO i=1,nsn
1948 l = intbuf_tab(n)%IRTLM(i)
1949 k = intbuf_tab(n)%NSV(i)
1950 DO j=1,nir
1951 kk = intbuf_tab(n)%IRECTM((l-1)*4+j) + 1
1952 adskyi2(kk) = adskyi2(kk) + 1
1953 END DO
1954 END DO
1955 END IF
1956 END DO
1957
1958
1959
1960 adskyi2(1) = 1
1961 DO i=2,numnod+1
1962 adskyi2(i)=adskyi2(i)+adskyi2(i-1)
1963 ENDDO
1964 lcni2 = adskyi2(numnod+1)-1
1965
1966
1967
1968 off = 0
1969 DO n = 1, ninter
1970 nty = ipari(7,n)
1971 IF (nty==2) THEN
1972 nrts = ipari(3,n)
1973 nrtm = ipari(4,n)
1974 nsn = ipari(5,n)
1975 nmn = ipari(6,n)
1976 DO i=1,nsn
1977 l = intbuf_tab(n)%IRTLM(i)
1978 k = intbuf_tab(n)%NSV(i)
1979 celi2(off+i) = 0
1980 DO p = 1, nspmd
1982 cepi2(off+i) = p-1
1983 GO TO 102
1984 ENDIF
1985 ENDDO
1986 102 CONTINUE
1987 ENDDO
1988 off = off + nsn
1989 END IF
1990 END DO
1991
1992
1993
1994 DO p = 1, nspmd
1995 off = 0
1996 nl_l = 0
1997 DO n = 1, ninter
1998 nty = ipari(7,n)
1999 IF (nty==2) THEN
2000 nrts = ipari(3,n)
2001 nrtm = ipari(4,n)
2002 nsn = ipari(5,n)
2003 nmn = ipari(6,n)
2004 DO i=1,nsn
2005 l = intbuf_tab(n)%IRTLM(i)
2006 k = intbuf_tab(n)%NSV(i)
2007 IF(celi2(off+i)==0) THEN
2009 nl_l = nl_l + 1
2010 celi2(off+i) = nl_l
2011 END IF
2012 END IF
2013 END DO
2014 off = off + nsn
2015 END IF
2016 END DO
2017 END DO
2018 END IF
2019
2020 RETURN
subroutine check_skew(ixr, igeo, iskn, cep, iskwp, nskwp, tag_skn, multiple_skew, r_skew, ipm, offset)
subroutine domain_decomposition_pcyl(loads, iframe)
subroutine c_doms10(icnds10, itagnd, iplus)
subroutine frontplus_rm(front, index)
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)
character *2 function nl()