34 integer istartset(*),iendset(*),ialset(*),iactive(3),
35 & ipkon(*),kon(*),iset,ntotal,nope,nopes,indexe,nodef(9),
36 & ifaceq(8,6),ifacet(6,4),ifacew1(4,5),ifacew2(8,5),m,
37 & node,idof,jdof(3),idummy,nlength,kflag,ikmpc(*),nmpc,id,
38 & iface,nelem,jface,i,j,k,nafaces
44 data ifaceq /4,3,2,1,11,10,9,12,
45 & 5,6,7,8,13,14,15,16,
47 & 2,3,7,6,10,19,14,18,
48 & 3,4,8,7,11,20,15,19,
49 & 4,1,5,8,12,17,16,20/
53 data ifacet /1,3,2,7,6,5,
60 data ifacew1 /1,3,2,0,
68 data ifacew2 /1,3,2,9,8,7,0,0,
95 if(iactive(m).gt.0)
then 98 loop1:
do j=istartset(iset),iendset(iset)
100 nelem=int(iface/10.d0)
106 if(lakon(nelem)(4:5).eq.
'8R')
then 109 elseif(lakon(nelem)(4:4).eq.
'8')
then 112 elseif(lakon(nelem)(4:6).eq.
'20R')
then 115 elseif(lakon(nelem)(4:5).eq.
'20')
then 118 elseif(lakon(nelem)(4:5).eq.
'10')
then 121 elseif(lakon(nelem)(4:4).eq.
'4')
then 127 elseif(lakon(nelem)(4:4).eq.
'6')
then 134 elseif(lakon(nelem)(4:5).eq.
'15')
then 146 if((nope.eq.20).or.(nope.eq.8))
then 148 nodef(k)=kon(indexe+ifaceq(k,jface))
150 elseif((nope.eq.10).or.(nope.eq.4))
then 152 nodef(k)=kon(indexe+ifacet(k,jface))
154 elseif(nope.eq.15)
then 156 nodef(k)=kon(indexe+ifacew2(k,jface))
160 nodef(k)=kon(indexe+ifacew1(k,jface))
166 idof=8*(node-1)+jdof(m)
167 call nident(ikmpc,idof,nmpc,id)
169 if(ikmpc(id).eq.idof) cycle
174 ialset(istartset(iset)+ntotal)=iface
178 iendset(iset)=istartset(iset)+ntotal-1
185 if(iactive(m).eq.0) cycle
186 nlength=iendset(iactive(m))-istartset(iactive(m))+1
187 call isortii(ialset(istartset(iactive(m))),idummy,
195 if((iactive(2).eq.0).and.(iactive(3).eq.0))
then 197 elseif(iactive(2).eq.0)
then 198 nafaces=iendset(iactive(3))-istartset(iactive(3))+1
199 elseif(iactive(3).eq.0)
then 200 nafaces=iendset(iactive(2))-istartset(iactive(2))+1
202 nafaces=iendset(iactive(2))-istartset(iactive(2))+1
203 & +iendset(iactive(3))-istartset(iactive(3))+1
subroutine isortii(ix, iy, n, kflag)
Definition: isortii.f:6
subroutine nident(x, px, n, id)
Definition: nident.f:26