30       character*8 lakonl,lakonf(*)
    33       character*81 set(*),prset(*)
    35       integer konl(20),ifaceq(8,6),nelem,ii,nprint,i,j,i1,i2,j1,
    36      &  ncocon(2,*),k1,jj,ig,nrhcon(*),nshcon(*),ntmat_,nope,nopes,imat,
    37      &  mint2d,ifacet(6,4),ifacew(8,5),iflag,indexe,jface,istartset(*),
    38      &  iendset(*),ipkonf(*),konf(*),iset,ialset(*),nset,ipos,ithermal,
    39      &  mi(*),ielmat(mi(3),*),nactdoh(*),icfd,nelemcfd
    41       real*8 co(3,*),xl(3,20),shp(4,20),xs2(3,7),dvi,f(0:3),time,
    42      &  vkl(0:3,3),rhcon(0:1,ntmat_,*),t(3,3),div,shcon(0:3,ntmat_,*),
    43      &  voldl(0:mi(2),20),cocon(0:6,ntmat_,*),xl2(3,8),xsj2(3),
    44      &  shp2(7,8),vold(0:mi(2),*),xi,et,xsj,temp,xi3d,et3d,ze3d,weight,
    45      &  xlocal20(3,9,6),xlocal4(3,1,4),xlocal10(3,3,4),xlocal6(3,1,5),
    46      &  xlocal15(3,4,5),xlocal8(3,4,6),xlocal8r(3,1,6),ttime,pres,
    47      &  tf(0:3),tn,tt,dd,coords(3),cond,stn(6,*),xm(3),
df(3),cg(3),
    48      &  area,xn(3),xnormforc,shearforc
    53       data ifaceq /4,3,2,1,11,10,9,12,
    54      &            5,6,7,8,13,14,15,16,
    56      &            2,3,7,6,10,19,14,18,
    57      &            3,4,8,7,11,20,15,19,
    58      &            4,1,5,8,12,17,16,20/
    59       data ifacet /1,3,2,7,6,5,
    63       data ifacew /1,3,2,9,8,7,0,0,
    82          if((prlab(ii)(1:4).eq.
'DRAG').or.(prlab(ii)(1:4).eq.
'FLUX').or.
    83      &      (prlab(ii)(1:3).eq.
'SOF'))      
    86             ipos=index(prset(ii),
' ')
    88             faset(1:ipos-1)=prset(ii)(1:ipos-1)
    93             if(prlab(ii)(1:4).eq.
'DRAG') 
then   101                write(5,120) faset(1:ipos-2),ttime+time
   103      &            
' surface stress at the integration points for set ',
   104      &            a,
' and time ',e14.7)
   107  124           
format(
'        el  fa  int     tx            ty              108      &   tz      normal stress  shear stress and             coordinates   110             elseif(prlab(ii)(1:4).eq.
'FLUX') 
then   115                write(5,121) faset(1:ipos-2),ttime+time
   116  121           
format(
' heat flux at the integration points for set ',
   117      &                a,
' and time ',e14.7)
   120  125           
