28       integer i,j,nope,mint3d,indexe,ielem,kon(*),ipkon(*),
    29      & iterms,k,iflag,nrhs,info,node,ipnt,
    30      & mi(*),irow,ipoints,members(*),linpatch,ielidx,iavflag
    32       real*8 xl(3,20),co(3,*),shp(4,20),
    33      & pgauss(3),pol(20),pntdist,w,scpav(6,*),xsj,
    34      & sti(6,mi(1),*),xi,et,ze,rv1(ipoints),pp(ipoints,iterms),
    35      & pdat(ipoints,6),pfit(6),pwrk(iterms),pre(ipoints,iterms),
    38       real*8 tmpstr(6),gauss3d5e(3,4)
    67             if(lakon(ielem)(1:5).eq.
'C3D20') 
then    72                if(lakon(ielem)(6:6).eq.
'R') 
then    77             elseif(lakon(ielem)(1:4).eq.
'C3D8') 
then    79                if(lakon(ielem)(5:5).eq.
'R') 
then    84             elseif(lakon(ielem)(1:5).eq.
'C3D10') 
then    95                   xl(k,j)=co(k,kon(indexe+j))
   108                elseif(nope.eq.20) 
then   113                   elseif(mint3d.eq.27) 
then   118                   call shape20h(xi,et,ze,xl,xsj,shp,iflag)
   119                elseif(nope.eq.8) 
then   124                   elseif(mint3d.eq.8) 
then   129                   call shape8h(xi,et,ze,xl,xsj,shp,iflag)
   138                      pgauss(j)=pgauss(j)+shp(4,k)*xl(j,k)
   144                   pgauss(j)=pgauss(j)-co(j,node)
   153                pol(5)=pgauss(1)*pgauss(2)
   154                pol(6)=pgauss(1)*pgauss(3)
   155                pol(7)=pgauss(2)*pgauss(3)
   156                pol(8)=pgauss(1)*pgauss(1)
   157                pol(9)=pgauss(2)*pgauss(2)
   158                pol(10)=pgauss(3)*pgauss(3)
   159                pol(11)=pgauss(1)*pgauss(2)*pgauss(3)
   160                if(iterms.gt.11) 
then   161                   pol(12)=pgauss(1)*pgauss(1)*pgauss(2)
   162                   pol(13)=pgauss(1)*pgauss(2)*pgauss(2)
   163                   pol(14)=pgauss(1)*pgauss(1)*pgauss(3)
   164                   pol(15)=pgauss(1)*pgauss(3)*pgauss(3)
   165                   pol(16)=pgauss(2)*pgauss(2)*pgauss(3)
   166                   pol(17)=pgauss(2)*pgauss(3)*pgauss(3)
   167                   if(iterms.gt.17) 
then   168                      pol(18)=pgauss(1)*pgauss(1)*pgauss(1)
   169                      pol(19)=pgauss(2)*pgauss(2)*pgauss(2)
   170                      pol(20)=pgauss(3)*pgauss(3)*pgauss(3)
   176                pntdist=dsqrt(pgauss(1)*pgauss(1)
   177      &              +pgauss(2)*pgauss(2)
   178      &              +pgauss(3)*pgauss(3))
   182                   pdat(irow,j)=sti(j,ipnt,ielem)*w
   197          call hybsvd(ipoints,ipoints,ipoints,ipoints,ipoints,
   198      &        ipoints,iterms,pp,pwrk,matu,pp,matv,
   199      &        pre,z,pdat,nrhs,info,rv1)
   201             write(*,*) 
'*ERROR in patch: Bad conditioned matrix,',
   202      &           
' using average of sampling point values.'   211       if(iavflag.eq.0) 
then   213             if(pwrk(j).lt.1.e-22) 
then   220             pre(1,j)=pre(1,j)*pwrk(j)
   224                pfit(j)=pfit(j)+pre(1,k)*pdat(k,j)
   234             scpav(j,node)=scpav(j,node)+pfit(j)
   241       if(iavflag.eq.1) 
then   247             ielem=members(ielidx)
   248             if(lakon(ielem)(1:5).eq.
'C3D20') 
then   249                if(lakon(ielem)(6:6).eq.
'R') 
then   254             elseif(lakon(ielem)(1:5).eq.
'C3D10') 
then   256             elseif(lakon(ielem)(1:4).eq.
'C3D8') 
then   257                if(lakon(ielem)(5:5).eq.
'R') 
then   266                   tmpstr(j)=tmpstr(j)+sti(j,ipnt,ielem)
   271             scpav(j,node)=scpav(j,node)+tmpstr(j)/irow
 subroutine hybsvd(NA, NU, NV, NZ, NB, M, N, A, W, MATU, U, MATV, V, Z, B, IRHS, IERR, RV1)
Definition: hybsvd.f:3
 
subroutine shape10tet(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape10tet.f:20
 
subroutine shape8h(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape8h.f:20
 
subroutine shape20h(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape20h.f:20