33
34
35
36
37
38
39
40#include "implicit_f.inc"
41
42
43
44#include "com04_c.inc"
45
46
47
48 INTEGER PROC, NMADSH4_L, NMADSH3_L, NMADSOL_L, NMADNOD_L,
49 . MADCL_NMADNOD_L,IEXMAD(*),CEP(*)
50
51
52
53 INTEGER NLOCAL
55
56
57
58 INTEGER I, IDEB, , ESHIFT, P
59
60
61
62 IF(nexmad/=0) THEN
63
64
65
66 ideb = 1 + 7*nconx + nmadprt
67 eshift = numels+numelq
68 DO i = 1, nmadsh4
69 k = iexmad(ideb+i-1)
70 IF(cep(k+eshift)==proc) THEN
71 nmadsh4_l = nmadsh4_l+1
72 END IF
73 END DO
74
75
76
77 ideb = ideb + nmadsh4
78 eshift = numels+numelq+numelc+numelt+numelp+numelr
79 DO i = 1, nmadsh3
80 k = iexmad(ideb+i-1)
81 IF(cep(k+eshift)==proc) THEN
82 nmadsh3_l = nmadsh3_l+1
83 END IF
84 END DO
85
86
87
88 ideb = ideb + nmadsh3
89 eshift = 0
90 DO i = 1, nmadsol
91 k = iexmad(ideb+i-1)
92 IF(cep(k+eshift)==proc) THEN
93 nmadsol_l = nmadsol_l+1
94 END IF
95 END DO
96
97
98
99 ideb = ideb + nmadsol
100 DO i = 1, nmadnod
101 k = iexmad(ideb+i-1)
102 IF(
nlocal(k,proc+1)==1)
THEN
103 DO p = 1, proc
104 IF(
nlocal(k,p)==1)
GOTO 100
105 END DO
106 nmadnod_l = nmadnod_l+1
107 END IF
108 100 CONTINUE
109 END DO
110
111 madcl_nmadnod_l=0
112 DO i = 1, nmadnod
113 k = iexmad(ideb+i-1)
114 IF(
nlocal(k,proc+1)==1)
THEN
115 madcl_nmadnod_l = madcl_nmadnod_l + 1
116 END IF
117 END DO
118 END IF
119
120 RETURN