format(
'        el  fa  int heat flux q and             c   139                if(set(iset).eq.prset(ii)) 
exit   142             do jj=istartset(iset),iendset(iset)
   146                nelem=int(jface/10.d0)
   153                   nelemcfd=nactdoh(nelem)
   154                   indexe=ipkonf(nelemcfd)
   155                   lakonl=lakonf(nelemcfd)
   156                   imat=ielmat(1,nelemcfd)
   163                if(lakonl(4:4).eq.
'2') 
then   166                elseif(lakonl(4:4).eq.
'8') 
then   169                elseif(lakonl(4:5).eq.
'10') 
then   172                elseif(lakonl(4:4).eq.
'4') 
then   175                elseif(lakonl(4:5).eq.
'15') 
then   177                elseif(lakonl(4:4).eq.
'6') 
then   181                if(lakonl(4:5).eq.
'8R') 
then   183                elseif((lakonl(4:4).eq.
'8').or.(lakonl(4:6).eq.
'20R')) 
   185                   if((lakonl(7:7).eq.
'A').or.(lakonl(7:7).eq.
'S').or.
   186      &                 (lakonl(7:7).eq.
'E')) 
then   191                elseif(lakonl(4:4).eq.
'2') 
then   193                elseif(lakonl(4:5).eq.
'10') 
then   195                elseif(lakonl(4:4).eq.
'4') 
then   202                   konl(i)=konf(indexe+i)
   209                      xl(j,i)=co(j,konl(i))
   218                      voldl(i2,i1)=vold(i2,konl(i1))
   228                         xl(j,i)=xl(j,i)+voldl(j,i)
   235                if(lakonl(4:4).eq.
'6') 
then   243                if(lakonl(4:5).eq.
'15') 
then   257                   if((nope.eq.20).or.(nope.eq.8)) 
then   260                            xl2(j,i)=co(j,konl(ifaceq(i,ig)))
   263                   elseif((nope.eq.10).or.(nope.eq.4)) 
then   266                            xl2(j,i)=co(j,konl(ifacet(i,ig)))
   272                            xl2(j,i)=co(j,konl(ifacew(i,ig)))
   280                   if((nope.eq.20).or.(nope.eq.8)) 
then   283                            xl2(j,i)=co(j,konl(ifaceq(i,ig)))
   284      &                             +vold(j,konl(ifaceq(i,ig)))
   287                   elseif((nope.eq.10).or.(nope.eq.4)) 
then   290                            xl2(j,i)=co(j,konl(ifacet(i,ig)))
   291      &                             +vold(j,konl(ifacet(i,ig)))
   297                            xl2(j,i)=co(j,konl(ifacew(i,ig)))+
   298      &                              vold(j,konl(ifacew(i,ig)))
   309                   if((lakonl(4:5).eq.
'8R').or.
   310      &                 ((lakonl(4:4).eq.
'6').and.(nopes.eq.4))) 
then   314                   elseif((lakonl(4:4).eq.
'8').or.
   315      &                    (lakonl(4:6).eq.
'20R').or.
   316      &                    ((lakonl(4:5).eq.
'15').and.(nopes.eq.8))) 
then   320                   elseif(lakonl(4:4).eq.
'2') 
then   324                   elseif((lakonl(4:5).eq.
'10').or.
   325      &                    ((lakonl(4:5).eq.
'15').and.(nopes.eq.6))) 
then   329                   elseif((lakonl(4:4).eq.
'4').or.
   330      &                    ((lakonl(4:4).eq.
'6').and.(nopes.eq.3))) 
then   339                      call shape8q(xi,et,xl2,xsj2,xs2,shp2,iflag)
   340                   elseif(nopes.eq.4) 
then   341                      call shape4q(xi,et,xl2,xsj2,xs2,shp2,iflag)
   342                   elseif(nopes.eq.6) 
then   343                      call shape6tri(xi,et,xl2,xsj2,xs2,shp2,iflag)
   345                      call shape3tri(xi,et,xl2,xsj2,xs2,shp2,iflag)
   353                         coords(j1)=coords(j1)+shp2(4,i1)*xl2(j1,i1)
   360                   if((prlab(ii)(1:4).eq.
'DRAG').or.
   361      &               (prlab(ii)(1:4).eq.
'FLUX')) 
then   366                      if(lakonl(4:5).eq.
'8R') 
then   367                         xi3d=xlocal8r(1,i,ig)
   368                         et3d=xlocal8r(2,i,ig)
   369                         ze3d=xlocal8r(3,i,ig)
   370                         call shape8h(xi3d,et3d,ze3d,xl,xsj,shp,iflag)
   371                      elseif(lakonl(4:4).eq.
'8') 
then   375                         call shape8h(xi3d,et3d,ze3d,xl,xsj,shp,iflag)
   376                      elseif(lakonl(4:6).eq.
'20R') 
then   380                         call shape20h(xi3d,et3d,ze3d,xl,xsj,shp,iflag)
   381                      elseif(lakonl(4:4).eq.
'2') 
then   382                         xi3d=xlocal20(1,i,ig)
   383                         et3d=xlocal20(2,i,ig)
   384                         ze3d=xlocal20(3,i,ig)
   385                         call shape20h(xi3d,et3d,ze3d,xl,xsj,shp,iflag)
   386                      elseif(lakonl(4:5).eq.
'10') 
then   387                         xi3d=xlocal10(1,i,ig)
   388                         et3d=xlocal10(2,i,ig)
   389                         ze3d=xlocal10(3,i,ig)
   390                         call shape10tet(xi3d,et3d,ze3d,xl,xsj,shp,iflag)
   391                      elseif(lakonl(4:4).eq.
'4') 
then   395                         call shape4tet(xi3d,et3d,ze3d,xl,xsj,shp,iflag)
   396                      elseif(lakonl(4:5).eq.
'15') 
then   397                         xi3d=xlocal15(1,i,ig)
   398                         et3d=xlocal15(2,i,ig)
   399                         ze3d=xlocal15(3,i,ig)
   400                         call shape15w(xi3d,et3d,ze3d,xl,xsj,shp,iflag)
   401                      elseif(lakonl(4:4).eq.
'6') 
then   405                         call shape6w(xi3d,et3d,ze3d,xl,xsj,shp,iflag)
   415                   if(prlab(ii)(1:4).eq.
'DRAG') 
then   424                         temp=temp+shp(4,i1)*voldl(0,i1)
   425                         pres=pres+shp(4,i1)*voldl(4,i1)
   428                               vkl(j1,k1)=vkl(j1,k1)+
   429      &                                   shp(k1,i1)*voldl(j1,i1)
   433                      if(icompressible.eq.1)
   434      &                      div=vkl(1,1)+vkl(2,2)+vkl(3,3)
   446                            t(i1,j1)=vkl(i1,j1)+vkl(j1,i1)
   448                         if(icompressible.eq.1) 
   449      &                       t(i1,i1)=t(i1,i1)-2.d0*div/3.d0
   452                      dd=dsqrt(xsj2(1)*xsj2(1)+xsj2(2)*xsj2(2)+
   455                         tf(i1)=dvi*(t(i1,1)*xsj2(1)+t(i1,2)*xsj2(2)+
   456      &                       t(i1,3)*xsj2(3))-pres*xsj2(i1)
   457                         f(i1)=f(i1)+tf(i1)*weight
   460                      tn=(tf(1)*xsj2(1)+tf(2)*xsj2(2)+tf(3)*xsj2(3))/dd
   461                      tt=dsqrt((tf(1)-tn*xsj2(1)/dd)**2+
   462      &                    (tf(2)-tn*xsj2(2)/dd)**2+
   463      &                    (tf(3)-tn*xsj2(3)/dd)**2)
   464                      write(5,
'(i10,1x,i3,1x,i3,1p,8(1x,e13.6))')nelem,
   465      &                    ig,i,(tf(i1),i1=1,3),tn,tt,(coords(i1),i1=1,3)
   467                   elseif(prlab(ii)(1:4).eq.
'FLUX') 
then   473                         temp=temp+shp(4,i1)*voldl(0,i1)
   475                            vkl(0,k1)=vkl(0,k1)+shp(k1,i1)*voldl(0,i1)
   486                      dd=dsqrt(xsj2(1)*xsj2(1)+xsj2(2)*xsj2(2)+
   489                      tf(0)=-cond*(vkl(0,1)*xsj2(1)+
   492                      f(0)=f(0)+tf(0)*weight
   494                      write(5,
'(i10,1x,i3,1x,i3,1p,4(1x,e13.6))')nelem,
   495      &                    ig,i,tf(0),(coords(i1),i1=1,3)
   518                      if((nope.eq.20).or.(nope.eq.8)) 
then   521      &                            shp2(4,i1)*stn(1,konl(ifaceq(i1,ig)))
   523      &                            shp2(4,i1)*stn(2,konl(ifaceq(i1,ig)))
   525      &                            shp2(4,i1)*stn(3,konl(ifaceq(i1,ig)))
   527      &                            shp2(4,i1)*stn(4,konl(ifaceq(i1,ig)))
   529      &                            shp2(4,i1)*stn(5,konl(ifaceq(i1,ig)))
   531      &                            shp2(4,i1)*stn(6,konl(ifaceq(i1,ig)))
   533                      elseif((nope.eq.10).or.(nope.eq.4)) 
then   536      &                            shp2(4,i1)*stn(1,konl(ifacet(i1,ig)))
   538      &                            shp2(4,i1)*stn(2,konl(ifacet(i1,ig)))
   540      &                            shp2(4,i1)*stn(3,konl(ifacet(i1,ig)))
   542      &                            shp2(4,i1)*stn(4,konl(ifacet(i1,ig)))
   544      &                            shp2(4,i1)*stn(5,konl(ifacet(i1,ig)))
   546      &                            shp2(4,i1)*stn(6,konl(ifacet(i1,ig)))
   551      &                            shp2(4,i1)*stn(1,konl(ifacew(i1,ig)))
   553      &                            shp2(4,i1)*stn(2,konl(ifacew(i1,ig)))
   555      &                            shp2(4,i1)*stn(3,konl(ifacew(i1,ig)))
   557      &                            shp2(4,i1)*stn(4,konl(ifacew(i1,ig)))
   559      &                            shp2(4,i1)*stn(5,konl(ifacew(i1,ig)))
   561      &                            shp2(4,i1)*stn(6,konl(ifacew(i1,ig)))
   571                         df(i1)=(t(i1,1)*xsj2(1)+
   573      &                          t(i1,3)*xsj2(3))*weight
   581                      xm(1)=xm(1)+coords(2)*
df(3)-coords(3)*
df(2)
   582                      xm(2)=xm(2)+coords(3)*
df(1)-coords(1)*
df(3)
   583                      xm(3)=xm(3)+coords(1)*
df(2)-coords(2)*
df(1)
   587                      dd=dsqrt(xsj2(1)*xsj2(1)+xsj2(2)*xsj2(2)+
   591                         cg(i1)=cg(i1)+coords(i1)*dd
   592                         xn(i1)=xn(i1)+xsj2(i1)
   598             if(prlab(ii)(1:4).eq.
'DRAG') 
then   600                write(5,122) faset(1:ipos-2),ttime+time
   601  122           
format(
' total surface force (fx,fy,fz) for set ',a,
   602      &              
' and time ',e14.7)
   604                write(5,
'(1p,3(1x,e13.6))') (f(j),j=1,3)
   605             elseif(prlab(ii)(1:4).eq.
'FLUX') 
then   607                write(5,123) faset(1:ipos-2),ttime+time
   608  123           
format(
' total surface flux (q) for set ',a,
   609      &              
' and time ',e14.7)
   611                write(5,
'(1p,1x,e13.6)') f(0)
   617                write(5,130) faset(1:ipos-2),ttime+time
   618  130           
format(
' statistics for surface set ',a,
   619      &              
' and time ',e14.7)
   626  126           
format(
'   total surface force (fx,fy,fz) ',
   627      &              
'and moment about the origin(mx,my,mz)')
   629                write(5,
'(2x,1p,6(1x,e13.6))') (f(j),j=1,3),(xm(j),j=1,3)
   639  127           
format(
'   center of gravity and mean normal')
   641                write(5,
'(2x,1p,6(1x,e13.6))')(cg(j),j=1,3),(xn(j),j=1,3)
   648      &        
'   moment about the center of gravity(mx,my,mz)')
   650                write(5,
'(2x,1p,6(1x,e13.6))') 
   651      &               xm(1)-cg(2)*f(3)+cg(3)*f(2),
   652      &               xm(2)-cg(3)*f(1)+cg(1)*f(3),
   653      &               xm(3)-cg(1)*f(2)+cg(2)*f(1)
   657                xnormforc=f(1)*xn(1)+f(2)*xn(2)+f(3)*xn(3)
   658                shearforc=sqrt((f(1)-xnormforc*xn(1))**2+
   659      &                        (f(2)-xnormforc*xn(2))**2+
   660      &                        (f(3)-xnormforc*xn(3))**2)
   663  128           
format(
'   area, ',
   664      &     
' normal force (+ = tension) and shear force (size)')
   666                write(5,
'(2x,1p,3(1x,e13.6))') area,xnormforc,shearforc
 subroutine shape6w(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape6w.f:20
 
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 df(x, u, uprime, rpar, nev)
Definition: subspace.f:133
 
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 shape15w(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape15w.f:20
 
subroutine shape4q(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape4q.f:20
 
subroutine shape20h(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape20h.f:20
 
subroutine materialdata_cond(imat, ntmat_, t1l, cocon, ncocon, cond)
Definition: materialdata_cond.f:19
 
subroutine shape4tet(xi, et, ze, xl, xsj, shp, iflag)
Definition: shape4tet.f:20
 
subroutine shape6tri(xi, et, xl, xsj, xs, shp, iflag)
Definition: shape6tri.f:20
 
subroutine materialdata_dvi(shcon, nshcon, imat, dvi, t1l, ntmat_, ithermal)
Definition: materialdata_dvi.f:20