32 SUBROUTINE tsurftag(IXS ,IXS10 ,IGRSURF,FLAG ,NSEG ,
33 2 KNOD2ELS,NOD2ELS,N1 ,N2 ,N3 ,
43#include "implicit_f.inc"
51 INTEGER IXS(NIXS,*),IXS10(6,*),
52 . KNOD2ELS(*), NOD2ELS(*)
53 INTEGER FLAG, NSEG,N1,N2,N3
55 TYPE (SURF_) :: IGRSURF
59 INTEGER I,J,K,IE,IE10,NNS,ELEM,FACET,IORD,FC,ELEM8,
60 . MIDNOD(3,4),FACES(6,4),FACES10(3,16),FACE(3),
61 . fcmid10(3),fc10(3),iseg,nseg0
67 DATA faces/2,4,6,2,4,6,
80 DO i=knod2els(n1)+1,knod2els(n1+1)
82 IF(numels8 < ie .AND. ie <= numels8+numels10)
THEN
85 IF(ixs(faces(k,j),ie)==n1.AND.ixs(faces(k+1,j),ie)==n2.AND.
86 . ixs(faces(k+2,j),ie)==n3)
THEN
91 ELSEIF(ixs(faces(k,j),ie)==n1.AND.ixs(faces(k+1,j),ie)==n3.AND.
92 . ixs(faces(k+2,j),ie)==n2 )
THEN
109 fcmid10(j) = ixs10(midnod(j,facet),ie10)
110 IF (fcmid10(j) /= 0) nns=nns+1
117 face(k)=ixs(faces(k,facet),elem)
124 CALL segsurf(face(1),fcmid10(1),fcmid10(3),fcmid10(3),nseg0,
125 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
127 CALL segsurf(fcmid10(1),face(2),fcmid10(2),fcmid10(2),nseg0,
128 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
130 CALL segsurf(fcmid10(1),fcmid10(2),fcmid10(3),fcmid10(3),nseg0,
131 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
133 CALL segsurf(fcmid10(2),face(3),fcmid10(3),fcmid10(3),nseg0,
134 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
137 CALL segsurf(face(1),fcmid10(3),fcmid10(1),fcmid10(1),nseg0,
138 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
140 CALL segsurf(fcmid10(1),fcmid10(2),face(2),face(2),nseg0,
141 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
143 CALL segsurf(fcmid10(1),fcmid10(3),fcmid10(2),fcmid10(2),nseg0,
144 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
146 CALL segsurf(fcmid10(2),fcmid10(3),face(3),face(3),nseg0,
147 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
152 IF (fcmid10(1) == 0)
THEN
154 CALL segsurf(face(1),face(2),fcmid10(2),fcmid10(2),nseg0,
155 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
158 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
160 CALL segsurf(fcmid10(3),fcmid10(2),face(3),face(3),nseg0,
161 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
162 ELSEIF (fcmid10(2) == 0)
THEN
164 CALL segsurf(face(1),fcmid10(1),fcmid10(3),fcmid10(3),nseg0,
167 CALL segsurf(fcmid10(1),face(2),fcmid10(3),fcmid10(3),nseg0,
168 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
170 CALL segsurf(face(2),face(3),fcmid10(3),fcmid10(3),nseg0,
171 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
172 ELSEIF (fcmid10(3) == 0)
THEN
174 CALL segsurf(fcmid10(1),face(2),fcmid10(2),fcmid10
175 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
177 CALL segsurf(fcmid10(1),fcmid10(2),face(1),face(1),nseg0,
178 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
180 CALL segsurf(face(1),fcmid10(2),face(3),face(3),nseg0,
181 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
184 IF (fcmid10(1) == 0)
THEN
186 CALL segsurf(face(1),fcmid10(2),face(2),face(2),nseg0,
187 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
189 CALL segsurf(face(1),fcmid10(3),fcmid10(2),fcmid10(2),nseg0,
190 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
192 CALL segsurf(fcmid10(3),face(3),fcmid10(2),fcmid10(2),nseg0,
193 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
194 ELSEIF (fcmid10(2) == 0)
THEN
196 CALL segsurf(face(1),fcmid10(3),fcmid10(1),fcmid10(1),nseg0,
197 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
199 CALL segsurf(fcmid10(1),fcmid10(3),face(2),face(2),nseg0,
200 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
202 CALL segsurf(face(2),fcmid10(3),face(3),face(3),nseg0,
203 . iseg ,igrsurf%NODES,igrsurf%ELTYP
204 ELSEIF (fcmid10(3) == 0)
THEN
206 CALL segsurf(fcmid10(1),fcmid10(2),face(2),face(2),nseg0,
207 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
209 CALL segsurf(fcmid10(1),face(1),fcmid10(2),fcmid10(2),nseg0,
210 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
212 CALL segsurf(face(1),face(3),fcmid10(2),fcmid10(2),nseg0,
213 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
219 IF (fcmid10(1) /= 0)
THEN
221 CALL segsurf(face(1),fcmid10(1),face(3),face(3),nseg0,
222 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
224 CALL segsurf(fcmid10(1),face(2),face(3),face(3),nseg0,
225 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
226 ELSEIF (fcmid10(2) /= 0)
THEN
228 CALL segsurf(face(1),face(2),fcmid10(2),fcmid10(2),nseg0,
229 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
231 CALL segsurf(face(1),fcmid10(2),face(3),face(3),nseg0,
232 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem
233 ELSEIF (fcmid10(3) /= 0)
THEN
235 CALL segsurf(face(1),face(2),fcmid10(3),fcmid10(3),nseg0,
236 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
238 CALL segsurf(fcmid10(3),face(2),face(3),face(3),nseg0,
239 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
242 IF (fcmid10(1) /= 0)
THEN
244 CALL segsurf(face(1),face(3),fcmid10(1),fcmid10(1),nseg0,
245 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
247 CALL segsurf(fcmid10(1),face(3),face(2),face(
248 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
249 ELSEIF (fcmid10(2) /= 0)
THEN
251 CALL segsurf(face(1),fcmid10(2),face(2),face(2
252 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
254 CALL segsurf(face(1),face(3),fcmid10(2),fcmid10(2),nseg0,
255 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
256 ELSEIF (fcmid10(3) /= 0)
THEN
258 CALL segsurf(face(1),fcmid10(3),face(2),face(2),nseg0,
259 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
261 CALL segsurf(fcmid10(3),face(3),face(2),face(2),nseg0,
262 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
268 CALL segsurf(n1 ,n2 ,n3 ,n3,nseg0,
269 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,elem,1)
278 CALL segsurf(n1 ,n2 ,n3 ,n3,nseg0,
279 . iseg ,igrsurf%NODES,igrsurf%ELTYP,igrsurf%ELEM,0,0)
subroutine hm_read_surf(itab, itabm1, igrsurf, ixs, ixq, ixc, ixt, ixp, ixr, ixtg, ipart, iparts, ipartq, ipartc, ipartt, ipartp, ipartr, iparttg, x, mfi, iskn, skew, bufsf, knod2els, nod2els, sh4tree, sh3tree, isubmod, flag, unitab, ibox, ixs10, ixs16, ixs20, rtrans, lsubmodel, knod2elc, nod2elc, knod2eltg, nod2eltg, kxig3d, ixig3d, ipartig3d, knot, igeo, wige, knod2elig3d, nod2elig3d, v, nige, rige, xige, vige, iadtabige, decaligeo, iadboxmax, knod2elq, nod2elq, subset, igrbric, igrsh4n, igrsh3n, knotlocpc, knotlocel, nsets, map_tables)