30
31
32
33#include "implicit_f.inc"
34
35
36
37#include "com04_c.inc"
38
39
40
41
42 INTEGER,INTENT(IN) :: ADDCNEL(*)
43
44 INTEGER,INTENT(IN) :: CNEL(*)
45
46 INTEGER,INTENT(IN) :: INDX(*)
47
48 INTEGER,INTENT(IN) :: SUBSIZE
49
50 INTEGER,INTENT(INOUT) :: ADDCNEL_SUB(*)
51
52
53
54 INTEGER NS
55 INTEGER NG
56 INTEGER NEL
57 INTEGER NUMG
58 INTEGER I,K
59
60
61
62
63
64 addcnel_sub(2) = 1
65
66
67 DO ns=1,subsize
68
69 ng = indx(ns)
70
71 nel = addcnel(ng+2) - addcnel(ng+1)
72
73 k = 0
74
75 DO i = 1,nel
76
77 numg = cnel(addcnel(ng+1)+i-1)
78
79 IF (numg<=numels) THEN
80 k = k + 1
81 ELSEIF (numg<=numels+numelq) THEN
82 CONTINUE
83 ELSEIF (numg<=numels+numelq+numelc) THEN
84 k = k + 1
85 ELSEIF (numg<=numels+numelq+numelc+numelt) THEN
86 CONTINUE
87 ELSEIF (numg<=numels+numelq+numelc+numelt+numelp) THEN
88 CONTINUE
89 ELSEIF (numg<=numels+numelq+numelc+numelt+numelp+
90 . numelr) THEN
91 CONTINUE
92 ELSEIF (numg<=numels+numelq+numelc+numelt+numelp+
93 . numelr+numeltg) THEN
94 k = k + 1
95 ELSE
96 CONTINUE
97 ENDIF
98 ENDDO
99
100 addcnel_sub(ns+2) = addcnel_sub(ns+1) + k
101 ENDDO
102
103 RETURN