32       character*81 objectset(4,*)
    35       integer idesvar,j,k,kk,l,m,m1,n,istartdesi(*),
    36      &   ielem,ipoface(*),nodface(5,*),ndesi,nodedesi(*),nope,
    37      &   ialdesi(*),nopes,indexe,iaux,ifour,kflag,indexel,
    38      &   mint3d,mint2d,ipkon(*),konl(26),iflag,ifaceq(8,6),
    39      &   ifacet(6,4),ifacew1(4,5),ifacew2(8,5),kon(*),
    40      &   nodes1(8),ifacel,iobject,nodes2(8),indexs,nk,
    41      &   ithree,i,node,ifacq(2,3,20),ifact(2,3,10),ifacw(2,3,15),
    42      &   nopedesi,nnodes,nodedesiinv(*),nobject,noregion,iactnode
    44       real*8 xi,et,weight,xl(3,9),xs(3,2),xsj(3),shp(7,9),
    45      &   co(3,*),xsjj,weightformgrad(ndesi),dgdx(ndesi,nobject),
    46      &   dgdxglob(2,nk,nobject)   
    57       data ifaceq /4,3,2,1,11,10,9,12,
    58      &            5,6,7,8,13,14,15,16,
    60      &            2,3,7,6,10,19,14,18,
    61      &            3,4,8,7,11,20,15,19,
    62      &            4,1,5,8,12,17,16,20/
    66       data ifacet /1,3,2,7,6,5,
    73       data ifacew1 /1,3,2,0,
    81       data ifacew2 /1,3,2,9,8,7,0,0,
    96       data ifacq /1,4,3,1,6,2,
   117       data ifact /1,1,2,1,4,1,
   128       data ifacw /1,1,3,1,5,2,
   155          node=nodedesi(idesvar)
   159          do j=istartdesi(idesvar),istartdesi(idesvar+1)-1
   168             if(lakon(ielem)(4:5).eq.
'8R') 
then   173             elseif(lakon(ielem)(4:4).eq.
'8') 
then   178             elseif(lakon(ielem)(4:5).eq.
'20') 
then   183             elseif(lakon(ielem)(4:5).eq.
'10') 
then   188             elseif(lakon(ielem)(4:4).eq.
'4') 
then   193             elseif(lakon(ielem)(4:4).eq.
'6') 
then                   198             elseif(lakon(ielem)(4:5).eq.
'15') 
then   206             if(noregion.eq.1) nopedesi=0
   212                konl(l)=kon(indexe+l)
   216                if(kon(indexe+i).eq.node) 
exit   225                if((nope.eq.20).or.(nope.eq.8)) 
then   229                      nodes1(l)=konl(ifaceq(l,k))
   232                   call isortii(nodes1,iaux,ifour,kflag)
   236                elseif((nope.eq.10).or.(nope.eq.4)) 
then   240                      nodes1(l)=konl(ifacet(l,k))
   243                   call isortii(nodes1,iaux,ithree,kflag)
   248                elseif(nope.eq.15) 
then   255                         nodes1(l)=konl(ifacew2(l,k))
   258                      call isortii(nodes1,iaux,ithree,kflag)
   264                         nodes1(l)=konl(ifacew2(l,k))
   267                      call isortii(nodes1,iaux,ithree,kflag)
   276                         nodes1(l)=konl(ifacew1(l,k))
   279                      call isortii(nodes1,iaux,ithree,kflag)
   285                         nodes1(l)=konl(ifacew1(l,k))
   288                      call isortii(nodes1,iaux,ithree,kflag)
   295                indexs=ipoface(nodes1(1))
   297                   if(indexs.eq.0) cycle loop1
   298                   if((nodface(1,indexs).eq.nodes1(2)).and.
   299      &                 (nodface(2,indexs).eq.nodes1(3))) 
then   305                         if(nodedesiinv(nodes1(n)).eq.1) 
then   312                      if(nnodes.ge.nopedesi) 
then   313                         if((nope.eq.20).or.(nope.eq.8)) 
then   316                                  ifacel=ifaceq(l,nodface(4,indexs))
   317                                  xl(n,l)=co(n,konl(ifacel))
   320                         elseif((nope.eq.10).or.(nope.eq.4)) 
then   323                                  ifacel=ifacet(l,nodface(4,indexs))
   324                                  xl(n,l)=co(n,konl(ifacel))
   327                         elseif(nope.eq.15) 
then    330                                  ifacel=ifacew2(l,nodface(4,indexs))
   331                                  xl(n,l)=co(n,konl(ifacel))
   334                         elseif(nope.eq.6) 
then   337                                  ifacel=ifacew1(l,nodface(4,indexs))
   338                                  xl(n,l)=co(n,konl(ifacel))
   346                            if(lakon(ielem)(4:5).eq.
'20') 
then   352                            elseif(lakon(ielem)(4:5).eq.
'10') 
then   358                            elseif(lakon(ielem)(4:4).eq.
'4') 
then   364                            elseif(lakon(ielem)(4:5).eq.
'15') 
then   378                            elseif(lakon(ielem)(4:4).eq.
'8') 
then   384                            elseif(lakon(ielem)(4:4).eq.
'6') 
then   402                            xsjj=dsqrt(xsj(1)**2+xsj(2)**2+
   407                            weightformgrad(idesvar)=weightformgrad
   408      &                          (idesvar)+weight*shp(4,m1)*xsjj 
   413                   indexs=nodface(5,indexs)
   426             if(objectset(1,iobject)(1:9).eq.
'THICKNESS') cycle  
   427             if(weightformgrad(idesvar).gt.0.d0) 
then   428                dgdx(idesvar,iobject)=dgdx(idesvar,iobject)
   429      &           /weightformgrad(idesvar)
   430                iactnode=nodedesi(idesvar)
   431                dgdxglob(1,iactnode,iobject)=dgdx(idesvar,iobject)
   433                iactnode=nodedesi(idesvar)
   434                dgdxglob(1,iactnode,iobject)=dgdx(idesvar,iobject)
 subroutine shape8q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape8q.f:20
 
subroutine shape3tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape3tri.f:20
 
subroutine isortii(ix, iy, n, kflag)
Definition: isortii.f:6
 
subroutine shape4q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape4q.f:20
 
subroutine shape6tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape6tri.f:20