26 character*8 lakon(*),lakonfa(*)
28 integer ipkon(*),kon(*),ne,nodface(5,*),ipoface(*),nk,nopem,m,
29 & ithree,ifour,ifaceq(8,6),konfa(*),ipkonfa(*),nelemm,jfacem,
30 & ifacet(6,4),ifacew2(8,5),ifree,ifreenew,index,indexold,kflag,
31 & i,j,k,
nodes(4),iaux,indexe,konl(26),nope,nsurfs,
36 data ifaceq /4,3,2,1,11,10,9,12,
37 & 5,6,7,8,13,14,15,16,
39 & 2,3,7,6,10,19,14,18,
40 & 3,4,8,7,11,20,15,19,
41 & 4,1,5,8,12,17,16,20/
42 data ifacet /1,3,2,7,6,5,
46 data ifacew1 /1,3,2,0,
51 data ifacew2 /1,3,2,9,8,7,0,0,
79 if(ipkon(i).lt.0) cycle
80 if(lakon(i)(1:3).ne.
'C3D') cycle
82 if((lakon(i)(4:4).eq.
'2').or.(lakon(i)(4:4).eq.
'8'))
then 85 nodes(k)=kon(indexe+ifaceq(k,j))
89 index=ipoface(
nodes(1))
96 ifreenew=nodface(5,ifree)
97 nodface(1,ifree)=
nodes(2)
98 nodface(2,ifree)=
nodes(3)
101 nodface(5,ifree)=ipoface(
nodes(1))
102 ipoface(
nodes(1))=ifree
110 if((nodface(1,index).eq.
nodes(2)).and.
111 & (nodface(2,index).eq.
nodes(3)))
then 112 if(indexold.eq.0)
then 113 ipoface(
nodes(1))=nodface(5,index)
115 nodface(5,indexold)=nodface(5,index)
117 nodface(5,index)=ifree
122 index=nodface(5,index)
125 elseif((lakon(i)(4:4).eq.
'4').or.(lakon(i)(4:5).eq.
'10'))
then 128 nodes(k)=kon(indexe+ifacet(k,j))
132 index=ipoface(
nodes(1))
139 ifreenew=nodface(5,ifree)
140 nodface(1,ifree)=
nodes(2)
141 nodface(2,ifree)=
nodes(3)
144 nodface(5,ifree)=ipoface(
nodes(1))
145 ipoface(
nodes(1))=ifree
153 if((nodface(1,index).eq.
nodes(2)).and.
154 & (nodface(2,index).eq.
nodes(3)))
then 155 if(indexold.eq.0)
then 156 ipoface(
nodes(1))=nodface(5,index)
158 nodface(5,indexold)=nodface(5,index)
160 nodface(5,index)=ifree
165 index=nodface(5,index)
172 nodes(k)=kon(indexe+ifacew2(k,j))
177 nodes(k)=kon(indexe+ifacew2(k,j))
182 index=ipoface(
nodes(1))
189 ifreenew=nodface(5,ifree)
190 nodface(1,ifree)=
nodes(2)
191 nodface(2,ifree)=
nodes(3)
194 nodface(5,ifree)=ipoface(
nodes(1))
195 ipoface(
nodes(1))=ifree
203 if((nodface(1,index).eq.
nodes(2)).and.
204 & (nodface(2,index).eq.
nodes(3)))
then 205 if(indexold.eq.0)
then 206 ipoface(
nodes(1))=nodface(5,index)
208 nodface(5,indexold)=nodface(5,index)
210 nodface(5,index)=ifree
215 index=nodface(5,index)
228 if(ipoface(j).eq.0) cycle
233 nelemm=nodface(3,indexe)
234 jfacem=nodface(4,indexe)
238 if(lakon(nelemm)(4:4).eq.
'8')
then 241 elseif(lakon(nelemm)(4:5).eq.
'20')
then 247 elseif(lakon(nelemm)(4:5).eq.
'10')
then 250 elseif(lakon(nelemm)(4:4).eq.
'4')
then 256 elseif(lakon(nelemm)(4:4).eq.
'6')
then 263 elseif(lakon(nelemm)(4:5).eq.
'15')
then 275 konl(k)=kon(ipkon(nelemm)+k)
281 & ((nope.eq.15).and.(jfacem.gt.2)))
then 283 ipkonfa(nsurfs)=ifree
286 konfa(ifree+m)=konl(ifaceq(m,jfacem))
288 konfa(ifree+m)=konl(ifacew2(m,jfacem))
295 elseif((nope.eq.8).or.
296 & ((nope.eq.6).and.(jfacem.gt.2)))
then 298 ipkonfa(nsurfs)=ifree
301 konfa(ifree+m)=konl(ifaceq(m,jfacem))
303 konfa(ifree+m)=konl(ifacew1(m,jfacem))
310 elseif((nope.eq.10).or.
311 & ((nope.eq.15).and.(jfacem.le.2)))
then 313 ipkonfa(nsurfs)=ifree
316 konfa(ifree+m)=konl(ifacet(m,jfacem))
318 konfa(ifree+m)=konl(ifacew2(m,jfacem))
325 elseif((nope.eq.4).or.
326 & ((nope.eq.6).and.(jfacem.le.2)))
then 328 ipkonfa(nsurfs)=ifree
331 konfa(ifree+m)=konl(ifacet(m,jfacem))
333 konfa(ifree+m)=konl(ifacew1(m,jfacem))
338 indexe=nodface(5,indexe)
subroutine isortii(ix, iy, n, kflag)
Definition: isortii.f:6
subroutine nodes(inpc, textpart, co, nk, nk_, set, istartset, iendset, ialset, nset, nset_, nalset, nalset_, istep, istat, n, iline, ipol, inl, ipoinp, inp, ipoinpc)
Definition: nodes.f:22