28 integer iponofa(*),inofa(2,*),ifreefa,ielfa(4,*),indexb,nk,
29 & ifabou(*),iel,indexe,ipkon(*),k,node,ifaceq(8,6),nface,i,j,
30 & konf(*),ifacet(7,4),ifacew(8,5),nf(5)
34 data ifaceq /4,3,2,1,11,10,9,12,
35 & 5,6,7,8,13,14,15,16,
37 & 2,3,7,6,10,19,14,18,
38 & 3,4,8,7,11,20,15,19,
39 & 4,1,5,8,12,17,16,20/
40 data ifacet /1,3,2,7,6,5,11,
44 data ifacew /1,3,2,9,8,7,0,0,
59 if(ifabou(-indexb+5).gt.0)
then 64 if(lakon(iel)(4:4).eq.
'8')
then 66 node=konf(indexe+ifaceq(k,j))
67 if(iponofa(node).eq.0)
then 71 elseif(iponofa(node).gt.0)
then 73 inofa(2,ifreefa)=iponofa(node)
78 elseif(lakon(iel)(4:4).eq.
'6')
then 80 node=konf(indexe+ifacew(k,j))
81 if(iponofa(node).eq.0)
then 85 elseif(iponofa(node).gt.0)
then 87 inofa(2,ifreefa)=iponofa(node)
94 node=konf(indexe+ifacet(k,j))
95 if(iponofa(node).eq.0)
then 99 elseif(iponofa(node).gt.0)
then 101 inofa(2,ifreefa)=iponofa(node)
103 iponofa(node)=ifreefa
113 if(iponofa(i).gt.0) iponofa(i)=-iponofa(i)
121 if(indexb.ge.0) cycle
122 if((ifabou(-indexb+1).ne.0).and.
123 & (ifabou(-indexb+2).ne.0).and.
124 & (ifabou(-indexb+3).ne.0))
then 129 if(lakon(iel)(4:4).eq.
'8')
then 131 node=konf(indexe+ifaceq(k,j))
132 if(iponofa(node).eq.0)
then 134 iponofa(node)=ifreefa
136 elseif(iponofa(node).gt.0)
then 138 inofa(2,ifreefa)=iponofa(node)
140 iponofa(node)=ifreefa
143 elseif(lakon(iel)(4:4).eq.
'6')
then 145 node=konf(indexe+ifacew(k,j))
146 if(iponofa(node).eq.0)
then 148 iponofa(node)=ifreefa
150 elseif(iponofa(node).gt.0)
then 152 inofa(2,ifreefa)=iponofa(node)
154 iponofa(node)=ifreefa
159 node=konf(indexe+ifacet(k,j))
160 if(iponofa(node).eq.0)
then 162 iponofa(node)=ifreefa
164 elseif(iponofa(node).gt.0)
then 166 inofa(2,ifreefa)=iponofa(node)
168 iponofa(node)=ifreefa
178 if(iponofa(i).gt.0) iponofa(i)=-iponofa(i)
186 if(indexb.ge.0) cycle
187 if(ifabou(-indexb+4).ne.0)
then 192 if(lakon(iel)(4:4).eq.
'8')
then 194 node=konf(indexe+ifaceq(k,j))
195 if(iponofa(node).eq.0)
then 197 iponofa(node)=ifreefa
199 elseif(iponofa(node).gt.0)
then 201 inofa(2,ifreefa)=iponofa(node)
203 iponofa(node)=ifreefa
206 elseif(lakon(iel)(4:4).eq.
'6')
then 208 node=konf(indexe+ifacew(k,j))
209 if(iponofa(node).eq.0)
then 211 iponofa(node)=ifreefa
213 elseif(iponofa(node).gt.0)
then 215 inofa(2,ifreefa)=iponofa(node)
217 iponofa(node)=ifreefa
222 node=konf(indexe+ifacet(k,j))
223 if(iponofa(node).eq.0)
then 225 iponofa(node)=ifreefa
227 elseif(iponofa(node).gt.0)
then 229 inofa(2,ifreefa)=iponofa(node)
231 iponofa(node)=ifreefa
241 if(iponofa(i).gt.0) iponofa(i)=-iponofa(i)
248 if(indexb.ge.0) cycle
250 if(ifabou(-indexb+5).lt.0)
then 255 if(lakon(iel)(4:4).eq.
'8')
then 257 node=konf(indexe+ifaceq(k,j))
258 if(iponofa(node).eq.0)
then 260 iponofa(node)=ifreefa
262 elseif(iponofa(node).gt.0)
then 264 inofa(2,ifreefa)=iponofa(node)
266 iponofa(node)=ifreefa
269 elseif(lakon(iel)(4:4).eq.
'6')
then 271 node=konf(indexe+ifacew(k,j))
272 if(iponofa(node).eq.0)
then 274 iponofa(node)=ifreefa
276 elseif(iponofa(node).gt.0)
then 278 inofa(2,ifreefa)=iponofa(node)
280 iponofa(node)=ifreefa
285 node=konf(indexe+ifacet(k,j))
286 if(iponofa(node).eq.0)
then 288 iponofa(node)=ifreefa
290 elseif(iponofa(node).gt.0)
then 292 inofa(2,ifreefa)=iponofa(node)
294 iponofa(node)=ifreefa
304 if(iponofa(i).gt.0) iponofa(i)=-iponofa(i)
315 if(lakon(iel)(4:4).eq.
'8')
then 317 node=konf(indexe+ifaceq(k,j))
318 if(iponofa(node).eq.0)
then 320 iponofa(node)=ifreefa
322 elseif(iponofa(node).gt.0)
then 324 inofa(2,ifreefa)=iponofa(node)
326 iponofa(node)=ifreefa
329 elseif(lakon(iel)(4:4).eq.
'6')
then 331 node=konf(indexe+ifacew(k,j))
332 if(iponofa(node).eq.0)
then 334 iponofa(node)=ifreefa
336 elseif(iponofa(node).gt.0)
then 338 inofa(2,ifreefa)=iponofa(node)
340 iponofa(node)=ifreefa
345 node=konf(indexe+ifacet(k,j))
346 if(iponofa(node).eq.0)
then 348 iponofa(node)=ifreefa
350 elseif(iponofa(node).gt.0)
then 352 inofa(2,ifreefa)=iponofa(node)
354 iponofa(node)=ifreefa
363 if(iponofa(i).lt.0) iponofa(i)=-iponofa(i)