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