29       integer ipkon(*),kon(*),ne,nfield,i,j,k,l,mi(*),nelem,
    30      &  ielmat(mi(3),*),nlayer,iflag,nbot20(8),nmid20(8),ntop20(8),
    31      &  nbot15(6),nmid15(6),ntop15(6),ibot,itop,nope,nopes,nopeexp,
    32      &  indexe,konl(20),imid,node,nodebot,nodetop
    34       real*8 yn(nfield,*),shp(4,20),xsj(3),co(3,*),xl(3,20),
    35      &  xi,et,ze,dd,dt,xi20(8),et20(8),xi15(6),et15(6)
    39       data nbot20 /1,2,3,4,9,10,11,12/
    40       data nmid20 /17,18,19,20,0,0,0,0/
    41       data ntop20 /5,6,7,8,13,14,15,16/
    43       data nbot15 /1,2,3,7,8,9/
    44       data nmid15 /13,14,15,0,0,0/
    45       data ntop15 /4,5,6,10,11,12/
    47       data xi20 /-1.d0,1.d0,1.d0,-1.d0,0.d0,1.d0,0.d0,-1.d0/
    48       data et20 /-1.d0,-1.d0,1.d0,1.d0,-1.d0,0.d0,1.d0,0.d0/
    50       data xi15 /0.d0,1.d0,0.d0,0.5d0,0.5d0,0.d0/
    51       data et15 /0.d0,0.d0,1.d0,0.d0,0.5d0,0.5d0/
    56          if(lakon(nelem)(7:8).eq.
'LC') 
then    64                if(ielmat(k,nelem).ne.0) 
then    71             if(lakon(nelem)(4:5).eq.
'20') 
then    75             elseif(lakon(nelem)(4:5).eq.
'15') 
then    89                if(lakon(nelem)(4:5).eq.
'20') 
then   105                dd=sqrt((co(1,nodebot)-co(1,nodetop))**2+
   106      &                 (co(2,nodebot)-co(2,nodetop))**2+
   107      &                 (co(3,nodebot)-co(3,nodetop))**2)
   112                   node=kon(indexe+nopeexp+j*nope+ibot)
   113                   dt=sqrt((co(1,nodebot)-co(1,node))**2+
   114      &                 (co(2,nodebot)-co(2,node))**2+
   115      &                 (co(3,nodebot)-co(3,node))**2)
   121                   if(lakon(nelem)(4:5).eq.
'20') 
then   122                      call shape20h(xi,et,ze,xl,xsj,shp,iflag)
   123                   elseif(lakon(nelem)(4:5).eq.
'15') 
then   124                      call shape15w(xi,et,ze,xl,xsj,shp,iflag)
   130                         yn(k,node)=yn(k,node)+
   131      &                        shp(4,l)*yn(k,konl(l))
   139                   node=kon(indexe+nopeexp+j*nope+itop)
   140                   dt=sqrt((co(1,nodebot)-co(1,node))**2+
   141      &                 (co(2,nodebot)-co(2,node))**2+
   142      &                 (co(3,nodebot)-co(3,node))**2)
   148                   if(lakon(nelem)(4:5).eq.
'20') 
then   149                      call shape20h(xi,et,ze,xl,xsj,shp,iflag)
   150                   elseif(lakon(nelem)(4:5).eq.
'15') 
then   151                      call shape15w(xi,et,ze,xl,xsj,shp,iflag)
   157                         yn(k,node)=yn(k,node)+
   158      &                        shp(4,l)*yn(k,konl(l))
   164                   if(i.gt.nopes/2) cycle
   166                   node=kon(indexe+nopeexp+j*nope+imid)
   167                   dt=sqrt((co(1,nodebot)-co(1,node))**2+
   168      &                 (co(2,nodebot)-co(2,node))**2+
   169      &                 (co(3,nodebot)-co(3,node))**2)
   175                   if(lakon(nelem)(4:5).eq.
'20') 
then   176                      call shape20h(xi,et,ze,xl,xsj,shp,iflag)
   177                   elseif(lakon(nelem)(4:5).eq.
'15') 
then   178                      call shape15w(xi,et,ze,xl,xsj,shp,iflag)
   184                         yn(k,node)=yn(k,node)+
   185      &                        shp(4,l)*yn(k,konl(l))
 subroutine shape15w(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape15w.f:20
 
subroutine shape20h(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape20h.f:20