31
32
33
35 USE matparam_def_mod
36
37
38
39#include "implicit_f.inc"
40
41
42
43#include "com04_c.inc"
44#include "param_c.inc"
45
46
47
48 INTEGER, INTENT(IN) :: IXC(NIXC,NUMELC),IXTG(NIXTG,NUMELTG),IXS(NIXS,NUMELS),IXS10(6,NUMELS10),
49 . IXS20(12,NUMELS20),IXS16(8,NUMELS16)
50 INTEGER, INTENT(INOUT) :: TAG_NLOCAL(NUMNOD)
51 TYPE (MATPARAM_STRUCT_) ,DIMENSION(NUMMAT) ,INTENT(IN) :: MAT_PARAM
52
53
54
55 INTEGER I,J,L,MID
56
57C
58
59
60
61
62
63 DO j=1,numelc
64 mid = ixc(1,j)
65 IF (mat_param(mid)%NLOC > 0)THEN
66 DO l=2,5
67 tag_nlocal(ixc(l,j))=1
68 ENDDO
69 ENDIF
70 ENDDO
71
72 DO j=1,numeltg
73 mid = ixtg(1,j)
74 IF (mat_param(mid)%NLOC > 0)THEN
75 DO l=2,4
76 tag_nlocal(ixtg(l,j))=1
77 ENDDO
78 ENDIF
79 ENDDO
80
81 DO j=1,numels8
82 mid = ixs(1,j)
83 IF (mat_param(mid)%NLOC > 0)THEN
84 DO l=2,9
85 tag_nlocal(ixs(l,j))=1
86 ENDDO
87 ENDIF
88 ENDDO
89
90 DO i=1,numels10
91 j = i + numels8
92 mid = ixs(1,j)
93 IF (mat_param(mid)%NLOC > 0)THEN
94 DO l=2,9
95 tag_nlocal(ixs(l,j))=1
96 ENDDO
97 DO l=1,6
98 IF (ixs10(l,i) /= 0) THEN
99 tag_nlocal(ixs10(l,i))=1
100 ENDIF
101 ENDDO
102 ENDIF
103 ENDDO
104
105 DO i=1,numels20
106 j = i + numels8 + numels10
107 mid = ixs(1,j)
108 IF (mat_param(mid)%NLOC > 0)THEN
109 DO l=2,9
110 tag_nlocal(ixs(l,j))=1
111 ENDDO
112 DO l=1,12
113 IF (ixs20(l,i) /= 0) THEN
114 tag_nlocal(ixs20(l,i))=1
115 ENDIF
116 ENDDO
117 ENDIF
118 ENDDO
119
120 DO i=1,numels16
121 j = i + numels8 + numels10 + numels20
122 mid = ixs(1,j)
123 IF (mat_param(mid)%NLOC > 0)THEN
124 DO l=2,9
125 tag_nlocal(ixs(l,j))=0
126 ENDDO
127 DO l=1,8
128 IF (ixs16(l,i) /= 0) THEN
129 tag_nlocal(ixs16(l,i))=0
130 ENDIF
131 ENDDO
132 ENDIF
133 ENDDO
134
135 RETURN
136