26 integer j,nelem,jface,indexe,ipkon(*),kon(*),nopem,
27 & ifaceq(8,6),ifacet(6,4),ifacew1(4,5),ifacew2(8,5),
28 & konl(26),ipoface(*),nodface(5,*),nodedesiinv(*),
29 & nopesurf(9),ifree,nope,m,k,nk,nx(*),ny(*),nz(*),
30 & actnode,kflag,ndesinode
32 real*8 co(3,*),xo(*),yo(*),zo(*),x(*),y(*),z(*)
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/
45 data ifacet /1,3,2,7,6,5,
52 data ifacew1 /1,3,2,0,
60 data ifacew2 /1,3,2,9,8,7,0,0,
72 if(ipoface(j).eq.0) cycle
77 nelem=nodface(3,indexe)
78 jface=nodface(4,indexe)
83 if(lakon(nelem)(4:4).eq.
'8')
then 86 elseif(lakon(nelem)(4:5).eq.
'20')
then 89 elseif(lakon(nelem)(4:5).eq.
'10')
then 92 elseif(lakon(nelem)(4:4).eq.
'4')
then 95 elseif(lakon(nelem)(4:4).eq.
'6')
then 102 elseif(lakon(nelem)(4:5).eq.
'15')
then 114 konl(k)=kon(ipkon(nelem)+k)
118 if((nope.eq.20).or.(nope.eq.8))
then 120 actnode=konl(ifaceq(m,jface))
121 if(nodedesiinv(actnode).ne.1)
then 122 ndesinode=ndesinode+1
123 nopesurf(ndesinode)=actnode
126 elseif((nope.eq.10).or.(nope.eq.4))
then 128 actnode=konl(ifacet(m,jface))
129 if(nodedesiinv(actnode).ne.1)
then 130 ndesinode=ndesinode+1
131 nopesurf(ndesinode)=actnode
134 elseif(nope.eq.15)
then 136 actnode=konl(ifacew2(m,jface))
137 if(nodedesiinv(actnode).ne.1)
then 138 ndesinode=ndesinode+1
139 nopesurf(ndesinode)=actnode
144 actnode=konl(ifacew1(m,jface))
145 if(nodedesiinv(actnode).ne.1)
then 146 ndesinode=ndesinode+1
147 nopesurf(ndesinode)=actnode
154 if((ndesinode.gt.0).and.(ndesinode.lt.nopem))
then 157 if(nodedesiinv(actnode).eq.-1) cycle
159 xo(ifree)=co(1,actnode)
162 yo(ifree)=co(2,actnode)
165 zo(ifree)=co(3,actnode)
168 nodedesiinv(actnode)=-1
171 indexe=nodface(5,indexe)
179 if(nodedesiinv(m).eq.-1)
then 187 call dsort(x,nx,ifree,kflag)
188 call dsort(y,ny,ifree,kflag)
189 call dsort(z,nz,ifree,kflag)
subroutine dsort(dx, iy, n, kflag)
Definition: dsort.f:6